Курсовая работа: Мікропроцесорний АЦП порозрядного врівноваження із ваговою надлишковістю, що калібрується
.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-сторінка “Телесистеми“ [Електронний
ресурс] – Режим доступу: http://www.telesys.ru , вільний. – Загл. з екрана. –
Мова рос., англ.
8.
Офіційна web-сторінка РефератOFF.ru [Електронний
ресурс] – Режим доступу: http://manual.referatoff.ru/011104-1.html, вільний. –
Загл. з екрана. – Мова рос.
9.
Boyacigiller Z., Sockolov S. Increase analog system
accuracy with a 14-bit monolithic ADC // EDN. – 1982. – August, №18.
10.
Азаров О.Д. Основи аналого-цифрового перетворення
на основі надлишкових позиційних сисем числення . Монографія. – Вінниця:
УНІВЕРСУМ – Вінниця, 2004. – 260 с.
Додаток А
Алгоритм функціонування АЦП

Додаток Б
Алгоритм функціонування пристрою

Додаток В
Алгоритм підпрограми підготовки

|