Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Реалізація цифрової частини циклічного АЦП із ваговою надлишковістю




У попередніх розділах було розгляну методи побудови аналогових вузлів циклічного АЦП із ваговою надлишковістю, проте цифрову частину перетворювача можна реалізувати також за допомогою мікроконтролерів і програмованих логічних інтегральних схем (ПЛІС).

Мікроконтролер – це програмована мікросхема, що поєднує на одному кристалі функції процесора, периферійних пристроїв, ОЗП, ПЗП та інші електронні пристрої і здійснює взаємодію між ними.

 ПЛІС –це елекронний компонент (кристал), який містить набір простих логічних елементів, функції яких задаються шляхом програмування з метою створення цифрових інтегральних схем.

Тобто і мікроконтролери і ПЛІС це програмовані схеми, які видають сигнал по закледеній у них мікропрограмі. Проте ПЛІС побудовані на простих логічних елементах (вентилях), які формують фізичні зв’язки всередині схеми. При програмуванні дані зв’язки формуються і далі схема працює згідно заданого алгоритму. Перевагою ПЛІС є те що вони працюють на апратоному рівні, проте недоліком є обмеження їх функціональності кількістю вентелів. Мікроконтролер же являється набором побудованих відносно універсальних функціональних компонентів, які не створюють відповідних зв’язків, а просто виконує програму або машинний код. Обмеженням мікроконтролерів як правило являється об’єм пам’яті. Значою перевагою мікроконтролерів являється і їх ціна, яка на декілька порядків нижча за ПЛІС.

Для реалізації циклічного АЦП із ваговою надлишковістю було обрано 8-розрядний високопродуктивний AVR мікроконтролер із малою потужністю споживання ATmega8. Даний мікроконтролер побудований на основі RISC архітектури, має 32 8-розрядних регістри загального призначення, 8 КБайт внутрішньосистемної програмованої пам’яті, та працює на частоті 0..16МГц. Мікроконтролер живиться від мікросхеми стабілізатора напруги 7805, який забезпечує номінальну напругу живлення мікроконтроллера у 5В. Згідно технічної документації для стабільної роботи інтегрального стабілізатора на його вході та виході поставлено електролітичні та керамічні конденсатори для погашення низькочастотних та високочастотних завад відповідно. А регулювання вхідної напруги, що буде врівноважуватись, здійснються за допомогою потенціометру. Для забезпечення зв’язку між комп’ютером та мікроконтролером використано протокол UART, який передає інформацію на CОМ-порт комп’ютера. А з метою узгодження логічних рівні комп’ютера та мікроконтролера використано перетворювач напруги, який побудовано на транзисторному ключі. Для виведення результату перетворення використовуються світлодіоди, які під’єднано до вихідних портів мікроконтролера. Програмний код, що записано в пам'яті та виконується мікроконтролером для моделювання роботи циклічного АЦП із ваговою надлишковістю має наступний вигляд:

 

Version : АЦП

Company : http://c2.at.ua

Chip type : ATmega8

Clock frequency : 4,000000 MHz

*****************************************************/

#include <mega8.h>

#include <stdio.h>

#define BYTE unsigned char

#define WORD unsigned short int

#define CARDINAL unsigned long int

    unsigned long int V=0;

    int i;

    int mas[10];

CARDINAL U;

 #define ADC_VREF_TYPE 0xC0

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input | (ADC_VREF_TYPE & 0x7f);

ADCSRA|=0x40;    // Start the AD conversion

while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10; // Wait for the AD conversion to complete

return ADCW;

}          

    void main(void)

{

UCSRB|=(1<<3)|(1<<4);  

    UBRRH=0x00;

    UBRRL=0x19;  

PORTB=0x00;

DDRB=0b11000000;

PORTC=0x00;

DDRC=0b00111110;

PORTD=0x00;

DDRD=0b00011100;

ADMUX=ADC_VREF_TYPE & 0xff;

ADCSRA=0x82;

#asm("sei")  

U=read_adc(0); 

V=U*4.9;

printf("Напруга складає %d мілівольт \n", V);

printf("\n");

    for (i=0;i<10;i++) { 

    printf("%d \n", V);

    V=V*1.8;   

    if (V>3570) {  

              mas[i]=1;

              V=V-3570; }

    else {mas[i]=0;}

    }; 

    for (i=0;i<10;i++) {

    printf("a[%d]=%d \n", i,mas[i]); };

    PORTD.3=mas[0];

    PORTD.4=mas[1];

    PORTD.2=mas[2];

    PORTB.6=mas[3];

    PORTB.7=mas[4];

    PORTC.5=mas[5];

    PORTC.4=mas[6];

    PORTC.3=mas[7];

    PORTC.2=mas[8];

    PORTC.1=mas[9];

}

Моделювання роботи розглянутої схеми та її програмного коду проводилось у середовищі Proteus (Рис. 12).

Рис. 13 – Моделювання роботи циклічного АЦП із ваговою надлишковістю у середовищі Proteus, врівноваження вхідної напуги: а) 4,013В; б) 3,008В

 

 Макет розробленого циклічного АЦП із ваговою надлишковістю наведено на рисунках 14,а та 14,б, а перевірку результату перетворення можна провести за допомогою підключення макету до COM-потру комп’ютера, на наякому встановлено програмне забезпечення COM Port Toolkit, яке виводить на екран значення аналогової величини та цифровий код на виході перетворювача (Рис. 14,а та 14,б).

а) б)
в) г)

Рис. 14 – Циклічний АЦП із ваговою надлишковістю: а) макет, що врівноважує вхідну напругу 2,817В; б) перевірка роботи макету за допомогою програми COM Port Toolkit; в) макет, що врівноважує вхідну напругу 4,267В; г) перевірка роботи макету за допомогою програми COM Port Toolkit.










Последнее изменение этой страницы: 2018-06-01; просмотров: 228.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...