Глава 19 - AD трансформация

В учебника сме научили чрез елементарни задачи как да програмираме в сглобяване, как да извеждаме управляващи сигнали към външни вериги, как да приемаме външни сигнали в две състояния и как да генерираме ШИМ сигнали и да прилагаме ШИМ сигнали с почти произволна резолюция и честота. Засега това би било добре, но все още нещо липсва. Нещо друго наистина липсва. Това е различна интерпретация на външни сигнали от две състояния. В действителност не всичко е двоично, въпреки че е част от нашия цифров свят на микроконтролера, така че ние също трябва да откриваме външни сигнали (например напрежение) с правилната разделителна способност за много проблеми. Такова електронно решение се нарича аналогово-цифров преобразувател, а устройството, което може да го направи, се нарича аналогово-цифров преобразувател.

19.1. ADuC 842 AD конвертор

Аналогово-цифровият преобразувател на ADuC 842 позволява бързо, 8-канално, 12-битово разделителна способност, едностранно захранване (не е необходимо отрицателно захранване). Професионалният потребител дори има възможност за калибриране. AD преобразувателят работи на принципа на последователно сближаване, който се основава на кондензатор за преобразуване на AD. Преобразуването може да бъде единично (това разбира се се повтаря) или непрекъснат режим, референтното напрежение може да бъде вътрешен или външен сигнал. AD конверторът също играе роля в достъпа до всяка свързана външна памет. ADuC 842 AD конверторът е фабрично калибриран; при включване се калибриращите константи се зареждат, за да се осигури оптимална работа.

Вътрешното референтно напрежение на AD преобразувателя е 2,5 V, така че може да се постигне точност от 0,61 mV с 12-битова резолюция (212 = 4 096) (2,5/4 095 = 0,61). Това е достатъчно за много приложения. Отново цифровизираните стойности на напрежението са налични само в двоен регистър (ADCDATAH/ADCDATAL), но имайте предвид, че горните 4 бита на регистъра ADCDATAH се използват за идентификация на канал. Това е илюстрирано на фигурата по-долу.

стойност напрежението

Има три конфигурационни регистри за преобразуване на AD, ADCCON1, ADCCON2 и ADCCON3. Последният участва само в калибрирането на преобразувателя, така че пренебрегваме тази дискусия, тъй като обсъждаме само няколко елемента от решението в учебника. Останалите два регистъра са описани в [Таблица 19.1] и [Таблица 19.2].

Регистър за контрол на преобразуването на AD

AD регистър за управление на преобразуване

Стойност по подразбиране след включване:

40h = 0100 0000 b

Опция за битово адресиране:

1 - Включете AD конвертора. 0 - изключете AD конвертора.

1 - използване на външна референция. 0 - използвайте вътрешната референция. Няма да обсъждаме.

Битовете на делителя на часовника за собствения часовник на AD преобразуването. AD конверторът изисква тактов сигнал от 8,38 MHz или по-малко за правилната работа. Типичното преобразуване на AD изисква 16 часовника за преобразуване на AD, плюс избраното време за достъп до данни. Съотношението на разделяне може да бъде избрано от следните:

CK1 CK0 Часовник делител

0 1 4 (Не използвайте, когато часовникът е CD

Битовете за достъп до данни могат да се използват, за да се избере времето, което ще бъде на разположение на входния проследяващ и задържащ усилвател за заявка на входния сигнал. За достъп до данни се препоръчват 3 или повече часовника за преобразуване на AD.

AQ1 AQ0 Брой часовници за преобразуване на AD

Използване на таймер 2. Няма да обсъждаме.

Използвайте външен задействащ сигнал. Няма да обсъждаме.

Регистър за контрол на преобразуването AD 2

Регистър за контрол на преобразуването на AD 2

Стойност по подразбиране след включване:

Опция за битово адресиране:

Прекъсване на бита за преобразуване на AD. Задава се на 1 в края на цикъла на преобразуване. Ако програмата премине към рутинна прекъсване чрез свой собствен вектор на прекъсване, тя се изтрива хардуер. В противен случай потребителят трябва да го изтрие.

Бит за разрешаване на режим DMA. Няма да обсъждаме.

Бит в непрекъснат режим. Когато е зададено на 1, се извършва непрекъсната AD трансформация, т.е. нов цикъл на трансформация започва след завършване на предишния.

Битът на еднократна конверсия. Настъпва единичен цикъл на преобразуване, в края на който битът автоматично се променя на 0.