Применять сигнальные циклоры так же просто, как и микроконтроллеры
В аналитической статье рассмотрено семейство DSP568xx микросхем компании Motorola, в которых совмещены особенности высокоэффективных цифровых сигнальных циклоров и универсальных микроконтроллеров.
Возрастающая производительность и простота применения цифровых сигнальных циклоров (DSP) вывели их на уровень серьёзной альтернативы микроконтроллерам. Чтобы эти циклоры можно было применять в устройствах управления они должны выполнять функции общего назначения. Для этого ядро должно выполнять функции микроконтроллера, а в состав микросхемы должен входить соответствующий набор периферийных устройств: таймеров, интерфейсов, аналого-цифровых преобразователей, модулей памяти.
В ответ на возросшие запросы потребителей фирма Motorola разработала новую архитектуру микросхемы, ориентированную как на выполнение сложных алгоритмов цифровой обработки сигналов, так и на решение задач управления. Семейство микросхем DSP568xx построено на базе ядра 16-разрядного циклора DSP56800 с фиксированной точкой. Это ядро предназначено для эффективного решения задач управления и цифровой обработки сигналов. Реализованный в нем набор команд обеспечивает цифровую обработку сигналов с эффективностью лучших DSP общего назначения и отвечает требованиям простоты создания компактных программ управления.
Ядро DSP56800
Ядро DSP56800 является программируемым 16-разрядным КМОП циклором, предназначенным для выполнения цифровой обработки сигналов в реальном масштабе времени и решения вычислительных задач. Ядро DSP56800 ( 1) состоит из четырех функциональных устройств: управления программой, генерации адресов, арифметико-логической обработки данных, обработки битов. Для увеличения производительности операции в устройствах выполняются параллельно. Каждое из устройств имеет свой набор регистров и логику управления и организовано что может функционировать независимо и одновременно с тремя другими. Внутренние шины адресов и данных связывают между собой память, функциональные и периферийные устройства (регистры периферийных устройств расположены в области памяти). ядро реализует одновременное выполнение нескольких действий: устройство управления выбирает первую команду, устройство генерации адресов формирует до двух адресов второй команды, а АЛУ выполняет умножение третьей команды. Есть альтернативная возможность: в третьей команде операцию может выполнять не АЛУ, а устройство обработки битов. Конвейерная архитектура позволяет реализовать параллельную работу устройств, входящих в состав микросхемы, и существенно сократить время выполнения программы.
Конвейерная архитектура ядра DSP56800 оптимизирована для обеспечения эфф. цифровой обработки сигналов, компактности программ управления и обработки сигналов, и удобства программирования. Ниже приведены некоторые характеристики сигнального циклора:
- производительность 40 MIPS при тактовой частоте 80 МГц и напряжении питания 2.7…3.6 В
- наличие набора команд совмещенной обработки, имеющих режимы адресации, характерные для программ цифровой обработки сигналов
- однотактный параллельный 16х16 умножитель-сумматор
- два 36-разрядных аккумулятора, включая биты расширения
- однотактное 16-разрядное устройство циклического сдвига
- аппаратная реализация команд DO и REP
- три внутренние 16-разрядные шины данных и три 16-разрядные шины адреса
- одна 16-разрядная шина внешнего интерфейса
- набор команд управления и цифровой обработки
- режимы адресации такие же, как в сигнальных циклорах, и команды, снижающие объем программы
- эффективный компилятор языка С и поддержка локальных переменных
- стек подпрограмм и прерываний, не имеющий ограничения по глубине.
1. Структурная схема ядра DSP56800
Для любого высокопроизводительного вычислителя, например цифрового сигнального циклора, критичным является цикл ввода/вывода данных с большой скоростью, т. к. при этом замедляется обработка данных. Снижения производительности можно избежать путем использования гибкого набора команд совмещенной с выполнением вычислительных операций передачи данных. Реализованы два типа операций совмещенной передачи - одинарная совмещенная передача и сдвоенное совмещенное чтение. Оба типа операций существенно повышают скорость цифровой обработки сигналов и численных расчетов. Все команды DSP56800 с совмещенной передачей выполняются за один командный цикл и занимают одно слово в памяти программ.
Однократная совмещенная передача позволяет выполнить арифметическое действие и одну передачу данных (чтение или запись) за один командный цикл. Например, можно одной командой выполнить сложение двух чисел и одновременно данные из регистра АЛУ записать в память. Одновременно с этим в устройстве вычисления адресов производятся соответствующие вычисления.
Команда типа двойного совмещенного чтения допускает выполнение арифметической операции и чтения двух величин из Х-памяти данных в одной команде за один командный цикл. Например, можно в одной команде выполнить умножение двух чисел, просуммировать с третьим, округлить результат и одновременно выполнить пересылку двух чисел из Х-памяти данных в два регистра АЛУ.
Встроенная память
Обычные микроконтроллеры, имеют объем встроенной в микросхему памяти, достаточный для выполнения сложных алгоритмов управления без использования дополнительной внешней памяти. Многие микросхемы DSP содержат встроенную память небольшого объема и, им требуется внешняя память для хранения программы. Микросхемы же семейства DSP56F8хх имеют встроенную память большого объема. Гарвардская архитектура DSP обеспечивает наличие двух независимых областей памяти - данных и программ. Для хранения в микросхеме данных и программ используется встроенная оперативная память и флэш-память.
Объём памяти каждого типа для микросхем семейства DSP56F8хх приведен в табл. 1. Как память программ, так и память данных могут быть расширены путем подключения внешней памяти. Микросхемы DSP56F803, DSP56F805, DSP56F807 допускают расширение объема внешней памяти до 64 К слов.
Таблица 1. Объем встроенной памяти микросхем семейства DSP568xx
Встроенная память | DSP56F801 | DSP56F803 | DSP56F805 | DSP56F807 | Флэш-память программы | 8k x 16 | 32k x 16 | 32k x 16 | 60k x 16 | Флэш-память данных | 2k x 16 | 4k x 16 | 4k x 16 | 8k x 16 | ОЗУ программ | 1k x 16 | 512 x 16 | 512 x 16 | 2k x 16 | ОЗУ данных | 1k x 16 | 2k x 16 | 2k x 16 | 4k x 16 | Флэш-память программы загрузки | 2k x 16 | 2k x 16 | 2k x 16 | 2k x 16 | Широкий набор периферийных устройств
Широкий набор периферийных устройств обычно являлся базовой характеристикой микроконтроллеров, встраиваемых в устройства общего назначения. С другой стороны, обычные DSP были ориентированы на численную обработку сигналов и не содержали полного набора встроенных периферийных устройств, необходимых для решения задач управления. Использование внешних периферийных устройств приводит к увеличению числа микросхем, усложнению платы и существенному возрастанию стоимости изделия.
Микросхемы семейств DSP56F8хх ( 2, табл. 2) имеют широкий набор встроенных периферийных устройств, пригодных для использования в системах управления всех типов. Этот набор встроенных устройств существенно снижает цену системы по сравнению с реализацией устройств управления на основе традиционных DSP. Более того, так как встроенные устройства имеют заранее определенный интерфейс с ядром DSP (в отличие от внешних периферийных устройств), то упрощаются разработка системы, программирование и управление периферийными устройствами. время разработки программ сокращается.
2. Структурная схема микросхемы DSP56F805
Таблица 2. Периферийные устройства микросхем семейства DSP568xx
| DSP56824 | DSP56F801 | DSP56F803 | DSP56F805 | DSP56F80 | Тактовая частота, МГц | 70 | 80 | 80 | 80 | 80 | Производительность, MIPS | 35 | 40 | 40 | 40 | 40 | Интерфейсы | 2SPI, SCI, SSI | SCI, SPI | 2SCI, SPI,
CAN | 2SCI, SPI,
CAN | 2SCI, SPI,
CAN | АЦП | - | 2 четырехкан.
12-разрядн. | 2 четырехкан.
12-разрядн. | 2 четырехкан.
12-разрядн. | 4 четырехкан.
12-разрядн. | ШИМ-генераторы | - | 6-канальн.
15-разр. | 6-канальн.
15-разр. | 2 6-канальн.
15-разр. | 2 6-канальн.
15-разр. | Прочие функциональные особенности | ФАПЧ, 3-кан. таймер | НВИ*, ФАПЧ, 2-кан.таймер | НВИ*, ФАПЧ, 5-кан.таймер | НВИ*, ФАПЧ, 6-кан.таймер | НВИ*, ФАПЧ, 6-кан.таймер | Наличие в продаже | Выпускается | С 1 кв. 2001 г. | Образцы | Образцы | С 1 кв. 2001 г. | Микросхема DSP56F805 содержит следующие периферийные блоки:
- два шестиканальных ШИМ-генератора (PWMA & PWMB) с привязкой импульсов к центру или краю временного интервала, программированием длительности "мертвого времени" и защитой в случае возникновения аварийных режимов работы; каждый генератор снабжен тремя сенсорами тока и четырьмя входами аварийного отключения
- два 12-разрядных АЦП с одновременной выборкой, снабженные входными четырехканальными мультиплексорами
- два квадратурных (синусно-косинусных) декодера (Quad Dec0 & Quad Dec1), каждый с четырьмя входами (или два дополнительных четырехканальных таймера A&B)
- два четырехканальных таймера общего применения с шестью входами: таймер C с двумя входами и таймер D с четырьмя входами
- контроллер CAN интерфейса A/B с двухвыводными портами приемопередатчиков
- два двухпроводных последовательных коммуникационных интерфейса (SCI0 & SCI1) или 4 дополнительных линии GPIO
- последовательный интерфейс периферии (SPI) с настраиваемым четырехпроводным портом или четыре дополнительные линии GPIO
- сторожевой таймер контроля функционирования циклора
- два программируемых входа внешних прерываний
- четырнадцать программируемых и восемнадцать мультиплексированных универсальных портов ввода/вывода (GPIO)
- вход принудительного сброса циклора
- порт JTAG/OnCE™ (встроенного эмулятора) для отладки, не зависящей от тактовой частоты циклора
- программируемый генератор с ФАПЧ для формирования тактовой частоты ядра DSP.
Обработка прерываний
В системах управления, интенсивно используются прерывания от внешних устройств и внутренних периферийных модулей. Обычно микроконтроллеры поддерживают несколько типов внутренних и внешних прерываний и обеспечивают много вариантов маскирования и установки приоритетов.
Обычные DSP обрабатывают только небольшой набор прерываний, которые напрямую взаимодействуют с его ядром. В отличие от них, кристалл DSP56F80х поддерживает большое число прерываний. Хотя число адресуемых прерываний ядра DSP56F8хх мало в сравнении с общим число источников прерываний, многоуровневая встроенная схема мультиплексирования обеспечивает полную и гибкую поддержку 64 источников прерываний, каждый из которых может маскироваться и имеет программно устанавливаемый приоритет.
Средства разработки
Разработка систем на базе микросхем семейства DSP56800 отличается простотой. Внешняя шина обеспечивает выполнение и отладку прикладных программ, размещенных во внешней памяти. Допускается хранение программ и данных во внешней памяти. Чтобы обеспечить функционирование внешней памяти с различным быстродействием программируемые временные задержки для памяти программ и памяти данных могут устанавливаться раздельно.
Набор команд общего назначения, который используется в микроциклорах с развитыми режимами адресации и командами обработки битов, дает разработчику возможность просто освоить программирование. Сложности, характерные для DSP с предшествующими архитектурами, не доставят ему беспокойства. Программный стек обеспечивает неограниченное число прерываний и вложений подпрограмм, и поддержку передачи параметров и локальных переменных. Опытный программист найдет широкий набор команд арифметических операций и различные одинарные и двойные обращения к памяти, выполняющиеся совместно с арифметическими операциями. Эффективная работа трансляторов для микросхем с архитектурой DSP56800 обеспечивается использованием в микросхемах команд общего назначения.
Порт отладки JTAG позволяет отлаживать микросхему в составе законченной системы пользователя. Через порт можно задать точки останова программы, проверить и изменить содержимое регистров и ячеек памяти, выполнить другие действия по отладке системы.
Motorola предлагает полный набор программных и аппаратных средств быстрой разработки и отладки систем, реализованных на кристаллах семейства DSP568хх. Средства разработки включают:
- оценочные платы для каждой модификации микросхемы
- интегрированную среду отладки "Metrowerks Code Warrior" со встроенным крос-компилятором языка С.
Программная среда разработки предоставляет программисту гибкое модульное окружение, обеспечивая полное использование возможностей микросхем. Среда допускает различные конфигурации памяти данных и позволяет создавать перемещаемый код, выполнять символьную отладку, гибко компоновать объектные файлы. Реализованы средства создания архива библиотек прикладных программ.
Motorola разработала новый комплект для разработки встроенного программного обеспечения (Embedded Software Development Kit, SDK), дополняющий существующую среду разработки для DSP568xx. Он формирует программную инфраструктуру, обеспечивающую разработку высокоэффективных программ, полностью переносимых и допускающих повторное использование не только в циклорах семейства DSP568хх, но в будущем и в циклорах с другой архитектурой, поддерживаемой SDK. Этот программный продукт, выпускаемый для цифровых сигнальных циклоров фирмы Motorola, предназначен для ускорения разработки и более быстрого выхода продуктов на рынок.
Заключение
Стандартные микроконтроллеры успешно применяются в устройствах управления общего назначения. но невысокая производительность не позволяет использовать их в устройствах с повышенными параметрами. Эта ниша заполняется микросхемами семейства DSP568хх, имеющими производительность DSP и снабженными набором периферийных устройств, которые традиционно используют разработчики систем управления.
Архитектура ядра DSP568хх обеспечивает эффективную цифровую обработку данных и решение задач управления. Такие характеристики этой архитектуры, как высокая производительность и набор команд общего назначения, обеспечивают ей лидирующие позиции в тех областях цифровой обработки сигналов, в которых требуется низкая стоимость и малое энергопотребление. Компактность программ и высокая эффективность компилятора позволяет также снизить стоимость системы за счет уменьшения требуемого объема встроенной памяти.
Микросхемы семейства DSP568хх предназначены для применения в недорогих устройствах. Эти микросхемы ориентированы на применение в бытовой технике, для которой необходима низкая стоимость и не требуются высокие параметры. К таким изделиям относятся:
- специализированные и многоцелевые контроллеры
- проводные и беспроводные модемы
- системы беспроводной передачи цифровых сообщений
- цифровые телефонные автоответчики
- устройства управления серводвигателями и электродвигателями переменного тока
- цифровые камеры.
Микросхемы этого семейства имеют производительность специализированных DSP. Благодаря наличию набора встроенных периферийных устройств эти микросхемы отвечают требованиям систем управления. Встроенные блоки памяти и периферийные устройства могут существенно снизить стоимость системы, потому что в этом случае уменьшается число внешних компонентов.
Подробно с особенностями микросхем семейства DSP568xx можно ознакомиться по специализированным публикациям фирмы Motorola:
- DSP56800FM/D: DSP56800 Family Manual.
- DSP56F801-7UM/D: DSP56F80x User's Manual.
- DSP56824UM/D: DSP56824 User's Manual.
- DSP56800WP1/D J.P. Gergen, P.Hoang, E.A. Cchemaly: Novel Digital Processing Architecture with Microcontroller Features, White Paper, Motorola.
- DSP5680x Architecture Captures Best of DSP and MCU Worlds, Internal Paper, Motorola.
Статья подготовлена специалистом отделения микроконтроллеров компании Motorola, авторизованный перевод Н. ЕсинаЧитайте далее: Фьюзеры лазерных принтеров - измерения сопротивлений в некоторых моделях, Восстановление картриджей для лазерных принтеров Oki, Ремонт крышки принтеров Hewlett Packard LaserJet 5L/6L., Практические рекомендации по шине I2C, Два случая ремонта HP LJ1200 и Xerox P8ex, Полупроводниковый ключ переменного тока, Цифровые потенциометры от Dallas'а, Современные цифро-аналоговые преобразователи фирмы Maxim - Часть II, Азбука преобразования. Часть 1, Азбука преобразования. Часть 2, Комплексная система учета энергоресурсов в квартирах жилых домов на основе сети, Использование модулей Telecontrolli в автоматизированных системах контроля и уче, Электронные карты в системах предоплаты за электроэнергию, Тепло или холодно? (Цифровые термометры Dallas Semiconductor), Печатные платы в домашних условиях, Flash микроконтроллеры MAX7651, MAX7652 с 12-разрядным АЦП, Беспроводная передача данных, Телефонные номеронабиратели фирмы Winbond, Источники питания для LCD и LED дисплеев,
|