RX — новая вершина в эволюции микроконтроллеров

№ 8’2010
PDF версия
Фирма Renesas помогает современным разработчикам реализовать их самые смелые мечты о следующем поколении микроконтроллеров. Один из разработчиков заказывает высокую производительность, второй — плотную интеграцию, третий — лучшие характеристики флэш-памяти, четвертый хочет повысить плотность кода, а пятый заинтересован в расширении возможностей. И Renesas воплотила все их пожелания в семейство RX.

Введение

Семейство микроконтроллеров (МК) RX —
это результат глубоких и фундаментальных
исследований, основанных на десятилетиях
опыта и обратной связи с клиентами. Линейку
продуктов RX можно расположить среди аналогичных продуктов компании Renesas между
линейкой R8C снизу и линейкой SH сверху.
Семейство RX — это 32-разрядные микроконтроллеры, снабженные CISC-ядром с оптимизированной гарвардской архитектурой, что
позволяет достичь исключительно высокой
плотности кода, а также лучшей в своем классе производительности в 1,65 млн операций/с.
Эти микроконтроллеры работают на частоте
100 МГц и имеют встроенную флэш-память
с нулевой задержкой доступа, выполненную
по технологии 90 нм и отличающуюся высокой надежностью.

В ближайшее время ожидается стремительное расширение семейства RX, поскольку его
базовая концепция привязки к платформе
позволяет разрабатывать новые продукты
за весьма короткое время, не превышающее
шести месяцев.

Рис. 1. Перспективы развития семейства RX600

На рис. 1 показаны основные области применения семейства RX600. В группе микроконтроллеров, применяющихся для управления сетевым оборудованием, в 2010 году
было разработано более 30 моделей, а в группе микроконтроллеров общего назначения — почти 40 моделей. Компания Renesas
готовит к выпуску серию ASSP (стандартные
продукты специального назначения), что
может быть исключительно полезным для
заказчиков, изделия которых имеют вертикальную организацию, поскольку продукты ASSP всегда обладают преимуществами
перед МК общего назначения. Примером такого специального применения может быть
группа из 15 моделей микроконтроллеров
для управления двигателями.

Для десятков тысяч заказчиков компании
Renesas, уже работающих с семействами
Н8 и М16С, будет очень просто переключиться на использование семейства RX, поскольку
они смогут продолжать применение привычных периферийных устройств, а средства
разработки и отладки RX предназначены для
работы в среде HEW IDE, с которой заказчики, как правило, хорошо знакомы. В сущности, новое семейство RX разработано компанией Renesas для того, чтобы предоставить
в распоряжение ее заказчиков наилучшую
на сегодня технологию разработки МК среднего класса, превосходящую любую другую
архитектуру подобных микроконтроллеров.

Оптимизированная гарвардская
CISC-архитектура

Рис. 2. Блок-диаграмма оптимизированной гарвардской архитектуры

Как было уже сказано, в семействе RX
использована оптимизированная гарвардская архитектура (рис. 2). Архитектуры
такого типа применяют раздельные адресные пространства для хранения команд
и данных, так что доступ к данным и выборка команд могут происходить одновременно. Недостатком классической гарвардской архитектуры является невозможность
динамического перераспределения данных
между памятью (обычно это ЗУ с произвольным доступом, RAM) и кодом программы.
Это увеличивает время загрузки и приводит
к неэффективным затратам памяти. В классической фон-неймановской архитектуре программы и данные хранятся в одном
и том же массиве памяти и передаются в процессор по одной и той же шине, что устраняет описанный выше недостаток, но за счет
замедления скорости обмена информацией.
Усовершенствованное семейство RX вобрало
в себя все лучшее из обоих типов архитектур:
в нем используются раздельные шины адреса и данных, в частности 64-разрядная шина
для кода, и общая память. Другими словами,
такая архитектура имеет гарвардскую скорость и фон-неймановское экономичное использование ресурсов памяти.

Рис. 3. Результаты сравнения пользовательских программ

Компанией Renesas были проведено изучение влияния числа регистров на быстродействие, а также размеры кода и самой микросхемы (рис. 3). При использовании различных
пользовательских программ было найдено
оптимальное число регистров общего назначения. Исследования показали, что при наличии восьми регистров значительно падает
быстродействие, а объем, занимаемый программным кодом, неоправданно возрастает.
При сокращении числа регистров объем кода
уменьшается, а быстродействие растет, но при
этом повышается плотность интеграции
и размеры самого чипа. Например, если код
команды ADD имеет длину два байта, то это
обеспечивает обращение к 16 регистрам. Если
число регистров превышает 16, размер кода
команды должен быть больше на один разряд
для соответствия увеличенному числу регистров. Это ведет к увеличению объема логики
декодирования и ряда связанных с этим факторов, что в конечном итоге неизбежно приводит к увеличению размеров чипа.

Результаты исследования показывают, что
при оптимизации по двум параметрам —
размер кода и размеры чипа — оптимальной является конфигурация из шестнадцати
32-разрядных регистров (R0–R15), что обеспечивает наилучшее сочетание быстродействия, размеров кода и самого чипа. Регистры
R1–R15 могут быть использованы в качестве
как регистров данных, так и адресных регистров (рис. 4). Регистр R0 выполняет при
этом двойную роль, его используют как регистр общего назначения и как указатель
стека (SP). В качестве указателя стека регистр
может переключаться либо на функцию
указателя стека прерываний (interrupt stack
pointer, ISP), либо на пользовательский указатель стека (user stack pointer, USP) в зависимости от состояния разряда указателя стека
(U) в слове состояния процессора PSW.

Рис. 4. Конфигурация регистров в семействе RX

Процессорное ядро МК семейства RX снабжено блоком вычислений с плавающей запятой, что несколько необычно для устройств
такого класса. Это предоставляет дополнительное преимущество, так как при вычислениях используются регистры центрального
процессора вместо собственных регистров
МК, что помогает избежать информационных потерь, характерных при работе с сопроцессором для операций с плавающей запятой. В семействе RX математический сопроцессор для операций с плавающей запятой
(FPU) глубоко интегрирован в ядро процессора. FPU реализует следующие операции:
сложение, умножение, деление, вычитание
и операции с целыми числами (рис. 5).

Рис. 5. Блок-диаграмма внутренней архитектуры группы RX62N

Для обработки целочисленных данных
в ЦПУ RX имеются такие вычислительные
модули, как умножитель, делитель и сдвиговый регистр. Эти операции применяются при
обработке алгоритмов цифровой обработки
сигналов (DSP), например, повторяющиеся
операции умножения с накоплением, типичные для вычисления параметров фильтра.

Еще одна важная характеристика любого
МК — скорость его реакции на прерывания.
По этой причине ядро МК RX снабжено
весьма гибкой системой прерываний, позволяющей разработчикам с успехом сопрягать
работу микроконтроллера с другими пользовательскими системами.

МК семейства RX имеет три различных
типа прерываний:

  • нормальное прерывание;
  • быстрое прерывание;
  • высокоскоростное прерывание.

В режиме нормального прерывания в стеке,
использующем команды сдвига, сохраняется
содержимое соответствующих регистров, так
что все регистры общего назначения доступны для использования подпрограммами обработки прерывания (ISR). В режиме быстрого прерывания содержимое счетчика команд
и слово состояния процессора автоматически
сохраняются в специальных регистрах для
резервирования данных (BPSW и BPC), что
уменьшает время обработки прерываний.

В режиме высокоскоростного прерывания выделяется до четырех регистров
общего назначения для использования
алгоритмом прерывания, что позволяет
достичь еще большей скорости и довести
время обработки прерываний до 5 тактов
синхросигналов.

В архитектуре МК RX предусмотрено
5 внутренних шин, что гарантирует бесперебойную обработку информации (рис. 6).
Шина передачи команд имеет ширину
в 64 разряда, а остальные шины — 32-разрядные. Среди них — шина прямого доступа
к памяти (DMA), шина управления передачей данных (DTC) и шина прямого доступа
к памяти по Ethernet (E-DMA).

Рис. 6. Пятиступенчатый канал связи

Помимо этого, в RX600 предусмотрен еще
один, внешний модуль DMA, обозначаемый
как EXDMA, с помощью которого можно
обмениваться данными непосредственно
между двумя внешними ресурсами в течение одного шинного цикла. Типичным примером применения этого модуля является
подключение внешнего статического ОЗУ
(SRAM) к трансфлективному TFT-дисплею,
работа которого основана на применении
тонкопленочных транзисторов. Статическое
ОЗУ выполняет функцию буфера кадров
в дисплее, а модуль EXDMA пересылает
хранящийся в нем видеоконтент непосредственно на TFT-дисплей, не обращаясь к ресурсам микроконтроллера.

Выборка команд производится по 64-разрядной шине, поэтому благодаря переменной длине команд, используемых в CISC-архитектуре процессора, за один такт загружается от 1 до 8 команд. Обмен происходит
через 5-ступенчатый канал связи, имеющий четыре 8-разрядные очереди команд.
Команды загружаются в такие очереди
вплоть до их заполнения независимо от завершения этапа декодирования.

Часто используемые команды обычно коротки, что делает код компактным. Многие команды выполняются за 1 такт синхросигналов,
что ускоряет работу программного обеспечения. Центральный процессор имеет 73 базовые
команды, 8 команд математического сопроцессора с плавающей запятой и 9 DSP-команд,
а также 10 способов адресации, включая прямой обмен между регистрами, между регистром и памятью и побитовые операции.

Модуль защиты памяти (MPU)

Современные электронные системы разрабатываются для использования в непростом
радиоэлектронном окружении, где требования к безопасности и надежности возрастают
прямо пропорционально сложности системы.
Поэтому со стороны как разработчиков систем, так и местных законодательных органов выдвигаются требования к таким свойствам аппаратного обеспечения, как защита
работоспособности системы от случайных
программных изменений, аварийных сбоев
кода, нарушений памяти, ошибок в программе и т. д. Разработка сложного программного обеспечения, как правило, выполняется несколькими группами или даже компаниями. Используя аппаратные средства для
разделения программных модулей, можно
блокировать проблемные части кода, отделив
их от остального программного обеспечения.

В продукты семейства RX интегрирован
модуль защиты памяти (MPU), который может рассматриваться как аппаратный брандмауэр, отделяющий привилегированный
код операционной системы от пользовательской программы. Для ПО классов В и С модуль MPU позволяет легко обнаружить сбой
и обеспечивает гибкие средства устранения
ошибок, что повышает надежность всего
программного обеспечения в целом.

Модуль MPU может обслуживать до восьми областей, каждая из которых имеет индивидуальные уровни доступа. Минимальный
размер защищаемой области составляет 16 байт, а все адресное поле может быть
определено как фоновая область со своими
атрибутами защиты. Модуль MPU начинает
обработку исключительных ситуаций сразу
после обнаружения нарушения атрибута защиты. Нарушения, обнаруживаемые во время доступа к операнду и во время выборки
команд, могут быть следующими:

  • нарушение защитных атрибутов в защищаемой области;
  • нарушение защитных атрибутов в результате доступа в область,
    отличную от защищаемой;
  • нарушение защитных атрибутов в фоновой области.

Модуль MPU (рис. 7)представляет собой мощное и надежное аппаратное средство для разделения качественного и проблемного кодов.
Его использование делает программу более компактной по сравнению с теми же результатами, достигаемыми чисто программными
средствами. Гарантирована также абсолютная надежность в режиме
работы в реальном времени.

Рис. 7. Блок-диаграмма модуля защиты памяти MPU

Низкое энергопотребление МК семейства RX

Использование программы энергосберегающих технологий наряду с применением новейшей технологии 90 нм позволило компании
Renesas создать оптимальный центральный процессор (ЦП) с низким энергопотреблением и максимальной производительностью. Для
всех элементов ЦП был проделан анализ критического времени обработки, и в критических точках использованы быстродействующие
транзисторы. Там, где время не является критичным, были использованы более медленные транзисторы с низким энергопотреблением.
Усовершенствованная система распределения частот позволяет пользователю динамично конфигурировать свою систему, которая в любой
момент потребляет минимум энергии.

Встроенная флэш-память основана на технологии MONOS компании Renesas.

Все вышесказанное позволило добиться сочетания максимальной
производительности при потреблении 0,3 мА. В МК RX не только
обеспечивается максимальная производительность при минимальной
мощности потребления в активном режиме, в ней также минимизировано потребление мощности в режимах пониженного энергопотребления. Использование режима Deep Standby позволяет выполнять некоторые базовые функции при общем потреблении менее 20 мкА.

Технология встроенной флэш-памяти MONOS

Последние годы Renesas прочно удерживает лидирующие позиции
в технологии производства встроенной энергонезависимой памяти
(рис. 8). Только в текущем году компания произвела 1,5 млрд чипов,
при тестировании которых не было ни одного отказа сохранности
данных. Скоростная встроенная флэш-память, изготовленная по технологии MONOS и имеющая рекордное время извлечения данных
в 10 нс, высоконадежна благодаря использованию изолирующего
нитридного плавающего затвора. Изолирующий затвор служит своеобразной ловушкой для зарядов, в отличие от традиционного транзистора с проводящим плавающим затвором, где производственные
дефекты легко могут вызвать утечку заряда и переключение бита.
Контроллеры Renesas с флэш-памятью MONOS хорошо показали
себя на рынке за последние 10 лет в таких сложных областях применения, как управление электроприводами
и промышленные преобразователи частот.
Однако транзистор с изолирующим нитридным плавающим затвором — не единственная технологическая находка.

Рис. 8. Флэш-память MONOS

Управление
периферийными устройствами
микроконтроллерами
семейства RX

Один их первых продуктов в линейке RX,
называемый RX62N, представляет собой новую
группу, основанную на концепции «зонтика».
Это контроллер общего назначения с широким, даже избыточным, набором возможностей применения в разнообразных областях.

RX62N имеет следующие характеристики: флэш-память объемом 512 кбайт,
флэш-память данных объемом 32 кбайт, ЗУ
с произвольным доступом (RAM) объемом
96 кбайт, огромные ресурсы управления периферией, включающей USB-хост и OTG,
контроллерные сети CAN (Controller Area
Network), Ethernet-протоколы, разнообразные последовательные порты различных типов, 10- и 12-разрядные аналого-цифровые
(АЦП) и цифро-аналоговые (ЦАП) преобразователи, множество таймеров, контроллеры
DMA/DTC/EXDMA, сброс по включению питания, обнаружение кратковременных снижений напряжения питания и многие другие.

Для поддержки программных аппликаций,
имеющих повышенные требования к целостности данных, контроллер содержит модуль
контроля циклическим избыточным кодом
(CRC), который может быть использован для
проверки содержимого памяти или верификации последовательного канала передачи
данных.

В рамках концепции RX62N компания
Renesas готовит к выпуску семейство схем
ASSP, предназначенных для управления различными сервоприводами. Эти схемы оснащены сложными 12-разрядными АЦП и разно-
образными типами таймеров, востребованных
в этом сегменте рынка. Кроме того, в дальнейшем семейство ASSP будет включать специальные периферийные устройства для измерения
потребления тока, управления домашними
электроприборами и медицинской техникой.

Программные средства
разработки МК RX

Микроконтроллеры семейства RX поддерживаются широким спектром средств отладки и разработки, среди которых компиляторы, отладчики, программные оболочки
для разработки приложений, такие как IDE
и RTOS (таблица). Выбор может быть расширен за счет разнообразных комбинаций всех
указанных средств.

Таблица. Средства отладки и разработки

Програм-
мные
средства
IDE
HEW IAR
Workbench
Eclipse
Компилятор Renesas GNU GCC IAR Renesas GNU GCC
Отладчик E1, E20, JLINK
RTOS Micrium OS-II, Segger embOS, FreeRTOS, IAR Powerpac

В ядре МК RX интегрировано множество
аппаратных средств разработки и отладки,
обеспечивающих доступ к памяти в режиме
реального времени, трассировку данных в реальном времени, а также виртуальные com-порты для бесконтактной отладки. Встроенная
технология отладки чипов улучшена путем сжатия данных, что позволяет отладить
до двух миллионов циклов ветвления.

Каждый разряд в 16-разрядном сообщении о ветвлении представляет собой условную команду ветвления. При выборе данного ветвления этот разряд устанавливается,
в противном случае сбрасывается. Отладчик
при этом восстанавливает буфер трассировки, который может значительно превышать
два миллиона циклов.

Применяя виртуальные com-порты ядра
МК RX, пользователь может задействовать
в своей программе простые команды типа
printf, даже если все последовательные интерфейсы уже были использованы. Этой возможностью не располагает ни один контроллер
аналогичного класса. Специализированный
контроллер отладчика DMA позволяет осуществлять мониторинг данных и переменных кода C/C++ в режиме реального времени, а также осуществлять контроль хода программы без ее остановки.

Заключение

В перспективе скорость ядра ЦП RX будет
достигать 200 МГц, а наряду с уже достигнутой производительностью 1,65 млн оп/с
это обеспечит семейству МК RX устойчивое положение на рынке микропроцессоров
на ближайшие 10 лет и более. Компания
Renesas намерена и дальше развивать свои
производственные технологии и готовится запустить в производство флэш-память
по технологии 65 нс MONOS в 2012 году,
а на более поздней стадии предполагает
разработать RX-продукт на основе магниторезистивной оперативной памяти
MRAM. Семейство МК RX опирается на лидирующие технологии компании Renesas.
Эти МК выпущены и проверены на производственных мощностях компании, что
гарантирует их исправность и долгий срок
службы. Это семейство имеет компактные
и быстрые средства разработки. Оно воплотило в себе все насущные потребности разработчиков.

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

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