
- •Модуль 6 : АЦП C28x
- •Схема модуля АЦП (каскадный режим)
- •Схема модуля АЦП (режим двойного
- •Пример тактирования АЦП F2812
- •Регистры АЦП
- •Регистр управления АЦП 1
- •Регистр управления АЦП 1
- •Регистр управления АЦП 3
- •Регистр максимума преобразования
- •Регистр управления
- •Пример – Операции
- •Пример – Операции
- •Регистры результата
- •Как читается результата?
- •Лабораторная работа 6:
- •инициали-зируемые в лабораторной
- •Дополнительная лабораторная

Модуль 6 : АЦП C28x
Цифровой сигнальный контроллер TMS320F2812
Texas Instruments Incorporated

|
Модуль АЦП |
|
|
Разрешение АЦП 12-бит |
|
|
16 аналоговых входов (диапазон от 0 до 3В) |
|
|
2 входных аналоговых мультиплексора |
|
|
До 8 аналоговых каналов в каждом |
|
|
|
|
|
2 устройства выборки/хранения (для каждого |
|
|
входного мультиплексора) |
|
|
Последовательный и одновременный режим |
|
|
выборки |
|
|
Возможность автоматического секвенсора – |
|
|
до 16 автоматических преобразований |
|
|
Два независимых секвенсора с 8-ю составляющими |
|
|
|
|
|
“режим двойного секвенсора” |
|
|
|
|
|
“каскадный режим” |
|
|
|
|
|
16 независимо адресуемых регистров |
|
|
результата |
|
|
Большой выбор источников событий для |
|
|
запуска преобразования |
6 - 2 |
|
Внешние источники,, программные и события |
|

Схема модуля АЦП (каскадный режим)
Аналоговый |
|
|
|
Мультиплексор |
|||||||||||||||||||||||||||
мультиплексор |
|
|
|
||||||||||||||||||||||||||||
|
|
|
результата |
||||||||||||||||||||||||||||
ADCINA0I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
Схема |
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
ADCINA1I |
|
MUX |
|
выборки/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
RESULT0 |
||||||||||||||||||
...... |
|
|
|
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
хранения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ADCINA7I |
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
12-битный |
|
|
|
|
|
|
|
RESULT1 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MUX |
|
|
|
|
|
|
|
|
RESULT2 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
ADCINB0I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
АЦП |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||
ADCINB1I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||
|
MUX |
|
Схема |
|
|
|
|
|
|
|
|
|
. |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
. |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
...... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SOC |
|
EOC |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
выборки/ |
|
|
|
|
|
|
|
|
|
RESULT15 |
|||||||||||||
|
B |
|
|
|
|||||||||||||||||||||||||||
ADCINB7I |
|
|
|
|
B |
|
Автоматический |
|
|
|
|
||||||||||||||||||||
|
|
|
хранения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
секвенсор |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MAX_CONV1 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Программное |
|
|
|
|
|
|
|
|
|
|
|
CHSEL00 (state 0) |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
CHSEL01 (state 1) |
|
|
|
|
|
|
||||||||||||||
|
г |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
обеспечение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CHSEL02 (state 2) |
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
EVA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CHSEL03 (state 3) |
|
|
|
|
|
|
|||||||||||
|
|
|
EVB |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
Внешние выводы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
(ADCSOC)( ) |
|
|
|
|
|
|
|
|
|
|
|
CHSEL15 (state 15) |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Запуск |
|
|
|
|
|
|
6 - 3 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Схема модуля АЦП (режим двойного |
||||||
Аналоговый |
секвенсора) |
|
||||
|
|
Мультиплексоры |
|
|||
мультиплексор |
|
|
результата |
RESULT0 |
||
ADCINA0I |
|
Схема |
|
|
|
|
ADCINA1I |
MUX |
выборки/ |
|
|
|
RESULT1 |
хранения |
|
|
|
|||
... |
|
|
|
|||
A |
A |
|
|
|
. |
|
|
|
|
. |
|||
|
|
|
|
. |
||
|
|
|
|
. |
||
|
12-битный |
. |
||||
|
. |
|||||
ADCINA7I |
|
|
RESULT7 |
|||
ADCINB0I |
|
|
MUX |
АЦП |
||
|
|
Арбитр |
|
|||
ADCINB1I |
MUX |
|
RESULT8 |
|||
Схема |
секвенсеров |
|||||
... |
B |
выборки/ |
SOC1/ |
|
2/ |
RESULT9 |
хранения |
|
. |
||||
|
|
. |
||||
ADCINB7I |
|
B |
EOC1 |
|
2 |
. |
|
|
. |
||||
|
|
. |
||||
|
E C1 |
|
EOCE C2 |
. |
||
|
|
SEQ1 |
|
|
SEQ2 |
RESULT15 |
|
|
Автоматический |
Автоматический |
|
||
|
|
секвенсор |
|
секвенсор |
|
|
|
|
MAX_CONV1 |
|
MAX_CONV2 |
|
|
|
|
CHSEL00 (state 0) |
|
CHSEL08 (state 8) |
|
|
рограммное |
|
CHSEL01 (state 1) |
|
CHSEL09 (state 9) |
|
|
|
CHSEL02 (state 2) |
|
CHSEL10 (state 10)) |
Програм.. |
||
обеспечение |
|
|
||||
|
|
... |
|
... |
||
EVA |
|
|
|
обеспечен |
||
Внешний |
|
CHSEL07 (state 7) |
|
CHSEL15 (state 15)) |
ие |
|
вывод |
|
Запуск |
|
Запуск |
EVB |
|
(ADCSOC)( ) |
|
|
6 - 4 |

Пример тактирования АЦП F2812
CLKIN |
SYSCLKOU |
HSPCLK |
(30 МГц) |
T |
(150 МГц) |
|
(150 МГц) |
|
|
|
PCLKCR.ADCENCLK = 1
FCLK |
ADCCLK |
(25 МГц) |
(25 МГц) |
FCLK = HSPCLK/(2*ADCCLKPS) |
ADCCLK = |
|
FCLK/(CPS+1) |
К
конвейерному
АЦП
Строб- импульс
Строб-импульс = (ACQ_PS + 1)*(1/ADCCLK
Важно: ADCCLK может быть максимум 25 МГц6 - 5

Регистры АЦП
Регистр Адрес Описание
ADCTRL1 |
0x007100 |
Регистр управления АЦП 1 |
|
|
|
|
|||
ADCTRL2 |
0x007101 |
Регистр управления АЦП 2 |
|
|
|
|
|||
|
|
|
|
||||||
ADCMAXCONV |
0x007102 |
Регистр максимума каналов преобразования АЦ |
|||||||
ADCCHSELSEQ1 |
0x007103 |
Регистр управ. выбора каналов секвенсора АЦП |
|||||||
ADCCHSELSEQ2 |
0x007104 |
Регистр управ. выбора каналов секвенсора АЦП |
|||||||
ADCCHSELSEQ3 |
0x007105 |
Регистр управ. выбора каналов секвенсора АЦП |
|||||||
ADCCHSELSEQ4 |
0x007106 |
Регистр управ. выбора каналов секвенсора АЦП |
|||||||
ADCASEQSR |
0x007107 |
Регистр статуса автоматического секвенсора АЦ |
|||||||
|
|
|
|
||||||
ADCRESULT0 |
0x007108 |
Регистр буфера результата преобразования АЦП |
|||||||
ADCRESULT1 |
0x007109 |
Регистр буфера результата преобразования АЦП |
|||||||
ADCRESULT2 |
0x00710A |
Регистр буфера результата преобразования АЦП |
|||||||
: |
: |
: |
: |
: |
: |
: |
: |
: |
|
ADCRESULT14 |
0x007116 |
Регистр буфера результата преобразования АЦП |
|||||||
ADCRESULT15 |
0x007117 |
Регистр буфера результата преобразования АЦП |
|||||||
|
|
|
|
|
|
|
|||
ADCTRL3 |
0x007118 |
Регистр управления АЦП 3 |
|
|
|
|
|||
ADCST |
0x007119 |
Регистр флага и статуса АЦП |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
6 - 6

Регистр управления АЦП 1
ADCTRL1 @ 0x007100
Старший байт :
Сброс модуля АЦП |
|
|
0 |
= нет эффекта |
Делитель времени захвата (S/H |
1 |
= сброс (устанавливается |
значение = (двоичный+1) |
|
назад в ноль |
* Время зависит от бит делителя |
|
логикой АЦП) |
частоты преобразователя (бит 7 “ |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
зарезер |
RESET |
SUS |
SUS |
ACQ |
ACQ |
ACQ |
ACQ |
в. |
|
MOD1 |
MOD0 |
_PS3 |
_PS2 |
_PS1 |
_PS0 |
Режим эмуляции ожидания
00 = [Mode 0] свободная работа (не останавливаетс
01 = [Mode 1] останов перед текущим преобразова
10 = [Mode 2] останов после текущего преобразова
11 = [Mode 3] немедленная остановка
6 - 7

Регистр управления АЦП 1
ADCTRL1 @ 0x007100
Младший байт :
Непрерывная работа |
|
Режим секвенсора |
|||||
0 = остановка после достижения |
|
||||||
конца последовательности |
0 = двойной режим |
||||||
1 = каскадный режим |
|||||||
1 = продолжение (запуск |
|
|
|
||||
каждый раз с первоначального |
|
||||||
состояния) |
|
|
|
|
|
|
|
7 |
6 |
|
5 |
4 |
3-0 |
||
|
CPS |
CONT_RUN |
|
SEQ1_OVRD |
SEQ_CASC |
зарезер |
|
|
|
|
|
|
|
|
в. |
Делитель |
Блокировка секвенсора |
преобразования |
(в режиме непрерывной |
0 = CLK / 1 |
работы) |
1 = CLK / 2 |
0 = указатель секвенсора |
|
сбросится в первоначальное |
|
состояние в конце |
|
преобразования MAX_CONVn |
1 = указатель секвенсора |
6 - 8 |
|

|
|
Регистр управления АЦП 2 |
|
|
||||||||
|
|
|
|
ADCTRL2 @ 0x007101 |
|
EVA SOC |
||||||
Старший байт : |
|
|
|
|
||||||||
EVB SOC (каскадный режим |
|
|
SEQ1 бит маски |
|||||||||
|
|
|
0 = не запускать |
|||||||||
только) |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
событием от EVA |
|||||
0 = нет действия |
|
|
|
|||||||||
|
|
|
|
1 = возможен |
||||||||
1 = запуск сигн лом от EVB |
|
|
|
|||||||||
|
|
|
Запуск преобразования (SEQ1) |
|
запуск событием |
|||||||
|
|
|
0 = очистка ожидающих событий SOC от EVA |
|||||||||
|
|
|
1 = программное событие старта SEQ1 |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
14 |
13 |
12 |
11 |
10 |
9 |
8 |
|
|||
EVB_SO |
RST |
SOC |
зарезер |
INT_ENA |
INT_MOD |
|
зарезер |
EVA_SO |
|
|||
C |
|
|
||||||||||
_SEQ1 |
_SEQ1 |
в. |
_SEQ1 |
_SEQ1 |
|
в. |
C_SEQ1 |
|
||||
_SEQ |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
Разрешение прерывания (SEQ1) |
|
|
|
|
|||||
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
||||||
|
|
|
|
0 = прерывания запрещены |
|
|
|
|
||||
Сброс SEQ1 |
|
|
|
|
||||||||
1 = прерывания разрешены |
|
|
|
|
||||||||
0 = нет действий |
|
Режим прерывания (SEQ1) |
||||||||||
1 = незамедлительный |
||||||||||||
сброс SEQ1 в первоначальное |
0 = прерывание каждое EOS |
|||||||||||
состояние |
|
|
|
1 = прерывание каждое другое E |
||||||||
|
|
|
|
|
|
|
|
|
|
|
6 - 9 |
|

|
|
|
Регистр управления АЦП 2 |
|
|
|||||||||||
|
|
|
|
|
|
ADCTRL2 @ 0x007101 |
|
|
|
EVB SOC |
||||||
Младший байт : |
|
|
|
|
|
|
||||||||||
Внешний SOC (SEQ1) |
|
|
|
|
SEQ2 Маска |
|||||||||||
|
|
|
|
|
бит |
|||||||||||
0 = нет действия |
|
|
|
|
|
|
||||||||||
|
|
|
0 = не запускать |
|||||||||||||
1 = запуск сигналом от вывода ADCSOC |
||||||||||||||||
событием от EVB |
||||||||||||||||
|
|
|
|
Запуск преобразования (SEQ2) |
||||||||||||
|
|
|
|
|
1 = возможен |
|||||||||||
|
|
|
|
|
(только режим двойного секвенсора) |
запуск событием |
||||||||||
|
|
|
0 = очистка ожидающих событий SOC |
|
от EVB |
|
||||||||||
|
|
|
|
|
||||||||||||
|
|
|
1 = программное событие старта SEQ2 |
|
||||||||||||
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
6 |
5 |
4 |
3 |
2 |
|
|
|
1 |
0 |
|||||
EXT_SO |
RST |
|
SOC |
зарезер |
INT_ENA |
INT_MOD |
|
зарезер |
EVB_SOC |
|||||||
C |
|
|
||||||||||||||
_SEQ2 |
|
_SEQ2 |
в. |
_SEQ2 |
_SEQ2 |
|
|
|
в. |
_SEQ2 |
||||||
_SEQ1 |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
Разрешение прерывания (SEQ2) |
|
|
||||||||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
0 = запрещение прерывания |
|
|
|
|
|
|
||||
|
|
|
|
|
|
1 = разрешение прерывания |
|
|
|
|
|
|
||||
Сброс SEQ2 |
|
|
|
|
|
|
|
|||||||||
|
|
|
Режим прерывания (SEQ2) |
|||||||||||||
0 = нет действия |
|
|||||||||||||||
1 = немедленный сброс SEQ2 в 0 = прерывание каждое EOS |
||||||||||||||||
первоначальное состояние |
1 = прерывание каждое другое6 - 10 |