Міністерствоосвіти і науки України
Вінницькийнаціональний технічний університет
Інститутінформаційних технологій та комп’ютерної інженерії
КафедраОТ
Пояснювальназаписка
здисципліни «Цифрові ЕОМ та мікропроцесорні системи»
до спеціалізованогокурсового проекту за спеціальністю 7.160104 “Адміністративний менеджмент усфері захисту інформації з обмеженим доступом” 08-23.ЦМ.004.00.000 ПЗ
МІКРОПРОЦЕСОРНИЙАЦП ПОРОЗРЯДНОГО ВРІВНОВАЖЕННЯ ІЗ ВАГОВОЮ НАДЛИШКОВІСТЮ, ЩО КАЛІБРУЄТЬСЯ
Керівник курсової роботи
«___» ____________2009 р.
Розробив студент гр. АМЗ-04
_____________________
«___» ____________2009 р.
ВінницяВНТУ 2009
Міністерствоосвіти і науки України
Вінницькийнаціональний технічний університет
Інститутінформаційних технологій та комп’ютерної інженерії
ЗАТВЕРДЖУЮ
Зав. КафедриОТ проф., д.т.н.
_______________О.Д. Азаров
«___»_____________ 2007 р.
ІНДИВІДУАЛЬНЕЗАВДАННЯ
наспеціалізований курсовий проект
здисципліни «Цифрові ЕОМ та мікропроцесорні пристрої»
студенту _____________________факультетуКСМ групи 1 АМЗ-04
ТЕМА: МІКРОПРОЦЕСОРНИЙ АЦП ПОРОЗРЯДНОГОВРІВНОВАЖЕННЯ ІЗ ВАГОВОЮ НАДЛИШКОВІСТЮ, ЩО КАЛІБРУЄТЬСЯ
Розробити функціональну схему та алгоритмфункціонування мікропроцесорного АЦП порозрядного врівноваження із ваговоюнадлишковістю, що самокалібрується. Обгрунтувати тип мікропроцесора, який можнавикористовувати для калібрування характеристики перетворення.
Функціональні можливості пристрою:
Робота в режимі:
режим основного перетворення аналог-код зпрограмною корекцією ваг розрядів надлишкового ЦАП;
Розробка програми керування роботою АЦП у заданомурежимі.
Додаткові вимоги:
число розрядів вихідного двійкового кодуАЦП N=14;
час перетворення в основному режимі />;
система числення надлишкового ЦАП – НПСЧ наоснові золотої пропорції;
число розрядів ЦАП N=20;
Термін здачі студентом завершеного проекту______________________
Зміст пояснювальної записки
Вступ
Аналіз технічного завдання.
Розробка функціональної схеми.
Вибір мікроконтролера та огляд йогоархітектури
Вибір додаткових елементів.
Розробка загального алгоритмуфункціонування АЦП.
Розробка функціональної схеми АЦП.
Розробка програмного забезпечення.
Розробка алгоритму функціонування.
Організація пам’яті та розподіл адресногопростору.
Розробка програми, що керує роботоюмікропроцесора.
4. Моделювання роботи.
Висновки.
Література.
Графічна частина:
Алгоритм функціонування АЦП.
Граф-схема алгоритму.
3. Принципіальна схема пристрою.
Анотація
Дана робота присвячена розробцімікропроцесорного АЦП порозрядного врівноваження із ваговою надлишковістю, щокалібрується.
Проводиться аналіз умов та можливостейвикористання мікропроцесора для керування роботи АЦП, а також розробкафункціональної схеми АЦП на базі мікроконтролера та програмного забезпеченнядля функціонування ЦОП.
У додатках наводяться граф-схема алгоритму,лістинги програм.
Зміст
Перелік умовних скорочень
Вступ
1. Аналіз технічного завдання
2. Розробка функціональної схеми
2.1 Вибір мікроконтролера та огляд його архітектури
2.2 Вибір додаткових елементів
2.3 Розробка загального алгоритму функціонування АЦП
2.4 Розробка функціональної схеми АЦП
3. Розробка програмного забезпечення
3.1 Розробка алгоритму функціонування пристрою
3.2 Організація пам’яті та розподіл адресного простору
3.3 Розробка програми, що керує роботою мікропроцесора
4. Моделювання роботи
Висновки
Перелік літературних джерел
Додаток А. Алгоритм функціонування АЦП
Додаток Б. Алгоритм функціонування пристрою
Додаток В. Алгоритм підпрограми підготовки
Перелік умовних скорочень
АК–аналоговий комутатор
АЛП–арифметико-логічний пристрій
АЦП–аналого-цифровий перетворювач
БДС–блок допоміжних сигналів
БК–блок керування
БП–блок пам’яті
БПВ–блок порозрядного врівноваження
ВІС–велика інтегральна схема
ЕОМ–електронно-обчислювальна машина
МЗР–молодший значущий розряд
МК–мікроконтролер
МП–мікропроцесор
НПСЧ–надлишкова позиційна система числення
ОЗП–оперативний запам’ятовуючий пристрій
ПВЗ–підсилювач вибирання-зберігання
ПЗП–постійний запам’ятовуючий пристрій
РПН–регістр послідовного наближення
САЦП–АЦП, що самокалібруються
СЗР–старший значущий розряд
СП–схема порівняння
ЦАП–цифро-аналоговий перетворювач
ЦОП–цифровий обчислювальний пристрій
Вступ
За останнє десятиліття в світі створенебільше сотні типів АЦП, відмінних по функціональному складу і призначенню,конструктивним, електричним і експлуатаційним характеристикам. Відоме їхзастосування спільно з МП і мікро ЕОМ у складі пристроїв сполучення міжоб’єктами і інтерфейсом, а також використання як самостійних функціональнихелементів у вузлах і блоках.
Сучасний етап характеризує великі інадвеликі інтегральні схеми АЦП, що володіють високими експлуатаційнимипараметрами: швидкодією, малими погрішностями, багаторозрядністю. АЦП знаходятьшироке застосування в різних областях сучасної науки і техніки. Вони є невід’ємноючастиною цифрових вимірювальних приладів, систем перетворення і відображенняінформації, програмованих джерел живлення, індикаторів на електронно-променевихтрубках, систем радіолокації, установок для контролю елементів і мікросхем, атакож важливими компонентами різних автоматичних систем контролю і управління,пристроїв вводу/виводу інформації ЕОМ. На їх основі будують перетворювачі ігенератори практично будь-яких функцій, аналогові реєструючі пристрої,корелятори, аналізатори спектру і т.д. Великі перспективи використовуванняшвидкодіючих перетворювачів в телеметрії і телебаченні.
Поза сумнівом, серійний випускмалогабаритних і відносно дешевих АЦП ще більш підсилить тенденцію проникненняметоду дискретно-безперервного перетворення в сферу науки і техніки.
В даний час застосовують різні типи АЦП, щомістять в своєму складі МП, які виконують обробку даних. Очевидно, що обробкаданих – одна із головних функцій МП, яка включає як і маніпулювання так іобрахунок даних. Іншою функцією МП є управління системою. Схеми управліннядозволяють декодувати і виконувати програми – набір команд для обробки даних.Робота МП складається з наступних кроків: спочатку вибирається команда, потімлогічна схема її декодує, після чого здійснюється виконання цієї команди. Такожвідбувається обмін інформацією з зовнішніми пристроями, які під’єднані до МП.
МП являють собою цифрові ВІС, призначенідля виконання простих операцій, інакше названих командами, що зчитуються і здійснюютьсяпослідовно з великою швидкістю. До числа внутрішніх схем МП відносятьсябагаторозрядні регістри, рівнобіжні тракти даних, буфери для підключеннязовнішніх пристроїв, багатофункціональні схеми, логічні схеми синхронізації ікерування. Багатофункціональні схеми призначені для реалізації простихарифметичних і логічних дій над двійковими числами, що знаходяться в регістрахпроцесора, і пересилок даних як усередині процесора, так і між ним і зовнішнімипристроями. Схеми синхронізації і керування задають порядок дій процесора, длявиконання функцій синхронізації їм необхідні тактові імпульси, що постійнопоступають.
Мікропроцесорні засоби використовуються увиді мікропроцесорних комплектів інтегральних мікросхем, що мають єдинеконструктивно-технологічне виконання і призначених для спільного застосування.Мікропроцесорний комплект крім самого МП містить мікросхеми, що підтримуютьфункціонування МП і розширюють його логічні можливості.
МК являє собою логічний автомат з високимступенем детермінованості, який допускає небагато варіантів в його системномувключенні.
В пристроях управління об’єктами МКрозглядаються у вигляді сукупності апаратно-програмних засобів. Припроектуванні схем на базі МК потрібна реалізація оптимального розподілу функційміж апаратними засобами і програмним забезпеченням. Рішення такої задачіускладнюється тим, що взаємозв’язок і взаємодія між апаратними і програмнимизасобами динамічно змінюються.
В даний час розповсюджена така методологія,при якій весь цикл розробки схем з використанням МК поділяють на три фази:
1) аналіз задачі і вибір апаратних засобів;
2) розробка прикладного програмногозабезпечення;
3) комплексування апаратних засобів іпрограмного забезпечення;
Дана робота присвячена розробцімікропроцесорного АЦП порозрядного врівноваження із ваговою надлишковістю, щокалібрується.
1. Аналіз технічного завдання
Для з’ясування вимог до технічногозавдання, доцільно навести структуру АЦП порозрядного врівноваження із ваговоюнадлишковістю, що калібрується [1], яку зображено на рисунку 1.1.
Структура повинна містити: аналоговийкомутатор (АК) – для переключення між джерелами аналогових сигналів; дляпроцедури врівноваження вхідного аналогового сигналу використовується схемапорівняння (СП), регістр послідовних наближень (РПН) та цифро-аналоговийперетворювач (/>-ЦАП), який працює в надлишковійпозиційній системі числення (НПСЧ) (назвемо її робочою системою числення);цифровий обчислювальний пристрій (ЦОП) в якому, в залежності від способукалібрування повинні виконуватись операції додавання, віднімання, множення,ділення та операції з пам’яттю; для збереження цифрових еквівалентів дійснихваг розрядів та проміжних результатів обчислень – блок пам’яті (БП); блокдопоміжних сигналів (БДС) для створення нульового вхідного аналогового сигналу,під час визначення похибки зміщення нуля та, для вимірювальних АЦП, наближенедо еталонного джерело напруги або струму, що використовується під часвизначення масштабного коефіцієнту; в деяких випадках для фіксації рівнявхідного аналогового сигналу використовується пристрій вибірки та збереження(ПВЗ); для узгодження роботи вище згаданих блоків використовується блоккерування (БК). Як бачимо, введення вагової надлишковості відбивається тількина />-ЦАП,решта блоків залишається стандартними, тому всі обчислення відбуваються узагально прийнятій двійковій системі числення. Основна перевага надлишковихпозиційних систем числення (НПСЧ), реалізована при аналого-цифровомуперетворенні складається у відсутності «розривів» у перетворювальнійхарактеристиці, викликаних відхиленнями реальних ваг розрядів від їхніх розрахунковихзначень. Для «двійкових» АЦП ці відхилення не повинні перевищуватиполовини молодшого розряду.
/>
Рисунок 1.1 – Структурна схема АЦПпорозрядного врівноваження з ваговою надлишковістю
Для АЦП на основі «золотоїпропорції» відносна похибка ваг розряду за рахунок технологічних,температурних, часових факторів може досягати до 23,6% [2], що не приведе допропусків кодів. Таким чином, є можливість, знаючи точні значення реальних вагрозрядів, що беруть участь у перетворенні, одержати точне значення вхідногоаналогового сигналу. Задача зводиться до визначення реальних ваг розрядів успеціальному режимі роботи АЦП, названому калібруванням.
Використання НПСЧ при задані ваг розрядівЦАП, дозволяє, за рахунок наявності зон перекриття між сусідніми розрядамиотримати нерозривну передатну характеристику навіть за умови наявності значнихвідхилень ваг розрядів [3]. Головним недоліком ЦАП, побудованих з використаннямНПСЧ, вважається збільшення кількості розрядів порівняно з двійковим ЦАП, щотеоретично мало б призводити до збільшення часу врівноваження. Але, як булодоведено в працях професора О.Д.Азарова, швидкодія таких перетворювачів можебути на порядок більша за двійкові без втрати точності за рахунок компенсаціїдинамічних похибок першого та другого роду [4].
Основою системи числення [5] називаєтьсяспіввідношення ваг сусідніх розрядів
/>.
Для двійкової системи />, а для надлишковихсистем />.До НПСЧ з дробовими вагами розрядів зокрема відносяться так звані системичислення золотої /> — пропорції[6].У системах численнязолотої />-пропорції,будь-яке натуральне число N* можна зобразити у вигляді
/> 1.1
де
/>
– вага />-го розряду або />-а ступінь золотої />-пропорції.Відповідно при />=0 НПСЧ вироджується у двійковусистему числення, />=1 – золота пропорція, /> – одиничнийкод. Значення /> для золотої пропорції рівне1,618.
Застосування вказаної системи числення впорозрядних АЦП дозволяє виконувати самокалібрування виключно у цифровій формі.Це в свою чергу дозволяє відмовитися від введення додаткових аналогових вузлівта блоків для реалізації процедури калібрування ваг розрядів. Використаннятаких додаткових вузлів у пристрої значно ускладнює аналогову частину АЦП.Разом з тим, калібрування ваг розрядів у цифровій формі в АЦП на основі НПСЧдозволяє максимально використати можливості цифрових обчислювальних пристроїв,замінити аналогові вузли цифровими і тим самим спростити аналогову частинуперетворювачів, а також знизити її вартість.
2. Розробка функціональної схеми
2.1 Вибір мікроконтролера та огляд йогоархітектури
Сучасні радіоелектронні пристрої побудованіна МК. Це дозволяє спростити схему радіоелектронного пристрою, зробити її більшуніверсальною, що дозволяє змінюючи програму МК покращувати її споживчі таексплуатаційні характеристики.
Розробнику мікропроцесорних пристроївприходиться вирішувати ряд характерних задач: на якому процесорі будуватисистему, які периферійні пристрої (таймери, послідовні і паралельні порти, АЦП,ЦАП, і т. д. ) вибрати, який блок живлення, скільки коштує розробка.
До недавнього часу у розробників не булоширокого вибору. Сімейство однокристальних мікро–EОM Intel 8051, здавалось,перекривало по можливостям задачі, які найбільш часто зустрічаються.
Сьогодні на ринку з’явився цілий ряд фірмзі своїми пропозиціями до однокристальних восьмирозрядних мікро – EОM. В першучергу це мікро — ЕОМ сімейства Z86 фірми Zilog, МС 68 (Motorola), РІС 16/17(Microchip). Менш відомі – мікро – ЕОМ ST62 (Thomson) та СОР800(National).
Для того, щоб вибрати з цього різноманіттянайбільш вдалу базу для майбутнього мікропроцесорного пристрою, необхідно матипорівняльні характеристики всіх вище перерахованих однокристальних мікро – ЕОМ.Однак кінцевий вибір залежить від багатьох факторів. В першу чергу, цеприв’язаність розробника чи традиції, далі – складність вирішуваної задачі цінаоднокристальної мікро – ЕОМ.
Цікаве опитування було проведено середвідвідувачів сайту «Телесистеми». Учасники могли відповісти на питання: “Якомумікроконтролеру ви віддаєте найбільшу перевагу?“ Голоси розподілилися такимчином (таблиця 2.1): найбільш популярними стали МК архітектура AVR ( розробкаAtmel) і класичної архітектури MCS-51 (розробка Intel).
Популярна також структура PIC, розробленаMicrochip. Малопопулярні МК фірми Zilog типу Z8 — виключно із-за одноразовоїструктури програмування. Технічні параметри приблизно однакові, показникинадійності — теж. Залишаються тільки міркування чисто фінансового характеру. Іось тут відмінності істотні. Наприклад, ціна МК фірми Intel, в 2, а то і в 3рази вище за ціну МК фірми Atmel.
Таблиця 2.1 – Статистика опитування на сайтіhttp://www.telesys.ru Мікроконтролер Кількість голосів АСІ 3 (0%) AVR 309 (29%) MCS-51 220 (21%) PIC 317 (30%) Z8 35 (3%) Z80 21(2%) Інший 60 (5%) Кращий мікроконтролер — DSP 33 (3%) Ненавиджу мікроконтролери 41(3%)
Фірма Atmel запропонувала цікаву серію AVR,яка миттєво знайшла підтримку у радіоаматорів. У МК серії AVR використовуютьсяпринципи так званої RISC архітектури, коли пам’ять програм і пам’ять даних, зякими програма оперує, не тільки розділені фізично, але ще мають і різні канализв’язку з ядром (різні шини). Окрім цього, є ще одна цікава особливість, яканазивається конвеєризацією. Конвеєризація дозволяє одночасно і виконувати команду,і готувати до виконання наступну. Гарвардська архітектура, а такожконвеєризація і деякі інші спеціальні заходи дозволяють виконувати інструкціїдуже швидко — за один машинний цикл.
МК серії AVR мають в своєму складікомпаратори, АЦП, пристрої ШІМ, послідовні порти вводу/виводу. Звичайно, різнітипономінали включають різні пристрої, але їх набір на сьогоднішній момент єнормою.
Таким чином вибираємо МК фірми Atmel [7].
Для вибору мікроконтролера потрібновраховувати його технічні характеристики, такі як:
швидкодія мікроконтролера;
наявність потрібної периферії;
число ліній введення-виведення;
споживану потужність.
Мікроконтролер, який відповідає данимпараметрам належить до сімейства AVR. АVR — це нове сімейство 8-розряднихRISC-мікроконтролерів фірми Atmel. Ці мікроконтролери дозволяють вирішуватибезліч задач убудованих систем. Вони відрізняються від інших розповсюджених уданий час мікроконтролерів більшою швидкістю роботи, більшою універсальністю.Швидкодія даних мікроконтролерів дозволяє в ряді випадків застосовувати їх упристроях, для реалізації яких раніше можна було застосовувати тільки16-розрядні мікроконтролери, що дозволяє відчутно знизити ціну готової системи.Крім того, мікроконтролери АVR дуже легко програмуються за допомогою компіляторамови асемблера.
Фірма Atmel випускає великий спектр мікроконтролерівсеред яких із потрібними параметрами можна визначити модель AT90S2333.
AT90S2333 – економічний 8-бітовий КМОН МК,побудований з використанням розширеної RISC архітектури AVR. Виконуючи по однійкоманді за період тактової частоти, що дозволяє розробникам створювати системиоптимальні по швидкості і споживаній потужності. У основі ядра AVR лежитьрозширена RISC архітектура, об’єднуюча розвинений набір команд і 32 регістризагального призначення. Всі 32 регістри безпосередньо підключені до АЛП, що даєдоступ до будь-яких двох регістрів за один машинний цикл.
Подібна архітектура забезпечуєдесятиразовий виграш в ефективності коду в порівнянні з традиційними 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. АЦП цього типу володіють одночасно високою швидкістюі хорошою розрядністю.
Слід зазначити, що використання АЦП із ЦАПна основі НПСЧ у складі систем цифрової обробки аналогових сигналів також даєпевні переваги перед двійковими перетворювачами інформації. Так, зменшений часврівноважування дозволяє підняти частоту дискретизації, збільшити кількістьоброблюваних каналів при роботі в багатоканальному режимі. Незважаючи наспрощену технологію виготовлення аналогових вузлів, результуюча точністьперетворення як ЦАП, так і АЦП на основі НПСЧ може бути досить високою прироздільності не менше 14-16 двійкових розрядів. Це досягається, зокрема,калібруванням ваг розрядів і корекцією статичних похибок, що здійснюєтьсяцифровим обчислювальним пристроєм. Причому даний пристрій може одночасновиконувати дві функції: калібрування похибок і перетворення НПСЧ у двійковусистему. Для виконання операцій безпосередньо з цифровими сигналами доцільновикористовувати мікроконтролер. СП, a-ЦАП, РПН і БК сукупно складають ядро АЦП – блокпорозрядного врівноважування (БПВ). У БК передбачено можливість подачі сигналукерування Узв.
Задачею БПВ є перетворення аналоговогосигналу з виходу ПВЗ в робочий код К(а), що формується у РПН. Для перетворенняробочого коду К у двійковий код використовується окремий ЦОП. Причому на етапівиготовлення системи і компонування аналогових вузлів здійснюється високоточневимірювання ваг розрядів АЦП. Отримані результати у вигляді двійкових кодівзаносяться в БП і використовуються надалі для роботи. Для зв’язку ЦОП із каналамививедення двійкової цифрової інформації використовується послідовний або паралельнийінтерфейс залежно від необхідної швидкості передавання інформації [9].
Граф-схему алгоритму функціонування АЦПсистеми наведено в додатку А. Тут: j – номер каналу; i – номер тактупорозрядного врівноважування в БПВ; k – номер дискретизації; С – результатобчислень у ПК; В – операнд, якому призначаються значення кодів із ПЗП;К(ΔА0) – код похибки нуля; Кi – код ваги i-го додатного розряду; /> – код вагиi-го від’ємного розряду. Причому у випадку НПСЧ (0,1) існує тільки один від’ємнийрозряд – знаковий; П – масив пам’яті в мікроконтролері, в якому фіксуються кодидискретизованих відліків аналогових сигналів. Значення цифрового сигналу у=1відповідає режимові вибірки ПВЗ, у=0 — збереження. У процесі функціонуваннясистеми аналогові сигнали з входу подаються на ПВЗ. Дискретизовані відлікипотім перетворюються в цифрові еквіваленти і надходять у ЦОП для відповідногооброблення. Причому на етапі проектування виміряються ваги розрядів a-ЦАП, коди якихфіксуються в ПЗП. Надалі ці розряди вважаються «точними» і«стабільними». Водночас варто відзначити, що зазначений пристрій можнавиконати, зокрема, на базі мікроконтролера.
2.4 Розробка функціональної схеми АЦП
МК для мікропроцесорного АЦП порозрядноговрівноваження, що калібрується повинен реалізувати функції таких блоків як: БК,ЦОП, БП, БДС.
Для реалізації даних блоків та їх функціїпотрібно, щоб МК забезпечував роботу:
1 лінії І/О для прийому сингалу від СП;
1 лінії І/О для передачі сигналу даних дляРПН;
1 лінії І/О для сигналу дозволуперетворення РПН;
1 лінії І/О для сигналу початковоговстановлення РПН;
14 лінії І/О для паралельного вихідногодвійкового коду;
програмованого таймера.
Робота мікропроцесорного АЦП порозрядноговрівноваження, що калібрується полягає в наступному:
БК забезпечує управління РПН за допомогою 3-хліній І/О передачі сигналу даних D та сигналу S, а також сигналу процесом основногоперетворення аналог-код з програмною корекцією ваг розрядів надлишкового ЦАП.
Ваги ЦАП виміряються на етапі виготовленняй записуються в EEPROM МК. У циклі калібрування потрібно сформувати в БП точнізначення ваг розрядів ЦАП. Для цього за допомогою РПН та ЦАП для кожного з i-горозряду формується аналоговий сигнал.
На початку перетворення відбуваєтьсяпочаткове встановлення всіх даних МК, а також встановлення сигналів S та С зрівня логічного 0 в рівень логічної 1 для початкового запуску РПН. Сигнал S впроцесі перетворення залишається в рівні логічної 1, а сигнал С забезпечуєзапуск кожного наступного такту перетворення шляхом формування строб-імпульсу,що керує РПН по передньому фронту переходу з рівня логічного 0 в логічну 1. Відбуваєтьсяпримусове вмикання старшого розряду, що подається на надлишковий ЦАП з якого увигляді компенсуючого сигналу передається на компаратор.
Після виконання порівняння вхідного сигналуз компенсуючим компаратор видає сигналу у вигляді певного логічного рівня(логічного 0 або 1).
МК сприймає даний сигнал на БК через порт тавід його значення виконує функції керування РПН, а також забезпечує формуванняцифрового еквіваленту аналогового сигналу за допомогою збережених в БП ваг розрядів.
У цьому режимі ЦОП з метою перетвореннянадлишкового коду на виході РПН у двійковий вихідний код здійснює простепідсумовування двійкових еквівалентів ваг розрядів, які виявилися включенимипісля зрівноважування вхідного аналогового сигналу.
Про їх включення на РПН свідчить сигнал зкомпаратора, що сприймається БК.
Час перетворення в основному режимівизначається за допомогою програмованого таймера, що формує часовий період длявиконання одного з тактів врівноваження. Після завершення періоду роботи таймеравідбувається перевірка лічильника такту перетворення, і відсутності переповненняоцінюється рівень сигналу з компаратора, а також передача сигналів даних та дозволудля запуску РПН.
Після обчислення двійкового вихідного кодув ЦОП, на основі збережених в EEPROM двійкових еквівалентів надлишкових кодів,що відповідають кодам на виході РПН, відбувається їх виведення через порти МК.Вивід здійснюється за допомогою 14 ліній І/О для паралельного вихідногодвійкового коду.
Функціональна схема зображена на рисунку2.5.
/>
Рисунок 2.4 – Функціональна схема пристрою
3. Розробка програмного забезпечення
3.1 Розробка алгоритму функціонуванняпристрою
В МП АЦП порозрядного врівноваження із ваговоюнадлишковістю, що калібрується МК працює на основі наступного алгоритму, якийнаведено в додатку Б.
Алгоритм працює наступним чином:
Під час виготовлення пристрою вимірюютьсяреальні ваги розрядів надлишкового ЦАП та записуються у вигляді цифрових еквівалентівдо енергонезалежної пам’яті EEPROM МК. Цифрові еквіваленти ваг розрядіввикористовується для калібрування та обчислення в ЦОП 14-розрядного двійковогокоду.
Під час запуску режиму основногоперетворення аналог-код відбувається встановлення початкових налаштувань дляроботи пристрою. Алгоритм підпрограми підготовки наведено в додатку В.
Його робота полягає в наступному:Очищаються регістри БП в яких будуть зберігатися значення двійкового14-розрядного вихідного коду. Встановлюється початкове значення лічильника, щовідповідає кількості розрядів надлишкового ЦАП і слугує для забезпеченнянеобхідної кількості тактів спрацювання РПН і здійснення послідовногонаближення. Шляхом встановлення сигналів порту С на виходах: РС.2 –відбувається встановлення сигналу пуску (встановлення сигналу S), РС.1 – сигналданих, що на даному етапі примусово вмикає СЗР на РПН, який в свою чергу подаєйого на надлишковий ЦАП, РС.3 – сигнал тактового імпульсу, що по зростанню відрівня логічного 0 до рівня логічної 1 забезпечить запуск перетворення.
Після виконання даного процесу відбуваєтьсязапуск РПН формування коду для надлишкового ЦАП, який формує аналоговий сигнал(Ак) для СП, що порівнюється із значенням вхідного сигналу (Авх).
Якщо виконується умова Ак>Авх, то на виходіСП значення логічного 0, у випадку Ак
Якщо логічний 0, то МК виконує перевіркузначення лічильника і в процесі виконання умови зменшує його та подає сигнали Dі C на РПН для здійснення наступного такту врівноваження.
Якщо логічної 1, то МК виконує очисткупрапорця стану таймера, потім запускає його. За період, визначений таймером,виконується процес встановлення в регістрах значення сигналів D і C, а також обчисленняв ЦОП цифрового еквіваленту аналогового сигналу входу на ввімкненому розряді тайого збереження його в БП.
Після завершення роботи таймера виконуєтьсяперевірка лічильника і в процесі виконання умови зменшує його та подаєзбережений сигнали D і C на РПН для здійснення наступного такту врівноваження.
Даний процес продовжується до тих пір, покизначення в лічильнику буде рівне 0, що свідчить про завершення врівноваження. Увигляді паралельного, двійкового, 14-розрядного коду через порти B і Dвиводяться старша та молодша частина цифрового значення вхідного аналоговогосигналу.
3.2 Організація пам’яті та розподіладресного простору
Регістровий файл швидкого доступу містить32 8-розрядні регістри загального призначення, доступ до яких здійснюється заодин машинний цикл. Шість з 32 регістрів можна використовувати як три16-розрядні покажчики в адресному просторі даних, що дає можливістьвикористовувати високоефективну адресну арифметику (16-розрядні регістри X, У іZ). Один з трьох адресних покажчиків (регістр Z) можна використовувати дляадресації таблиць в пам’яті програм.
Простір вводу/виводу складається з 64 адресдля периферійних функцій процесора, таких як управляючі регістри,таймери/лічильники і інші. Доступ до простору вводу/виводу може здійснюватисябезпосередньо, як до елементів пам’яті розташованих після регістрового файлу(20h- 5Fh).
Доступ до статичного ОЗП, регістровомуфайлу і регістрам вводу/виводу здійснюється за допомогою п’яти доступнихрежимів адресації підтримуваних архітектурою AVR.
Весь простір пам’яті AVR є лінійним ібезперервним. Гнучкий модуль переривань має власний керуючий регістр в просторівводу/виводу, і прапор глобального дозволу переривань в регістрі стану.
Файл регістрів загального призначення
Всі команди, що оперують з регістрами прямоадресуються до будь-якого з регістрів за один машинний цикл. Кожному регіструпривласнена адреса в просторі даних, вони відображаються на перші 32 комірки ОЗУ.Хоча регістровий файл фізично розміщений поза ОЗП, подібна організація пам’ятідає гнучкий доступ до регістрів. Регістри X, У і Z можуть використовуватися дляіндексації будь-якого регістра. Окрім звичних функцій, регістри R26..R31 маютьдодаткові функції, ці регістри можна використовувати як адресні покажчики уобласті пам’яті даних.
Flash-пам’ять програм.
AT90S2333 містять 2К завантажувальної flash-пам’ятідля зберігання програм. Оскільки всі команди займають одне 16- або 32-розряднеслово, flash-пам’ять організована як 1Kx16. Flash–пам’ять витримує не менше1000 циклів перезапису. Програмний лічильник має ширину 10 біт і дозволяєадресуватися до 1024 слів програмної flash-пам’яті.
EEPROM пам’ять даних
AT90S2333 містять 128 байт енергонезалежноїпам’яті (EEPROM). EEPROM організована як окрема область даних, кожен байт якоїможе бути прочитаний і перезаписаний. EEPROM витримує не менше 100000 циклівзапису/стирання.
Статичний ОЗП даних
На рисунку 3.1 показана організація пам’ятіданих в AT90S2333. 224 елементи пам’яті включають регістровий файл, пам’ятьвводу/виводу статичний ОЗП даних.
Перші 96 адрес використовуються длярегістрового файлу і пам’яті вводу/виводу, наступні 128 — для ОЗП даних.
/>
Рисунок 3.1 – Структура пам’яті
При зверненні допам’яті використовуються п’ять різних режимів адресації: прямий, безпосереднійіз зсувом, безпосередній, безпосередній з попереднім декрементом ібезпосередній з постінкрементом. Регисти R26..R31 регістрового файлувикористовуються як покажчики для безпосередньої адресації. Пряма адресація маєдоступ до всієї пам’яті даних. Безпосередня адресація із зсувомвикористовується для доступу до 63 комірок, базова адреса яких задаєтьсявмістом регістрів У або Z.
За допомогою будь-якого з цих режиміввиробляється доступ до всіх 32 регістрів загального призначення, 64 регістріввводу/виводу і 128 комірок ОЗП.
Розподіл адресного простору МК для пристроюздійснюється таким чином: R16 – регістр, що містить значення кількості розрядів,R17, R18 – для збереження та обчислення суми СЗР і МЗР, R19 – встановленняпорта С для першого такту перетворення, а також для збереження адреси коміркипам’яті EEPROM, R20 – збереження проміжного значення ваг СЗР або МЗР i-го тактуперетворення, R21 – для зчитування значень з компаратора, R22 – для переходу доадреси i-го адресу МЗР, R23, R24, R25 – для роботи таймера.
40 байт EEPROM для збереження двійковихеквівалентів надлишкових СЗР та МЗР.
3.3 Розробка програми, що керує роботоюмікропроцесора
В МП АЦП порозрядного врівноваження ізваговою надлишковістю, що калібрується, МК виконує цифрове обчислення вагрозрядів. Для забезпечення основного перетворення аналог-код періодом 100мксдля 20 тактів перетворення перемикання повинно складати 100/20 – 5мкс. Притактовій частоті мікроконтролера 10 МГц його період 100 нс. Максимальнезначення таймера: 216 = 65535.
Потрібно підібрати тактову частоту таймератак, щоб він рахував до 65535 за 5мкс.
При тактовій частоті 10 МГц таймер дорахуєдо кінця за 100 нс * 65536 = 6,6 мс, що більше 5 мкс.
Потрібно встановити Bit1, Bit0 TCCR1B без коефіцієнтуподілу частоти TCCR1B = 0b00000001
Визначимо число, що буде завантажено доOCR1A з яким буде порівнювати компоратор поточний стан таймера.
Підрахуємо кількість тактових імпульсів зачас 5 мкс: 5мкс / 100нс = 50
Затримка у 5мкс дорівнює 50 імпульсів. Самеце число завантажимо у OCR1A. Цей регістр складається з двох 8 бітних регістрівOCR1AH та OCR1AL. Перетворемо 50 у шестнадцяти розрядне число й завантажимо йогодо OCR1AH (старша частина) та OCR1AL (молодша частина).
50(10) = 32(16).
OCR1AH = $00
OCR1AL = $32
Цифрове обчислення коду здійснюється задопомогою двійкових еквівалентів надлишкового коду на виході РПН у ЦОП шляхомпідсумовування двійкових еквівалентів ваг розрядів, які виявилися включенимипісля зрівноважування вхідного аналогового сигналу та зберігаються в EEPROM.Для
НПСЧ на основі “золотої пропорції“ двійковіеквіваленти являють собою двохбайтові числа, які наведено в таблиці 3.1.
Таблиця 3.1 – Двійкові еквівалентинадлишкового коду ЦАП№ розряду Двійковий код № розряду Двійковий код СЗР МЗР СЗР МЗР 1 $00 $01 11 $00 $7B 2 $00 $02 12 $00 $B7 3 $00 $03 13 $01 $42 4 $00 $04 14 $02 $09 5 $00 $08 15 $03 $4B 6 $00 $0B 16 $05 $53 7 $00 $12 17 $08 $A2 8 $00 $1D 18 $0D $FF 9 $00 $2F 19 $16 $B0 10 $00 $4B 20 $24 $C8
Програмна реалізація МП АЦП порозрядноговрівноваження із ваговою надлишковістю, що калібрується доцільно розробити задопомогою компілятора мови асемблера. Лістинг програми має вигляд:
.include«2333def.inc»
; ПІДГОТОВКА ДО РОБОТИ
.defCOUNTER=R16
.defSZR=R17; старші розряди
.defMZR=R18; молодші розряди
.defZDVUG=R22; перехід до МЗР
CLRSZR
CLRMZR
LDICOUNTER,$13
LDIZDVUG,$14
LDIR19,$0E
OUTDDRC,R19
SBIPORTC,2; ВСТАНОВЛЕННЯ CИГНАЛУ S
SBIPORTC,1; ВСТАНОВЛЕННЯ CИГНАЛУ D
SBIPORTC,3; ВСТАНОВЛЕННЯ CИГНАЛУ C
CBIPORTC,3; СКИД СИГНАЛУ C
CBIPORTC,1; СКИД СИГНАЛУ C
RJMPSTART
; ПІДПРОГРАМА ЗЧИТУВАННЯ ЦИФРОВИХЕКВІВАЛЕНТІВ СЗРІ МЗР З EEPROM
.def ADR=R19
.def VAGA=R20
EEPROM_READ:
OUTEEAR,ADR
SBIEECR,0
INVAGA,EEDR
RET
START:
; ВИКОНАННЯ ЗЧИТУВАННЯ ЗНАЧЕННЯ ЗКОМПАРАТОРА
M2:INR21,$1
ANDIR21,$1
BREQL1
SBIPORTC,3
CBIPORTC,3
RJMPL2
; ПЕРЕВІРКА ЛІЧИЛЬНИКА КІЛЬКОСТІ ТАКТІВПЕРЕТВОРЕННЯ
L2:TSTCOUNTER
BRNEM1
DECCOUNTER
RJMPM2
; ВИКОНАННЯ ЦИФРОВОГО ОБЧИСЛЕННЯ ВАГРОЗРЯДІВ
L1:
.def TEMP =R23
.def TEMP1 =R24
; ВЕКТОРИ ПЕРЕРИВАНЬ
RJMP RESET
RJMP INT0
RJMP INT1
RJMP TIMER1_CAPT
RJMP TIMER1_COMP1
RJMP TIMER1_OVF
RJMP TIMER0_OVF
RJMP SPI_STC
RJMP UART_RX
RJMP UART_UDRE
RJMP UART_TX
RJMP ADC
RJMP RDY
RJMP COMP
;RESET:
INT_0:
INT_1:
TIMER1_CAPT:
;TIMER1_COMP1
TIMER1_OVF:
TIMER0_OVF:
SPI_STC:
UART_RX:
UART_UDRE:
UART_TX:
ADC:
RDY:
COMP:
RETI
;ІНІЦІАЛІЗАЦІЯ ТАЙМЕРА
RESET:
LDI TEMP,0B01000000; ДОЗВІЛ ПЕРЕРИВАННЯКОМПАРАТОРА
OUT TIMSK,TEMP
LDI TEMP,0B00000001; ТАКТОВИЙ СИГНАЛ = CK
OUT TCCR1B,TEMP
LDI R25,$00 ;ІНІЦІАЛІЗАЦІЯ КОМПАРАТОРА
OUT OCR1H,R25
LDI TEMP,$32
OUT OCR1L,TEMP
LDI TEMP,RAMEND; УСТАНОВКА ВКАЗІВНИКА СТЕКА
OUT SPL,TEMP
LDI TEMP,0; СКИД ТАЙМЕРА
OUT TCNT1H,TEMP
OUT TCNT1L,TEMP
SEI; ДОЗВІЛ ПРЕРИВАННЯ
; ВИКОНАННЯ ЦИФРОВОГО ОБЧИСЛЕННЯ ВАГ СЗР
MOVADR,COUNTER
RCALLEEPROM_READ
ADDSZR,VAGA
; ВИКОНАННЯ ЦИФРОВОГО ОБЧИСЛЕННЯ ВАГ МЗР
ADDADR,ZDVUG
RCALLEEPROM_READ
ADDMZR,VAGA
; ОБРОБЛЮВАЧ ПЕРЕРИВАННЯ КОМПАРАТОРА
TIMER1_COMP1:
LDI TEMP,0; СКИД ТАЙМЕРА
OUT TCNT1H,TEMP
OUT TCNT1L,TEMP
SBIPORTC,1
SBIPORTC,3
CBIPORTC,3
RJMPL2
; ВИВЕДЕННЯ ВАГ РОЗРЯДІВ У ВИГЛЯДІПАРАЛЕЛЬНОГО ДВІЙКОВОГО КОДУ НА ПОРТИ (ПОРТ D — СЗР; ПОРТ B — МЗР)
M1:.def TEMPP =R16
LSR MZR
LSR MZR
LDI TEMPP,$FF
OUT DDRD,TEMPP
OUT DDRB,TEMPP
OUT PORTD,SZR
OUT PORTB,MZR
NOP
4. Моделювання роботи
Моделювання даного пристрою виконується впрограмі моделювання Proteus 7 Professional. за відсутності програмнихеквівалентів електронних компонентів, доцільно виконати моделювання роботи МК,яке полягає в тому, щоб забезпечити наявність на вході PC.0 рівнів сигналів, щовідповідають рівням при перетворенні на і-му такті та свідчать про стан“вмикання“ чи “вимикання“ певного розряду. В даному випадку від наявності рівнялогічного 0 чи логічної 1 відбувається виконання обчислення кодової комбінаціїдвійкового еквіваленту аналогового сигналу на основі цифрових еквівалентівнадлишкових ваг розрядів ЦАП. Для отримання кінцевого результату у виглядідвійкового 14-розрядного коду, що є цифровим представленням аналогової величини,що підлягала перетворенню, використовується 14 світлодіодів. Загоряннясвітлодіодів свідчить про наявність стану “ввімкнено“ і-го розряду. Дляприкладу скористаємося рядом сигналів виду 00010000000101110110, що свідчитьпро вмикання 2,3,5,6,7,9,17 розрядів. Цифрове обчислення коду здійснюється задопомогою двійкових еквівалентів надлишкового коду у ЦОП, які наведено втаблиці 3.1. Для початку програма МК в ЦОП обраховує суму СЗР, а потім МЗР тазберігає їх в регістрах R17, R18 для подальшого виведення у вигляді14-розрядного двійкового коду на вихідну шину.
Для вище вказаного випадку кодовихкомбінацій отримуємо, що сума СЗР буде рівна $08, для МЗР – $FB.
Представляючи у двійкових еквівалентах тавраховуючи зсув МЗР на 2 біти, отримаємо: 00001000 111110.
Висновки
В роботі було розроблено МП АЦПпорозрядного врівноваження із ваговою надлишковістю, що калібрується, а такожпрограму, що керує роботою МК. Програма наочно демонструє принцип роботипристрою, який дозволяє зручно та якісно виконувати режим основногоперетворення аналог-код з програмною корекцією ваг розрядів надлишкового ЦАП, атакож передбачає можливість корекції роботи АЦП шляхом перезаписуваннянадлишкових ваг розрядів у двійкових еквівалентах в EEPROM.
Як видно в АЦП на основі НПСЧ надлишковістьвиявляється тільки у співвідношенні між вагами розрядів ЦАП. Проте в АЦПзалишається здатність істотно коригувати вихідні похибки ЦАП. Так, при вихіднихвідхиленнях ваг розрядів «надлишкового» ЦАП на рівні 5-10% вдаєтьсяодержати після калібрування АЦП з похибкою лінійності 0.003%.
Очевидно, що описаний спосіб коригуванняваг розрядів АЦП має істотні переваги. Так, при підсумовуванні ваг розрядів ЦАПвиконується принцип суперпозиції, що передбачає незалежність ваги розряду відстанів інших розрядів. Також забезпечується й досить малий дрейф ваг розрядів,який за умовами експлуатації АЦП можливо досить часто калібрувати.
Слід зазначити, що описаний модифікованийспосіб порозрядного врівноваження є простим у технічній реалізації. ШвидкодіяАЦП залежить тільки від алгоритму роботи цифрової частини АЦП. Спосібпорозрядного врівноваження для НПСЧ на основі «золотої пропорції»призводить до подовження розрядної сітки, хоча виграш по швидкодії зурахуванням подовження розрядної сітки становить 5,3 рази.
Таким чином, розробка аналогових пристроїв АЦПна основі НПСЧ дозволяє вирішити ряд актуальних завдань, рішення яких потрібнодля розвитку цього перспективного наукового напрямку й актуально для розробкивисокоточних вимірювальних систем.
/>Перелік літературних джерел
1. Азаров О.Д., Архипчик О.А., Захарченко С.М. Високолінійніпорозрядні АЦП з ваговою надлишковістю для систем реєстрації і обробляннясигналів – ВНТУ: УНІВЕРСУМ-Вінниця, 2001.
2. Азаров А. Д. Исследование принципов построения иразработка преобразователей информации на основе кодов с иррациональнымиоснованиями: Автореф. дис. канд. техн. наук. – Харьков: ХИРЭ, 1980.
3. Избыточные системы счисления, моделирование,обработка данных и системное проектирование в технике преобразованияинформации: Учеб. пособие / Поджаренко В.А., Азаров А.Д., Власенко В.А., КоваленкоИ.И. – К.: Вища шк., 1990.-208с.
4. Азаров О.Д. Розробка теорії аналого-цифровогоперетворення на основі надлишкових позиційних систем числення: Автореф. дис…д-ра техн. наук: 05.11.16 / Вінницький політехнічний ін-т. – Вінниця, 1994. –44с.
5. Карцев А. А. Арифметика цифровых машин. – М.:Наука, 1969. – 576 с.
6. Стахов А.П. Коды золотой пропорции. – М.: Радио исвязь, 1984. – 152 с.
7. Офіційна web-сторінка “Телесистеми“ [Електроннийресурс] – Режим доступу: www.telesys.ru, вільний. – Загл. з екрана. –Мова рос., англ.
8. Офіційна web-сторінка РефератOFF.ru [Електроннийресурс] – Режим доступу: manual.referatoff.ru/011104-1.html, вільний. –Загл. з екрана. – Мова рос.
9. Boyacigiller Z., Sockolov S. Increase analog systemaccuracy with a 14-bit monolithic ADC // EDN. – 1982. – August, №18.
10. Азаров О.Д. Основи аналого-цифрового перетворенняна основі надлишкових позиційних сисем числення. Монографія. – Вінниця:УНІВЕРСУМ – Вінниця, 2004. – 260 с.
Додаток А
Алгоритм функціонування АЦП
/>
Додаток Б
Алгоритм функціонування пристрою
/>
Додаток В
Алгоритм підпрограми підготовки
/>
/>