Структурна схема ацп
Цифро-аналоговий перетворювач (англ. DAC) — пристрій для перетворення цифрового (як правило двійкового) сигналу на аналоговий. Пристрій, що виконує зворотну дію називається аналогово-цифровим перетворювачем (АЦП)
Як правило ЦАП отримує на вхід цифровий сигнал в імпульсно-кодовій модуляції (англ. PCM — pulse-codemodulation). Перетворення різних стиснутих форматів в PCM виконується відповідними кодеками.
ЦАП використовується завжди, коли необхідно перетворити сигнал з цифрового формату в аналоговий. ЦАП використовується в системах керування технологічними процесами, програвачах CD/DVD, звукових картах ПК.
Схематичнезображення 8-бітного ЦАП
12. Компаратор. Програмування в різних режимах
Компаратор– цеелементпорівняння, який широко використовується в системах контролю та автоматичного керування. Компараторивідносяться до елементівімпульсноїтехніки. [1] Компаратор, виконаний на базіопераційногопідсилювача (ОП), порівнюєвимірюванунапругуUвх, яка подається на один ізвходів (переважно на інвертувальний), із опорною напругою (наперед заданою) Uоп, яка подана на іншийвхід. Опорнанапруга є незмінною в часі, додатньоїчивід'ємноїполярності, а вхіднанапруга — змінюється. Коли Uвх=Uопвихіднанапруга ОП змінюєсвій знак на протилежний (з U+вих.макс на U-вих.максчинавпаки). Тому компаратор маєщеназву «нуль-орган», оскількизмінаполярностівихідноїнапруги (перемикання) відбувається за умови, щоuвх- Uоп=0, де Uоп — задана напруга.
Є майже в кожній AVR , така корисна приблуда як аналоговий компаратор . Це вже майже стандартний пристрій і зустрічається дуже часто в безлічі різних контролерів. Навіть у стародавньому, як гівно мамонта, АТ89С2051 він вже є. Штучка прикольна, дозволяє порівнювати два аналогових сигналу і виносити свій вердикт 0 перший більше другого, 1 другий більше першого.
Застосувати його можна, наприклад, щоб відстежувати рівень заряду акумулятора за осіданні напруги.Схема найпростіша - стабілітрон створює опорна напруга, яке завжди одіннаковом, а напруга з резистивного дільника залежить від вхідної напруги.
Наприклад, на вході у нас 8 вольт. Зі стабілітрона, розрахованого на 3.3 вольта, виходить завжди одне і те ж напруга - 3.3 вольта. А з симетричного резистивного дільника виходить половина напруги тобто 4 вольта. 4 це більше ніж 3.3, (3.3 - 4 = -0.7 результат менше нуля) з компаратора виходить 0
Тепер якщо просяде батарейка і напруга знизиться до 6 вольт, то з дільника буде вже 3 вольти, а з опорного як було 3.3 так і залишилося. Зате тепер на компараторе ситуація докорінно змінилася - 3 менше ніж 3.3 (3.3 - 3 = 0.3 результат більше нуля), а значить на виході у нього буде 1
Ось так, наприклад, можна легко і просто стежити за годує напругою і видавати сигнал тривоги якщо батарейка сяде.
Налаштування компаратора в контролері AVR ATMega16 Для інших моделей AVR все дуже і дуже схоже, просто мені так зручніше. Якщо буде утруднення запитаєш в коментах. Мега16 має на борту компаратор, з входами AIN0 (прямий вхід) і AIN1 (інверсний вхід)Щоб компаратор заробив його висновки потрібно підключити на вхід ( DDR = 0) і відключити підтяжку до одиниці ( PORT = 0).
Регістр конфігурацій компаратора ACSR Біти:
ACD включення компаратора 0 включений, 1 вимкнений. По дефолту там нуль, а значить при старті компаратор включений.
ACBG - підключення до прямого входу компаратора внутрішнього джерела опорного напруги ( ІОН ) на 1.22 + (-) 0.05V. Якщо 0 то ІОН не підключений.
ACO - біт результату. Власне, це і є вихід компаратора.
ACI - прапор переривання. Я думаю, що ти вже звик до того, що в AVR є переривання на кожен чих.Компаратор не виняток. Встановлюється за подією, скидається після відходу на обробник або програмно, як завжди, записом в нього 1.
ACIE - де є переривання там повинен бути і біт дозволу. Це він і є. Встановивши в 1 ми дозволяємо переривання від компаратора. По дефолту, природно, нуль.
ACIC - підключення компаратора до схемою захоплення таймера1 . При попаданні сигналу на схему захоплення поточне значення з таймера тут же тирітся до спеціального регістр захоплення, а таймер продовжує вважати далі. А в прив'язці до компаратору це зручно коли потрібно вимірювати тривалості сигналів.
Біти ACIS1: ACIS0 визначає умова виникнення переривання від компаратора:
00 - будь-яка зміна на вході.
01 - зарезервовано для наступних поколінь
10 - перехід з 1 на 0
11 - перехід з 0 на 1
От за що люблю АТМегі так це за фарш! Навіть свій власний джерело опорного напруги є. Так що зі схеми зі стабілітроном можна сміливо викинути все, що стосується стабілітрона :) Залишивши тільки дільник, ну і підібравши плечі резисторного дільника так, щоб отримати напругу на виході трохи вище ніж 1.22V. Мало того, якщо в контролері є АЦП, то на висновок AIN1 можна підключити БУДЬ вхід АЦП. Нереально круто! Для того, щоб це зробити потрібно:
У регістрі SFIOR (регістр спеціальних функцій) виставити біт ACME (начебто так ракети називалися в мультику про койота і страуса ;))
Вимкнути АЦП , скинувши біт ADEN в регістрі налаштувань АЦП ( ADCSRA )
У регістрі ADMUX в розрядах MUX2: MUX1: MUX0 вказати номер входу АЦП.
13. Таймери/лічильники мікроконтролерів сімейства 8051.
У базових моделях сімейства є два програмованих 16-бітних таймери /лічильники (T/C0 і T/C1), які можуть бути використані як таймер, так і як лічильники зовнішніх подій. У першому випадку вміст відповідного таймера/лічильника (Т/С) інкрементується в кожному машинному циклі, тобто через кожні 12 періодів коливань кварцового резонатора, в другому воно інкрементується під впливом переходу з 1 в 0 зовнішнього вхідного сигналу, що подається на відповідний (T0, T1) вивід мікроЕОМ 8051. Оскільки на розпізнавання періоду потрібні два машинних цикли, максимальна частота підрахунку вхідних сигналів дорівнює 1/24 частоти резонатора. На тривалість періоду вхідних сигналів обмежень зверху немає. Для гарантованого прочитання вхідний сигнал повинен утримувати значення 1, як мінімум, протягом одного машинного циклу мікроЕОМ.
Для керування режимами роботи Т/С і для організації їх взаємодії з системою переривань використовуються два регістри спеціальних функцій (TMOD і TCON), опис яких наведено нижче.
Таблиця 11 - Регістр режиму роботи таймера/лічильника
Символ |
Позиція |
Назва і призначення | |||||||||||||||
GATE |
TMOD.7 для Т/С1 і TMOD.3 для Т/СО |
Управління блокуванням. Якщо біт встановлено, то таймер/лічильник "x" дозволений до тих пір, поки на вході "lNTx" високий рівень і біт управління "TRx" встановлено. Якщо біт скинутий, то Т/С дозволяється, як тільки біт управління "TRx" встановлюється | |||||||||||||||
С/Т |
TMOD.6 для T/C1 і TMOD.2 для Т/СО |
Біт вибору режиму таймера або лічильника подій. Якщо біт скинутий, то працює таймер від внутрішнього джерела сигналів синхронізації. Якщо встановлено, то працює лічильник від зовнішніх сигналів на вході "Tx" | |||||||||||||||
M1 |
TMOD.5 для T/C1 і TMOD.1 для Т/СО |
Режим роботи
| |||||||||||||||
M0 |
TMOD.4 для Т/С1 і TMOD.0 для Т/СО |