17437

Ознайомлення з принципом роботи аналого-цифрових перетворювачів порозрядного зрівноваження

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Мета роботи :Ознайомлення з принципом роботи аналогоцифрових перетворювачів порозрядного зрівноваження. Теоретичні відомості Аналогоцифрове перетворення використовується для обробки зберігання або передачі аналогових сигнал в цифровій формі. Наприклад швидкі в

Украинкский

2013-07-01

402 KB

5 чел.


Мета роботи :Ознайомлення з принципом роботи аналого-цифрових перетворювачів порозрядного зрівноваження.

Теоретичні відомості

Аналого-цифрове перетворення використовується для обробки, зберігання або передачі аналогових сигнал в цифровій формі. Наприклад швидкі відео АЦП використовуються, наприклад, в ТБ тюнерах. Повільні вбудовані 8, 10, 12, або 16 бітові АЦП часто входять до складу мікроконтролерів.

АЦП послідовного наближення або АЦП з порозрядним зрівноваженням містить компаратор, допоміжний ЦАП і регістр послідовного наближення. АЦП забезпечує перетворення вхідного аналогового сигналу в цифровій за N кроків, де N — розрядність АЦП. На кожному кроці визначається по одному біту шуканого цифрового коду, починаючи від старшого значущого розряду і закінчуючи молодшим. При визначенні кожного біту виконується наступна послідовність дій:

  •  на допоміжному ЦАП виставляється аналогове значення, утворене з бітів, вже визначених на попередніх кроках, біт, який визначається на даному кроці, встановлюється в 1, а всі молодші біти скинуті в 0;
  •  отримане на допоміжному ЦАП значення порівнюється з вхідним аналоговим значенням;
  •  якщо компаратор не спрацював (значення вхідного сигналу більше значення на допоміжному ЦАП), то біт, який визначається на даному кроці, отримує значення 1, інакше 0.

АЦП цього типу забезпечують одночасно відносно високу швидкістю і велику роздільну здатність. Для усунення впливу зміни вхідної напруги за час перетворення на результат аналого-цифрового перетворення на вході таких АЦП встановлюють пристрій вибірки-зберігання. Приклад схеми АЦП порозрядного зрівноваження та діаграма роботи представлені на рис. 1 та рис.2 відповідно.

Рис.1 – Структурна схема АЦП порозрядного зрівноваження

Рис.2 – Діаграма роботи АЦП порозрядного зрівноваження

Завдання:

№ варіанту

1

2

3

4

5

6

7

8

9

0

Тип ЦАП

MAX504

MAX515

MAX517

MAX518

MAX519

MAX5820

MAX5821

MAX5822

MAX5839

MCP4725

Програмна реалізація

#include <REG51.H>

#include <stdio.h>

#include "iic_mast.h"

sbit comparator_out=P0^5;

bit comparator_off;

#define DAC_bits 8

#define Uref 5

float u;

unsigned char volt_pos;

void delay(unsigned int n);

/*-----------------------------------*/

#include "lcd.h"

/*-----------------------------------*/

void main(void)

{

unsigned char tt,n,nt;

sda=1;

scl=1;

write(0x58,0,0);

delay(2);

comparator_off=comparator_out;

init_LCD();

printf("\nLab N3 Zablotskyy ");

volt_pos=print_ram_adres_lcd;

while(1)

 {

 n=0;

 nt=0;

 for(tt=0;tt<DAC_bits;tt++)

   {

n=1<<(DAC_bits-tt);

nt=nt|n;

   write(0x58,0,nt);

   delay(3);

if(comparator_out!=comparator_off)nt=nt&(~n);

   }

 u=(float)Uref/(1<<DAC_bits)*nt;

 print_ram_adres_lcd = volt_pos;

 printf("N=%bX U=%.3f",nt,u);

 }

}

/*-----------------------------------*/

void delay(unsigned int n)

{

unsigned int i,j;

for(i=0;i<n;i++)

 for(j=0;j<500;j++);

}

/*-----------------------------------*/

#include<intrins.h>

/*--------------------------------------------------*/

sbit sda=P0^7;

sbit scl=P0^6;

/*--------------------------------------------------*/

void start_condition(void)

{

sda=1;scl=1;

if((sda)&&(scl))

  {

  _nop_();

  sda=0;

  _nop_();_nop_();

  _nop_();_nop_();_nop_();

  scl=0;

  }

}

/*--------------------------------------------------*/

void stop_condition(void)

{

sda=0;

_nop_();_nop_();

scl=1;

_nop_();_nop_();

_nop_();_nop_();_nop_();

sda=1;

}

/*--------------------------------------------------*/

void ACK(void)

{

sda=0;

_nop_();_nop_();

scl=1;

_nop_();_nop_();

_nop_();_nop_();

scl=0;

}

/*--------------------------------------------------*/

void NAK(void)

{

sda=1;

_nop_();_nop_();

scl=1;

_nop_();_nop_();_nop_();_nop_();

scl=0;

}

/*--------------------------------------------------*/

unsigned char rbyte(void)

{

unsigned char tt,c=0,cc;

sda=1;

for(tt=0;tt<8;tt++)

 {

 _nop_();_nop_();_nop_();

 scl=1;

 _nop_();_nop_();

 if(sda)cc=(1<<7-tt);

 c=c|cc;

 scl=0;

 }

 return c;

}

/*--------------------------------------------------*/

unsigned char wbyte(unsigned char dd)

{

unsigned char tt=0;

unsigned char a,i;

sda=0;

for(i=0;i<8;i++)

 {

 a=dd&(1<<(7-i));

 if(a)sda=1;

   else sda=0;

 _nop_();

 scl=1;

 _nop_();_nop_();

 _nop_();_nop_();

 scl=0;

 }

sda=1;

_nop_();_nop_();

scl=1;

_nop_();_nop_();

_nop_();_nop_();

if(sda)tt=1;

scl=0;

return tt;

}

/*--------------------------------------------------*/

unsigned char read(unsigned char device,unsigned char address)

{

unsigned char t;

start_condition();

t=device&0xFE;

wbyte(t);

wbyte(address);

start_condition();

t=device|(0x01);

wbyte(t);

t=rbyte();

NAK();

stop_condition();

return t;

}

/*--------------------------------------------------*/

void write(unsigned char device,unsigned char address,unsigned char dd)

{

start_condition();

wbyte(device&0xFE);

wbyte(address);

wbyte(dd);

stop_condition();

}

/*--------------------------------------------------*/

#include <intrins.h>

#include <stdio.h>

/*---------------------------------*/

#define LCD_DAT P2

#define LCD_RS P3_5

#define LCD_RW P3_6

#define LCD_E P3_7

/*---------------------------------*/

void init_LCD(void);

void out_com_lcd(char out);

void inc_kursor_pos_lcd(unsigned char n);

 

unsigned char print_ram_adres_lcd;

/*---------------------------------*/

void delay(unsigned int n);

/*---------------------------------*/

void init_LCD(void)

{

//unsigned char init_comand[]={0x20,0x20,0x20,0x28,0x0F,0x1,0x6};

unsigned char init_comand[]={0x30,0x30,0x30,0x38,0x0F,0x1,0x6};

unsigned char i;

LCD_RS=0;

LCD_RW=0;

LCD_E=0;

delay(100);

for(i=0;i<7;i++)

 out_com_lcd(init_comand[i]);

print_ram_adres_lcd=0;

}

void out_com_lcd(char out)

{

unsigned char a;

LCD_RS=0;

LCD_RW=0;

LCD_DAT &= 0x0F;   //4-bit interface

LCD_DAT |= out & 0xF0;

for(a=0;a<200;a++);

LCD_E=1;

for(a=0;a<200;a++);

LCD_E=0;

for(a=0;a<200;a++);

LCD_DAT &= 0x0F;

LCD_DAT |= (out <<4) & 0xF0;

for(a=0;a<200;a++);

LCD_E=1;

for(a=0;a<200;a++);

LCD_E=0;

for(a=0;a<200;a++);

delay(5);

}

/*---------------------------------*/

char putchar(unsigned char out)

{

unsigned char a;

if(out=='\n')

 {

 print_ram_adres_lcd=0x2;

 out_com_lcd(0x80+print_ram_adres_lcd);

 return out;

 }

out_com_lcd(0x80+print_ram_adres_lcd);

LCD_RS=1;

LCD_RW=0;

LCD_E=0;

LCD_DAT &= 0x0F;   //4-bit interface

LCD_DAT |= out & 0xF0;

for(a=0;a<200;a++);

LCD_E=1;

for(a=0;a<200;a++);

LCD_E=0;

for(a=0;a<200;a++);

LCD_DAT &= 0x0F;

LCD_DAT |= (out <<4) & 0xF0;

for(a=0;a<200;a++);

LCD_E=1;

for(a=0;a<200;a++);

LCD_E=0;

inc_kursor_pos_lcd(1);

return out;

}

/*---------------------------------*/

void inc_kursor_pos_lcd(unsigned char n)

{

unsigned char i;

for(i=0;i<n;i++)

 {

 print_ram_adres_lcd++;

 if(print_ram_adres_lcd==0x11)print_ram_adres_lcd=0x42;

 if(print_ram_adres_lcd==0x51)print_ram_adres_lcd=0x12;

 if(print_ram_adres_lcd==0x21)print_ram_adres_lcd=0x52;

 if(print_ram_adres_lcd==0x61)print_ram_adres_lcd=0x2;

 }

}

Результати  даної  роботи

Висновок

На даній лабораторній роботі я ознайомився з принципом роботи аналого-цифрових перетворювачів порозрядного зрівноваження.


 

А также другие работы, которые могут Вас заинтересовать

21000. Масиви в середовищі розробки С++Builder 36.26 KB
  Створив новий проект додав форму на якій розмістив компоненти: Запрограмував кнопку Ввести для введення значення у потрібний елемент масиву: void __fastcall TForm1::Button3ClickTObject Sender { i=StrToIntEdit1 Text; a[i]=StrToIntEdit2 Text; Edit3 Text= ; for i=0;i 10;i { Edit3 Text=Edit3 TextIntToStra[i] ; } } Запрограмував кнопку Анализ массива для виведення значень масиву: void __fastcall TForm1::Button1ClickTObject Sender { for i=0;i 10;i { if i2==0 { if a[i]2=0...
21001. Розробка структури та моделі системи, перевірка адекватності 68.3 KB
  КРЕМЕНЧУК 2012 Мета роботи: Ознайомитись з основними поняттями моделювання. Порядок виконання роботи Виконав моделювання замкненої системи з ДПС згідно з варіантом. Висновок: Ознайомилися з основними поняттями моделювання.
21002. Широтно-импульсный преобразователь 96.55 KB
  КРЕМЕНЧУК 2011 Широтноимпульсный преобразователь Рисунок 1 ШИП с параллельной коммутацией Проектируемый преобразователь относится к классу широтноимпульсных преобразователей и применяется в частности для регулирования напряжения питания в двигателях постоянного тока. Рисунок 2 – Структурная схема ШИП ГПН генератор пилообразного напряжения; ПУ пороговое устройство компаратор; ФУН формирователь управляющих импульсов; ВП выпрямитель; СЧ силовая часть; Н нагрузка. Рисунок 3 схемы взаимосвязи процессов Построение алгоритма роботы схемы...
21003. Вибір альтернативи на основі методу рангу 33.19 KB
  КРЕМЕНЧУК 2012 Мета: Освоїти метод пошуку найкращої альтернативи на основі методу рангу. int ijs[4]= {0000}; Порахуємо матрицю нормованих оцінок float z[4][3]; fori = 0;i 4;i { forj = 0;j 3;j z[i][j]= floatZ[i][j] floats[i]; } Знайдемо ваги цілей w[j]= z[0][j]z[1][j]z[2][j]z[3][j] 4; forj = 0;j 3;j cout j1 Альтернатива: w[j] endl; Сортуємо по убуванню Ту альтернативу яка має найбільшу вагу вибираємо як кращий варіант ifw[i] w[j] i j { temp = w[i]; w[i]= w[j]; w[j]= temp; } Реалізували алгоритм пошуку...
21005. Расчет многовибраторных антенн 444.5 KB
  Рассчитать и построить диаграммы направленности системы из полуволнового вибратора и рефлектора. Ток рефлектора составляет 10%, 50%, 90% от тока вибратора и опережает ток вибратора по фазе на
21006. Антенны Радиорелейных Линий связи 188.5 KB
  Донецк 2011 Цель работы: расчет формы диаграммы направленности антенны по известному распределению амплитуд поля. Рассчитать диаграмму направленности параболической антенны с круглым раскрывом амплитуды поля в котором изменяются по закону Er=11r R02 со спадом поля на краях раскрыва относительно центра до =0. Определить коэффициент направленного действия зеркальной параболической антенны по условиям ЗАДАНИЯ 1 приняв значение коэффициента использования равным 05.
21007. Исследование рупорной антенны 95.5 KB
  Цель работы: исследование особенностей распространения радиоволн сантиметрового диапазона и экспериментальное снятие диаграммы направленности рупорной антенны.
21008. РАСЧЕТ ПАРАМЕТРОВ СИММЕТРИЧНОГО И НЕСИММЕТРИЧНОГО ВИБРАТОРОВ. Распределение тока Ix и заряда Qx 108 KB
  Каково распределение поля симметричного и несимметричного вибратора в зависимости от длины вибратора и длины волны. Основные характеристики симметричного и несимметричного вибратора. При каком отношении диаграмма направленности симметричного вибратора имеет боковые лепестки?