В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > 68300 > Архитектура
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Модуль аналого - цифрового преобразователя ADC

Модуль ADC обеспечивает выборку и преобразование сигналов, поступающих на 8 аналоговых входов AC0-7 ( в некоторых моделях микроконтроллеров используются только четыре аналоговых входа AC0 - 4), в 8- или 10-разрядный двоичный код, который записывается в регистры результата ADR0-7. Модуль ADC имеет отдельные выводы для подключения напряжения питания Vda, "земли" Vsa, высокого и низкого опорных потенциалов Vов, Vон, которые определяют диапазон входных потенциалов, воспринимаемых ADC. Типовые значения опорных потенциалов Vов=5 В, Vон=0 В. В этом случае разрешающая способность составляет около 20 мВ при 8-разрядном и около 5 мВ при 10-разрядном преобразовании.
    Модуль программируется на выполнение одноканальных или многоканальных циклов преобразования. При одноканальном цикле последовательно выполняется 4 или 8 выборок и преобразований значений потенциала, поступающего на один из аналоговых входов, в двоичные коды, записываемые в регистры результата. При многоканальном цикле последовательно выбираются 4 или 8 аналоговых входов, значения потенциалов на которых преобразуются в двоичный код и записываются в регистры результата. Если модуль работает в одноцикловом режиме, то преобразование останавливается после завершения первого цикла. В режиме сканирования (многоцикловый режим) одноканальный или многоканальный циклы повторяются, а полученные в очередном цикле результаты заносятся в регистры ADR0-7 на место результатов предыдущего цикла.

Таблица 3.21. Адреса и уровни доступа регистров модуля ADC

Адрес Регистр Уровень доступа
$*FF700 ADMCR S
$*FF702 ADTEST S
$*FF704 резервировано -
$*FF706 PORTADA S/U
$*FF708 резервировано -
$*FF70A ADCTL0 S
$*FF70C ADCTL1 S
$*FF70E ADSTAT S
$*FF710-71E RJURR0-7 S/U
$*FF720-72E LJSRR0-7 S/U
$*FF730-73E LJURR0-7 S/U

Каждый из регистров ADR0-7 может быть считан CPU путем обращения по одному из трех возможных адресов (табл. 3.21) в зависимости от требуемого формата представления результата. При обращении к регистрам RJURR0-7 (адреса $*FF710-1E) результат преобразования считывается из соответствующего регистра с размещением значащих разрядов (R7-0 при 8-разрядном или R9-0 при 10-разрядном преобразовании) в правой части 16-разрядного формата (рис.3.23,а). При обращении к регистрам LJURR0-7 (адреса $*FF730-3E) результат преобразования R7-0 или R9-0 считывается с размещением значащих разрядов в левой части 16-разрядного формата ( рис.3.23,б). При обращении к регистрам LJSRR0-7 (адреса $*FF720-2E) значение результата дается относительно среднего опорного потенциала (Vов - Vон) / 2. В этом случае старший разряд регистра содержит знак результата S. Результат будет иметь 7 значащих разрядов R6-0 при 8-разрядном или 9 разрядов R8-0 при 10-разрядном преобразовании (рис.3.23,в). При значении знака S=1 результат представляется в дополнительном коде.

15 10
9 8 7 6 5 4 3 2 1 0
000000 R9/0 R8/0 R7/R7 R6/R6 R5/R5 R4/R4 R3/R3 R2/R2 R1/R1 R0/R0

а) RJURR0-7 (адрес $*FF710-FF71E)

15 14 13 12 11 10 9 8 7 6
5 0
R9/R7 R8/R6 R7/R5 R6/R4 R5/R3 R4/R2 R3/R1 R2/R0 R1/0 R0/0 000000

б) LJURR0-7 (адрес $*FF730-FF73E)

15 14 13 12 11 10 9 8 7 6
5 0
S R8/R6 R7/R5 R6/R4 R5/R3 R4/R2 R3/R1 R2/R0 R1/0 R0/0 000000

в) LJSRR0-7 (адрес $*FF720-FF72E)

Рис. 3.23. Форматы представления результатов аналого-цифрового преобразования

В состав модуля ADC входят регистр конфигурации ADCMR (адрес $*FF700), регистры управления ADCTL0,1 (адреса $*FF70A,$*FF70C) и регистр состояния ADSTAT (адрес $*FF70E).
    Регистр конфигурации ADCMR (рис.3.24,а) содержит следующие биты:
    STOP - останавливает при STOP=1 функционирование ADC, переводя его в режим останова с пониженным энергопотреблением; при установке начального состояния микроконтроллера этот бит принимает значение STOP=1, поэтому перед использованием ADC необходимо установить STOP=0;
    SUPV - задает уровень доступа к регистрам ADC в соответствии с табл.3.21: при SUPV=1 доступ ко всем регистрам разрешен только в режиме супервизора, при SUPV=0 регистры, имеющие уровень доступа S/U могут быть выбраны в режиме пользователя (для микроконтроллеров семейства 68HC16 доступ ко всем регистрам разрешен при любых значениях SUPV);
    FRZ1,0 - определяет функционирование ADC в режиме отладки (при поступлении сигнала FREEZE=1): при FRZ1,0=00 работа ADC продолжается, при FRZ1,0=11 ADC прекращает свою работу, при FRZ1,0=10 работа ADC останавливается после завершения текущего преобразования.

15
14 13
12 8
7
6 0
STOP FRZ1-0 - SUPV ADTEST

а) ADCMCR (адрес $*FF700)

15 8
7
6 5
4 0
- RES10 STS PRS

б) ADCTL0 (адрес $*FF70A)

15 7
6 5 4 3 2 1 0
- SCAN MULT S8CM CD CC CB CA

в) ADCTL1 (адрес $*FF70C)

15
14 11
10 8
7 0
SCF - CCTR CCF

г) ADSTAT (адрес $*FF70E)

Рис. 3.24. Форматы регистров управления модуля ADC

Содержимое регистра управления ADCTL0 (рис.3.24,б) задает разрядность результата, определяет частоту преобразования и время выборки. Если в этом регистре значение бита RES10=0, то аналого-цифровое преобразование дает 8-разрядный результат, если RES10=1, то 10-разрядный результат. Поле PRS4-0 задает частоту преобразования Fa в соответствии с табл.3.22. Поле STS1-0 определяет время выборки Ts, которое равно

Ts = ( Ns + 4 ) Ta,

где Ta = 1/Fa - период преобразования, значения параметра Ns даны в табл. 3.23. Полное время преобразования составляет

Tg = Ts + Tr,

где значение Tr=8Ta при 8-разрядном результате, Tr=12Ta при 10-разрядном результате. Таким образом, при 8-разрядном результате время преобразования Tg=(16-30)Ta, при 10-разрядном результате Tg=(18-32)Ta.

Таблица 3.22. Частота аналого-цифрового преобразования Fa

PRS4-0 Частота Fa
00000
00001
00010
11110
11111
резервировано
Fт/4
Fт/6
Fт/62
Fт/64

Таблица 3.23. Значения параметра Ns

STS1,0 Ns
00
01
10
11
2
4
8
16

Содержимое регистра управления ADCTL1 (рис.3.24,в) определяет тип выполняемого цикла и режим работы АЦП. При значении бита MULT=0 реализуется одноканальный цикл преобразования, при MULT=1 - многоканальный цикл. При значении бита SCAN=0 преобразователь работает в одноцикловом режиме, при SCAN=1 - в многоцикловом режиме (режим сканирования). Бит S8CM задает число преобразований, выполняемых в каждом цикле: четыре при значении S8CM=0, восемь при S8CM=1. Биты CA,CB,CC,CD определяют выбор аналоговых входов (табл. 3.24, 3.25).
    При одноканальном цикле преобразования (MULT=0) выбор входов и регистров для размещения результатов производится в соответствии с табл.3.24. В каждом цикле для выбранного входа производятся последовательно четыре (при S8CM=0) или восемь (при S8CM=1) преобразований, результаты которых заносятся в регистры ADR0-3 или ADR0-7. Кроме сигналов на аналоговых входах могут выбираться для преобразования опорные потенциалы Vов,Vон или их среднее значение ( Vов - Vон)/2.

Таблица 3.24. Выбор аналоговых входов и регистров результата при одноканальных циклах преобразования

CD CC CB CA Аналоговые входы Размещение результатов
S8CM=0 S8CM=1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
AC0
AC1
AC3
AC4
AC5
AC6
AC7
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-7
ADR0-7
ADR0-7
ADR0-7
ADR0-7
ADR0-7
ADR0-7
ADR0-7
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
резервировано
резервировано
резервировано
резервировано
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-7
ADR0-7
ADR0-7
ADR0-7
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
Vов
Vов
(Vов - Vон)/2
резервировано (тест)
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-3
ADR0-3

    При многоканальном цикле преобразования (MULT=1) выбор входов и регистров размещения результатов производится в соответствии с табл.3.25. В каждом цикле последовательно выполняются преобразования для четырех (при S8CM=0) или восьми (при S8CM=1) аналоговых входов, результаты которых заносятся в регистры ADR0-3 или ADR0-7. Для преобразования могут также выбираться потенциалы Vов,Vон или (Vов - Vон)/2.
    При записи в регистр ADCTL0 нового содержимого выполнение текущего преобразования прекращается, и модуль ADC останавливается. При записи в регистр ADCTL1 выполнение текущего преобразования прекращается, и ADC начинает новый цикл преобразований в соответствии с поступившим содержимым. Таким образом операции записи в регистры управления ADCTL0,1 служат для останова или запуска модуля ADC.

Таблица 3.25. Выбор аналоговых входов и регистров результата при многоканальных циклах преобразования

S8CM CD CC* CB* CA* Аналоговые входы Размещение результатов
1 0 0 X X AC0
AC1
AC2
AC3
ADR0
ADR1
ADR2
ADR3
1 0 1 X X AC4
AC5
AC6
AC7
ADR0
ADR1
ADR2
ADR3
1 1 0 X X резервировано
резервировано
резервировано
резервировано
ADR0
ADR1
ADR2
ADR3
1 1 1 X X Voв
Vон
(Vов - Vон)/2
резервировано (тест)
ADR0
ADR1
ADR2
ADR3
1 0 X X X AC0
AC1
AC2
AC3
AC4
AC5
AC6
AC7
ADR0
ADR1
ADR2
ADR3
ADR4
ADR5
ADR6
ADR7
1 1 X X X резервировано
резервировано
резервировано
резервировано
Vов
Vон
(Vов - Vон)/2
резервировано (тест)
ADR0
ADR1
ADR2
ADR3
ADR4
ADR5
ADR6
ADR7

*) Символ "Х" обозначает произвольное значение соответствующего сигнала

Модуль ADC не вырабатывает запроса прерывания, поэтому контроль за его работой осуществляется путем программного опроса или с помощью периодического прерывания. При этом процессор считывает и анализирует содержимое регистра состояния ADSTAT (рис.3.24,г), биты которого имеют следующее назначение:
    SCF - признак, который принимает значение SCF=1 после окончания первого цикла преобразования (для одноциклового преобразования - после его завершения);
    CCTR - поле указывает номер регистра ADR0-7, в котором будет располагаться результат следующего преобразования;
    CCF0-7 - поле, i-ый бит которого принимает значение CCFi=1 после записи результата преобразования в регистр ADRi; после считывания этого регистра устанавливается значение CCFi=0.
    Таким образом содержимое регистра ADSTAT дает необходимую информацию о ходе выполнения преобразований в модуле ADC.
    Модуль ADC может использоваться для цифрового ввода данных, который выполняется путем считывания содержимого регистра PORTADA (адрес $*FF706, табл.3.21). При этом производится чтение данных, поступающих на входы AC0-7. Одновременно может производиться и аналого-цифровое преобразование потенциалов, установленных на этих входах. Если потенциалы на входах модуля не соответствуют стандартным уровням V0 = - 0,3В ... 0,2Vп, V1 = 0,7Vп ... (Vп + 0,3В), то вводимые цифровые данные будут иметь неопределенные значения.