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;

 }

}

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

Висновок

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


 

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

75098. История про Стобеда 70.5 KB
  Цель: повторить правила дорожного движения, предупредить наиболее распространенные ошибки поведения детей на дороге, выяснить, как учащиеся запомнили названия дорожных знаков, развить внимание, творческие способности детей.
75099. Исследовательская деятельность учащихся – условие развития компетентной личности 44 KB
  Работа над проектом включает в себя: подбор темы исследования которая должна быть интересна выполнима решение должно быть полезно; ситуацию поиска информации что создаёт прекрасную почву для привлечения ребёнка на основе его собственных исследовательских познавательных потребностей...
75100. Морковь – культурное растение 96 KB
  Морковь как овощ мы взяли для исследовательской работы, так как она востребована любой хозяйкой на кухне, любима очень детьми и является популярным овощем в нашей местности. Кроме этого, она источник витаминов. Цель: Рассмотреть морковь с точки зрения истории, медицины, растениеводства и кулинарии.
75101. Исторические задачи 67.5 KB
  Решение исторических задач на составление уравнения. При решении уравнения Если в части одной Безразлично какой Встретится член отрицательный Мы к обеим частям С этим членом сличив Равный член придадим Только с знаком другим И найдем результат нам желательный.
75102. Реально ли стать футбольной знаменитостью, на примере голкипера С.В. Рыжикова 644 KB
  Объект исследования: футболисты действующих российских команд на примере представителя команды Рубин Казань Рыжикова С. Цель: выяснить возможность роста начинающего футболиста ДЮСШ в условиях малого города.
75103. Экологические проблемы автомобильного транспорта 61 KB
  Проблемы экологии: загрязнение атмосферы выхлопными газами автомобилей производств; истощение природных ресурсов; парниковый эффект; истончение озонового слоя; кислотные дожди; проблема частой пресной воды; почва; проблема мусора; проблема мирового океана; и др.
75105. История военной авиации в марках 637.5 KB
  Несколько лет назад я увидел у дедушки в шкафу несколько альбомов. Я подумал, что там хранятся фотографии и хотел их посмотреть. Но, дедушка засмеялся и открыл альбом. Там лежали маленькие кусочки бумаги. И я спросил, что это? И дедушка Слава начал рассказ.