Обзор графических микроконтроллеров
В статье рассмотрены микроконтроллеры с функцией управления графикой. Особое внимание уделено моделям, предназначенным для работы с дисплеями высокого разрешения.
Еще несколько лет назад было сложно представить, что взаимодействие между человеком и электронным устройством может быть настолько удобным. Если прежде в распоряжении пользователя или оператора были только кнопки и регуляторы, то в настоящее время многие устройства оснащены цветными сенсорными дисплеями высокого разрешения. Графические приложения стали интерактивными, эстетически привлекательными и более дешевыми. В ближайшем будущем следует ожидать появления усовершенствованных жидкокристаллических дисплеев на панелях промышленного оборудования, что, безусловно, повысит эффективность работы оператора.
Дисплеи
Большинство дисплеев с диагональю от 10 дюймов имеют разрешение 1920×1080 точек, за редким исключением — 1366×768 точек. Наиболее современные устройства имеют еще более высокое разрешение — 2048×1536 (iPad) или 2560×1600 (Google Nexus 10). Сенсорные экраны способны обрабатывать несколько одновременных прикосновений (multi-touch). Наиболее распространенным интерфейсом дисплея является LVDS 6 или 8 бит. Ниже приведен стандартный ряд разрешений и параметров экрана:
– 1024×768, XGA, 4:3;
– 1280×1024, SXGA, 5:4;
– 1280×800, WXGA, 16:10;
– 1600×1200, UXGA, 4:3;
– 2560×2048, QXGA, 4:3;
– 2880×1800, QWXGA, 16:10.
ATMEL
Контроллер ATSAMA5D334 (Atmel) имеет встроенный процессор на основе 536-МГц ядра Cortex-A5. Полоса пропускания — 166 МГц, потребление — менее 0,5 мВт в режиме сбережения энергии. Контроллер содержит блок операций с плавающей запятой, многослойную внутреннюю шину, 39 каналов ПДП. Внутренней памяти программ нет, однако предусмотрены слоты для подключения DDR2, LPDDR, LPDDR2 и MLC NAND Flash с механизмом обнаружения и коррекции ошибок. ЖКД-контроллеры поддерживают такие функции как наложение, аппаратное ускорение, интерфейс сенсорного экрана, КМОП сенсорный интерфейс, альфа-наложение, альфа-смешение (придание прозрачности), поворот, масштабирование изображения и преобразование цветов. Для настройки этих функций предусмотрено 177 управляющих регистров. Осуществляется поддержка тонкопленочных дисплеев с активным сканированием, с разрешением до 2048×2048, пространственным сглаживанием 12-, 16-, 18- и 24-бит, глубиной цвета 1, 2, 4, 8 бит на пиксел при параллельном кодировании или 12, 16, 18, 19, 24, 25 и 32 бит на пиксел. Периферийные устройства передачи данных включают гигабитный EMAC, IEEE-1588, (a 10/100 EMAC в SAMA5D31), CAN, UART, SPI и I²C. Безопасный механизм загрузки, ускоренное шифрование (AES, TDES) и хэш-функция (SHA). Контроллер выполнен в корпусе LFBGA с 324 шариковыми контактами, расположение выводов оптимизировано для панелей управления, HMI и приложений, в которых требуется высокий уровень связности в промышленных и потребительских устройствах. Малое потребление позволяет использовать контроллеры в устройствах с питанием от батареи. Ток потребления — 88 мА на 400 МГц в активном режиме и 432 мкА на 32 кГц в режиме энергосбережения.
Рисунок 1
Структура AM3359 Graphics — графический блок; Crypto — криптозащита; Shared RAM — совместно используемое ОЗУ; RAM — ОЗУ; ROM — ПЗУ; Display — дисплей; LCD controller — контроллер ЖК-дисплея; Touch screen controller — контроллер сенсорного экрана; PRU subsystem — подсистема PRU; Peripherals — периферийные блоки; L3/L4 Interconnect — межсоединения L3/L4; Serial — последовательные порты; Channel — канал; ver. 2 A and B — версия 2А и В; switch — коммутатор; System — система; Timers — таймеры; WDT — сторожевой таймер; RTC — часы реального времени; Crystal oscillator — кварцевый резонатор; Parallel — параллельные порты; Memory interface — интерфейс памяти
TEXAS INSTRUMENTS
Контроллер AM3359 Texas Instruments оснащен 720-МГц процессором Sitara Cortex-A8, блоками графических обработчиков и резистивной сенсорной матрицей (см. рис. 1). Встроенная память контроллера — 176 Кбайт ПЗУ и 32 Кбайт кэш-памяти L1 для инструкций и данных, 256 Кбайт кэш второго уровня. Флэш-память отсутствует. Для подключения внешних модулей имеются интерфейсы DDR2, DDR3, DDR3L. Контроллер ЖКД имеет 24-разрядный выход данных, поддерживает глубину цвета 8 бит на пиксел (RGB), максимальное разрешение экрана — 2048×2048 точек. В кристалле содержится контроллер растров и контроллер дисплея (LIDD). Они работают независимо от других блоков, и в каждый момент времени активен только один из них. Микросхема может работать с активными и пассивными матрицами, имеется механизм ПДП для размещения данных из внешнего буфера кадра без обращения к процессору. Имеется встроенный механизм обработки объемных изображений SGX530, аппаратные ускорители шифрования (AES, SHA, PKA, RNG), уникальный идентификационный номер, 8-канальный 12-разрядный АЦП последовательного приближения, три 32-разрядных модуля захвата, два порта CAN, USB 2.0, два промышленных Ethernet. Корпус 324NFBGA. Мощность потребления в режиме ожидания — 7 мВт, в активном режиме — 395…830 мВт. Потенциал контроллера легко оценить с помощью комплекта разработки TI TMDSSK3358.
Рисунок 2
Структура контроллера LPC4357FET256 Test/debug interface — интерфейс для тестирования и отладки; High-speed PHY — высокоскоростной физический уровень; I-code bus — шина I-кода; D-code bus — шина D-кода; System bus — системная шина; DMA — ПДП; LCD — ЖК-дисплей; Masters — главные устройства; AHB multilayer matrix — многослойная матрица AHB; Slaves — ведомые устройства; Bridge — мост; GPIO (group) interrupt — (групповое) прерывание GPIO; Motor control PWM — ШИМ для управления двигателем; 10-bit DAC — 10-разрядный ЦАП; 10-bit ADC — 10-разрядный АЦП; Alarm timer — таймер сигнала тревоги; Backup registers — резерв- ные регистры; Power mode control — управление энергопотреблением; Configuration registers — регистры конфигурации; Event router — маршрутизатор событий; OTP memory — OTP-память; RTC — часы реального времени; Connected to DMA — подключение к ПДП
NXP
Структура контроллера LPC4357FET256 NXP Semiconductors показана на рисунке 2. Контроллер универсален и содержит все блоки, необходимые для проектирования электронных устройств. Главным элементом контроллера являются процессоры Cortex-M4 204 МГц и Cortex-M0. Имеется встроенная флэш-память — 1 Мбайт, а также поддержка ПДП. Поддерживаются дисплеи с максимальным разрешением 1024×768 точек, монохромные и цветные STN-панели, тонкопленочные цветные панели. Градация глубины цвета — 1/2/4/8 бит на пиксел, 16/24-разрядное отображение пикселов. Ядро Cortex-M4 имеет блок защиты памяти, поддерживающий 8 областей, блок операций с плавающей запятой, вход немаскируемых прерываний, JTAG, последовательный порт для отладки. Также имеется 10/100T Ethernet MAC с интерфейсами RMII и MII, порт CAN, два USB 2.0, 136 Кбайт SRAM, два раздельных блока SRAM по 32 Кбайт и четырехпроводной SPI Flash. Два 10-разрядных АЦП и 10-разрядный ЦАП. Ток потребления — около 45 мА на 120 МГц, напряжение питания — 2,2…3,6 В. Периферийные блоки отсутствуют. Корпус имеет размер 17×17 мм. Комплект разработки для этого процессора выпускает сторонняя компания Embedded Artists.
FUJITSU
Еще одно решение — система на кристалле Jade Fujitsu MB86R01. Ее структура приведена на рисунке 3. Ядром системы является 32-разрядный микроконтроллер ARM926EJ-S, частота встроенной памяти графического контроллера дисплея — 320 МГц. Максимальное разрешение экрана — 1024×768. Осуществляется поддержка функции альфаналожения, обеспечивающей постепенное появление объектов на экране. Имеются два отдельных блока захвата видео с поддержкой YUV, RGB, ITU656 и других форматов. Система Jade предназначена для графических автомобильных приложений. Для отделения высокопроизводительных функций (обработка объемных изображений и т.д.) от рутинных (ввод или вывод данных) применяется иерархичная система шин. Ядро ARM работает на частоте 333 МГц, графическое ядро — на 166 МГц. Внешний контроллер памяти поддерживает 302-МГц память DDR2. Система имеет два видеовхода (YUV/ ITU656 или RGB), функцию увеличения и уменьшения видеоизображения. Интерфейсы: два дисплея, два CAN, IDE, USB, SPI, FlexRay и Media LB; встроенные АЦП и ЦАП.
Рисунок 3
Рисунок 4
Система на кристалле Jade
Семейство Kinetis K70
FREESCALE
Freescale Semiconductor выпускает однокристальные микроконтроллеры K70 на базе ядра ARM Cortex-M4, предназначенные для приложений с ЖК-дисплеем (см. рис. 4). Семейство высокопроизводительных МК Kinetis K70 предназначено для систем со сложным пользовательским интерфейсом ЖКД, а также для обеспечения функций связи и безопасности при относительно невысокой стоимости и потреблении. Микроконтроллеры К70 содержат контроллер ЖК-дисплея, флэшпамять объемом 1 Мбайт и 128-Кбайт SRAM, что позволяет управлять панелями ЖК-дисплеев с разрешением QVGA. При необходимости с помощью внешней памяти осуществляется поддержка дисплеев с 24-бит разрешением SVGA. Благодаря 120/150-МГц ядру ARM Cortex-M4, блоку вычислений с плавающей точкой и архитектуре перекрестных соединений семейство K70 позволяет изменять параметры обработки графических данных, поддерживая при этом функции управления в реальном времени и связь, т.е. отвечая стандартным требованиям приложений человеко-машинного интерфейса. Микроконтроллеры поддерживают скорость передачи данных до 480 Мбит/с.
Рисунок 5
Микроконтроллер PIC24FJ256DA206 — недорогое решение для реализации графического интер- фейса пользователя
MICROCHIP
Микроконтроллер PIC24FJ256DA206 (см. рис. 5) имеет три аппаратных ускорителя для рендеринга и копирования блоков, 256 Кбайт флэшпамяти, 96 Кбайт SRAM, порт EPMP для подключения до 16 Мбайт внешней памяти ОЗУ. Интерфейсы: USB v2.0 OTG, UART, SPI и I2C I/O, 24-канальный 10-разрядный АЦП. Это одно из наиболее дешевых решений для дисплеев QVGA и WQVGA. Компания Microchip выпускает также дочернюю плату PIC32 для разработки интерфейса пользователя без внешнего графического контроллера. Микроконтроллер PIC32 на дочерней плате LCC Graphics PICtail позволяет реализовать цветной графический интерфейс пользователя с внутренней памятью, контроллером ПДП и параллельным портом. Внешний графический контроллер не требуется, что позволяет снизить стоимость устройств. Плата поддерживает дисплеи WQVGA с 65 тыс. цветов; глубина цвета 16 бит на пиксел или 256 тыс. цветов, глубина 8 бит на пиксел.
Заключение
Графические дисплеи и цветные меню являются предпочтительным исполнением интерфейса пользователя. Это гибкое решение, обеспечивающее большое разнообразие приложений. На рынке представлено множество графических контроллеров для дисплеев с высоким разрешением. Производители также предлагают средства проектирования и библиотеки графических ресурсов. Это упрощает процесс разработки, благодаря чему устройства быстрее поступают на рынок.