Семейство встраиваемых процессоров RZ/A. Техническое введение
Введение
В статье приводятся некоторые подробности о возможностях, характеристиках и функциональных элементах семейства RZ/A. В частности, дается технический обзор архитектуры памяти, которая предусматривает самый большой в мире объем встроенного ОЗУ (до 10 Мбайт) и включает в себя шину специально разработанной архитектуры для обеспечения высокой пропускной способности при обмене данными с памятью. Устройства этого семейства оснащаются также контроллером видеодисплея 5‑го поколения компании Renesas, который не только позволяет управлять экраном с разрешением до WXGA, но и поддерживает на аппаратном уровне множество дополнительных функций, нередко реализуемых программным способом. Последняя особенность обеспечивает возможность полноценной работы на более низкой тактовой частоте. Кроме того, процессоры семейства RZ/A имеют блок аппаратного ускорения векторной графики, соответствующий стандарту OpenVG 1.1. Далее в статье будет показано, как можно использовать его для повышения производительности и снижения потребления памяти.
RZ/A — новое семейство встраиваемых микропроцессоров компании Renesas, ориентированное на рынок изделий с человеко-машинным интерфейсом (ЧМИ). Линейка продукции RZ компании Renesas олицетворяет новое направление на рынке встраиваемых процессоров. В ее основу положены процессорное ядро ARM Cortex A9, работающее на тактовой частоте 400 МГц, и все IP-блоки, необходимые для реализации ЧМИ высокого класса без лишних расходов, трудозатрат и компромиссов, с которыми сопряжена разработка изделий с ЧМИ в настоящее время.
Встраиваемый микропроцессор?
Может возникнуть вопрос: а что же, собственно, означает термин «встраиваемый микропроцессор»? Чтобы на него ответить, нам придется дать краткий обзор предложений на рынке микропроцессоров и микроконтроллеров. Современный микроконтроллер, как правило, оснащен встроенными флэш-памятью и ОЗУ. Программный код он выполняет из флэш-памяти. Производительность микроконтроллера несколько ограничена, особенно в той сфере, о которой идет речь в этой статье, — реализации человеко-машинного интерфейса. Альтернативами микроконтроллеру сегодня являются классический микропроцессор или микропроцессорная система. Они обеспечивают необходимый уровень производительности, порой даже с существенным запасом, но обычно не имеют внутренней флэш-памяти, а объем встроенного ОЗУ у них очень мал. Бесспорно, на рынке есть место и для микроконтроллеров, и для традиционных микропроцессоров. Но между этими двумя сегментами имеется существенный пробел.
Вот этот пробел и могут заполнить встраиваемые микропроцессоры. Подобно обычному микропроцессору, встраиваемый микропроцессор не имеет внутренней флэш-памяти, а ядро его работает с производительностью, недостижимой для рядового микроконтроллера. Такой производительности (как и в случае применения обыкновенного микропроцессора) можно достичь только при выполнении кода из ОЗУ. В отличие от микропроцессорной системы, в которой используется внешнее ОЗУ, встраиваемый микропроцессор содержит все ОЗУ, необходимые для работы изделия.
Как можно видеть на приведенных на рис. 1 схемах, система на базе микроконтроллера является самой простой, зато встраиваемый микропроцессор обеспечивает производительность, характерную для обычного микропроцессора, без соответствующего усложнения системы.
Загрузка встраиваемого микропроцессора производится, как правило, из внешней последовательной флэш-памяти, в то время как обычный микропроцессор загружается из внешней флэш-памяти типа NOR. Это может дать несколько преимуществ:
- Возможность использования блока последовательной флэш-памяти QSPI, которая позволяет достичь еще более высокой производительности, чем стандартная флэш-память типа NOR.
- Этот вид памяти занимает меньше площади на печатной плате и меньше выводов встраиваемого микропроцессора по сравнению с 32‑разрядной параллельной флэш-памятью типа NOR.
Встраиваемый микропроцессор располагает достаточным объемом встроенного ОЗУ, чтобы не нуждаться во внешнем ОЗУ. Традиционный же микропроцессор обычно использует внешнее ОЗУ типа DDR или SDRAM. Это также влечет ряд потенциальных преимуществ:
- Изделие становится независимым от рынка микросхем ОЗУ. Средний проектировщик аппаратного обеспечения вряд ли воспримет это как положительный момент, зато это обрадует менеджеров по закупкам.
- Опять-таки сокращается необходимая площадь на печатной плате и уменьшается число занимаемых выводов встраиваемого микропроцессора. Вкупе с использованием последовательной флэш-памяти это позволяет проектировщикам использовать гораздо меньший по размерам корпус QFP и обойтись двухслойной печатной платой вместо многослойной.
- Исчезает необходимость в дополнительном источнике питания напряжением 1,8 В для питания ОЗУ DDR.
Понятно, что всему есть предел, и в каких-то приложениях встраиваемый микропроцессор не сможет обеспечить такую же производительность, как и многогигагерцовая четырехъядерная система в настольном ПК, но и не каждую систему с ЧМИ сегодня нужно конструировать как ПК — есть другой подход.
Возможности, характеристики и функциональные элементы устройств семейства RZ/A
В основе встраиваемых микропроцессоров RZ/A лежит ядро Cortex A9, работающее на тактовой частоте 400 МГц. Также они оборудуются опциональным векторным блоком арифметики с плавающей запятой (VFP), соответствующим стандарту IEEE754, и опциональным 128‑разрядным SIMD-расширением NEON. Эти расширения ускоряют типовые операции в сфере цифровой обработки сигналов, мультимедиа и визуализации. Ядро имеет по 32 кбайт кэш-памяти для команд и данных (стандартный вариант для Cortex A9). Помимо этого оно содержит 128 кбайт кэш-памяти второго уровня (L2), благодаря которой даже код из внешней энергонезависимой памяти выполняется с максимальной производительностью.
Ядро как таковое не представляет собой ничего особенного. Уникальность этого устройства — в наличии 10 Мбайт встроенного ОЗУ. Это ОЗУ разделено на четыре блока. Каждый блок имеет размер 2 Мбайт и выделенную 128‑разрядную шину с тактовой частотой 133 МГц. Это означает, что к разным блокам могут параллельно обращаться разные периферийные устройства микропроцессора. Таким образом, процессор может одновременно выполнять код из первого блока и записывать данные во второй, третий блок может содержать данные изображения для вывода на TFT-экран, а четвертый может использоваться для прямого доступа в память или в качестве коммуникационного буфера для стека TCP/IP — и все это без конфликтов на шине. Это, разумеется, еще одно крупное преимущество архитектуры встраиваемого микропроцессора. Традиционный микропроцессор, как правило, имеет высокоскоростную шину для взаимодействия с внешним ОЗУ (рис. 2), но такая шина у него только одна, поэтому на ней высока вероятность конфликтов.
Особенностью внутреннего ОЗУ емкостью 10 Мбайт в микропроцессорах семейства RZ/A является низкое энергопотребление. В нулевом блоке ОЗУ имеется 128 кбайт памяти для сохранения данных, которая разбита на блоки еще меньшего размера. Эти блоки могут оставаться включенными в режимах работы с пониженным энергопотреблением, что обеспечивает значительно более быстрое пробуждение микропроцессора из этих режимов. В них можно сохранить загрузочный код и даже первое изображение, которое должно выводиться на TFT-экран: тогда система максимально быстро перейдет в работоспособное состояние, когда пользователь нажмет кнопку или запустит систему. Вот еще одно серьезное преимущество встраиваемых микропроцессоров перед сегодняшними микропроцессорными системами, в которых для максимального снижения энергопотребления ОЗУ выключается полностью, после чего необходимо загружать систему заново.
Еще одна уникальная особенность микропроцессоров семейства RZ/A — это интерфейс SPI Multi-I/O. Это периферийное устройство можно представить себе как простой блок последовательного интерфейса SPI с рядом усовершенствований. Первое такое усовершенствование состоит в том, что этот блок поддерживает не только стандартный последовательный режим, но и новый режим QSPI. В этом режиме используется четыре параллельные линии данных вместо стандартной трехпроводной последовательной шины.
Благодаря повышенной пропускной способности этого нового интерфейса первые сравнительные тесты демонстрируют более чем девятикратное повышение производительности по сравнению с более ранними SPI-модулями. Это также показывает, что можно достичь и еще более (приблизительно на 3%) высокой производительности, чем, например, при доступе к внешней параллельной флэш-памяти типа NOR. Выгода заключается в ускорении загрузки без необходимости подключать устройство к 32‑разрядной шине.
Еще одно усовершенствование, которым отличается интерфейс SPI Multi-I/O, — это возможность «выполнения на месте». Данный блок позволяет центральному процессору обращаться к последовательной флэш-памяти QSPI, как если бы это было внешнее линейное адресное пространство. Эта возможность поддерживается кэш-памятью L2, так что соответствующий код может выполняться прямо из внешней флэш-памяти. Преимущество заключается в том, что критически важный код, который должен выполняться быстро и регулярно, можно выполнять из внутреннего ОЗУ, а код, не требующий регулярного выполнения, — из внешней флэш-памяти. Таким образом, хотя проектировщики и ограничены объемом ОЗУ в 10 Мбайт, фактический размер кода ограничен только объемом доступной внешней флэш-памяти SPI.
Наконец, с точки зрения коммуникаций микропроцессоры семейства RZ/A содержат в себе все, что вы ожидаете. Есть Ethernet MAC, два интерфейса USB 2.0 с поддержкой функций хоста и устройства, а также до пяти каналов CAN.
Обзор IP-блока графики (контроллер видеодисплея и OpenVG)
Итак, теперь мы знаем, что RZ/A — это семейство быстродействующих процессоров, высокая производительность которых достигается за счет наличия 10 Мбайт внутренней памяти и шины с высокой пропускной способностью и низкой вероятностью возникновения конфликтов. Они позволяют использовать ряд периферийных устройств с поддержкой всех стандартных интерфейсов, которые можно ожидать в данном контексте, а также спроектировать систему с низкой стоимостью компонентов, не жертвуя при этом производительностью. Все это замечательно, но не затрагивает собственно целевое назначение этих микропроцессоров. Как происходит управление экраном?
В состав микропроцессоров RZ/A входят два функциональных элемента, которые предельно упрощают этот процесс и позволяют реализовывать привлекательные графические интерфейсы (рис. 3). Первый из них — это VDC5, контроллер видеодисплея 5‑го поколения компании Renesas, который обеспечивает управление экраном с разрешением до 1999 пикселей на 2035 строк. Это самый впечатляющий по своим характеристикам контроллер такого рода. На самом деле VDC5 поддерживает два канала, то есть позволяет параллельно управлять двумя экранами. В дополнение к стандартным цифровым интерфейсам VDC5 поддерживает также интерфейс LVDS, который находит сейчас все более широкое применение в экранах большого размера.
Первая часть VDC — входной контроллер, способный принимать до двух входных видеосигналов с максимальным разрешением 1440х1024. Входной контроллер поддерживает фазовую компенсацию, а также коррекцию горизонтальных шумов и контрастности. Входные сигналы передаются на блок масштабного преобразователя.
Этот блок (по два на каждый канал VDC5) позволяет увеличивать и уменьшать масштаб входного видеосигнала с целью формирования изображения надлежащего размера для вывода на экран. Возможны также поворот изображений и даже их наложение друг на друга с использованием альфа-смешивания (Alpha blending) и таблицы подстановки цветов. Конечные изображения (если два входных сигнала обрабатываются по отдельности) или изображение (если используется только один вход или два входных сигнала накладываются друг на друга) сохраняются в кадровом буфере ОЗУ и передаются на синтезатор изображения.
Синтезатор объединяет до четырех отдельных слоев для получения единого изображения. Когда используется только один видеовход или не используется ни один из них, эти слои можно применять для реализации других частей графического интерфейса в качестве отдельного оверлея или слоя пиктограмм. С помощью альфа-смешивания и таблицы подстановки цветов создается единое конечное изображение, которое передается на выходной контроллер.
Выходной контроллер осуществляет физический вывод полученного изображения на TFT-экран либо по интерфейсу LVDS, либо через цифровой выход в одном из множества поддерживаемых форматов:
- RGB888 (24‑разрядный параллельный вывод);
- RGB666 (18‑разрядный параллельный вывод);
- RGB565 (16‑разрядный параллельный вывод) или RGB888 (8‑разрядный последовательный вывод).
Операции альфа-смешивания и объединения нескольких слоев выполняются без участия центрального процессора.
Второе периферийное устройство микропроцессоров RZ/A, полезное для разработки ЧМИ, — это графическая подсистема с поддержкой стандарта OpenVG (рис. 4), представляющая собой аппаратный ускоритель двумерной векторной графики. Этот IP-блок ускоряет этапы 2–8 конвейера OpenVG, используя специализированное аппаратное обеспечение и программную библиотеку, прошедшую тестирование на соответствие стандарту.
Подсистему OpenVG можно также использовать для заполнения кадровых буферов, а затем выводить эти изображения на экран с помощью VDC5. Преимущество использования OpenVG состоит в том, что этот стандарт позволяет работать с векторной графикой, которая может существенно повысить эффективность работы графического интерфейса, а также улучшить его внешний вид и поведение.
Приведем простой пример. Если требуется повернуть изображение, проще всего сохранить 360 его копий, каждая из которых повернута на 1° относительно предыдущих, а затем показывать эти копии одну за другой. Очевидно, что такой подход повлечет значительные накладные расходы в части потребления памяти и использования пропускной способности устройства. А для векторного варианта того же изображения достаточно будет дать команду на поворот; поддержка этой функциональности реализована аппаратно в микропроцессоре RZ.
Заключение
Новое семейство встраиваемых микропроцессоров RZ/A компании Renesas призвано заполнить пробел между традиционными микропроцессорами и микроконтроллерами. Эти микропроцессоры оснащаются встроенным СОЗУ объемом до 10 Мбайт и поддерживают быстрое пробуждение из режимов работы с пониженным энергопотреблением. В дополнение к этим устройствам достаточно будет простой и недорогой последовательной флэш-памяти, из которой они могут загружаться напрямую. 10 Мбайт памяти хватит для хранения переднего и заднего буферов ЧМИ с двойной буферизацией. Внутреннее ОЗУ микропроцессоров RZ объемом 10 Мбайт соединено с многослойной шиной и разделено на блоки по 2 Мбайт, чтобы можно было одновременно производить чтение и запись в ОЗУ из нескольких источников. Это позволяет реализовывать высокопроизводительный ЧМИ в системе без внешнего ОЗУ с малым числом выводов в корпусе QFP, используя двухслойную печатную плату.
Встраиваемые микропроцессоры RZ/A не обеспечат такой же простоты, как 8‑разрядный микроконтроллер с 16 кбайт ПЗУ, или такой же производительности, как четырехъядерный процессор с тактовой частотой 2 ГГц. Но специалисты Renesas полагают, что новому изделию с ЧМИ требуется лишь немного более высокая производительность по сравнению со стандартным микроконтроллером, но без большого качественного скачка к традиционной микропроцессорной архитектуре.