- •Содержание
- •1.6 Регистровый файл……………………….………………………...……13
- •Введение
- •1 Микроконтроллеры msp430
- •1.1 Архитектура msp430
- •1.2 Семейство микроконтроллеров msp430f5хх
- •1.3 Адресное пространство
- •1.4 Системный сброс
- •1.5 Прерывания
- •1.6 Регистровый файл
- •1.7 Режимы работы
- •1.8 Цифровые входы/выходы
- •1.9 Функционирование цифровых портов входов/выходов
- •1.10 Сторожевой таймер
- •1.11 Регистры сторожевого таймера
- •1.12 Таймер а
- •1.13 Режим прямого счёта
- •1.14 Модуль вывода таймера в режиме прямого счёта
- •1.15 Режим непрерывного счёта
- •1.16 Режим реверсивного счёта
- •1.17 Модуль вывода таймера в режиме непрерывного счёта
- •1.18 Модуль вывода таймера в режиме реверсивного счёта
- •1.19 Прерывания Таймера а
- •1.20 Регистры Таймера а
- •1.21 Лабораторный практикум
- •1.21.1 Лабораторная работа 1
- •1.21.2 Лабораторная работа 2
- •1.21.3 Лабораторная работа 3
- •1.21.4 Лабораторная работа 4
- •1.21.5 Лабораторная работа 5
- •2 Сигнальные контроллеры
- •2.1 Типовые алгоритмы dsp
- •2.2 Цифровой сигнальный контроллер tms320f2833x
- •2.2.1 Центральный Процессор (цп)
- •2.2.2 Шинная система
- •2.2.3 Структура памяти контроллера
- •2.2.4 Конвейер команд
- •2.2.5 Прямой доступ в память
- •2.2.6 Сброс – загрузка
- •2.2.7 Режимы работы f2833x
- •2.2.8 Модуль защиты кода
- •2.2.9 Подсистема цифрового ввода – вывода
- •2.2.10 Входной фильтр
- •2.2.11 Модуль тактового генератора
- •2.2.12 Сторожевой таймер
- •2.2.13 Подсистема прерываний f2833x
- •Регистр флагов прерываний (ifr)
- •Регистр разрешения прерываний (ier)
- •2.2.14 Таймеры cpu f2833x
- •2.2.15 Модули ePwm (шим)
- •2.3 Лабораторный практикум
- •2.3.1 Лабораторная работа 2.1
- •2.3.2 Лабораторная работа 2.2
- •2.3.3 Лабораторная работа 2.3
- •2.3.4 Лабораторная работа 2.4
- •2.3.5 Лабораторная работа 2.5
- •2.3.6 Лабораторная работа 2.6
- •2.3.7 Лабораторная работа 2.7
- •2.3.8 Лабораторная работа 2.8
- •2.3.9 Лабораторная работа 2.9
- •2.3.10 Лабораторная работа 2.10
- •2.3.11 Лабораторная работа 2.11
- •2.3.12 Лабораторная работа 2.12
- •2.3.13 Лабораторная работа 2.13
- •10/2012. Формат 60 х 84/16. Ум. Друк. Арк. .
- •84313, М. Краматорськ, вул. Шкадінова, 72.
2.2.6 Сброс – загрузка
После того как сигнал RESET подается на F2833x, следующая последовательность действий зависит от некоторых внешних сигналов на выводах этого DSC. Активный сигнал сброса будет читать первый адрес для загрузки в счетчик команд (РС) и этот адрес 0x3F FFC0, который находится в памяти загрузки. Содержание этого адреса является адресом начала последовательности загрузочного кода. В результате, F2833x переходит непосредственно к внутренней памяти загрузочного кода. Этот код способен различать 12 различных вариантов старта для F2833x. Активная опция зависит от состояния в этот момент 4 входных контактов (GPIO). Алгоритм сброса–загрузки показан на рис. 2.11.
Рисунок 2.11 – Сброс–загрузка
2.2.7 Режимы работы f2833x
F2833x является устройством семейства TMS320C2000 цифровых сигнальных контроллеров (DSC). Это семейство состоит из 32–разрядных устройств с фиксированной и с плавающей точкой, а также 16–битных устройств.
Режимы работы F2833x показаны на рис. 2.12 и должны обеспечивать совместимость контроллеров всего семейства.
Тестовый режим используется в тестовых целях. F2833x может перейти от его собственного режима в рабочий режим, который является совместимым с программным кодом 16–битной группы C24x/C240x. Программа, которая ранее была написана для C24x устройства, может быть запущена на устройстве F2833x. Это позволяет осуществлять миграцию существующего кода на F2833x.
Рисунок 2.12 – Режимы работы F2833x
На самом деле, F2833x кристалл способен работать в трех различных режимах:
– C28x Mode – использует все 32–разрядные особенности устройства F2833x;
– C24x Mode – режим совместимости исходного кода для 16–битных контроллеров семейства;
– тест, режим, промежуточный режим работы, в целях испытания.
После сброса устройство устанавливается в тестовый режим. Чтобы воспользоваться полными вычислительными возможностями устройства F2833x, управляющий флаг «OBJMODE» должен быть установлен в 1, чтобы перейти в
F2833x собственный режим.
2.2.8 Модуль защиты кода
Существует внутренний модуль безопасности, доступный во всех контроллерах F2833x семейства. Он основан на 128–битном пароле, который написан разработчиком программного обеспечения и записан в последние 8 ячеек внутренней FLASH памяти (0x3F 7FF8 – 0x3F 7FFF). Как только данные записаны в этой области, все дальнейшие обращения к любой из областей памяти, охватываемых модулем безопасности (CSM) запрещены до тех пор, пока пользователь не запишет пароль в регистры блока PF0.
ПРИМЕЧАНИЕ: Если вы запишете какой–либо код в области пароля в результате аварии, нет больше никакого способа, чтобы получить доступ к этому устройству.
2.2.9 Подсистема цифрового ввода – вывода
Все периферийные регистры группируются вместе в блоки под названием «Периферийные фреймы» – PF0, PF1, PF2 и PF3 (см. карту памяти рис. 2.8). Эти фреймы наносятся на карту только в запоминающем устройстве данных. Периферийный фрейм PF0 включает комплект регистров для управления внутренней скоростной FLASH памятью, а также для управления и синхронизации внешних устройств памяти, регистры модуля ПДП, ядро ЦПУ, регистры таймеров и модуль кодовый безопасности управляющего блока. Flash – внутренняя энергонезависимая память, обычно используется для хранения программ и данных, которые должны присутствовать во время загрузки.
Периферийный фрейм PF1 содержит большинство регистров управления периферийными устройствами, как например, ePWM, eCAP, управление цифровым вводом–выводом и блок регистров CAN модуля. CAN – «Controller Area Network» – высоконадежная сеть широко используемая внутри средств передвижения, для формирования сети между электронными управляющими устройствами (ECU).
Периферийный Фрейм PF2 объединяет основные регистры управления, АЦП и всех других каналах связи кроме McBSP, который расположен в PF3.
Детальное описание регистров внешних устройств в запоминающем устройстве данных указано ниже.
Регистры PF0:
– PIE, PIE – разрешение прерываний (маска) и регистры управления плюс таблица векторов прерываний;
– Flash – Flash регистр состояния;
– XINTF – регистры внешнего интерфейса;
– DMA – DMA регистры ПДП;
– Timers – CPU регистры таймеров 0, 1, 2;
– CSM – регистры модуля защиты кода KEY Registers;
– ADC – ADC регистры результата АЦП.
Регистры PF1:
– eCAN – eCAN входной регистр и регистр управления;
– GPIO – GPIO MUX регистры конфигурации и управления цифрового вводы\вывода;
– ePWM – регистры ШИМ модулятора;
– eCAP – регистры ССР модуля ;
– eQEP – регистры модуля квадратурного энкодера;
– PF2, SYS – регистры управления и состояния;
– SCI – регистры управления Serial Communications Interface (SCI) и RX/TX регистры;
– SPI – регистры Serial Port Interface (SPI) и RX/TX регистры;
– ADC – АЦП регистры состояния, управления и результата;
– I2C ( Inter–Integrated Circuit) модуль и его регистры;
– XINT – регистры внешних прерываний;
Регистры PF3:
McBSP: Multichannel Buffered Serial Port Registers – многоканальный последовательный порт;
ePWM: Enhanced Pulse Width Modulator Module and Registers – модуль ШИМ;
Некоторые области памяти защищены паролем безопасности в модуле «Code Security Module». Если область пароля запрограммирована, любой доступ к защищенным областям возможен только когда правильный пароль вводится в специальную область PF0.
Все цифровые I/O сгруппированы вместе в «порты», названные GPIO–A, B и C. Здесь GPIO подразумевает «общее входное / выходное устройство». F2833x включает в общей сложности 88 I/O–контактов, названных GPIO0 – GPIO87. Однако устройство обладает таким количеством дополнительных внутренних устройств, что не все топологические элементы могут быть соединены с контактными выводами корпуса устройства отдельно. Решение –: мультиплексирование. Это означает, что один единственный физический контакт устройства может быть использован для реализации вплоть до 4 различных функций и задача программиста решить какая функция выбрана. Рисунок 2.13 показывает блок–схему одного физического выводного контакта устройства.
Термин “Input Qualification” имеет отношение к дополнительному выбору для цифровых входных сигналов в GPIO0–63. Когда эта характеристика используется, входной импульс должен быть длиннее, чем определенное количество машинных тактов, за которые он должен распознаваться как правильный входной сигнал. Это полезно для удаления входного шума.
Группа регистров “GPxPUD” используется для отключения внутренних «подтягивающих» резисторов, чтобы оставить уровень напряжения плавающим или получить высокое выходное сопротивление.
Когда выбирается цифровая функция I/O, группа регистров GPxDIR определяет направление «Ввод» или «Вывод». Ноль конфигурирует линию как ввод, 1 конфигурирует линию как вывод.
Чтение данных с входной линии выполняется в набор регистров GPxDAT.
Запись данных на линии выходного устройства может также выполняться с регистров GPxDAT.
Дополнительно есть еще 3 совокупности регистров:
– GPxSET;
– GPxCLEAR;
– GPxTOGGLE;
Рисунок 2.13 – Блок–схема одного контакта
Цель этих регистров – использование техники маски, чтобы установить, очистить или переключить те выходные линии, которые соответствуют биту установленному в 1 в маске. Например, чтобы очистить вывод GPIO5 в 0, можно использовать инструкцию GpioDataRegs. GPACLEAR.bit.GPIO5 = 1.
На рисунке 2.14 просуммированы наборы регистров управления I/O.
В таблице 2.1 показаны варианты возможного использования контактов ввода / вывода.
Рисунок 2.14 – Наборы регистров управления вводом / выводом
Таблица 2.1 – Мультиплексное назначение контактов
GPBMUX2 – Bits |
00 |
01 |
10 |
11 |
1,0 |
GPIO48 |
ECAP5 |
XD31 |
XD31 |
3,2 |
GPIO49 |
ECAP6 |
XD30 |
XD30 |
5,4 |
GPIO50 |
EQEP1A |
XD29 |
XD29 |
7,6 |
GPIO51 |
EQEP1B |
XD28 |
XD28 |
9,8 |
GPIO52 |
EQEP1S |
XD27 |
XD27 |
11,10 |
GPIO53 |
EQEP1I |
XD26 |
XD26 |
13,12 |
GPIO54 |
SPISIMOA |
XD25 |
XD25 |
15,14 |
GPIO55 |
SPISOMIA |
XD24 |
XD24 |
17,16 |
GPIO56 |
SPICLKA |
XD23 |
XD23 |
19,18 |
GPIO57 |
/SPISTEA |
XD22 |
XD22 |
21,20 |
GPIO58 |
MCLKRA |
XD21 |
XD21 |
23,22 |
GPIO59 |
MFSRA |
XD20 |
XD20 |
25,24 |
GPIO60 |
MCLKRB |
XD19 |
XD19 |
27,26 |
GPIO61 |
MFSRB |
XD18 |
XD18 |
29,28 |
GPIO62 |
SCIRXDC |
XD17 |
XD17 |
31,30 |
GPIO63 |
SCITXDC |
XD16 |
XD16 |
GPAMUX2 – Bits |
00 |
01 |
10 |
11 |
1,0 |
GPIO16 |
SPISIMOA |
CANTXB |
/TZ5 |
3,2 |
GPIO17 |
SPISOMIA |
CANRXB |
/TZ6 |
5,4 |
GPIO18 |
SPICLKA |
SCITXDB |
CANRXA |
7,6 |
GPIO19 |
/SPISTEA |
SCIRXDB |
CANTXA |
9,8 |
GPIO20 |
EQEP1A |
MDXA |
CANTXB |
11,10 |
GPIO21 |
EQEP1B |
MDRA |
CANRXB |
13,12 |
GPIO22 |
EQEP1S |
MCLKXA |
SCITXDB |
15,14 |
GPIO23 |
EQEP1I |
MFSXA |
SCIRXDB |
17,16 |
GPIO24 |
ECAP1 |
EQEP2A |
MDXB |
19,18 |
GPIO25 |
ECAP2 |
EQEP2B |
MDRB |
21,20 |
GPIO26 |
ECAP3 |
EQEP2I |
MCLKXB |
23,22 |
GPIO27 |
ECAP4 |
EQEP2S |
MFSXB |
25,24 |
GPIO28 |
SCIRXDA |
/XZCS6 |
/XZCS6 |
27,26 |
GPIO29 |
SCITXDA |
XA19 |
XA19 |
29,28 |
GPIO30 |
CANRXA |
XA18 |
XA18 |
31,30 |
GPIO31 |
CANTXA |
XA17 |
XA17 |
GPBMUX1 – Bits |
00 |
01 |
10 |
11 |
1,0 |
GPIO32 |
SDAA |
EPWMSYNCI |
/ADCSOCA0 |
3,2 |
GPIO33 |
SCLA |
EPWMSYNCO |
/ADCSOCB0 |
5,4 |
GPIO34 |
ECAP1 |
XREADY |
XREADY |
Продолжение таблицы 2.1
7,6 |
GPIO35 |
SCITXDA |
XR/W |
XR/W |
|
|||||
9,8 |
GPIO36 |
SCIRXDA |
/XZCS0 |
/XZCS0 |
|
|||||
11,10 |
GPIO37 |
ECAP2 |
/XZCS7 |
/XZCS7 |
|
|||||
13,12 |
GPIO38 |
– |
/XWE0 |
/XWE0 |
|
|||||
15,14 |
GPIO39 |
– |
XA16 |
XA16 |
|
|||||
17,16 |
GPIO40 |
– |
XA0/XWE1 |
XA0/XWE1 |
|
|||||
19,18 |
GPIO41 |
– |
XA1 |
XA1 |
|
|||||
21,20 |
GPIO42 |
– |
XA2 |
XA2 |
|
|||||
23,22 |
GPIO43 |
– |
XA3 |
XA3 |
|
|||||
25,24 |
GPIO44 |
– |
XA4 |
XA4 |
|
|||||
27,26 |
GPIO45 |
– |
XA5 |
XA6 |
|
|||||
29,28 |
GPIO46 |
– |
XA6 |
XA6 |
|
|||||
31,30 |
GPIO47 |
– |
XA7 |
XA7 |
|
|||||
GPAMUX1 – Bits |
00 |
01 |
10 |
11 |
|
|||||
1,0 |
GPIO0 |
EPWM1A |
– |
– |
|
|||||
3,2 |
GPIO1 |
EPWM1B |
ECAP6 |
MFSRB |
|
|||||
5,4 |
GPIO2 |
EPWM2A |
– |
– |
|
|||||
7,6 |
GPIO3 |
EPWM2B |
ECAP5 |
MCLKRB |
|
|||||
9,8 |
GPIO4 |
EPWM3A |
– |
– |
|
|||||
11,10 |
GPIO5 |
EPWM3B |
MFSRA |
ECAP1 |
|
|||||
13,12 |
GPIO6 |
EPWM4A |
EPWMSYNCI |
EPWMSYNC0 |
|
|||||
15,14 |
GPIO7 |
EPWM4B |
MCLKRA |
ECAP2 |
|
|||||
17,16 |
GPIO8 |
EPWM5A |
CANTXB |
/ADCSOCA0 |
|
|||||
19,18 |
GPIO9 |
EPWM5B |
SCITXDB |
ECAP3 |
|
|||||
21,20 |
GPIO10 |
EPWM6A |
CANRXB |
/ADCSOCB0 |
|
|||||
23,22 |
GPIO11 |
EPWM6B |
SCIRXDB |
ECAP4 |
|
|||||
25,24 |
GPIO12 |
/TZ1 |
CANTXB |
SPISIMOB |
|
|||||
27,26 |
GPIO13 |
/TZ2 |
CANRXB |
SPISOMIB |
|
|||||
29,28 |
GPIO14 |
/TZ3_/XHOLD |
SCITXDB |
SPICLKB |
|
|||||
GPCMUX1 – Bits |
00 or 01 |
10 or 11 |
GPCMUX2 – Bits |
00 or 01 |
10 or 11 |
|||||
1,0 |
GPIO64 |
XD15 |
1,0 |
GPIO80 |
XA8 |
|||||
3,2 |
GPIO65 |
XD14 |
3,2 |
GPIO81 |
XA9 |
|||||
5,4 |
GPIO66 |
XD13 |
5,4 |
GPIO82 |
XA10 |
|||||
7,6 |
GPIO67 |
XD12 |
7,6 |
GPIO83 |
XA11 |
|||||
9,8 |
GPIO68 |
XD11 |
9,8 |
GPIO84 |
XA12 |
|||||
11,10 |
GPIO69 |
XD10 |
11,10 |
GPIO85 |
XA13 |
|||||
13,12 |
GPIO70 |
XD9 |
13,12 |
GPIO86 |
XA14 |
|||||
15,14 |
GPIO71 |
XD8 |
15,14 |
GPIO87 |
XA15 |
|||||
17,16 |
GPIO72 |
XD7 |
17,16 |
– |
– |
|||||
Продолжение таблицы 2.1
19,18 |
GPIO73 |
XD6 |
19,18 |
– |
– |
|||||
21,20 |
GPIO74 |
XD5 |
21,20 |
– |
– |
|||||
23,22 |
GPIO75 |
XD4 |
23,22 |
– |
– |
|||||
25,24 |
GPIO76 |
XD3 |
25,24 |
– |
– |
|||||
27,26 |
GPIO77 |
XD2 |
27,26 |
– |
– |
|||||
29,28 |
GPIO78 |
XD1 |
29,28 |
– |
– |
|||||
31,30 |
GPIO79 |
XD0 |
31,30 |
– |
– |
|||||
31,30 |
GPIO15 |
/TZ4_/XHOLDA |
SCIRXDB |
/SPISTEB |
|
|||||
