Человеко-машинный интерфейс на базе однокристального микроконтроллера

№ 8’2013
PDF версия
В результате все возрастающей популярности TFT-дисплеев (дисплеев на базе тонкопленочных транзисторов), используемых в широком спектре потребительских товаров, клиенты также рассчитывают на высокий уровень пользовательского интерфейса промышленных разработок. В настоящее время эта тенденция особенно заметна в секторе промышленного рынка, где системные разработчики чувствуют возросший спрос на TFT -дисплеи и необходимость задействовать их в своих приложениях вместо символьно-ориентированных ЖК-дисплеев, которые применялись ранее. Человеко-машинные интерфейсы (ЧМИ) на базе TFT можно использовать во многих промышленных приложениях, включая оборудование регистрации данных и измерительные приборы, медицинское оборудование, различные станки, системы электронных платежей, а также крупные бытовые приборы.

Потребители привыкли к простым в пользовании мобильным электронным устройствам с привлекательным интерфейсом, что отразилось и на повышении спроса на такие функции на промышленном рынке. Модель с хорошо продуманным интерфейсом и TFT-дисплеем дает потребителям почувствовать, что специалисты компании добросовестно подошли к вопросу разработки продукта и методам работы с ним. В наши дни жесткой конкуренции это особенно важно и дает серьезные конкурентные преимущества. Цены на небольшие и средние TFT-дисплеи заметно упали, что снова указывает на возросший к ним интерес на промышленном секторе рынка.

Компания Renesas Electronics, один из крупнейших производителей полупроводниковых приборов, основное свое внимание уделяет разработке микроконтроллеров, а потому заметила эту тенденцию с момента ее зарождения. Среди разработок Renesas есть множество микропроцессоров и микроконтроллеров, поддерживающих вывод изображения на TFT-панель за счет встроенного драйвера TFT-дисплея [1].

Также Renesas разработала микроконтроллер без встроенного драйвера TFT-дисплея, который способен выводить изображение с разрешениями QVGA (320×240 пикселей) и WQVGA (480×272 пикселя) без применения внешней микросхемы драйвера, и производительности которого достаточно как для управления дисплеем, так и приложением. С точки зрения управления TFT на сегодня это решение, построенное на базе одного кристалла — 32 битного микроконтроллера Renesas семейства RX, является наиболее рентабельным и имеет наиболее развитую логику.

Микроконтроллер RX позволяет строить анимационное изображение с широкой палитрой цветов— 65 тысяч оттенков. Решение ЧМИ, описанное ниже, основано на однокристальном микроконтроллере, открытом графическом программном обеспечении (графическом API или GAPI), а также FreeRTOS. Такое низкозатратное решение позволяет устанавливать высококачественные TFT-дисплеи, которые подходят для широкого спектра применений с жесткой ценовой политикой, просты в обслуживании и имеют привлекательный интерфейс. Кроме FreeRTOS, в этом решении можно использовать и любую другую операционную систему RTOS, портированную на RX, также работа может происходить вообще без операционной системы.

Интерфейс управления построен на базе контроллера прямого доступа к памяти для внешней шины exDMAC, что позволяет одновременно передавать данные на TFT по внешней шине и выполнять приложение на внутренней шине. Интерфейс прямого управления TFT-микроконтроллера RX62N взаимодействует с программным обеспечением GAPI при воспроизведении изображения. GAPI состоит из библиотечных функций для отображения различных объектов и фигур на экране TFT. Набор таких функций облегчает для инженеров создание и обработку растровых изображений в буфере оперативной памяти. Эти буферизированные блоки изображения можно также использовать на входе процедур GAPI для создания сложных составных изображений.

Как только было создано необходимое изображение, оно может быть использовано в качестве кадрового буфера изображения, выводимого на TFT. Кроме того, GAPI отвечает за взаимодействие с пользователем через сенсорный экран либо заданные кнопки. Библиотека GAPI [2], которую бесплатно предлагает компания Renesas, является частью пакета TFT Direct-Drive Solution Kit и также доступна в исходных кодах. Она оптимально подходит для разработчиков, желающих создать свой собственный интерфейс, а также в качестве средства для оценки возможностей микроконтроллера под конкретное применение. Для создания графических элементов в своих решениях ЧМИ и интеграции их в GAPI разработчики могут пользоваться стандартными программами обработки растровых изображений.

GAPI поддерживает следующие функции:

  • Использование картинок в формате BMP в качестве основы.
  • Создание и размещение сглаженных (anti-aliased) текстовых элементов в кадре.
  • Разделы кадра могут быть окрашены (залиты цветовой палитрой).
  • Эффекты плавного проявления изображения и цветовые преобразования в соответствии с требованиями ЧМИ.
  • Создание соответствующих выходных кадров 16 bpp для отображения на TFT-экране.
  • Взаимодействие объектов ЧМИ с сенсорным экраном.

Эти относительно новые функции позволяют компаниям создавать привлекательные и эффективные ЧМИ с низкими системными затратами и работающими из встроенной в кристалл микроконтроллера флэш-памяти. Наряду с GAPI, которую предоставляет Renesas Electronics, различные партнеры объединения Renesas Alliance Partners также предлагают свои собственные решения, оптимизированные под различные требования заказчика.

32 битный микроконтроллер RX62N с интегрированными периферийными функциями и производительностью 165 DMIPS на частоте 100 МГц дает возможность с легкостью выполнять перечисленные выше задачи. Встроенная в кристалл RX периферия обеспечивают эффективную работу TFT-панели практически без нагрузки на центральный процессор. Это снижает расходы на разработку ЧМИ, так как в данном случае нет необходимости во внешнем контроллере TFT-дисплея с кадровым буфером. С помощью мультишинной архитектуры и встроенным в кристалл exDMA контроллером выполняется управление передачей с внешнего кадрового буфера на TFT-панель. Встроенный в микроконтроллер таймерный блок (TPU) служит для синхронизации управляющих сигналов TFT с передачей данных.

Далее в статье мы рассмотрим работу решения и системные требования (рис. 1).

Концепция системы

Рис. 1. Концепция системы

Компаниям, разрабатывающим систему с простой буферизацией, понадобится внешний кадровый буфер с 4 Мбит (256K×16) памяти. Система с двойной кадровой буферизацией требует, соответственно, 8 Мбит (512K×16) памяти. Двойная буферизация рекомендуется для ЧМИ с большим количеством анимационных эффектов, так как она уменьшает явление разрыва изображения на экране. Например, центральный процессор (ЦП) может собирать изображение в буфере А, в то время пока буфер Б выводится на экран TFT. Как только закончится обработка буфера А, указатель активного кадра можно переключить с буфера Б на буфер А. Такой вариант с двойной буферизацией обеспечивает то, что обработка кадрового буфера процессором не будет видима на экране.

В качестве внешней памяти можно использовать микросхемы SRAM либо SDRAM. Доступ к SRAM обычно быстрее, но при этом такая память дороже. SDRAM же является экономичным решением, но многие разработчики считают, что это устройство также увеличивает время доступа, за счет латентности. На выбор типа памяти влияют несколько различных параметров, и разработчикам придется выбирать тип памяти на основе отдельных требований для каждого приложения. В любом случае микроконтроллер RX компании Renesas поддерживает оба варианта.

И выбранный буфер кадра, и панель TFT используют внешнюю 16 разрядную шину микроконтроллера RX. Адрес данных и команды чтения/записи микроконтроллер генерирует автоматически. Встроенный в чип блок таймеров (TPU) формирует временной режим для выбранного экрана TFT, выдавая стробирующие сигналы горизонтальной и вертикальной синхронизации, тактовые импульсы для каждого пикселя и сигнал включения данных.

Внутреннюю шину микроконтроллера RX эти действия почти не затрагивают. ЦП все так же может иметь доступ к внутренней флэш-памяти, внутреннему ОЗУ и к периферийным элементам, в то время как внешний модуль прямого доступа к памяти (exDMA) посылает 16 разрядные данные в формате RGB (5:6:5) из кадрового буфера на панель TFT. Тип содержимого кадрового буфера не важен, поскольку exDMA просто переносит данные на TFT в фоновом режиме с заранее запрограммированной частотой обновления. Система лишь кратко прерывается программой обслуживания прерываний контроллера exDMA. ЦП и блок exDMA мало влияют друг на друга: фактически потери составляют лишь 5% производительности ЦП.

Временной режим

Рис. 2. Временной режим

Разработчики, которые работают над временным режимом, могут поинтересоваться, как долго exDMA посылает свои данные, и сколько времени остается для ЦП, чтобы записать новое изображение в кадровый буфер (рис. 2, 3). В этом примере QVGA TFT имеет 16 разрядную глубину цвета, а частота обновления изображения была установлена равной 50 кадров/с. Во время переднего и заднего промежутков неактивных строк (относительно сигнала вертикальной синхронизации) exDMA не передает никаких данных RGB из внешнего SRAM на TFT, поэтому внешняя шина свободна. Это время ЦП использует для того, чтобы записать новые изображения в кадровый буфер через внешнюю шину до того, как exDMA начнет передавать данные из буфера на TFT. В этом случае exDMA выполняет свою работу за 8,85 мс, что составляет 42% частоты обновления, а оставшиеся 11,5 мс позволяют ЦП обновить кадровый буфер.

Сигналы управления TFT-экрана

Рис. 3. Сигналы управления TFT-экрана

Рассмотрим детальнее временные диаграммы, чтобы понять полученный результат. Строка начинается с нарастания сигнала горизонтальной синхронизации, за которым следует промежуток времени, в котором активна частота тактирования пикселей, но никакие данные не передаются. Первый пиксель, передаваемый на панель TFT, определяется нарастанием сигнала на линии разрешения данных. При каждом заднем фронте импульса тактирования пикселей передается следующее 16 разрядное значение цвета пикселя в формате RGB до тех пор, пока все 320 пикселей (в данном примере QVGA) не будут посланы. Эта серия пикселей заканчивается по спаду сигнала разрешения данных, после чего, как и раньше, имеется период тактирования неактивных пикселей. Количество тактов для переднего и заднего промежутков неактивных пикселей — величина переменная, которая определяется производителем TFT. Затем новый сигнал горизонтальной синхронизации активирует запись второй строки, и процесс продолжается до тех пор, пока все 240 дисплейных строк QVGA не будут записаны. Задний фронт сигнала вертикальной синхронизации активирует запись нового кадра. Как и в случае с временной диаграммой формирования строки, о которой говорилось выше, при формировании кадра имеются периоды неактивных строк, когда импульс горизонтальной синхронизации активен, но передачи данных не происходит.

Помимо своих возможностей по управлению дисплеем, микроконтроллер RX также обладает многими коммуникационными интерфейсами, которые широко применяются в современных ЧМИ. Среди них синхронные и асинхронные интерфейсы (SCI), интерфейсы SPI и CAN, модуль Ethernet MAC и до двух интерфейсов USB, которые могут работать в режиме USB OTG в качестве хоста или функции. Это позволяет компаниям разрабатывать операторские пульты на основе однокристального решения, для систем, которым обычно требуется несколько отдельных интерфейсов (рис. 4).

Блок-схема системы прямого управления TFT-дисплеем с помощью EXDMA

Рис. 4. Блок-схема системы прямого управления TFT-дисплеем с помощью EXDMA

Компания Renesas рекомендует в качестве первого шага попробовать демонстрационный набор RX TFT Direct-Drive Starter Kit [3], так как это готовое к использованию решение, которое дает возможность сразу же получить результаты и быстро разработать прототип. Вместе с микропроцессором Renesas RX62N со встроенной флэш-памятью на 512 кбайт и встроенным ОЗУ на 96 кбайт набор содержит внешнее ОЗУ SDRAM на 128 Мбит, которое можно использовать в качестве кадрового буфера. Дисплей WQVGA подключается к демонстрационной плате через переходную плату и обеспечивает вывод изображения с разрешением 480×272 пикселя и 16 разрядную глубину цвета на один пиксель.

В Интернете имеется подробная документация, которая также включена в демонстрационный набор. В качестве инструментов разработки можно использовать отладчик E1 компании Renesas Electronics (подойдет также Segger J Link) и среду разработки HEW. Последняя объединяет все необходимые инструменты для создания и отладки программ, а также позволяет выводить изображения из кадрового буфера платформы RX TFT Direct-Drive на компьютере разработчика, что ускоряет время отладки приложения.

В качестве системы реального времени для прямого управления TFT компания Renesas выбрала FreeRTOS с открытым кодом, однако доступны и пробные версии коммерческих продуктов третьих сторон, например, компании Segger, которые можно скачать из Интернета. Пакет программ для управлением TFT от Segger состоит из операционной системы embOS и графического приложения emWin. Для приложений, использующих дисплеи, приложение emWin предоставляет графический интерфейс пользователя (GUI), который не зависит от процессора и дисплея и совместим с однозадачными и многозадачными средами. Кроме того, emWin работает с любыми другими частными операционными системами реального времени (RTOS), является гибким инструментом, так что его можно приспособить для дисплеев любого размера.

Таким образом, эта экономичная платформа на основе однокристального решения компании Renesas с бесплатным графическим интерфейсом программирования GAPI позволяет быстро оценить и значительно упростить разработку нового ЧМИ. Никогда еще не было так легко повысить эффективность работы приложения с TFT, как это можно сделать на микроконтроллерах RX.

Литература
  1. http://www.renesas.eu/applications/key_technology/human_interface/rich_gui/index.jsp /ссылка утрачена/
  2. http://www.renesas.eu/support/downloads/jq_download_category/rx_aplnote/an_r01an0331eu0103_rx_lcd.zip /ссылка утрачена/
  3. http://www.renesas.eu/products/tools/introductory_evaluation_tools/renesas_starter_kits/rx62n_tftlcd_dddemokit/index.jsp /ссылка утрачена/

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

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