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

RX — новая вершина

в эволюции микроконтроллеров

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

Алексей ГЛУБОКОВ

alexey.glubokov@renesas.com

Введение

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

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

за весьма короткое время, не превышающее шести месяцев.

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

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

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

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

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

Компанией Renesas были проведено изучение влияния числа регистров на быстродействие, а также размеры кода и самой микро-

Флэш -память

Память с произвольной выробаткой

Управление

периферийными

устройствами

Раздельные шины обеспечивают параллельное выполнение задач

Все остальные 32-разрядные шины

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

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

Число регистров 32 30 28 26 24 22 20 18 16 14 12 10 8

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

Регистры общего назначения

Пол ьзовател ьски е регистры

Регистры, которые могут обслуживать высокоскоростные прерывания

Регистры управления 32-bits —...—^

ь стека прерывании Пользовательский указатель стека

Регистр таблицы прерываний

Счетчик программы

Регистр слова состояния процессора

Дублирующий регистр слова состояния процессора Дублирующий счетчик программы Регистр векторов быстрых прерываний

Регистр слова состояния ЦП для операций с плавающей запятой

* Указатель стека

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

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

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

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

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

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

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

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

• нормальное прерывание;

• быстрое прерывание;

• высокоскоростное прерывание.

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

RSPI

RSPI {unit 1)

САМ*1

MTU x 6 channels

MTU x б channels

РОЕ*1

РРО

РРб

TMR х 2 channels

TMR x 2 channels

CMT x 2 channels

CMT x 2 channels

RTC

IIC x 2 channels

12-bit ADC x 8 channels

10-bit ADCx 4 channels

10-bit ADC x 4 channels

10-bit DAC x 2 channels

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

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

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

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

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

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

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

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

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

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

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

• нарушение защитных атрибутов в защищаемой области;

А31

А4 АО

Адрес команд ЦП

А31

А4 АО

Адрес операндов ЦП

Режим работы процессора

Регистр номера стартовой страницы

31 4 31

Регистр номера последней страницы

4 3 10

Region О

Region 7

Start Page Number

Start Page Number

End Page Number

End Page Number

Attribute (U) V

Attribute (U) V

Регистр атрибута фонового раздела 2 О

Ошибка защиты памяти команд

Ошибка защиты памяти операндов

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

• нарушение защитных атрибутов в результате доступа в область,

отличную от защищаемой;

• нарушение защитных атрибутов в фоновой области.

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

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

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

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

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

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

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

CG: Затвор транзистора управления

MG: Затвор транзистора памяти

Si3N4

P-well I

t________________________________

CG

MG

T ранзистор управления

\

Транзистор памяти

Рис. 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 поддерживаются широким спектром средств отладки и разработки, среди которых компиляторы, отладчики, программные оболочки для разработки приложений, такие как ГОЕ и 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 интегрировано множество аппаратных средств разработки и отладки, обеспечивающих доступ к памяти в режиме реального времени, трассировку данных в реальном времени, а также виртуальные сот-порты для бесконтактной отладки. Встроенная технология отладки чипов улучшена путем сжатия данных, что позволяет отладить до двух миллионов циклов ветвления.

Каждый разряд в 16-разрядном сообщении о ветвлении представляет собой условную команду ветвления. При выборе данно-

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

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

Заключение

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