Журнал "Новости Электроники", номер 11, 2008 год.

Журнал "Новости Электроники", номер 11, 2008 год.Цифровые сигнальные контроллеры с плавающей точкойАлексей Пантелейчук (КОМПЭЛ) Платформа цифровых сигнальных контроллеров TMS320C2000 компании Texas Instruments является одним из лидером рынка среди процессоров для встраиваемых приложений. Недавно появились новые представители TMS320C2000 √ семейство TMS320F2833x. Это семейство наследует архитектуру предшественников, но, в отличие от них, содержит модуль вычислений с плавающей точкой и контроллер прямого доступа к памяти, что позволяет эффективно реализовывать более сложные алгоритмы управления.

В настоящий момент семейство 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. Скорость выполнения алгоритмов DSP DSP 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-кабель для соединения платы с компьютером;Блок питания.

 

 

Вернуться к содержанию номера







Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.