Микроконтроллеры для систем автоматики - часть 16

 

  Главная      Учебники - Производство     

 

поиск по сайту           правообладателям

 

 

 

 

 

 

 

 

 

содержание   ..  14  15  16  17   ..

 

 

Микроконтроллеры для систем автоматики - часть 16

 

 

 

63 

 

Рис. 10.1. Параллельный аналого-цифровой преобразователь. 

Такие схемы ADC работают очень быстро, но сложны и используются редко. 

П

Р Е О Б Р А З О В А Т Е Л Ь   П О С Л Е Д О В А Т Е Л Ь Н О Г О   П Р И Б Л И Ж Е Н И Я

 

Основными  элементами  преобразователя  (рис.  10.2)  является  регистр 

последовательных  приближений,  код  из  которого  с  помощью  цифроаналогового 
преобразователя  преобразуется  в  напряжение.  Компаратор CMP сравнивает  входное 
напряжение  с  выходным  напряжением  преобразователя  и  через  устройство  управления 
воздействует на регистр. 

 

Рис. 10.2. Преобразователь последовательного приближения 

Преобразование  выполняется  за  несколько  тактов.  В  первом  такте  в  старший 

разряд  регистра  последовательных  приближений  записывается  единица.  Если  в 
результате сравнения на выходе компаратора устанавливается единичный сигнал, единица 
в старшем разряде регистра сохраняется. В противном случае – сбрасывается. Далее, в 
том же порядке, формируется второй по старшинству разряд результата, потом - третий и 
т.д.  Для  получения  результата  необходимо  n  тактов,  где  число  n  равно  разрядности 
преобразователя. 

И

Н Т Е Г Р И Р У Ю Щ И Й   П Р Е О Б Р А З О В А Т Е Л Ь

 

Интегрирующий ADC для  сравнения  входного  сигнала  с  эталонным  использует 

заряд  конденсатора.  Сначала  (рис.  10.3)  конденсатор  в  течении  фиксированного 
промежутка  времени  Т1  заряжается  током,  пропорциональным  входному  сигналу.  После 
это  он  разряжается  постоянным  током  с  определенным  значением.  Время  разряда 
конденсатора  Т2  пропорционально  значению  входного  напряжения.  Оно  фиксируется  с 
помощью счетчика и поступает на выход схемы (рис. 10.4). 

 

64 

 

Рис. 10.3. Интегрирование сигнала в преобразователе 

Интервал времени Т1 задается включением ключа S1. По окончании Т1 ключ S1 

размыкается,  а  S2 – замыкается.  Опорное  напряжение  U

o

  должно  иметь  знак 

противоположный  знаку  напряжения  входного.  Компаратор,  устройство  управления  и 
счетчик определяют выходной код D, пропорциональный интервалу T2.  

 

Рис. 10.4.  Интегрирующий ADC 

Интегрирующие схемы ADC имеют 8-16 разрядов и могут представлять результат в 

двоичном или двоично-десятичном коде. 

С

И Г М А

-

Д Е Л Ь Т А   П Р Е О Б Р А З О В А Т Е Л Ь

 

Сигма-дельта преобразователи являются разновидностью интегрирующих ADC, в 

которых  входной  ток  компенсируется  коммутируемым  зарядом  от  встроенного  источника 
(рис.  10.5).  Импульсы  тока  фиксированной  длительности  на  каждом  такте  могут  быть 
подключены  к  входу  интегратора.  В  суммирующей  точке  интегратора  поддерживается 
нулевой  средний  ток.  Счетчик  подсчитывает  количество  импульсов,  поступающих  в 
суммирующую точку за фиксированный период времени. Результат счета пропорционален 
входному напряжению. 

 

Рис. 10.5. Сигма-дельта преобразователь 

 

65 

10.2. Управление аналого-цифровым преобразователем  

В  состав  микроконтроллеров  обычно  включают 8  - 16-битные  многоканальные 

преобразователи  с  большим  набором  встроенных  функций.  При  этом  все  функции 
преобразователя программируются и могут быть изменены в процессе работы. 

Например, 

микроконтроллер ATmega163 

оснащен 

10-разрядным ADC 

последовательных  приближений  (рис.  10.6). ADC подсоединен  к  10-канальному 
аналоговому  мультиплексору (MUX), позволяющему  подать  на  вход  преобразователя 
любой из восьми входных сигналов со входов ADC0…ADC7, либо эталонное напряжение 
1,22В, либо сигнал со входа AGND. Вывод AGND рекомендуется подсоединить к точке c 
нулевым  потенциалом GND (Ground). ADC содержит  схему  выборки/хранения SHC 
(Sample&Hold Comparator) , удерживающую напряжение входа во время преобразования на 
неизменном уровне.  

 

Рис. 10.6. Структура аналого-цифрового преобразователя 

Аналого-цифровой  преобразователь  преобразует  напряжение  аналогового 

входного  сигнала  в  10-разрядное  цифровое  значение  методом  последовательных 
приближений. Минимальное значение входного напряжения равно напряжению на контакте 
AGND,  максимальное  значение  не  должно  превышать  напряжение  на  контакте AREF. 
Результат в виде 10-битного двоичного числа D равен:  

10

0

2

=

U

U

D

,  

где  

U – входное напряжение, а U

0

 – опорное напряжение преобразователя. 

В качестве источника опорного напряжения преобразователя можно использовать 

внешний  сигнал  с  вывода AREF, внутренний  источник 2,56В,  либо  напряжение  питания 
аналоговой  части  микроконтроллера  с  вывода AVCC. Напряжение  на  выводе AVCC не 
должно отличаться от напряжения питания 

cc

V

 более, чем на 

±

0,3 В.  

 

66 

Например,  если  аналоговый  мультиплексор подключает ко входу ADC эталонное 

напряжение U =1,22B, а в качестве опорного напряжения использовать источник U

=2,56В

то результат преобразования: 

 D =1,22*1024/2,56=488=$1E8=0b111101000. 
Для управления преобразователем в микроконтроллере используются регистры: 

º 

Регистр  управления  мультиплексором ADMUX (ADC Multiplexer Selection 
Register); 

º 

Регистр  управления  аналого-цифровым  преобразователем ADCSR (ADC 
Control and Status Register) 

º 

Регистры данных ADCL и ADCH (ADC Low  и ADC High). 

º 

Регистр состояния микроконтроллера SREG (Status Register). 

 

  Биты 7  6  5  4 3  2  1 0 

ADMUX $07 ($27)  REFS1 REFS0 ADLAR MUX4 MUX3  MUX2  MUX1 MUX0 

ADCSR $06 ($26)  ADEN  ADSC  ADFR  ADIF  ADIE  ADPS2  ADPS1 ADPS0 

ADCH $05 ($25)  SIGN 

- ADC9 

ADC8 

ADCL $04 ($24)  ADC7  ADC6  ADC5  ADC4  ADC3  ADC2  ADC1 ADC0 

SREG $3F ($5F) 

 

 

 

 

 

 

 

Рис. 10.7. Регистры, используемые аналого-цифровым преобразователем 

Аналого-цифровой  преобразователь  может  работать  в  двух  режимах:  режиме 

однократного  преобразования  и  в  циклическом  режиме.  В  режиме  однократного 
преобразования  каждое  преобразование  инициируется  пользователем.  В  циклическом 
режиме  аналого-цифровой  преобразователь  осуществляет  выборку  и  обновление 
содержимого  регистра  данных  непрерывно.  Выбор  режима  производится  битом ADFR 
((ADC Free Run ) регистра ADCSR. 

Работа аналого-цифрового преобразователя разрешается установкой в состояние 

1 бита ADEN в регистре ADCSR. Преобразование начинается с установки в состояние 1 
бита начала преобразования ADSC (ADC Start Conversion). Если в процессе выполнения 
преобразования  производится  смена  канала  данных,  то ADC вначале  закончит  текущее 
преобразование, а потом выполнит переход к другому каналу. 

Поскольку  аналого-цифровой  преобразователь  формирует  10-разрядный 

результат,  то  по  завершении  преобразования  результирующие  данные  размещаются  в 
двух  регистрах  данных ADCH и ADCL. Для  обеспечения  соответствия  результирующих 
данных  считываемому  уровню используется специальная логика защиты. Этот механизм 
работает  следующим  образом:  при  считывании  данных  первым  должен  быть  считан 
регистр ADCL. Если регистр ADCL считан, обращение аналого-цифрового преобразователя 
к регистрам данных блокируется. Таким образом, если после считывания состояния ADCL, 
но  до  считывания ADCH, будет  завершено  следующее  преобразование,  ни  один  из 
регистров не будет обновлен и записанный ранее результат не будет искажен. Обращение 
аналого-цифрового  преобразователя  к  регистрам ADCH и ADCL разрешается  по 
завершении считывания содержимого регистра ADCH. 

Аналого-цифровой  преобразователь  имеет  свое  собственное  прерывание ADC 

(вектор $1C), которое может быть активизировано по завершению преобразования. Когда 

 

 

 

 

 

 

 

содержание   ..  14  15  16  17   ..