Смекни!
smekni.com

Мікропроцесорний АЦП порозрядного врівноваження із ваговою надлишковістю, що калібрується (стр. 4 из 6)

Слід зазначити, що використання АЦП із ЦАП на основі НПСЧ у складі систем цифрової обробки аналогових сигналів також дає певні переваги перед двійковими перетворювачами інформації. Так, зменшений час врівноважування дозволяє підняти частоту дискретизації, збільшити кількість оброблюваних каналів при роботі в багатоканальному режимі. Незважаючи на спрощену технологію виготовлення аналогових вузлів, результуюча точність перетворення як ЦАП, так і АЦП на основі НПСЧ може бути досить високою при роздільності не менше 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, у випадку Ак<Авх – значення логічної 1. Сигнал з СП поступає на вивід РС.0 та залежно від його значення МК виконує певну функцію:

Якщо логічний 0, то МК виконує перевірку значення лічильника і в процесі виконання умови зменшує його та подає сигнали D і C на РПН для здійснення наступного такту врівноваження.

Якщо логічної 1, то МК виконує очистку прапорця стану таймера, потім запускає його. За період, визначений таймером, виконується процес встановлення в регістрах значення сигналів D і C, а також обчислення в ЦОП цифрового еквіваленту аналогового сигналу входу на ввімкненому розряді та його збереження його в БП.

Після завершення роботи таймера виконується перевірка лічильника і в процесі виконання умови зменшує його та подає збережений сигнали D і C на РПН для здійснення наступного такту врівноваження.

Даний процес продовжується до тих пір, поки значення в лічильнику буде рівне 0, що свідчить про завершення врівноваження. У вигляді паралельного, двійкового, 14-розрядного коду через порти B і D виводяться старша та молодша частина цифрового значення вхідного аналогового сигналу.

3.2 Організація пам’яті та розподіл адресного простору

Регістровий файл швидкого доступу містить 32 8-розрядні регістри загального призначення, доступ до яких здійснюється за один машинний цикл. Шість з 32 регістрів можна використовувати як три 16-розрядні покажчики в адресному просторі даних, що дає можливість використовувати високоефективну адресну арифметику (16-розрядні регістри X, У і Z). Один з трьох адресних покажчиків (регістр Z) можна використовувати для адресації таблиць в пам'яті програм.