Новый мощный 32-разрядный микроконтроллер от Renesas

№ 6’2003
В современных задачах, в первую очередь, необходимо быстро обрабатывать и передавать как можно большее количество информации. Такая способность находит применение во всем. Автоэлектроника - система контроля дороги, автомобильная система навигации. Промышленная электроника - датчики, тепловизоры, автоматические охранные системы. Сети и телекоммуникации - поддержка современных быстрых протоколов передачи: чем быстрее и больше я передам, тем дешевле мне это обойдется. Наконец, бытовая электроника - климат-контроль, кондиционирование, управление приводами и многое другое. Компания Renesas представляет семейство процессоров SH3 и его наиболее типичного представителя - микропроцессор SH7709.

В современных задачах, в первую очередь, необходимо быстро обрабатывать и передавать как можно большее количество информации. Такая способность находит применение во всем. Автоэлектроника — система контроля дороги, автомобильная система навигации. Промышленная электроника — датчики, тепловизоры, автоматические охранные системы. Сети и телекоммуникации — поддержка современных быстрых протоколов передачи: чем быстрее и больше я передам, тем дешевле мне это обойдется. Наконец, бытовая электроника — климат-контроль, кондиционирование, управление приводами и многое другое. Компания Renesas представляет семейство процессоров SH3 и его наиболее типичного представителя — микропроцессор SH7709.

Общая характеристика ядра SuperH

Ядро SuperH (SH), наряду с 80С51, ARM и AVR, стало одним из наиболее распространенных микропроцессорных ядер, используемых при проектировании современных 32-разрядных процессоров и контроллеров. Ядро имеет RISC-архитектуру, то есть сокращенный набор команд, а также сложный и широкий дешифратор.

Ядро SuperH состоит из шести семейств. Семейство SH1 — самое первое из SuperH, которое уже практически снято с производства. Семейство SH2 — это микроконтроллеры, ориентированные прежде всего на применение в автоэлектронике и управлении двигателями. Для этих целей микроконтроллеры семейства SH2 имеют многоканальные АЦП и ЦАП с разрешением 10 разрядов, наборы таймеров, включая PWM-модули для управления шаговыми двигателями, CAN-контроллеры, Flash до 2 Мбайт и RAM до 48 кбайт. Рекомендации к применению микроконтроллеров семейства SH2-DSP примерно такие же, но нацелены они на алгоритмы обработки сигналов более высокого уровня. На этом ядре помимо основного MPU смонтирован также и цифровой сигнальный процессор (Digital Signal Processor — DSP), который имеет собственный набор регистров, собственный умножитель, контроллер для параллельного выполнения нескольких задач, память X и Y, а также Flash и RAM больших объемов. К семейству SH3 относится ядро процессора, о котором пойдет речь в этой статье, поэтому описание ядра будет детально приведено в следующем параграфе. Семейство SH3-DSP, это в чистом виде SH3, к которому добавлен упомянутый выше цифровой сигнальный процессор. Ну и наконец, последнее из существующих семейств SuperH — это семейство SH4. Рекомендовано применять процессоры этого семейства для сетевых и телекоммуникационных приложений, систем обработки сигналов, мобильных терминалов и прочего, требующего высокой скорости обработки информации. Процессоры семейства SH4 не содержат аналоговых контуров, но зато имеют устройство для операций с плавающей точкой (FPU — Floating Point Unit), что значительно ускоряет процесс вычисления и делает программный код более компактным. Сейчас разрабатываются следующие поколения ядра SuperH — семейства SH5, SH6 и SH7. Они должны работать с тактовой частотой до 1 ГГц и иметь в своем арсенале все необходимые средства для максимально эффективной высокоскоростной обработки информации. Представьте, известный современный CISC-процессор, работающий с тактовой частотой 3 ГГц, выполняющий команду в среднем за девять тактов. А теперь представьте RISC-процессор, работающий с тактовой частотой всего 1 ГГц, но выполняющий команду в среднем за полтора такта. Комментарии здесь излишни…

Общая характеристика ядра SH3

Процессор SH7709, упомянутый в названии статьи, относится к семейству RISC-процессоров от Renesas SH3. Опишем в двух словах характеристики это семейства. Все микросхемы семейства SH3 являются микропроцессорами в том смысле, что у них отсутствует встроенная программная память и память данных. Действительно, это вполне закономерно, ведь ядро работает на частоте до 200 МГц и имеет достаточную производительность для обработки данных с использованием сложных алгоритмов. Для этого требуется достаточно сложная, разветвленная, а следовательно, и большая по объему программа, а также порядочного размера ОЗУ для хранения временных данных. Размещение такой памяти, да еще и с соответствующим быстродействием, неминуемо привело бы к значительному увеличению стоимости чипа. Поэтому Renesas не пошла по пути интегрирования встроенной памяти, а предложила использовать внешнюю. Несмотря на это, процессоры семейства SH3 имеют встроенную кэш-память команд размером в несколько килобайт. Процессоры имеют интерфейсы сопряжения со статической и динамической памятью, стандартные интерфейсы типа SPI, I2C, UART/USART, наборы таймеров.

Семейство процессоров, построенных на ядре SH3, прежде всего, ориентировано на применение в телекоммуникационной сфере и обработке сигналов, в сложной автомобильной автоматике, такой, как автонавигационные системы и системы контроля дороги. Для процессоров семейства SH3 существует большое количество отладочных средств, таких, как компиляторы языков высокого уровня, трансляторы ассемблера для различных операционных платформ (Windows, UNIX). Большое количество отладочных плат и плат разработчика, как фирменных Hitachi, так и сторонних производителей, например, известный LAUTERBACH. Все это делает ядро SH3 универсальным и компромиссным решением практически для любой задачи.

Особенности микропроцессора SH7709

Микропроцессор SH7709 выделяется из списка своих собратьев по семейству тем, что у него имеется практически полный набор необходимой периферии для решения различного рода ресурсоемких задач, наивысшая производительность, обусловленная наивысшей среди семейства SH3 тактовой частотой, а также наличие большого кэша команд для оптимизации скорости выполнения. Приведем технические характеристики этого процессора:

  1. Рабочая частота варьируется от 100 до 200 МГц.
  2. Скорость 260/217 MIPS.
  3. Кэш команд 16 кбайт.
  4. Встроенный умножитель частоты. Умножает до 24 раз.
  5. Устройство управления памятью. Адресное пространство до 4 Гбайт с возможностью линейной и страничной адресации.
  6. Напряжение питания от 1,7 В на 100 МГц до 3,3 В на 200 МГц.
  7. Встроенный аппаратный умножитель. Два 32-разрядных операнда и 64-разрядный результат.
  8. Семь внешних источников прерывания, в том числе один немаскируемый.
  9. Контроллер пользовательской остановки (User Break Controller). Поддержка различных режимов и критериев остановки.
  10. Системный контроллер внешней шины: оптимизирован для использования с SRAM и SDRAM.
  11. Наличие H-UDI (Hitachi User Debugging Interface). Совместимость с интерфейсом JTAG.
  12. 3-канальный 32-разрядный таймер с режимом capture по входу.
  13. Часы реального времени, работающие от встроенного генератора 32 кГц с точностью 1/256 секунды.
  14. Три последовательных интерфейса. Один с поддержкой интерфейса для SmartCard, другой совместим с IrDA 1.0, третий — с SCIF.
  15. Контроллер прямого доступа к памяти 4-канальный со стеком FIFO и возможностью передачи данных 8/16/32-разрядов и 16 байт.
  16. Двенадцать 8-разрядных портов ввода-вывода.
  17. Встроенный 8-канальный 10-разрядный АЦП со временем преобразования 16 мкс.
  18. Встроенный 2-канальный 8-разрядный ЦАП со временем преобразования 10 мкс.

Микропроцессор SH7709 может быть использован для любых приложений. Возьмем, например, обработку сигналов: пусть необходимо спроектировать фильтр с произвольной характеристикой — отличная проверка возможностей микропроцессора SH7709. Для сложности попробуем организовать еще и смеситель для переноса нашего сигнала на определенную несущую частоту. Алгоритм работы следующий: аналоговый сигнал оцифровывается, затем к выборке применяется преобразование Фурье, затем из преобразованного сигнала выбрасывается все лишнее (наш фильтр), затем обратное преобразование Фурье, затем умножение на некоторый опорный гармонический сигнал (наш смеситель или гетеродин), затем вновь преобразование Фурье, затем избавление от бокового канала (вновь наш фильтр), затем обратное преобразование Фурье, и, наконец, переход от цифрового сигнала к аналоговому. Определим необходимое количество внешних устройств, которое требуется подключить к процессору. Оказывается, что для выполнения всех вышеописанных действий требуется только… внешняя память. Все остальное включает в себя процессор.

На вход INT0 процессора поступил сигнал прерывания, в процедуре обработки которого записано, что надо считать код управляющей команды с одного из каналов SPI и в зависимости от этого выполнить одно или другое действие. Допустим, пришла команда начать обработку. Организованный программный цикл опросит последовательно все восемь каналов АЦП столько раз, сколько это будет нужно для более точной обработки, и поместит значения в память. При помощи одного из компиляторов C++, в состав которых в обязательном порядке входит пакет математических библиотек, напишем код, который осуществит преобразование Фурье над массивом измеренных напряжений. Выполняться оно будет быстро за счет применения встроенного умножителя. После этого вырежем все, что ненужно (высшие гармоники, например) и сохраним массив в этом же месте. У нас есть отфильтрованный красивый сигнал. Перенесем его на требуемую нам частоту. Для этого вновь воспользуемся математической библиотекой для обратного преобразования Фурье, а затем преобразованный сигнал умножим на некоторый опорный, который или зашит в памяти, или поступает на аналоговый вход АЦП процессора. Сигнал перенесен, но есть и побочный более высокочастотный канал, который надо отфильтровать. Вновь преобразование Фурье, снова фильтр и вновь обратное преобразование Фурье. Далее массив преобразованного сигнала поступает на ЦАП, откуда выводится аналоговое напряжение.

Процессор работает с тактовой частотой 200 МГц, скорость преобразования в канале АЦП — 15 мкс, он имеет встроенный умножитель и контроллер прямого доступа к памяти. Более того, это RISC-ядро, выполняющее команду за 1 такт. Сколько времени вы потратите на все вышеперечисленные операции? Ответ такой: известный процессор с тактовой частотой 1,5 ГГц под управлением ОС Windows сделает то же самое медленнее!

Ну и резонный вопрос: а где это можно применить? Небольшой пример. Подключите к одному из входов АЦП микрофон. К другому входу АЦП подключите мелодию, под которую вы хотите спеть песню. Выделите программно (преобразование Фурье и фильтрация) из музыки ведущую гармонику (ноту). Очистите свой голос от хрипа (с помощью фильтра обрезаются высшие гармоники, что и есть хрип). Умножьте свой голос на несущую ноту (гетеродин). Удалите верхний канал (преобразование Фурье и фильтрация). Передайте данные в ЦАП. Подключите динамик к выходу через усилитель, и… Лучано Паваротти не сравнится с вами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *