
- •Модуль 3: Цифровой ввод/вывод С28x
- •Карта памяти TMS320F2812
- •C28x Структура регистров GPIO
- •C28x Назначение выводов
- •C28x структура
- •C28x Регистры мультиплексора /
- •C28x Регистры данных GPIO
- •C28x Генератор / PLL Модуль
- •Управляющий регистр
- •Сторожевой таймер
- •Управляющий регистр
- •Результат записи WDKEY
- •Системный регистр статуса и управления
- •Режимы пониженного
- •Регистр управления режимом пониженного энергопотребления 0
- •Регистр управления режимом
- •Выход из режима пониженного энергопотребления
- •Лабораторная работа 2:
- •Лабораторная работа 2:
- •Регистры определены в файле
- •Регистры определены в файле
- •Лабораторная работа 2A
- •Лабораторная работа 3: Вывод
- •Лабораторная работа 3A
- •Лабораторная работа 3A
- •Лабораторная работа 3B

Модуль 3: Цифровой ввод/вывод С28x
Цифровой сигнальный контроллер TMS320F2812
Texas Instruments Incorporated

|
|
Структура C281x |
|
|||
|
|
|
Шина программ |
|
Менеджер |
|
|
|
|
|
|
|
Событий А |
|
|
|
|
|
Загр. |
Менеджер |
|
|
Секторна |
|
Событий B |
||
|
|
|
ПЗУ |
|
||
|
|
я |
ОЗУ |
12 битный |
||
|
|
|
||||
A(18-0) |
22 |
Flash |
|
|
|
АЦП |
|
|
|
|
Сторожевой |
||
|
|
|
|
|
|
|
|
32 |
|
|
|
|
таймер |
|
|
|
|
|
|
|
D(15-0) |
32 |
|
|
|
|
|
|
32 |
|
|
|
PIE |
McBSP |
|
|
|
R-M-W |
|
||
|
|
32-бит. |
32x32 бит |
менеджер |
|
|
|
|
АЛУ |
прерыв. |
CAN2.0B |
||
|
|
Регистры |
Умножитель |
атомар. |
|
|
|
|
|
|
функций |
|
|
|
|
|
|
|
3 |
SCI-A |
|
|
|
|
|
32 битных |
SCI-B |
JTAG |
|
|
Шина регистров |
Таймера |
||
|
|
|
|
|||
|
|
|
ЦП |
|
|
|
реального |
|
|
|
|
SPI |
|
времени |
|
|
|
|
|
|
|
|
|
Шина данных |
|
||
|
|
|
|
|
||
|
|
|
|
|
|
GPIO |
3 - 2

Карта памяти TMS320F2812
|
Данных | Программ |
Данных | Программ |
|
||
0x00 0000 |
MO SARAM (1K) |
|
|
||
0x00 0400 |
M1 SARAM (1K) |
|
|
||
0x00 0800 |
PF 0 (2K) |
зарезерв. |
зарезервировано |
|
|
0x00 0D00 |
PIE вектор |
зарезерв. |
|
|
|
|
(256) |
|
|
||
|
ENPIE=1 |
|
XINT Зона 0 (8K) |
0x00 2000 |
|
0x00 1000 |
зарезервировано |
||||
XINT Зона 1 (8K) |
0x00 4000 |
||||
0x00 6000 |
PF 2 (4K) |
зарезерв. |
|||
0x00 7000 |
PF 1 (4K) |
зарезерв. |
зарезервировано |
|
|
0x00 8000 |
LO SARAM (4K) |
|
|||
|
|
||||
0x00 9000 |
L1 SARAM (4K) |
XINT Зона 2 (0.5M) |
0x08 0000 |
||
0x00 A000 |
зарезервировано |
XINT Зона 6 (0.5M) |
0x10 0000 |
||
0x3D 7800 |
OTP (1K) |
|
0x18 0000 |
||
0x3D 7C00 |
зарезервировано |
|
|||
|
|
||||
0x3D 8000 |
FLASH (128K) |
зарезервировано |
|
||
|
128-битный пароль |
|
|||
0x3F 8000 |
HO SARAM (8K) |
|
|
||
0x3F A000 |
зарезервировано |
XINT Зона 7 (16K) |
0x3F C000 |
||
0x3F F000 |
Загруз. ПЗУ(4K) |
||||
|
MP/MC=0 |
MP/MC=1 |
CSM: LO, L1 |
||
0x3F FFC0 |
Табл. векторов ПЗУ(32) |
XINT вектор-ОЗУ(32) |
|||
OTP, FLASH |
|||||
|
MP/MC=0 ENPIE=0 |
MP/MC=1 ENPIE=0 |
|||
|
|
3 - 3

C28x Структура регистров GPIO
шина Внутренняя
GPIO A Mux Регистр |
GPIO A Управляющий регистр |
управления (GPAMUX) |
направления (GPADIR) |
GPIO B Mux Регистр |
GPIO B Управляющий регистр |
управления (GPBMUX) |
направления (GPBDIR) |
GPIO D Mux Регистр |
GPIO D Управляющий регистр |
управления (GPDMUX) |
направления (GPDDIR) |
GPIO E Mux Регистр |
GPIO E Управляющий регистр |
управления (GPEMUX) |
направления (GPEDIR) |
GPIO F Mux Регистр |
GPIO F Управляющий регистр |
управления (GPFMUX) |
направления (GPFDIR) |
GPIO G Mux Регистр |
GPIO G Управляющий регистр |
управления (GPGMUX) |
направления (GPGDIR) |
G GPIO F GPIO E GPIO D GPIO B GPIO A GPIO
GPIO A, B, D, E поддерживают возможность классификации входо3 - 4

C28x Назначение выводов
GPIO A |
|
GPIO B |
PWM7 |
GPIO D |
|
|
GPIOA0 |
/ PWM1 |
GPIOB0 |
|
GPIOD0 |
/ T1CTRIP_PDPINTA |
|
GPIOA1 |
GPIOB1 |
GPIO/ |
GPIOD1 |
|||
/ PWM2 |
|
/ PWM8 |
/ T2CTRIP / EVASOC |
|||
GPIOA2 |
/ PWM3 |
GPIOB2 |
|
/ PWM9 |
GPIOD5 |
/ T3CTRIP_PDPINTB |
GPIOA3 |
/ PWM4 |
GPIOB3 |
|
/ PWM10 |
GPIOD6 |
/ T4CTRIP / EVBSOC |
GPIOA4 |
/ PWM5 |
GPIOB4 |
|
/ PWM11 |
GPIO E |
|
GPIOA5 |
/ PWM6 |
GPIOB5 |
|
/ PWM12 |
/ XINT1_XBIO |
|
GPIOA6 |
/ T1PWM_T1CMP |
GPIOB6 |
|
/ T3PWM_T3CMP |
GPIOE0 |
|
GPIOA7 |
/ T2PWM_T2CMP |
GPIOB7 |
|
/ T4PWM_T4CMP |
GPIOE1 |
/ XINT2_ADCSOC |
GPIOA8 |
/ CAP1_QEP1 |
GPIOB8 |
|
/ CAP4_QEP3 |
GPIOE2 |
/ XNMI_XINT13 |
GPIOA9 |
/ CAP2_QEP2 |
GPIOB9 |
|
/ CAP5_QEP4 |
|
|
GPIOA10 |
/ CAP3_QEPI1 |
GPIOB10 |
/ CAP6_QEPI2 |
|
|
|
GPIOA11 |
/ TDIRA |
GPIOB11 |
/ TDIRB |
|
|
|
GPIOA12 |
/ TCLKINA |
GPIOB12 |
/ TCLKINB |
|
|
|
GPIOA13 |
/ C1TRIP |
GPIOB13 |
/ C4TRIP |
|
|
|
GPIOA14 |
/ C2TRIP |
GPIOB14 |
/ C5TRIP |
|
|
|
GPIOA15 |
/ C3TRIP |
GPIOB15 |
/ C6TRIP |
|
|
GPIO F
GPIOF0 |
/ SPISIMOA |
GPIOF1 |
/ SPISOMIA |
GPIOF2 |
/ SPICLKA |
GPIOF3 |
/ SPISTEA |
GPIOF4 |
/ SCITXDA |
GPIOF5 |
/ SCIRXDA |
GPIOF6 |
/ CANTXA |
GPIOF7 |
/ CANRXA |
GPIOF8 |
/ MCLKXA |
GPIOF9 |
/ MCLKRA |
GPIOF10 |
/ MFSXA |
GPIOF11 |
/ MFSRA |
GPIOF12 |
/ MDXA |
GPIOF13 |
/ MDRA |
GPIOF14 |
/ XF |
GPIO G
GPIOG4 / SCITXDB
GPIOG5 / SCIRXDB
Замечание: назначение выводов GPIO
после сброса
GPIO A, B, D, E поддерживает возможность конфигурирования входов
3 - 5

C28x структура
функционирования GPIO
GPxSET
GPxCLEAR
GPxTOGGLE
GPxDAT
I/O DAT бит (R/W)
I/O DIR бит 0 = ввод 1 = Вывод
GPxDIR
Вывод
Вводв
Некоторые цифровые сигналы ввода/вывода и периферии поддерживают возможность конфигурирования
выводов
Начальная
периферийная
функция
|
|
|
|
Бит управления MUX |
|
|
0 |
1 |
|||||
|
|
0 = функция I/O |
|
|||
1 |
|
|||||
= начальная функция |
|
|||||
|
|
|
|
|
|
Вывод GPxMUX
15-8 7-0
GPxQUALзарезервированоQUALPRD
00h |
нет |
конфигурирования |
|
|
(SYNC в SYSCLKOUT) |
||
01h |
QUALPRD = SYSCLKOUT/2 |
||
02h |
QUALPRD = SYSCLKOUT/4 |
||
FFh |
QUALPRD = SYSCLKOUT/510 |
||
. |
. |
. |
|
|
|
3 |
- 6 |

C28x Регистры мультиплексора /
направления GPIO
|
Адрес Регистр |
Название |
|
|
|
|
|||
|
70C0h GPAMUX |
GPIO A Управляющий регистр мультиплексора |
|
|
|
70C1h GPADIR |
GPIO A Управляющий регистр направления |
|
|
|
70C2h GPAQUAL |
GPIO A Управляющий регистр конфигурирования |
|
выв |
|
70C4h GPBMUX |
GPIO B Управляющий регистр мультиплексора |
|
вы |
|
|
|
||
|
70C5h GPBDIR |
GPIO B Управляющий регистр направления |
|
|
|
70C6h GPBQUAL |
GPIO B Управляющий регистр классификации вывод |
||
|
70CCh GPDMUX |
выво |
||
|
GPIO D Управляющий регистр мультиплексора |
|||
|
70CDh GPDDIR |
GPIO D Управляющий регистр направления |
||
|
70CEh GPDQUAL |
GPIO D Управляющий регистр конфигурирования выв |
||
|
70D0h GPEMUX |
|
|
вы |
|
GPIO E Управляющий регистр мультиплексора |
|||
|
70D1h GPEDIR |
GPIO E Управляющий регистр направления |
||
|
70D2h GPEQUAL |
GPIO E Управляющий регистр конфигурирования выв |
||
|
70D4h GPFMUX |
|
вы |
|
|
GPIO F Управляющий регистр мультиплексора |
|||
|
70D5h GPFDIR |
GPIO F Управляющий регистр направления |
||
|
70D8h GPGMUX |
GPIO G Управляющий регистр мультиплексора |
||
|
70D9h GPGDIR |
GPIO G Управляющий регистр направления |
|
|
|
|
3 - 7 |

C28x Регистры данных GPIO
|
Адрес |
Регистр |
Название |
|
|
|
|
|
|
||||
|
70E0h |
GPADAT |
GPIO A Регистр данных |
|
|
|
|
70E1h |
GPASET |
GPIO A Регистр установки |
|
|
|
|
70E2h |
GPACLEAR |
GPIO A Регистр очистки |
|
|
|
|
70E3h |
GPATOGGLE |
GPIO A Регистр переключения |
|
|
|
|
70E4h |
GPBDAT |
GPIO B Регистр данных |
|
|
|
|
70E5h |
GPBSET |
GPIO B Регистр установки |
|
|
|
|
70E6h |
GPBCLEAR |
GPIO B Регистр очистки |
|
|
|
|
70E7h |
GPBTOGGLE |
GPIO B Регистр переключения |
|
|
|
|
70ECh |
GPDDAT |
GPIO D Регистр данных |
|
|
|
|
70EDh |
GPDSET |
GPIO D Регистр установки |
|
|
|
|
70EEh |
GPDCLEAR |
GPIO D Регистр очистки |
|
|
|
|
70EFh |
GPDTOGGLE |
GPIO D Регистр переключения |
|
|
|
|
70F0h |
GPEDAT |
GPIO E Регистр данных |
|
|
|
|
70F1h |
GPESET |
GPIO E Регистр установки |
|
|
|
|
70F2h |
GPECLEAR |
GPIO E Регистр очистки |
|
|
|
|
70F3h |
GPETOGGLE |
GPIO E Регистр переключения |
|
|
|
|
70F4h |
GPFDAT |
GPIO F Регистр данных |
|
|
|
|
70F5h |
GPFSET |
GPIO F Регистр установки |
|
|
|
|
70F6h |
GPFCLEAR |
GPIO F Регистр очистки |
|
|
|
|
70F7h |
GPFTOGGLE |
GPIO F Регистр переключения |
|
|
|
|
70F8h |
GPGDAT |
GPIO G Регистр данных |
|
|
|
|
70F9h |
GPGSET |
GPIO G Регистр установки |
|
|
|
|
70FAh |
GPGCLEAR |
GPIO G Регистр очистки |
|
|
|
|
70FBh GPGTOGGLE |
GPIO G Регистр переключения |
|
|
3 - 8 |

C28x Генератор / PLL Модуль
тактирования (PLLCR @ 7021h)
X1 /CLKIN/ L IN |
|
|
Модуль |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
сторожевого |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
CLKININ |
C28x |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
таймера |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
OSCCLK |
|
|
|
|
|
|
|
ядро |
|
|
|
|
|
|
|||
кристалл |
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MUX |
|
|
|
|
SYSCLKOUT |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
PLL Модуль |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
тактирования |
PLLCLKL LK |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
X2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
/2 |
|
|
|
HISPCP |
|
LOSPCP |
|
|||||||||||||||
XF_XPLLDIS |
4-бита выбор PLL |
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
_ |
|
|
IS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HSPCLK |
|
|
LSPCLK |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DIV3 |
DIV2 |
DIV1 |
DIV0 |
Тактовая частота (CLKIN) |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
|
0 |
|
OSCCLK x 1 / 2 (без PLL) |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
0 |
0 |
|
|
1 |
|
|
OSCCLK x 1 / 2 |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
0 |
0 |
|
|
1 |
0 |
|
|
OSCCLK x 2 / 2 |
|
|
|
|
|||||||
|
|
-4 PLLCR |
|
|
|
|
0 |
0 |
|
|
1 |
1 |
|
|
OSCCLK x 3 / 2 |
|
|
|
|
||||||||
Биты 15- |
|
|
|
|
0 |
1 |
|
|
0 |
0 |
|
|
OSCCLK x 4 / 2 |
|
|
|
|
||||||||||
зарезервированы |
0 |
1 |
|
|
0 |
1 |
|
|
OSCCLK x 5 / 2 |
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
0 |
1 |
|
|
1 |
0 |
|
|
OSCCLK x 6 / 2 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
0 |
1 |
|
|
1 |
1 |
|
|
OSCCLK x 7 / 2 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
1 |
0 |
|
|
0 |
0 |
|
|
OSCCLK x 8 / 2 |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
1 |
0 |
1 |
0 |
1 |
|
|
OSCCLK x 9 / 2 |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
1 |
0 |
|
0 |
|
OSCCLK x 10 / 2 |
|
3 - 9 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Управляющий регистр
тактирования периферии
(PCLKCR @ 701Ch) LSPCLK
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
зарезерв. |
HECCA |
зарезерв. |
MA |
SCIB |
SCIA |
зарезерв. |
SPIA |
|
ENCLK |
|
ENCLK |
ENCLK |
ENCLK |
|
ENCLK |
|
|
|
|
|
HSPCLK |
|
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
зарезервзарезервзарезервзарезерв. |
ADC |
зарезерв. |
EVB |
EVA |
|||
ENCLK |
ENCLK |
ENCLK |
Биты модуля тактирования
0 = запрещено
1 = разрешено
3 - 10

|
Регистры делителя |
|
|
|||||
|
высокой/низкой частоты |
|||||||
|
тактирования периферии |
|||||||
15 - 3 |
|
2 |
|
1 |
|
0 |
|
|
|
HISPCP @ 701Ah / LOSPCP @ 701Bh |
|
|
|||||
|
зарезервировано |
HSPCLK2 |
HSPCLK1 |
HSPCLK0 |
||||
15 - 3 |
|
2 |
|
1 |
|
0 |
|
|
|
зарезервировано |
LSPCLK2 |
LSPCLK1 |
LSPCLK0 |
||||
|
|
|
|
|
||||
|
H/LSPCLK2 H/LSPCLK1 |
H/LSPCLK0 |
Тактовая частота периферии |
|||||
|
0 |
0 |
0 |
SYSCLKOUT / 1 |
|
|||
|
0 |
0 |
1 |
SYSCLKOUT / 2 |
|
|||
|
0 |
1 |
0 |
|
(по умолчанию HISPCP) |
|
||
|
SYSCLKOUT / 4 |
|
||||||
|
0 |
1 |
1 |
|
(по умолчанию LOSPCP) |
|
||
|
SYSCLKOUT / 6 |
|
||||||
|
1 |
0 |
0 |
SYSCLKOUT / 8 |
|
|||
|
1 |
0 |
1 |
SYSCLKOUT / 10 |
|
|||
|
1 |
1 |
0 |
SYSCLKOUT / 12 |
|
|||
|
1 |
1 |
1 |
SYSCLKOUT / 14 |
|
3 - 11