Print

аналогов към цифров преобразувател / конвертор / - ADC analog to digital convertor

пик процесорите, както и всички други предлагат възможност за цифровизиране на всякакви аналогови сигнали със определена точност на преобразуване. в различните фамилии процесори точността може да варира между 8, 10, 12 и 14 бита. има и процесори в които точността на измерване на аналоговит сигнали може да достигне и 32 бита.

каква е прецизността на адц конвертора на конкретния процесор е записано във съответния му пдф файл направен от производителя.

в нашият случай ще разгледаме процесора 16F1827/47 със който сме започнали уроците за програмиране.

първо да кажем и да покажем какво представлява цифровизирането на аналоговите сигнали

http://www.microcontrollerboard.com/analog-to-digital-converter.html

една статия която ще ни помогне да напишем нашият урок




няколко различни графики които показват различно битово преобразуване на аналоговия сигнал към цифрова стойност.




няколко различни графики които показват различно битово преобразуване на аналоговия сигнал към цифрова стойност.




да започнем със настройка на основните регистри и портове за да може да използваме адц функцията на даден пин според схемата която сме направили.

в схемата на процесора 1827 ясно се вижда че първият аналогов порт който можем да използваме се намира на RA0 в порт А - пин номер 17. според таблицата с разположениео на пиновете във пдф файла, този пин има и други функции. ние ще изберем да ползваме само аналоговият вход като това ще бъде указано във TRISA /входове или изходи/ регистъра и във ANSELA /аналогови или цифрови/ регистъра. след това във кода който ше дадем като пример ще добавим коментари за по-голяма яснота кой регистър какво прави към пиновете на процесора. този процесор има възможност да укаже само на един порт от всички аналогови да бъде използван за адц конверсия. имайте предвид че във някои процесори когато инициализирата адц блока имате таблица по която можете да укажете кои да бъдат цифрови и коои аналогови входове или изходи. в някои процесори стартирането на адц блока стартира всички аналогови портове. внимателно прочетете пдф файла на съответния процесор за да настроите необходимите ви пинове за работа според вашата схема.

даже предварително проверете пдф файла за да определите кои пинове на процесора са ви необходими за аналогови или цифрови и кои съответно за входове или изходи. какви функции поддържа процесора на пиновете си и кои ще ви трябват и кои не. от това ще се направи след това и платката и последващо налепяне и пускане на схемата. сами се досещате че ако не сте направили правилен разчет на пиновете и техните функции и направите голямо количество платки ще сбъркате много както със парите, времето за изпълнение, софтуера че може и с загубата на клиента. внимавайте в заданието на клиента, във подробностите около проекта, проектирането, монтажа, допълнителните изисквания и всички подробности.

какво представлява цифровизирането на сигнал от аналогов вход ?

това е процес на измерване на напрежение на съответния пин на процесора в даден момент от целия работен процес на главната програма. продължителноста на измерване може да се управлява също софтуерно за да може някой по бавни аналогови датчици да измерят хубаво стойността на величината. за цифровите датчици които на изхода им има директен цифров изход за данни, директно предават в протокол стойността на измерената величина. за пример ще дадем една лесна схема със обикновен тример който да подава напрежение към първия аналогов вход на процесора. за индикация ще използваме цялата RB шина на процесора към която ще свържем обикновени светодиоди за да е видно кога се намалява и кога се увеличава напрежението на входа.



ще направим и малка симулация в протеуса за да се покаже как работи софтуера. за всички които искат да направят схемата на живо, ще дам и проект на платка със списък на елементите и софтуер със сорс код за промяна по желание и допълнителни функции за добавяне от ваша страна.

малко пояснения за кода. настройката на процесора според схемата е записана в кода на програмата. ще дадем малко повече инфо в самия код, кое за какво е и какво прави. можете също да проследите имената на регистрите и във пдф файла на процесора за да видите кои битове и кои регистри участват в настройката на процесора.

Category: picprocesori
Hits: 3469