Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прикладное программирование 2014 / Прикладное программирование -Конспект лекций - заготовка для издания.doc
Скачиваний:
161
Добавлен:
21.03.2016
Размер:
3.24 Mб
Скачать

2.2 Цифровой сигнальный контроллер tms320f28335

2.2.1 Основные параметры и характеристики

  • Высококачественная КМОП технология:

- частота до 150 МГц;

- напряжения питания: ядра 1,9/1,8 В; периферии 3,3 В.

  • 32-разрядное центральное процессорное устройство (CPU):

- сопроцессор (FPU) с плавающей точкой (IEEE-754 одиночной точности);

- двойной аппаратный умножитель (MAC)16х16

с возможностью выполнения 32х32;

- Гарвардская архитектура шин;

- быстрая реакция на прерывания;

- унифицированная для программирования модель памяти;

- эффективная программируемость на С/С++ и Ассемблере.

  • 6-каналььный контроллер прямого доступа к памяти(DMA).

  • 16- или 32-разрядный интерфейс с внешней памятью (до 2Мх16 адресов).

  • Встроенная память:

- 34Кх16 оперативная (SARAM);

- 256Кх16 постоянной (Flash);

- 1Кх16 постоянной (OTP ROM).

  • ПЗУ загрузчика 8Кх16 с режимами загрузки через различные интерфейсы и стандартными математическими таблицами.

  • Устройство тактирования и управления системой, содержащее встроенную электронику генератора, систему ФАПЧ с поддержкой динамического изменения отношения частот, модуль сторожевого таймера.

  • 128-разрядный кодовый замок, защищающий встроенную память.

  • Три 32-разрядных таймера CPU

  • Расширенные средства управления исполнительными устройствами:

- 18 выходов сигналов с ШИМ (PWM), из которых 6 выходов с ШИМ высокого разрешения до 150 пс (HRPWM);

- 6 входов захвата внешних событий (EventCapture);

- 8 32-разрядных таймеров;

- 2 интерфейса энкодеров.

  • Последовательные порты:

- два модуля интерфейса CAN;

- три модуля интерфейса SCI(UART);

- два модуля интерфейса McBSP;

- SPIмодуль;

- модуль I2С;

  • 16-канальный 12-разрядный АЦП с временем преобразования 80 нс

- мультиплексор 2х8 каналов;

- два устройства выборки/хранения;

- возможность одновременного преобразования двух сигналов;

- внутренний или внешний источник опорного напряжения.

2.2.2 Краткое описание основных узлов и блоков

  1. CPU– кроме стандартного ядра семействаF28хх содержит блок плавающей точки, обеспечивающий с одиночной точностью работу в форматеIEEE-754. Одинаково эффективен при решении как задач управления, так и математических, причем последние могут программироваться на С/С++. Наличие МАС-блока с форматом 32х32 и 64-разрядным регистром результата позволяет успешно поддерживать высокую точность вычислений. Быстрая реакция на прерывания с автоматическим контекстным сохранением критических регистров обеспечивает обслуживание асинхронных внешних событий с минимальной задержкой. Имеет 8-уровневый конвейер с конвейеризованным доступом к памяти, что позволяет эффективно работать с небыстрой памятью.

  2. Шина памяти - Гарвардская архитектура шин. Шина памяти CPUвключает:

- шину чтения программ с 22 адресными линиями и 32 линиями данных;

- шину записи данных с 32 адресными линиями и 32 линиями данных;

- шину чтения данных с 32 адресными линиями и 32 линиями данных.

Такая система шин обеспечивает работу с 32-разрядными числами с одновременным (в пределах одного такта) извлечением команды, чтением и записью данных. Вся периферия подключенная к шине памяти CPUимеет повышенный приоритет и между собой ранжирована следующим образом в порядке понижения приоритета:

Приоритет

Доступ к памяти

Примечание

Наивысший

Запись данных

Одновременная запись данных и программ невозможна

Запись программ

Чтение данных

Чтение программ

Одновременное чтение программ и выборка команды невозможны

Низший

Выборка команд

  1. Шины периферии

В процессоре сформировано три вида шин, объединяющих имеющиеся на кристалле периферийные устройства в группы (фреймы).

Периферийный фрейм Per. Frame 1 объединяет устройства, подключенные к 32-разрядной шине периферии (32-bitperipheralbus).

Периферийный фрейм Per. Frame 2 объединяет устройства, подключенные к 16-разрядной шине периферии (16-bitperipheralbus).

Рис.2.1. Блок-схема цифрового сигнального контроллера TMS320F28335

Периферийный фрейм Per. Frame 3 объединяет устройства, подключенные к 32-либо 16-разрядной шине периферии с прямым доступом к памяти (32-bitperipheralbusDMAaccessible).

Каждая из шин содержит 16 адресных линий, 16/32 линий данных и связанные с ними линии управляющих сигналов.

Периферийные шины мостами связаны с шиной памяти CPU.

Периферийный фрейм Per. Frame 0 объединяет устройства, непосредственно подключенные к шине памятиCPU(MemoryBus).

  1. Поддержка контроля и анализа выполнения программы в реальном времени

В процессоре реализован технологический интерфейс JTAGпо стандартуIEEE1149.1. Кроме того, поддерживается режим реального времени посредством которого содержимое ячеек памяти, периферии и регистров может быть модифицировано в процессе исполнения программы или обслуживания прерываний. Возможен также режим одношагового прохода программы с обслуживанием прерываний в реальном времени.

  1. Внешний асинхронный параллельный интерфейс содержит 20 адресных линий, 32 линии данных и три линии чип-селекта для выбора устройств в одной из зон 0, 6 или 7 пространства внешней памяти. Для каждой из трех зон может быть индивидуально запрограммированы число тактов ожидания и временные параметры строб сигналов. Это позволяет организовать обслуживание внешних устройств с различным быстродействием без дополнительных аппаратных затрат.

  1. Flash-память содержит 256К 16-разрядных слов, разделенных на 8 секторов по 32Кх16 в каждом. Пользователь может производить стирание, запись и проверку информации в одном из секторов, не затрагивая остальные сектора. Однако невозможно выполнять стиранием/записью одного из секторов программой, хранящейся в другом сектореFlash-памяти. Имеется специальный конвейер для ускорения обмена сFlash-памятью.

В процессоре также содержится блок ОТР памяти объемом 1Кх16 с однократным программированием.

Как Flash-память, так и ОТР отображены на карте памяти как в пространстве программ, так и в пространстве данных, что позволяет использовать их и для исполняемых программ и для хранения данных.

  1. M0,M1SARAMs– два блока памяти по 1Кх16 в каждом. Указатель стека при ресете устанавливается на начало блока М1. Оба блока подобно остальным блокам памяти отображены на карте памяти как в пространстве программ, так и в пространстве данных, что позволяет использовать их и для исполняемых программ и для хранения данных. Вообще вся память процессора отображена для программиста на единой карте, что облегчает написание программ на языке высокого уровня. Распределение информации в пространства программ и данных осуществляется линкером.

  1. L0,L1, …,L7SARAMs– восемь блоков памяти по 4Кх16 в каждом с независимым доступом для уменьшения глубины конвейера. Все блоки отображены на карте памяти как в пространстве программ, так и в пространстве данных, блокиL4, …,L7 доступны по прямому доступу к памяти.

  1. Загрузочное ПЗУ (BootROM) – запрограммировано при изготовлении кристалла и содержит программную поддержку первоначальной загрузки, которая может производиться из внешней и внутренней памяти или по различным интерфейсам. Код режима загрузки устанавливается схемным подключением 4 выводов процессора (GPIO84 –GPIO87).

  1. Код секретности – 128-разрядный код, программируемый пользователем и хранящийся во Flash-памяти. Единственный модуль секретности обеспечивает предохранение от чтенияFlash-памяти, блоков ОТР иL0,L1,L2,L3SARAMчерезJTAG-порт, исполнения программ из внешней памяти и попытки загрузки нежелательного ПО, предназначенного для экспорта содержимого засекреченных блоков памяти.

  1. Блок расширения периферийных прерываний (PIE) – может обслуживать до 96 источников периферийных прерываний, мультиплексируя их к небольшому числу входовCPU. 58 прерываний из 96 используются периферией процессора. Эти 96 прерываний объединяются в группы по 8 и выход каждой из групп подключается к одному из 12 входовINT1…INT12 прерыванийCPU. Каждое из 96 прерываний поддерживается собственным вектором, вектора прерываний хранятся в выделенном блоке памяти (PIEVector–RAM). На сохранение текущей информации и вызов процедуры обработки прерывания затрачивается 9 процессорных циклов.

  1. Внешние прерывания – поддерживаются 8 маскируемых внешних прерываний (XINT1 –XINT7,XNMI). Параметры сигналов запроса прерываний (фронт, спад) настраиваются индивидуально.XINT1,XINT2,XNMIимеют собственный 16-разрядный счетчик, который позволяет делать точную отметку времени прерывания. Внешние прерывания не имеют однозначной привязки к определенным выводам микросхем,

XINT1,XINT2,XNMIмогут быть запрограммированы на выводы, соответствующиеGPIO0 ….GPIO31,XINT3 –XINT7 могут быть запрограммированы на выводы, соответствующиеGPIO32 ….GPIO63.

  1. Генератор и система ФАПЧ (PLL). Процессор может получать тактовые импульсы от внешнего генератора или от внутреннего, к которому необходимо подключить внешний кварцевый резонатор. Частота тактовых импульсов может повышаться (от 1 до 9 раз) или понижаться (в 1, 2, 4 раз) системой ФАПЧ даже в процессе выполнения программы, обеспечивая минимальный режим энергопотребления. Коэффициент повышения и понижения частоты устанавливается записью кода в соответствующие поля регистровPLLCRиPLLSTS.

  1. Тактовая частота периферии. Тактовые импульсы подаются на каждый блок периферии индивидуально и могут быть отключены от неиспользуемых блоков. Тактовая частота последовательных портов (кроме I2CиeCAN) может быть изменена относительно тактовой частоты процессора.

  1. Сторожевой таймер – пользовательская программа должна регулярно сбрасывать счетчик сторожевого таймера с периодом, не превышающим время заполнения счетчика, в противном случае при заполнении счетчика выработается Resetпроцессора. При необходимости сторожевой таймер может быть отключен.

  1. Режимы пониженного потребления:

- IDLE(перерыв в работе): тактовые импульсы поданы только на используемые в блоки; выход из режима по прерыванию от дежурных блоков или сторожевого таймера;

- STANDBY(горячий резерв): генератор иPLLфункционируют, на остальные блоки тактовые импульсы не подаются; выход из режима по внешнему прерыванию, работа начинается с такта, следующего за тактом, в котором выявлено прерывание;

Рис.2.2. Карта памяти цифрового сигнального контроллера TMS320F28335

- HALT(остановка): внутренний генератор выключен – режим минимального потребления; выход из режима по сигналуReset.

  1. Периферия в процессоре разделена на четыре группы, которые на карте памяти соответствуют 4 фреймам, в которые входят следующие группы регистров:

Фрейм

Блок

Регистры

PF0

PIE

Таблица векторов, регистры управления прерывания

Flash

Регистры тактов ожидания

XINTF

Регистры внешнего интерфейса

DMA

Регистры прямого доступа к памяти

Timers

Регистры таймеров CPU

CSM

Регистры ключа модуля секретности

ADC

Регистры результата АЦП

PF1

eCAN

Регистры почтового ящика и управляющие

GPIO

Регистры конфигурации и управления

ePWM

Регистры и модуль ШИМ

eCAP

Регистры и модуль захвата

eQEP

Регистры и модуль энкодера

PF2

SYS

Регистры управления системой

SCI

Регистры управления и RX/TX

SPI

Регистры управления и RX/TX

ADC

Регистры статуса, управления и результата

I2C

Регистры и модуль

XINT

Регистры внешних прерываний

PF3

McBSP

Регистры буферированного порта

ePWM

Регистры и модуль ШИМ

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

  1. Таймеры CPU– 32-разрядные с предустановкой периода, имеют на входе 16-разрядный делитель для программирования частоты счетных импульсов. Содержимое таймера декриментируется импульсами с установленной частотой, при достижении нуля вырабатывается прерывание, а в счетчик таймера автоматически загружается установленное 32-разрядное значение периода. Таймеры подключены к следующим входам прерыванияCPU:

Таймер

Вход прерывания

Примечания

Timer 0

Через блок PIE

Общего назначения

Timer 1

INT13

Общего назначения

Timer 2

INT14

Резервирован для ОСРВ, если она не используется – общего назначения

  1. Периферийные устройства для управления:

  • ePWM– модуль обеспечивает генерацию независимых или комплементарных ШИМ сигналов с заданными мертвыми зонами на фронтах. Модуляция части сигналов обеспечивается с повышенным разрешением. Регистры модуля доступны по шинеDMAдля снижения перегрузки шин при обслуживании этого модуля.

  • eCAP– использует 32-разрядную временную шкалу и регистры для захвата до 4 внешних событий. Может также конфигурироваться на выработку дополнительных ШИМ-сигналов.

  • eQEP– включает 32-разрядный счетчик положения, поддерживает измерения при низких скоростях с использованием устройств захвата и привысоких скоростях с использованием 32-разрядного таймера.

  • ADC– 12-разрядный АЦП обслуживает 16 несимметричных каналов. Содержит два устройства выборки/хранения для одновременной обработки пары сигналов. Регистры модуля доступны по шинеDMAдля снижения перегрузки шин при обслуживании этого модуля.

  1. Последовательные порты:

  • eCAN– соответствует стандартуCAN2.0B, содержит почтовый ящих на 32 адреса, обеспечивает фиксацию времени получения сообщения.

  • MSPSP– многоканальный буферированный последовательный порт подключается к линиямE1/T1 кодека модема или стерео ЦАП. Регистры приема и передачи блока доступны по шинеDMAдля снижения перегрузки шин при обслуживании этого блока. Каждый модуль блока может быть сконфигурирован какSPI.

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

  • SCI– двухпроводный последовательный асинхронный порт (часто называютUART). Включает 16-уровневоеFIFOна прием и передачу.

  • I2C– обеспечивает связь с другими устройствами, подключенными к двухпроводнойI2Cшине и соответствующими стандартуI2Cверсии 2.1. Модуль содержит 16-уровневоеFIFOна прием и передачу.

  1. Карта памяти

Распределение адресного пространства процессора зафиксировано в его карте памяти, в которой определены адреса всех функциональных блоков процессора.

Особенности карты памяти TMS320F28335:

  • Размер блоков фиксирован и не может быть изменен пользователем;

  • Периферийные фрэймы Per. Frame 0, 1, 2, 3предназначены только для данных и недоступны для пользовательских программ

  • В области адресов 0х38 0080 – 0х38 008Fхранится процедура калибровки АЦП – пользователем не программируется

  • Если в проекте CANинтерфейс не используется, то его область оперативной памяти может быть использована как память общего назначения.

  • Области карты памяти имеют различное время доступа, измеряемое числом тактов ожидания. Наиболее быстрый обмен осуществляется без тактов ожидания, обмен с другими областями может содержать один-два такта ожидания, для некоторых областей, например, внешней памяти число тактов ожидания программируется. Такты ожидания по чтению и по записи для одной и той же области памяти могут различаться.

  • Ряд областей памяти защищены от случайной записи после конфигурирования (EALLOW).

Лекция №3 «Цифровой сигнальный контроллер TMS320F28335.

Подсистемы общего назначения (тактовый генератор, прерывания, таймеры, входы/выходы общего назначения, внешние интерфейсы, прямой доступ к памяти)»