Цифровые сигнальные контроллеры с плавающей точкой
В настоящий момент семейство TMS320F2833x состоит из трех контроллеров, отличающихся объемом встроенной памяти и набором периферийных устройств (таблица 1).
Таблица 1. Отличия контроллеров внутри семействаTMS320 | МГц | Flash, кБ | RAM, кБ | DMA | PWM/HRPWM | CAP/QEP | Последовательные интерфейсы |
---|---|---|---|---|---|---|---|
F28335 | 150 | 512 | 68 | Есть | 12/6 | 6/2 | SPI, 3xSCI, I2C, 2xMcBSP, 2xCAN |
F28334 | 150 | 256 | 68 | Есть | 12/6 | 4/2 | SPI, 3xSCI, I2C, 2xMcBSP, 2xCAN |
F28332 | 100 | 128 | 52 | Есть | 12/4 | 4/2 | SPI, 2xSCI, I2C, McBSP, 2xCAN |
На рисунке 1 изображен старший представитель семейства, который содержит 512 кБ flash-памяти и 68 кБ ОЗУ.
Рис. 1. Блок-схема архитектуры TMS320F28335
Вся встроенная Flash и 32 кБ RAM защищены 256-битным паролем. В число периферийных устройств входит до 16 каналов 12-битного АЦП со скоростью преобразования12,5 MSPS (на сегодняшний день самый быстрый АЦП, встроенный в цифровой сигнальный контроллер), 18 каналов ШИМ (шесть из которых с разрешающей способностью 150 пс) для управления трехфазными приводами, интерфейс внешней памяти, конфигурируемый как 16- или 32-битный. TMS320F2833x поддерживают множество коммуникационных интерфейсов для связи с внешними периферийными устройствами, процессорами и контроллерами. Контроллер имеет 88 цифровых портов ввода/вывода.
Все цифровые сигнальные контроллеры семейства TMS320F2833x полностью совместимы по выводам и программному коду, что позволяет оптимизировать приложение по цене, производительности и функциональности, переходя с одного контроллера на другой.
Контроллеры имеют производительность до 300 миллионов инструкций с плавающей точкой в секунду (MFLOPS), работают на частоте 150 МГц и являются самыми недорогими контроллерами с плавающей точкой.
TMS320F2833x способны увеличить производительность на 50% и упростить программное обеспечение таких приложений, как трехфазные инверторы для солнечных батарей, высококлассные источники мощности, автомобильные радиолокаторы, системы управления приводами.
Разработчики программного обеспечения обычно начинают разработку алгоритма, используя арифметику с плавающей точкой. Затем преобразуют полученный код для запуска его на процессоре с фиксированной точкой. Контроллеры TMS320F2833x позволяют исключить второй этап разработки программного обеспечения, что экономит много времени и способствует быстрому выходу устройства на рынок.
При реализации алгоритмов управления масштабирование и округление производится намного чаще, чем при реализации алгоритмов цифровой обработки сигналов. Вот почему плавающая точка значительно увеличивает производительность в таких приложениях.
В таблице 2 представлены основные математические операции и количество тактов процессора, которые тратятся при их реализации с помощью процессоров С28х с использованием фиксированной и плавающей точки.
Таблица 2. Основные математические операции и число тактов процессораОперации | C28x 32-bit (Оптимизированный Ассемблер) | float32 (Оптимизированный Ассемблер) |
---|---|---|
Div | 70 | 24 (2,92) |
Sqrt | 69 | 27 (2,56) |
Sin & Cos | 92 | 44 (2,09) |
Atan2 | 118 | 53 (2,23) |
Среднее значение увеличения производительности (эквивалентная частота F2812) | 2,45 (367 МГц) |
Из таблицы видно, что благодаря плавающей точке, математические действия можно выполнять в 2,5 раза быстрее. Эквивалентная частота означает, что разработчик, использующий F2812, должен разогнать процессор до 367 МГц, чтобы получить производительность F28335. Рассмотрим, как изменится число тактов при переходе на плавающую точку в алгоритмах управления. Результаты представлены в таблице 3.
Таблица 3. Изменение числа тактов при переходе на плавающую точкуАлгоритмы управления | C28x 32/64-битная математика (C/C++) | float32 (C/C++) |
---|---|---|
State Estimator | 1563 | ~1137 (1,37) |
Park Transform | 107 | ~60 (1,78) |
High Precision PID | 110 | ~70 (1,57) |
Среднее значение увеличения производительности (эквивалентная F2812 частота) | 1,57 (236 MHz) |
В таблице 4 представлены результаты сравнения скорости выполнения DSP-алгоритмов.
Таблица 4. Скорость выполнения алгоритмов DSPDSP | C28x 16/32-bit (Оптимизированный Ассемблер) | float32 (Оптимизированный Ассемблер) |
---|---|---|
Vector Product (N=40) | 57 | 59 (0,97) |
Vector Max (N=40) | 139 | 103 (1,35) |
Vector Sum (N=40) | 134 | 139 (0,96) |
Ecludian Distance (N=40) | 141 | 106 (1,33) |
FFT Complex (256) | ~27000 | ~11000 (2,45) |
IIR Cascaded | 14 cycles/filter | 8 cycles/filter (1,75) |
FIR Single Sample (N=1, T=16) | 39 | 42 (0,93) |
FIR LMS (N=1, T=16) | 102 | 76 (1,34) |
Среднее значение увеличения производительности (эквивалентная F2812 частота) | 1,38 (207 МГц) |
На рисунке 2 показано графически увеличение производительности при переходе на плавающую точку для математических функций, алгоритмов управления и алгоритмов цифровой обработки сигналов.
Рис. 2. Увеличение производительности при переходе на плавающую точку
Для начала разработки приложения на базе процессоров TMS320F2833x рекомендуется отладочный комплект TMDXEZ28335, который содержит:
- Отладочную плату с процессором TMS320F28335;
- CD-ROM со средой разработки Code Composer Studio 3.1, ПО для диагностики и примеры программ;
- Инструкцию;
- Руководство пользователя;
- USB-кабель для соединения платы с компьютером;
- Блок питания.
Ваш комментарий к статье | ||||