Ожидается, что в ближайшие годы количество кофемашин, холодильников, торговых автоматов и другой бытовой техники, оснащаемой TFT-дисплеями, значительно возрастет. Недавно я заметил, что во многих магазинах пластиковый чек, который обычно кладут для подписи, теперь заменен 7-дюймовым TFT-экраном, на котором отображается реклама товаров, имеющихся в магазине. Рост популярности «рекламы в туалетах» компаниями по всей Европе и миру показывает, что вскоре от TFT-дисплеев никуда не деться.
Итак, что вам нужно для вашего приложения?
Давайте начнем с рассмотрения основного вопроса. Что вам на самом деле нужно для управления TFT-дисплеем? Большинство современных TFT-панелей используют цифровой RGB-интерфейс, либо RGB888, либо RGB565. Значение RGB — это стандарт, в соответствии с которым представляются красный, зеленый и синий цвета каждого пикселя с соответствующим количеством бит. Таким образом, для 888 каждому цвету присваивается 8 бит данных (24 бита на пиксель), в то время как в 565 красный и синий представлены 5 битами каждый, а зеленый — 6 битами (16 бит на пиксель). В качестве альтернативы, вместо стандартного цифрового интерфейса дисплея, вы можете использовать разъем LVDS, который все чаще становится стандартом для больших дисплеев. В этом случае сигналы RGB передаются через дифференциальный сигнал, но формат данных остается тем же. Итак, для начала вам нужно устройство, которое поддерживает генерацию сигнала RGB и/или интерфейс LVDS.
Во-вторых, данные RGB должны поступать из буфера кадров, который обычно хранится в оперативной памяти. Этот буфер кадров представляет собой растровое изображение, хранящееся в нужном формате. Следовательно, для такого размера экрана, как WVGA (480x800), потребуется чуть более 1 МБ оперативной памяти для хранения изображения RGB888 (480 x 800 x 24 бит = 1,125 МБ).
В дополнение к буферу кадров, в котором хранится текущее изображение для отображения на экране, типичное приложение имеет «резервный буфер», в котором хранится следующее изображение для отображения. Это позволяет процессору обрабатывать следующее изображение, не допуская мерцания частично обработанного изображения на экране до завершения обработки. Такая двухбуферная система очень распространена и обеспечивает более высокое общее качество интерфейса пользователя, но это также означает, что вашему WVGA-дисплею требуется дополнительно 1,125 МБ оперативной памяти для хранения буфера.
Однако история оперативной памяти на этом, к сожалению, не заканчивается. В типичном приложении HMI не всегда необходимо манипулировать всем экраном. Например, при нажатии на значок или кнопку, они могут анимироваться, светиться, вращаться или каким-либо образом реагировать до выполнения действия. В этом случае разработчик HMI определит отдельный слой от слоя изображения. Будет фоновый слой, который останется неизменным, а значок или кнопка будут передним слоем, который будет анимироваться. Это, очевидно, также требует дополнительной оперативной памяти — не полной экранной, но некоторой. Необходимый объем зависит от размера изображения, но предположим, например, что это кнопка размером 200 x 200 пикселей. Тогда нам потребуется дополнительно 100 КБ оперативной памяти. Также потребуется возможность комбинировать все эти различные слои друг с другом и, возможно, применять уровень прозрачности к некоторым из этих изображений. Это можно сделать программно, если процессор достаточно быстрый, или аппаратно, если это возможно.
Таким образом, чтобы завершить обзор требований к оперативной памяти, следует отметить, что для разумного приложения HMI может потребоваться приблизительно 3 МБ данных изображения для экрана размером WVGA. Если код выполняется из оперативной памяти, как это происходит в большинстве процессоров, потребуется еще 0,5 МБ. Следовательно, минимальный начальный объем оперативной памяти для дисплея WVGA должен составлять 3,5 МБ.
Конечно, скорость доступа к ОЗУ также очень важна. Как вы, вероятно, заметили, в ОЗУ одновременно происходит запись и чтение данных из нескольких разных источников. Например, блок IP считывает данные из переднего буфера (исходные данные изображения) для вывода информации на экран. В то же время задний буфер может обновляться процессором или передаваться по DMA с другим изображением. Одновременно процессор может обрабатывать упомянутый значок и считывать собственный код из ОЗУ. Это создает большую нагрузку на пропускную способность шины ОЗУ. Эта шина часто является узким местом в приложении, поэтому для снижения риска перегрузки шины, которая может привести к тому, что пользователь увидит недоработанные изображения или, что еще хуже, неработающий графический пользовательский интерфейс, необходима хорошая архитектура шины.
Особое внимание следует уделить и возможностям центрального процессора. Система, выдающая 24 кадра в секунду на экран, должна будет обрабатывать и создавать данные (в нашем примере — экран WVGA) со скоростью более 24 МБ в секунду. Это может быть сделано полностью программным обеспечением или частично аппаратно, но в любом случае центральный процессор должен быть достаточно быстрым, чтобы соответствовать этим требованиям.
Поскольку мы сейчас обсуждаем процессорное решение, которое, скорее всего, не будет иметь встроенной флэш-памяти, следующим требованием является подключение к внешней флэш-памяти. Сегодня типичный метод заключается в использовании внешней параллельной NOR-флэш-памяти для хранения кода, а затем, во время загрузки, передаче этого кода в ОЗУ для обеспечения быстрого выполнения. Однако более современные устройства поддерживают другие технологии памяти, что позволяет системным архитекторам снизить стоимость системы без дополнительных затрат на дорогостоящую встроенную NOR-флэш-память.
Большинство таких приложений, как правило, выполняют больше функций, чем просто управление дисплеем. Им также необходимо подключаться к остальной части системы. Автомобильные приложения обычно подключаются к шинам CAN или MOST. Промышленные и бытовые устройства теперь требуют подключения по Ethernet и USB. Эти подключения также означают, что наиболее подходящий продукт должен не только включать аппаратную IP-инфраструктуру, но и обладать достаточной производительностью для управления своей работой, а также достаточным объемом кода для поддержки своих стеков.
О семействе RZ/A:
Семейство RZ/A представляет собой встраиваемое решение MPU на базе ядра ARM Cortex A9, предлагающее множество преимуществ для рынка приложений HMI. RZ/A имеет до 10 МБ встроенной SRAM, что делает его самым большим по объему встроенной ОЗУ на рынке. В семействе представлены три варианта: RZ/A1H, включающий все 10 МБ ОЗУ; RZ/A1M, имеющий всего 5 МБ ОЗУ; и RZ/A1L, самое маленькое устройство с 3 МБ ОЗУ.
Таким образом, исходя из предыдущего обсуждения, где было подсчитано, что для приложения HMI потребуется приблизительно 3,5 МБ оперативной памяти, RZ/A1M представляется идеальным решением для удовлетворения этих требований. Конечно, на рынке доступны и другие решения, использующие внешнюю оперативную память, будь то DDR SDRAM или даже большие объемы, но семейство RZ/A — единственный известный автору продукт, предлагающий такой большой объем внутренней оперативной памяти.
Модель RZ/A1H предоставляет системному разработчику возможность увеличивать или уменьшать размер экрана в соответствии со своими потребностями, а также создавать экономически оптимизированные версии для устройств с более низким разрешением.
Производительности процессора в 400 МГц более чем достаточно для запуска простого приложения HMI и поддержания связи по любому протоколу, который требует ваша система, поскольку все версии семейства RZ/A включают CAN (до 5 каналов), Ethernet, USB (до 2 каналов) и даже поддерживают MOST для автомобильных приложений.
Фактически, процессора с частотой 400 МГц более чем достаточно благодаря двум уникальным особенностям RZ/A. Первая особенность — это VDC. Видеоконтроллер Renesas обеспечивает аппаратную поддержку многих функций, необходимых для создания окончательного изображения на экране. VDC поддерживает до четырех различных графических слоев, два из которых могут быть получены с внешней камеры. Он также имеет аппаратную поддержку альфа-смешивания. Альфа-смешивание — это процесс, при котором каждому пикселю присваивается дополнительное 8-битное значение альфа-канала. Это значение альфа-канала определяет прозрачность пикселя, позволяя накладывать его поверх другого пикселя для создания результирующего изображения. VDC также поддерживает операции хромакея, наиболее известное применение которого — в видеосъемке для эффектов «зеленого экрана», когда определенный цвет определяется как прозрачный, чтобы объект можно было наложить на другое изображение. В некоторых системах все это делается программно, но RZ/A делает это аппаратно; поэтому 400 МГц фактически означает гораздо более высокий уровень производительности. VDC поддерживает не только цифровое RGB-подключение к TFT-дисплею, но и LVDS.
Второй фактор в семействе RZ/A, повышающий производительность процессора, — это устранение проблемы пропускной способности, о которой мы говорили ранее. Четырехъядерный процессор с частотой в терагерц работает только на пределе своих возможностей по обработке данных, и когда данные хранятся в одном блоке оперативной памяти, доступ к которому осуществляется по одной шине, это приводит к замедлению работы ядра. Однако RZ/A имеет пять отдельных блоков оперативной памяти.
Каждый блок подключен к своей собственной выделенной 128-битной шине, поэтому фактически возможно записывать данные в задний буфер, читать из переднего буфера, манипулировать значком и выполнять передачу DMA, одновременно выполняя код из внутренней оперативной памяти. Это приводит к значительному увеличению производительности.
Конечно, как уже упоминалось ранее, необходимо также подключение к внешней флэш-памяти, и RZ/A совместим со всеми стандартными типами энергонезависимой памяти, такими как NOR, NAND, SDIO, MMC и т. д., но он также имеет специальное последовательное соединение SPI Multi-I/O для флэш-памяти, поддерживающее новый протокол Quad SPI.
Этот интерфейс QSPI позволяет достичь показателей производительности, аналогичных или превосходящих показатели параллельной флэш-памяти, но при этом обладает экономическими преимуществами последовательной флэш-памяти, такими как экономия выводов микропроцессора и уменьшение размера печатной платы.
Вкратце: RZ/A — это простое устройство.
Недавно выпущенное компанией Renesas устройство RZ/A было разработано специально для рынка человеко-машинного интерфейса. На этом рынке существует несколько требований, которые, хотя и не уникальны сами по себе, в совокупности делают его очень сложным для удовлетворения с помощью традиционных систем. Потребность в оперативной памяти значительна, но не настолько велика, как потребность в микропроцессоре со 128 МБ DDR3 RAM. Рабочие требования низкие, при условии поддержки устройства контроллером дисплея, но они недостаточно низкие,
чтобы их мог удовлетворить микроконтроллер, работающий, скажем, на частоте 100 МГц.
RZ/A предлагает широкие возможности подключения для всех приложений HMI, более чем достаточную производительность и большой объем оперативной памяти для гибкости. Это специализированное, экономичное решение, которое не только принесет пользу бурно развивающемуся рынку дисплейных технологий, но и будет способствовать его росту.
Автор: Роберт Кальман. Менеджер по маркетингу продукции,
подразделение промышленной связи, Renesas Electronics Europe GmbH.
