Подібна архітектура забезпечує десятиразовий виграш в ефективності коду в порівнянні з традиційними CISC МК.
AT90S2333 пропонує наступні можливості: 2 Кбайт - пам'ять з підтримкою внутрішнього системного програмування, 128 байт EEPROM, 20 ліній I/O загального призначення, 32 робочих регістра загального призначення, два універсальні таймер/лічильники з режимами порівняння, внутрішні і зовнішні переривання, програмований послідовний UART, 6-ти канальний, 10-ти розрядний АЦП, програмований сторожовий таймер з вбудованим тактовим генератором і програмований послідовний порт SPI для завантаження програм в Flash пам'ять, а також, два програмно вибираних режиму економії енергоспоживання. Режим очікування «Idle» зупиняє CPU, але залишає функціонувати SRAM, таймер/лічильники, SPI порт і систему переривань. Режим економії енергоспоживання «Power Down» зберігає значення регістрів, але зупиняє тактовий генератор, відключаючи всю решту функцій мікроконтролера, аж до наступного зовнішнього переривання, або до апаратної ініціалізації.
МК виробляється з використанням технології незалежної пам'яті високої щільності фірми Atmel. Flash пам'ять на кристалі може бути перепрограмована прямо в системі через послідовний інтерфейс SPI або доступним програматором незалежної пам'яті. Об'єднуючи на одному кристалі вдосконалений 8-бітовий RISC процесор із Flash пам'яттю, AT90S2333 є потужним мікроконтролером, який дозволяє створювати ефективні та маловартісні пристрої.
AVR AT90S2333 підтримується повним набором програм і пакетів для розробки, включаючи: компілятори С, макроасемблери, внутрішньосхемні емулятори і набори для макетування.
Мікроконтролери сімейства AVR мають єдину базову структуру. Узагальнену структурну схему мікроконтролера AT90S2333 зображено на рисунку 2.1.
Рисунок 2.1 – Блок схема мікроконтролера AT90S2333
До складу мікроконтролера входять:
генератор тактового сигналу (GCK);
процесор (CPU);
постійний запам'ятовуючий пристрій для збереження програми виконаний за технологією Flash (FlashROM);
оперативний запам'ятовуючий пристрій статичного типу для збереження даних (SRAM);
постійний запам'ятовуючий пристрій для збереження даних, виконаний за технологією EEPROM, (EEPROM);
набір периферійних пристроїв для вводу/виводу даних і керуючих сигналів, і виконання інших функцій.
До складу процесора (CPU) входять:
лічильник команд (PC);
арифметико-логічний пристрій (ALU);
блок регістрів загального призначення (GPR, General Purpose Regіsters) і інші елементи.
Крім регістрів загального призначення в мікроконтролері маються регістри спеціальних функцій, що у сімействі AVR називаються регістрами вводу/виводу (І/O Regіsters, IOR). За участю цих регістрів здійснюються:
керування роботою мікроконтролера і окремих його пристроїв;
визначення стану мікроконтролера і окремих його пристроїв;
ввід даних у мікроконтролер й окремі його пристрої.
Кожному регістру присвоєне ім'я, пов'язане з функцією, яку виконує цей регістр. Мікроконтролер AT90S2333 має 20 регістрів вводу/виводу, які іменовані, як:
Port B (PB5..PB0) - Порт B є 6-бітовим двонаправленим портом вводу/виводу з внутрішніми підтягаючими резисторами. Вихідні буфери порту B можуть поглинати струм до 20мА. Якщо виводи PB0..PB5 використовуються як входи і ззовні встановлюються в низький стан, вони є джерелами струму, якщо включені внутрішні підтягаючі резистори.
Port С (PС5..PС0) - Порт С є 6-бітовим двонаправленим портом вводу/виводу з внутрішніми підтягаючими резисторами. Вихідні буфери порту С можуть поглинати струм до 20мА. Якщо виводи PС0..PС5 використовуються як входи і ззовні встановлюються в низький стан, вони є джерелами струму, якщо включені внутрішні підтягаючі резистори.
Port D (PD5..PD0) - Порт D є 8-бітовим двонаправленим портом вводу/виводу з внутрішніми підтягаючими резисторами. Вихідні буфери порту B можуть поглинати струм до 20мА. Якщо виводи PD0..PD7 використовуються як входи і ззовні встановлюються в низький стан, вони є джерелами струму, якщо включені внутрішні підтягаючі резистори.
RESET - вхід скидання. Утримання на вході низького рівня протягом двох машинних циклів (якщо працює тактовий генератор), скидає пристій.
Мікроконтролери сімейства AVR є пристроями синхронного типу. Дії, які виконуються в мікроконтролері, прив'язані до імпульсів тактового сигналу.
Як генератор тактового сигналу (GCK) використовуються:
внутрішній генератор із зовнішнім кварцовим чи керамічним резонатором (XTAL);
внутрішній RC-генератор (ІRC);
внутрішній генератор із зовнішнім RC-колом (ERC);
зовнішній генератор (ЕХТ).
У мікроконтролерів, які мають внутрішній генератор із зовнішнім резонатором. XTAL1 і XTAL2 є входом і виходом інвертуючого підсилювача, на якому можна зібрати генератор тактових імпульсів. Можна використовувати як кварцові, так і керамічні резонатори. Якщо сигнал генератора необхідно використовувати для управління зовнішніми пристроями, сигнал з виводу XTAL2 знімається через одиночний буфер. При подачі зовнішнього тактового сигналу вивід XTAL2 залишається непідключеним, а XTAL1 підключається до виходу зовнішнього генератора.
Процесор (CPU) формує адреса чергової команди, вибирає команду з пам'яті й організовує її виконання.
До складу процесора крім лічильника команд (PC), арифметико-логічного пристрою (ALU) і блоку регістрів загального призначення (GPR) входять:
регістр стану мікроконтролера SREG;
регістр-показник стека SP чи SPL і SPH.
Високопродуктивно AVR ALU з'єднано безпосередньо з усіма 32 швидкодіючими регістрами загального призначення. За один тактовий цикл ALU виконує операцію між регістрами цього реєстрового файлу. Операції ALU підрозділяються на три основні категорії: арифметичні, логічні і бітові [8].
2.2 Вибір додаткових елементів
Структурна схема АЦП порозрядного врівноваження містить в аналоговій частині «надлишковий» ЦАП, що використовується під час перетворення.
Число розрядів
, задіяних у надлишковому ЦАП, природно, більше ніж у двійковому й визначається зі співвідношення: . (2.1)Так, для побудови АЦП 14-ти розрядної точності (
=14) при α=1,618 потрібен ЦАП на =20 розряду коду "золотої пропорції". Незважаючи на збільшення розрядної сітки, швидкодія АЦП на основі НПСЧ не зменшується, а навпаки, може бути істотно збільшена. Зазначений ефект виникає внаслідок витрати частини надмірності ваг розрядів на автокомпенсацію динамічних похибок із сигналу, що компенсує [8].Для роботи ЦАП використовується РПН, що забезпечує утворення кодових комбінацій, які створюють компенсуючий сигнал для компаратора в процесі порозрядного врівноваження. Основною складовою РПН є спеціальний регістр – мікросхема AM2504 [7], яка зображена на рисунку 2.2, яка призначена для побудови АЦП, що працюють по принципу послідовного наближення з числом розрядів до 12. Має в своєму складі 4 входи:
С – для подачі тактових імпульсів (спрацювання по зростанню тактових імпульсів), D – інформаційний вхід, Е – дозвіл перетворення та S – вхід “пуск“.
Робота мікросхеми показана на діаграмах C-DO, що зображена на рисунку 2.2.
Рисунок 2.2 – Мікросхема AM2504
При подачі на вхід S логічного 0 по спаду чергового імпульсу відбувається початкова установка тригерів регістра. На виході закінчення перетворення C0 з'являється логічна 1. Такий стан регістра зберігатиметься до тих пір, поки на вході S буде логічний 0.
Після встановлення на вході S логічної 1 перший спад імпульсу негативної полярності виробить запис в тригер регістра з виходами 12 і 12 інформації з входу D і встановить вихід 11 в стан 0, на виходах 10-1 і C0 буде логічної 1.
Спад чергового імпульсу негативної полярності виробить запис інформації з входу D в черговий тригер регістра і встановить наступний за ним вихід в стан 0. Таким чином, на виходах регістра по черзі з'являється логічний 0, вслід за ним - інформація з входу D.
Після запису інформації з входу D в останній тригер регістра (з виходом 1) на виході C0 з'являється логічний 0 і цей стан регістра фіксується до появи логічного 0 на вході S. Якщо вхід S з'єднати з виходом C0, поява логічного 0 на виході C0 по спаду чергового тактового імпульсу приведе до встановлення початкового стану регістра аналогічно імпульсу 0. В результаті мікросхема повторюватиме описаний вище цикл роботи.
Рисунок 2.3 – Часова діаграма роботи мікросхеми AM2504
Наявність входу Е дозволяє сполучати між собою мікросхеми для отримання регістрів послідовного наближення на більшу кількість розрядів, як показано на рисунку 2.4. Робота таких регістрів аналогічна роботі однієї мікросхеми.
Мікросхема дозволяє використовувати її як регістр послідовного наближення і з меншим, ніж на 12, числом розрядів, для чого для подачі сигналу на вхід S можна використовувати його з'єднання з будь-яким з виходів 1-11.
Рисунок 2.4 – З’єднання мікросхем AM2504 для збільшення кількості розрядів
2.3 Розробка загального алгоритму функціонування АЦП
АЦП порозрядного врівноваження перетворить аналоговий сигнал в цифровий за N кроків, де N — розрядність АЦП. На кожному кроці визначається по одному біту шуканого цифрового значення, починаючи СЗР і закінчуючи МЗР. Послідовність дій за визначенням чергового біта полягає в наступному. На ЦАП виставляється аналогове значення, утворене з бітів, вже визначених на попередніх кроках; біт, який повинен бути визначений на цьому кроці, виставляється в 1, більш молодші біти встановлені в 0. Отримане на допоміжному ЦАП значення порівнюється з вхідним аналоговим значенням. Якщо значення вхідного сигналу більше значення на допоміжному ЦАП, то визначуваний біт отримує значення 1, інакше 0. АЦП цього типу володіють одночасно високою швидкістю і хорошою розрядністю.