WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаТехнічні науки → Мікропроцесорний АЦП порозрядного врівноваження із ваговою надлишковістю, що калібрується - Курсова робота

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

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

.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 с.

Додаток А

Алгоритм функціонування АЦП

Додаток Б

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

Додаток В

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

Loading...

 
 

Цікаве