Технические решения на базе цифровых сигнальных процессоров семейства DSP56800 компании Motorola
В работе рассматриваются технические решения по реализации систем управления в реальном времени на базе сигнальных процессоров семейства DSP56800. Кратко представлены особенности системы команд, описание ядра, сравнительные характеристики данных DSP. Основное внимание уделено их использованию в качестве высокопроизводительных микроконтроллеров, основам построения на них различных систем управления в том числе систем управления двигателями и систем активного упарвления волновыми полями. В завершении обзора проанализирвоаны некоторые отладочных средствах и вопросы технической поддержки в России.
Сигнальные процессоры в системах обработки информации
Развитие новых компьютерных технологий стало толчком к внедрению сложных вычислительных систем в различные области человеческой деятельности. Одним из важнейших применений вычислительной техники являются системы управления для генерации и обработки непрерывных потоков информации, основой которых как правило являются сигнальные процессоры. По заявлению представителей фирмы Моторолла в 2000 году более 90% покупателей в США приобретут хотя бы одно изделие, содержащее DSP (Digital Signal Processor - цифровой сигнальный процессор). За двадцать лет развития данного сектора электронных компонентов производительность DSP возросла до нескольких сотен MIPS, а цена упала более цена на 90%, что обуславливает их широкое проникновение практически во все отрасли.
Существовавший подход к использованию и проектированию вычислительных систем на базе компьютеров общего назначения требует дополнительных устройств (плат, модулей) для реализации сложных процессов обработки информации, как в реальном масштабе времени, так и после записи информации в память компьютера. Как правило, такие устройства в последнее время реализуются с использованием DSP, которые, обладая мощной вычислительной структурой, позволяют реализовать различные алгоритмы обработки информационных потоков.
Сравнительно невысокая цена, а также развитые средства разработки программного обеспечения позволяют легко внедрять подобные системы в различные области информационного обеспечения. Многие фирмы США и Европы предлагают свои DSP-системы, в которых используется от 1 до 8 DSP и от128 КБайт до 256 Мбайт памяти для данных и программ. Наибольшее распространение получили DSP фирм Analog Device, Texas Instruments, Motorola, NEC, AT&T.
Выбор того или иного процессора - многокритериальная задача, однако, следует отметить предпочтительность процессоров Analog Devices для приложений, требующих выполнения больших объемов математических вычислений (таких как цифровая фильтрация сигнала, вычисление корреляционных функций и т.п.), поскольку их производительность на подобных задачах выше, чем у процессоров компаний Motorola и Texas Instruments. В то же время для задач, требующих выполнения интенсивного обмена с внешними устройствами (многопроцессорные системы, различного рода контроллеры), предпочтительнее использовать процессоры Texas Instruments, обладающие высокоскоростными интерфейсными подсистемами. Компания Motorola является лидером по объему производства сигнальных микропроцессоров, большую часть из которых составляют дешевые и достаточно производительные 16- и 24-разрядные микропроцессоры с фиксированной точкой. Расширенные коммуникационные возможности, наличие достаточных объемов внутрикристальной памяти для данных и программы, возможность защиты программы от несанкционированного доступа, поддержка режима энергосбережения делают эти микропроцессоры привлекательными для использования не только в качестве специализированных вычислителей, но и в качестве контроллеров, в бытовых электронных приборах, в системах адаптивной фильтрации и т.д. Эти системы имеются во многих типах домашних и промышленных управляющих систем, таких как холодильники, автомобили и климатические системы и т.п. Решения от Motorola разработаны, чтобы отвечать увеличивающейся потребности в эффективности потребления мощности (КПД), а также легкости программирования и гибкости при проектировании электронных моторных систем. Подробнее остановимся на одном из перспективных семейств микропроцессоров фирмы Motorolla - DSP56800 - имеющим один из наилучших показателей производительность/качество/стоимость.
Особенности архитектуры процессоров семейства DSP56800 и аппаратно-программные средства разработки
Семейство DSP56800 - это первая DSP-архитектура от Motorola, разработанная "с нуля" и обеспечивающая интеграцию мощной DSP-архитектуры с возможностями микроконтроллеров. При высокой производительности микропроцессоры этого семейства отличает низкая стоимость. Motorola занимает на рынке уникальную позицию, которая позволяет ей предоставлять как микроконтроллеры (MCUs), так и цифровые сигнальные процессоры (DSPs) путем программно-совместимого перехода и отвечать потребностям заказчиков по мере роста требований к эксплуатационным показателям. Архитектура семейства DSP56800 объединяет традиционные функции управления MCU с эффективностью DSP. Это было сделано во первых для того, чтобы позволить управляемым электроникой моторным системам выполнять усовершенствованные алгоритмы, предоставляя точность, улучшенный КПД и надежность, сейчас такой принцип нашел применение и в целом ряде других приложений. Сравнительные характеристики микропроцессоров семейства DSP56800 представлены в таблице 1.
Таблица 1. Сводные характеристики микропроцессоров семейства DSP58000
Наиме-нование |
ОЗУ (Prog-ram) |
ПЗУ (Prog-ram) |
ОЗУ (Data) |
ПЗУ (Data) |
ПЗУ заг-рузки |
Timer |
I/O |
Serial |
A/D |
PWM |
Напр. пита-ния(V) |
Час-тота на ши- не, MHz |
DSP56824 |
128х16 |
32Кх16 |
2Кх16 |
2Кх16 |
- |
3 16-Bit Timers |
16 |
1 SPI |
- |
- |
2.7 |
70 |
DSP56F801 |
1Kx16 |
8Kx16 Flash |
1Kx16 |
2Kx16 Flash |
2Kx16 Flash |
Один счетве- ренный модуль таймера |
11 |
SPI SCI |
Два 4х12-bit АЦП |
6x12-bit |
3.3 |
80 |
DSP56F803 |
512x16 |
32Kx16 Flash |
2Kx16 |
4Kx16 Flash |
2Kx16 Flash |
Два счетве- ренных модуля таймера |
16 |
SPI SCI CAN |
Два 4x12-bit АЦП |
6x12-bit |
3.3 |
80 |
DSP56F805 |
512x16 |
32Kx16 Flash |
2Kx16 |
4Kx16 Flash |
2Kx16 Flash |
Два счетве- ренных модуля таймера |
32 |
SPI2 SCI CAN |
Два 4x12-bit АЦП |
2 6x12-bit |
3.3 |
80 |
DSP56F807 |
2Кx16 |
60Кx16 Flash |
4Kx16 |
8Kx16 Flash |
2Kx16 Flash |
Четыре счетве- ренных модуля таймера |
32 |
SPI2 SCI CAN |
4 4x12-bit АЦП |
2 6x12-bit |
3.3 |
80 |
Микропроцессоры данного семейства являются полностью 16-разрядными с длиной команд процессора в 16 бит, что обуславливает их несовместимость с другими семействами. Обобщенная структурная схема процессора семейства DSP568xx представлена на рис.1.
Рис. 1. Структурная схема микропроцессора семейства DSP568xx
DSP56824 имеет ОЗУ программ и данных 13.5Кх16 и возможность адресовать до 64Кх16 внешней памяти данных Х и 64Кх16 внешней памяти программ. В его структуре можно выделить: 16 линий GPIO, последовательные интерфейсы SPI и SSI, порт эмуляции OnCE с 8-и уровневым FIFO-буфером, интерфейс внешней памяти (порт А), таймеры прерывания реального времени. При частоте 70Гц процессор достигает производительности 35 MIPS.
Новые в данном семействе устройства - DSP56F801/3/5/7, образцы которых, как ожидается, будут доступны в июне (DSP56F803/5) и сентябре (DSP56F801/7), а цена составит порядка $5 в партиях от 10.000 штук. Они позиционируются для применения в системах управления двигателями и имеют flash-память программ, несколько каналов PWM с расширенными возможностями, многоканальный АЦП и контроллеры CAN, SCI и SPI интерфейсов.
Чтобы разработать новые DSP для электронных двигателей, мы использовали в качестве рычага опыт, полученный за десятилетия тесного сотрудничества с ведущими клиентами в отраслях автомобилестроения, промышленности и потребительской электроники, которые использовали свои микроконтроллерные устройства (MCU) для электронных моторных систем," - отметила Дебби Драйсдэйл (Debbie Drysdale), вице-президент и главный менеджер Подразделения стандартных DSP-продуктов компании Motorola. "Наши заказчики понимают, что не все приложения могут эффективно обслуживаться одним архитектурным решением, так что мы предлагаем некоторый ряд встраиваемых контроллеров, наряду с программным обеспечением, усовершенствованными алгоритмами управления двигателем, образцовыми конструкциями и средствами разработки. Интеллектуальная технология DigitalDNA от Motorola является ключом, который позволяет проектировщикам систем существенно понизить стоимость, улучшить КПД и добавить гибкость к фактически всем системам управления двигателем." Качественная оценка микропроцессоров данного семейства по восьми базовым показателям приведена в таблице 2.
Таблица 2. Качественные характеристики микропроцессоров семейства DSP568хх
№ |
Наименование показателя |
Качественная оценка |
1 |
Скорость |
Обеспечивает выполнение большинства среднепроизводительных операций Цос. Для модели DSP56F8xx при частоте 80Гц достигается производительность 40 MIPS. |
2 |
Параллелизм обработки |
Поддержка двухуровневого параллелизма : на уровне ядра и на уровне периферийных устройств. На уровне ядра работают параллельно: АЛУ данных, устройство генерации адресов и контроллер программ. На уровне периферии все устройства на кристалле, память и ядро работают параллельно. |
3 |
Точность |
16 битные шины данных обеспечивают динамический диапазон 96 Дб. Диапазон результата, полученного в 36-битном аккумуляторе может иметь диапазон свыше 216 Дб. |
4 |
Гибкость |
Для обеспечения интерфейса с внешней памятью и периферийными устройствами используются эффективные последовательные и параллельные интерфейсы. |
5 |
Сихронизация |
Для синхронизации используется фазовая автоподстройка частоты ФАПЧХ. |
6 |
Конвейерная обработка |
Для обработки используется трехуровневый конвейер инструкций реализованный на аппаратном уровне. |
7 |
Низкое энергопотребление |
Технология изготовления микропроцессоров КМОП, что обуславливает низкое энергопотребление. Применение режимов STOPи WAIT делают энергопотребление еще ниже. |
Мы рассмотрели семь основных причин "ЗА" выбор микропроцессоров данного семейства для построения узлов управления проводных и беспроводных коммуникаций, высокоскоростного управления, низкой по себестоимости речевой обработки, аудио-процессинга и реализации систем управления технологическими системами (двигателями, приводами и тп.). Рассмотрим более подробно основные характеристики микропроцессоров семейства DSP58000?
16-битное ядро
Семейство DSP56800 использует 16-битное ядро, которое представляет собой программируемый КМОП 16-битный процессор цифровой обработки сигналов, содержащий 16-битное АЛУ данных, 16-битное устройство генерации адресов, декодер программ, эмулятор на кристалле, объединенные шины и набор инструкций. Программная память содержит два функциональных модуля: память для программы начальной загрузки (ROM) и память для внешнезагружаемых программ. Как мы видим ядро микропроцессора представляет собой композицию параллельно работающих функциональных устройств. Обобщенная структурная схема ядра представлена на рис. 2.
Рис. 2. Обобщенная структурная схема ядра
Особенности ядра следующие [1-8]:
- производительность до 25 MIPS при работе на тактовой частоте 40 МГц;
- устройство умножения с накоплением (MAC) разрядностью 16x16, выполняющее все операции за один командный цикл;
- два 36-битных аккумулятора, включающих биты расширения для контроля переполнения результата;
- 16-разрядное устройство барабанного сдвига;
- набор параллельных инструкций с уникальными для DSP режимами адресации;
- аппаратная поддержка циклов и репликации команд;
- два входа внешних прерываний;
- три 16-битных шины данных;
- три 16-битных шины адреса;
- 16-битная шина данных периферийных блоков;
- набор инструкций позволяет поддерживать как операции DSP, так и функции контроллера;
- получение компактного кода программного обеспечения в результате эффективной компиляции программы, написанной на языке Си;
- система мультикоманд: поддерживающая функции цифровой обработки сигналов и микроконтреллерного управления.
- программный стек подпрограмм и прерываний с неограниченной вложенностью;
- расширенные внутрикристальные средства эмуляции для непосредственной, независимой от скорости процессора отладки;
- режимы пониженного энергопотребления WAIT и STOP.
Контроллер программ, устройство генерации адресов и АЛУ данных имеют собственные регистры и логику управления, что позволяет им работать параллельно независимо друг от друга. Для повышения производительности используется конвейерная обработка, что упрощает параллельную работу функциональных моделей и снижает время выполнения каждой инструкции в отдельности.
Подсистема обработки команд и данных
Набор инструкций сигнальных процессоров данного семейства является самым лучшим среди других дешевых архитектур DSP и разработан для программирования задач контроллерного типа. Инструкции общего назначения в стиле микроконтроллера реализуют мощные режимы адресации и возможность манипуляции битами.
АЛУ данных выполняет все арифметические и логические операции с данными. Имеется возможность выполнения в одном цикле таких операций, как: умножение, умножение с накоплением, сложение, вычитание, сдвиги и логические операции.
Рис. 3. АЛУ данных
Устройство генерации адреса (рис. 4) представляет собой модуль предназначенный для вычисления адреса и состоит из блока арифметики для комплексного вычисления адреса и блока инкрементирования/декрементрирования для простых вычислений. Вычисление адреса осуществляется модульным методом с автоматическим округлением при необходимости.
Рис. 4. Структурная схема блока генерации адресов
Программный контроллер
Программный контроллер предназначен для выполнения предвыборки и декодирования инструкций, управления аппаратными циклами и обработки прерываний. Структурная схема программного контроллера представлена на рис. 5.
Рис. 5. Структурная схема программного контроллера
Назначение каждого из регистров подробно освещено в справочной литературе.
Подсистема ввода/вывода
Интеллектуальная подсистема ввода/вывода, основу которой составляют порты ввода/вывода общего назначения (GPIO) имеет возможность гибкой переконфигурации. Имеющийся интерфейс может быть настроен, как непосредственно для ввода/вывода, так и для мультиплексирования между периферийными блоками микропроцессора и GPIO, а также в качестве выводов подсистемы прерываний, все это обуславливает компактность и гибкость конструктивно-функциональной реализации.
Средства разработки и отладки программного обеспечения
Совсем недавно для создания программного обеспечения для систем управления на базе DSP было достаточно ассемблера, сегодня же ситуация кординально меняется, смещая центр тяжести в сторону программ-компиляторов функционирующих в среде реального времени.
Несмотря на очевидную значимость аппаратных средств в процессе разработки, программным средам разработки сегодня уделяется гораздо больше внимания, поскольку с их помощью всю последовательность этапов разработки, не затрагивая дорогостоящую аппаратуру, до момента реализации приложения на плате.
Для создания ПО нового поколения (XXI века) для DSP процессоров нового семейства Star*Core, фирма Motorolla пошла на расширение соглашения с британской фирмой Signals&Software. На сегодня активно ведется разработка ПО для пейджинговых систем, сотовых телефонов и систем персональной связи. По данному соглашению предусматривается создание широкого круга программного обеспечения, в том числе и для кодеров CDMA, TDMA-стандартов, 3G систем, модемов и т.п. Такой же подход прослеживается при создании ПО и для других семейств сигнальных процессоров. Фирма Motorola создает программно-аппаратные комплексы разработки приложений для процессоров цифровой обработки сигналов. Наиболее распространенным среди них ввиду своей простоты и приемлемой стоимости является EVM Kit. Более сложным комплексом для разработки приложений - ADS Kit.
В кооперации с Metrowerks и другими независимыми компаниями, Motorola, предоставила среду разработки ПО для микропроцессоров сечетающих функции MCU и DSP, включающую усовершенствованную генерацию программного обеспечения и средства обнаружения ошибок, оценочные и для разработки систем платы, а также интегрированные программные модули. Предложение включает набор средств разработки программ (SDK) и прикладной интерфейс (API), делающие возможной переносимость приложений между MCU и DSP, сохраняя вложения клиентов в наследуемый код.
Кроме того, для отладки программ без применения каких-либо аппаратных средств различными "третьими" фирмами создаются симуляторы DSP, которые достаточно точно воспроизводят функции кристалла DSP, включая все периферийные операции на кристалле, модификации памяти и регистров в соответствии с выполняемым программным кодом. Моделируется также функционирование конвейеризированных шин. Симулятор позволяет осуществить измерение времени выполнения кода, что особенно важно в приложениях DSP. Так при реализации на базе сигнального процессора контроллера системы активного гашения акустического шума (внутри автомобиля, самолета и т.п.) использование симулятора позволяет еще на этапе проектирования получить оценочные данные времени адаптивной настройки системы гашения и оценить ее быстродействие.
Возможности встроенного эмулятора на кристалле (OnCE) обеспечиваются через отладочный порт, сформированный по стандарту JTAG. Это позволяет проводить отладку встроенных систем в реальном масштабе времени. Имеется возможность устанавливать аппаратные и программные точки останова, просматривать и изменять содержимое регистров и памяти, двигаться по шагам или перешагивать через последовательности инструкций в приложениях.
Технический консалтинг и поставка отладочных средств по микропроцессорам данного семейства на российском рынке осуществляется фирмой КТЦ-МК (www.cec-mc.ru). Разнообразные университетские и образовательные программы фирмы Motorolla позволяют широко знакомить с последними достижениями в области микроэлектроники, конструирования и производства электронных блоков на основе элементной базы производства Motorolla студентов радиотехнических специальностей университетов.
Области применения процессоров семейства DSP56800
Процессоры семейства DSP568XX используются в различных мультифункциональных системах управления (управление двигателями, энергоустановками), в средствах связи, в системах активного управления волновыми полями различной природы и т.п.
Так например, в области связи (рис.6), приложения, использующие механизм сообщений, такие, как двухволновые пейджеры или портативное двухволновое цифровое радио, используют формат PCS - персональное обслуживание связи. Для этих приложений, требующих наличия сигнального процессора для обработки данных в реальном времени и микроконтроллера для управления периферийными устройствами, идеально подходит семейство DSP56800, так как обе эти функции могут быть выполнены на одном устройстве.
Например, сигнальный процессор выполняет операции голосового кодирования и декодирования, управление протоколами и предварительную коррекцию ошибок. DSP56800 с производительностью 20 MIPS может выполнять также функции модуляции и демодуляции, если это необходимо. Эффективные конструктивные решения семейства DSP56800 снижают энергопотребление.
Рис. 6. Использование DSP568XX в телефонии
Рис. 7. Система цифровых сообщений на базе DSP56800
Решения для основанных на двигателях электронных систем
Для повышения эффективности систем управления двигательными системами - такими как бесщеточные прямого тока (Brushless DC, BLDC), с постоянным магнитом (Permanent Magnet, PM), индукционные переменного тока (AC Induction, ACIM) и переключаемого магнитного сопротивления (Switched Reluctance, SR) - в последнее время все больше используются интеллектуальные цифровые контроллеры, которые объединяют в себе функции как MCU, так и DSP. Это дает возможность максимально гибко создавать эффективные решения начиная от простых систем с разомкнутым циклом управления до адаптивных и нейроадаптивных систем. Как отметил Дэйвид Тризенберг (David Triezenberg), директор по исследованиям и разработкам из Franklin Electric: - "Что мы приобрели с микроконтроллерами от Motorola - так это передовую архитектуру, обладающую чрезвычайно удачным и гибким модулем широтно-импульсной модуляции (PWM)." Устройства DSP56800 для управления двигателями от Motorola обладают множеством особенностей, разработанных для соответствия требованиям основанных на двигателях систем, включая: интегрированную FLASH-память, усовершенствованные модули ШИМ (PWM), оптимизированные для управления двигателями, интегрированные, со смешанными сигналами, периферийные устройства. В дополнение, семейство DSP56800 обладает синхронизацией АЦП и ШИМ. Все эти функции разработаны, с целью предоставления проектировщикам систем управления двигателями возможность оптимизировать алгоритмы.
Применение процессоров семейства DSP568XX в области систем активного гашения шума
Активная система снижения шума (например, низкочастотного шума выхлопа двигателя, шума в салоне автомобиля, самолета и т.п.) представляет собой адаптивную систему фильтрации, работающую в реальном времени, которая базируется на совокупности возможностей современной цифровой обработки сигналов. Хотя частоты достаточно низкие и, таким образом, скорость дискретизации составляет несколько кГц, требуется обработка данных в большом объеме с большой скоростью.
Одним из требований к аппаратным и программным средствам является их способность полностью обеспечивать обработку данных в электрическом канале системы до того, как входной шум достигнет динамика. Другое ограничение, накладываемое на систему, состоит в том, что электрическая модель должна иметь достаточную длину для описания с приемлемой точностью передаточной функции прямого акустического канала на нижней граничной частоте диапазона снижения шума. Это ограничение становится наиболее жестким при использовании в алгоритме арифметики с фиксированной точкой.
В системах активного гашения использование DSP позволяет значительно повысить качественные характеристики и снизить общую стоимость систем. Обработка оцифрованного аналогового сигнала, полученного от датчиков шумового поля, а также оперативное изменение параметров фильтрации являются как раз теми задачами, где преимущества DSP перед методами аналоговой фильтрации очевидны. Для решения этой задачи необходима скоростная обработка звуковых сигналов, чтобы полученная "противофаза" шумового сигнала не имела фазового сдвига.
Приведем несколько конкретных примеров систем активного управления волновыми полями. Так для повышения индивидуальной акустической защиты от низкочастотных шумов используются активные наушники (рис. 8).
Активные наушники представляют собой облегченные конструкции головных телефонов с установленными в них микропроцессорным блоком управления и системой миниатюрных излучателей. Они находят применение для защиты обслуживающего персонала сильношумящего технологического оборудования, энергоустановок, летчиков палубной авиации и т.п.
Также широкое использование системы активного гашения шума используются в транспортных средствах (автомобилях, электропоездах, самолетах и т.п.). Однако, если в салоне помимо шумовых сигналов присутствуют источники полезной информации, например, от автомобильной аудиосистемы, то работа встроенных системы активного гашения (САГ) практически полностью блокируется. В качестве внешнего шумового поля САГ воспринимает сумму шума и полезного сигнала и в результате уровень низкочастотных составляющих музыкального сигнала значительно снижается. Возможное решение проблемы эксплуатации двухканальной аудиосистемы совместно с встроенной в салон автомобиля САГ показано на рис. 9.
Рис. 8. Структурная схема гибридной системы "САГ-аудио"
Рис. 9. Время сходимости алгоритма LMS с использованием и без использования системы MIS
Гибридная система "САГ - аудио" использует метод подавления интерференции музыкальных сигналов позволяющий исключить аудиосигнал из сигнала датчика ошибки гашения. Это требует применения специальных LMS алгоритмов настройки фильтров, позволяющих точно оценить уровень аудиосигнала на выходе датчика ошибки. Необходимо чтобы метод подавления интерференции позволял адаптивно распознавать музыкальные составляющие и выделять их из сигнала ошибки гашения. Без использования метода подавления интерференции время сходимости LMS алгоритма значительно увеличивается и снижение внешнего шума невелико. Применение метода позволяет не только повысить на 3 - 5 дБ эффективность гашения, но и сократить время сходимости алгоритма (Рис. 9).
Выводы
Эффективный набор инструкций, выполняющихся за один командный цикл, множество шин, память программ и данных на кристалле, интерфейс внешней шины, стандартная периферия (последовательные порты, таймеры общего назначения, сторожевой таймер и таймер реального времени, порты ввода/вывода общего назначения (GPIO)) и отладочный порт делают семейство DSP56800 превосходным решением для встроенных задач управления в реальном времени.
Литература
- В.В.Корнеев А.В. Киселев Современные микропроцессоры - М.: Нолидж. 2000. 320 с. ил.
- Шахнов В.А., Власов А.И., Кузнецов А.С., Поляков Ю.А. Нейрокомпьютеры - архитектура и схемотехника. - М.: Машиностроение. 2000. - 64 с. (Библиотечка журнала информационные технологии №9).
- Шахнов В.А., Власов А.И., Кузнецов А.С., Поляков Ю.А. Нейрокомпьютеры - архитектура и реализация// ChipNews. №6. 2000. - С.24-31.
- Техническое обеспечение цифровой обработки сигналов. Справочни./Куприянов М.С., Матюшин Б.Д., Иванова В.Е. - СПб. "Форт", 2000. - 752 с.
- www.gaw.ru
- http://ebus.mot-sps.com/ProdCat/sg/0,1251,M959617836292,00.html
- www.cec-mc.ru
- http://cdl.iu4.bmstu.ru
|