Новые графические контроллеры FTDI FT81x

№ 12’2015
PDF версия
В сентябре 2015 года компания FTDI объявила о начале производства второго поколения микросхем семейства EVE — серии графических контроллеров FT81x. За два с половиной года с момента выпуска первых графических контроллеров семейства EVE эти микросхемы вызвали значительный интерес у разработчиков. По сравнению с существующими решениями их основным конкурентным преимуществом стал встроенный графический процессор, который полностью избавляет управляющий микроконтроллер от задач, связанных с формированием изображения и выводом его на экран TFT-дисплея. Такое решение позволяет заменять монохромные ЖК-дисплеи цветными TFT, без перехода на более мощные микроконтроллеры, что не всегда возможно в случае альтернативных решений, например на базе контроллеров дисплеев SSD1963.

Базовые принципы работы графических контроллеров FTDI

Прежде чем приступить к обзору возможностей новых графических контроллеров FTDI серии FT81x, хотелось бы еще раз рассказать, что они представляют собой, для чего предназначены и в чем их отличия от популярного контроллера дисплея SSD1963 компании Solomon. На примере микросхем FTDI и контроллера Solomon напомним об основных функциональных возможностях FT8xx.

Контроллер дисплея SSD1963 и аналогичные ему микросхемы других производителей получили широкое распространение в приложениях с использованием TFT-дисплеев. Эти микросхемы в первую очередь предназначены для реализации простого интерфейса между микроконтроллером (МК) и дисплеем. На рис. 1 представлена функциональная схема контроллера дисплея SSD1963. Основными его элементами являются видеобуфер (frame buffer), контроллер дисплея (LCD controller) и внешний интерфейс для подключения данной микросхемы к МК. Внешний интерфейс способен действовать в режимах 8080/6800. Разрядность шины данных в обоих режимах может быть 8, 9, 16, 18 или 24 бит. Контроллер дисплея SSD1963 обеспечивает все управляющие сигналы и сигналы синхронизации, требуемые для работы дисплея и вывода изображения на экран. Текущее изображение хранится в видеобуфере, размер которого равен 1215 кбайт. Этого достаточно, чтобы обеспечить хранение изображения в максимальном поддерживаемом контроллером SSD1963 разрешении 800×480 точек. Соответственно, чтобы один кадр изображения был выведен на экран дисплея, МК должен его подготовить и записать в видеобуфер SSD1963. Также поддерживается режим записи в определенную область видеобуфера SSD1963, что позволяет обновлять небольшой участок изображения. Таким образом, контроллер дисплея получает полностью подготовленное для вывода на экран изображение и без участия МК поддерживает его на экране до тех пор, пока МК не запишет в его видеобуфер новое. Никаких действий с изображением контроллер дисплея выполнять не предназначен. Подготовка изображения, формирование элементов пользовательского интерфейса (кнопок, слайдеров и т. п.), поддержка шрифтов и т. д. полностью лежит на управляющем МК.

Функциональная схема контроллера дисплея SSD1963

Рис. 1. Функциональная схема контроллера дисплея SSD1963

И конечно, кроме SSD1963, на рынке представлены более продвинутые контроллеры дисплеев, например RA8875 компании RAIO Technology. В нем аппаратно реализованы функции вывода геометрических фигур, работа с двумя изображениями, наложением их друг на друга и т. д. Похожий на RA8875 функционал используется в МК STM32F4xx. Тем не менее базовые принципы работы остаются без изменений, основное изображение формируется на МК, а затем помещается в видеобуфер контроллера дисплея для дальнейших манипуляций и последующего вывода на экран.

В противоположность микросхемам контроллеров дисплея типа SSD1963, микросхемы серии FT8xx FTDI можно называть графическими контроллерами (рис. 2). Принципиальным отличием FT8xx является графический процессор с готовым набором функций и элементов. Получив от управляющего МК набор инструкций, графический контроллер самостоятельно рассчитывает изображение и обеспечивает вывод его на экран дисплея. Такой принцип работы многократно снижает нагрузку на управляющий МК. В качестве наглядного примера может служить заливка экрана одним цветом. Для вывода на экран дисплея с разрешением 800×480 точек и глубиной цвета 18 бит 8‑разрядному МК потребуется передать в SSD1963 1152 кбайт из расчета, что информация о цвете передается тремя байтами. Для того чтобы графический контроллер FTDI отобразил на экране дисплея равномерный фон, МК должен передать в него не более 20–30 байт. Это фактический объем 5–6 команд, которые мы должны записать в FT8xx, чтобы он сформировал изображение и вывел его на экран. Описание похожих примеров можно посмотреть в статье [1]. Исходя из принципа действия графических контроллеров FT8xx, для них не требуются специализированные библиотеки наподобие графической библиотеки STM — STemWIN. Базовые элементы графического интерфейса пользователя реализованы аппаратно, некоторые из них приведены на рис. 3. Аппаратно поддерживаются и различные эффекты наложения и прозрачности. Производитель дает достаточное количество примеров работы со всем функционалом графических контроллеров. Примеры реализованы таким образом, что весь набор API-функций, необходимый для работы, без особых трудностей переносится на различные платформы [2, 3, 4, 5].

Функциональная схема графических контроллеров FT81x

Рис. 2. Функциональная схема графических контроллеров FT81x

Пример встроенных графических объектов FT8xx

Рис. 3. Пример встроенных графических объектов FT8xx

Кроме графических функций, микросхемы FTDI имеют встроенную аппаратную поддержку резистивных сенсорных экранов и поддержку на уровне команд и обработки информации внешних контроллеров емкостных сенсорных экранов Focaltech и Azotech. Главное достоинство такой поддержки состоит в том, что FT8xx самостоятельно обрабатывают все события, связанные с сенсорными экранами. Разработчик может привязать к элементу управления (например, кнопке) метку и по ее состоянию определять, было ли касание сенсора в области данного элемента. Расчет координат выполняется графическим контроллером автоматически [3]. Соответственно, с управляющего МК снимается задача опроса и обработки сенсорного экрана, а в случае отсутствия встроенного АЦП — нет необходимости в дополнительной внешней микросхеме. Также минимизируется количество требуемых линий ввода/вывода.

Полезным дополнением служит аудиосопроцессор со встроенной библиотекой звуков и эффектов. Сопровождение звуковыми эффектами моментов активации элементов графического интерфейса поможет обеспечить дополнительную обратную связь от системы к пользователю. Это желательно при работе с сенсорными экранами, поскольку в таком случае отсутствует тактильный эффект. Помимо встроенных эффектов, поддерживается работа с внешними аудиофайлами в форматах 8 бит PCM, 8 бит uLAW и 4 бит IMA-ADPCM.

Таким образом, графические контроллеры FT8xx обладают существенными преимуществами перед распространенными типами контроллеров дисплеев. Если стоит задача по переходу с монохромного дисплея на цветной TFT без замены управляющего МК, то микросхемы FTDI могут позволить это сделать, что успешно подтверждается в реальных проектах, в том числе и в России.

Иногда существенно и то, что применение FT8xx позволяет выбирать МК в меньшем корпусе за счет использования интерфейса SPI или IIC и двух линий ввода/вывода для служебного сигнала PD и прерывания (последнее может и не использоваться). В случае SSD1963, в минимальном варианте, понадобится два порта МК и свободный блок АЦП для резистивного сенсора, когда нужна его поддержка.

 

Новые возможности микросхем серии FT81x

Базовые возможности новых микросхем графических контроллеров FTDI серии FT81x ничем не отличаются от FT80x. Главным отличием этой серии от FT80x является поддержка дисплеев с разрешением до 800×600 точек и глубиной цвета до 24 бит. На сегодня это типовые разрешения для TFT-дисплеев с диагональю от 5 до 7. Подобные дисплеи получают все большее распространение, их часто выбирают в качестве замены монохромных ЖК-дисплеев типа Winstar WG320240C, как близкие по физическим размерам видимой области экрана (рис. 4). Основные факторы такого перехода — меньшая цена на TFT и более короткие сроки поставки, чем на монохромные дисплеи.

Монохромный графический дисплей Winstar WG320240CX (вверху) и TFT-дисплей Riverdi 7″ RVT70AQFFWR00 (внизу)

Рис. 4. Монохромный графический дисплей Winstar WG320240CX (вверху) и TFT-дисплей Riverdi 7″ RVT70AQFFWR00 (внизу)

Новая серия представлена четырьмя микросхемами: FT810, FT811, FT812 и FT813. Первые две производятся в корпусах VQFN‑48 и полностью совместимы по выводам с микросхемами FT800 (с поддержкой резистивного сенсорного экрана) и FT801 (с поддержкой емкостного сенсорного экрана) соответственно. Эти микросхемы обеспечивают работу с дисплеями по интерфейсу RGB 18 бит. FT812 (с поддержкой резистивного сенсорного экрана) и FT813 (с поддержкой емкостного сенсорного экрана) выпускаются в корпусе VQFN‑56. Они поддерживают работу с дисплеями по интерфейсу RGB 24 бит [7].

В новых микросхемах FTDI претерпел изменения и интерфейс для связи с МК. Производитель убрал поддержку IIC-интерфейса и добавил новые возможности интерфейсу SPI. Новый SPI может работать в трех режимах:

  • в стандартном одноканальном режиме, когда линии MISO и MOSI выполняют свои обычные функции;
  • в двухканальном режиме — линии MISO и MOSI служат для параллельной передачи данных от МК в FT81x. Чтение FT81x осуществляется в обычном режиме, т. е. линия MISO меняет направление;
  • в четырехканальном режиме на передачу данных от МК работают линии MISO, MOSI и дополнительные — IO2 и IO3, чтение из FT81x производится в обычном режиме.

Максимальная рабочая частота SPI в одноканальном и двух-канальном режимах — 30 МГц, в четырехканальном — 25 МГц. Многоканальные режимы SPI необходимы, если предполагается использование новой функции проигрывания видео, и будут полезны для ускорения вывода на экран изображений в формате JPEG в максимальном разрешении. Для приложений, где эти функции не требуются, скорости обмена в обычном режиме более чем достаточно. На примере реальных проектов с выводом и обработкой событий пользовательского интерфейса успешно справляются МК типа Atmega 128, тактовая частота SPI которых не превышает 5 МГц. Увеличение разрешения в новых графических контроллерах не приводит к увеличению нагрузки на SPI, если мы работаем с графическим интерфейсом на базе встроенных функций.

В связи с увеличением поддерживаемого разрешения и добавлением поддержки видео существенно увеличен размер графической памяти RAM_G новых контроллеров. Он составляет 1 Мбайт против 256 кбайт у микросхем FT80x. Эту область памяти нельзя сравнивать с видеобуфером SSD1963. RAM_G используется для хранения в процессе работы пользовательских графических объектов (шрифтов, изображений и звуков) или в качестве временного буфера для видео- и аудиофайлов. Пользовательские элементы, например набор шрифтов, могут храниться в ней сколь угодно долго, до сброса контроллера или перезаписи данной области. Кроме пользовательских элементов, в этой области могут храниться часто применяемые наборы команд для построения сложных изображений с помощью встроенных функций графических контроллеров, подробно об этом было рассказано в [6]. Такой подход позволяет, однажды загрузив набор элементов в RAM_G, использовать их по мере необходимости, а их вывод на экран будет осуществляться одной функцией. Микросхемы FT8xx имеют аналог видеобуфера SSD1963, но он скрыт и не доступен разработчику. Причем FT8xx имеют два таких буфера для хранения текущего и следующего за ним кадров изображения.

Микросхемы FT81x поддерживают аппаратное изменение ориентации экрана, чего не было в микросхемах предыдущей серии FT80x. Хотя в некоторых ситуациях эта функция может и пригодиться, следует понимать, что изменение указанной производителем ориентации дисплея с матрицей TN может приводить к значительному искажению цветопередачи и снижению контрастности изображения. Дисплеи с матрицами IPS, у которых изменение ориентации дисплея не вызывает ухудшения качества картинки на экране, пока не получили распространения во встраиваемых приложениях вследствие более высокой цены и меньшей доступности, чем дисплеи с матрицами TN.

Энергопотребление микросхем новой серии изменилось незначительно. В рабочем режиме потребляемый ток равен 22 против 24 мА у FT80x, в режиме Standby — 1,8 против 1,5 мА, в режиме Sleep — 0,76 против 0,25 мА, в режиме Powerdown — 0,17 против 0,001 мА. Повышение энергопотребления в энергосберегающих режимах, в частности, связано с тем, что у новых микросхем не прекращается опрос сенсорных экранов. Микросхемы FT810 и FT812 продолжают опрос сенсорного экрана в режимах Standby и Sleep, при детектировании касания на линию прерывания INT_N выставляется низкий уровень. Для микросхем FT811 и FT813 на линию INT_N транслируется состояние линии CTP_INT_N контроллера емкостного экрана во всех трех режимах энергосбережения. Напряжение питания новых микросхем составляет 3,3 В, порты ввода/вывода могут работать в диапазоне 1,8–3,3 В и не совместимы с 5 В МК.

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

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

 

Средства разработки

Что требуется для того, чтобы понять и оценить возможности графических контроллеров FT80x и FT81x? Для этого производитель предлагает программные и аппаратные средства. В первую очередь имеет смысл ознакомиться с программными средствами и набором готовых примеров. Такие утилиты, как Screen Editor, Screen Designer и программный эмулятор, позволят оценить микросхемы FT8xx без привлечения аппаратных средств. Их возможности, назначение и принципы работы подробно рассмотрены в [9]. Отметим, что на момент написания статьи в новой версии программы EVE Screen Editor не активирована функция генерации кода для MS Visual Studio. Остальной функционал программы, включая конвертацию изображений и шрифтов, действует корректно. Пока достаточно пользоваться предыдущей версией Screen Editor, которую можно скачать по ссылке [10]. В качестве примера на рис. 5 приведен снимок экрана дисплея RVT70AQFFWR00 с контроллером FT812, отображающий одно из состояний программы, описанной в [9]. Текст этой программы, изображения и шрифт взяты из указанного выше примера для FT800 без изменений.

Пример переноса программы с контроллера FT800 на FT812

Рис. 5. Пример переноса программы с контроллера FT800 на FT812

В качестве аппаратного средства отладки производитель предлагает модуль VM810C (рис. 6), который поставляется в двух вариантах. В варианте VM810C50A-D в комплект входит плата с установленным контроллером FT810 и дисплей с диагональю 5, разрешением 800×480 точек и резистивным сенсорным экраном. Вариант VM810C50A-N комплектуется только платой графического контроллера. С помощью данных модулей легко оценить все возможности микросхем серии FT81x — работу с графикой, сенсорным экраном и звуком. Внешние сигналы и линии интерфейса SPI выведены на разъем через буфер, что позволяет работать с 5‑В сигналами. На внешний разъем не выведены линии IO2 и IO3, что не позволяет протестировать работу SPI в четырехканальном режиме.

Отладочный модуль VM810C50A-D

Рис. 6. Отладочный модуль VM810C50A-D

Для первого знакомства с возможностями графических контроллеров FTDI производитель предлагает примеры в том числе для MS Visual Studio. Примеры для MS Visual Studio можно тестировать на реальном «железе», например модулях VM810C50A, используя переходные кабели FTDI USB-MPSSE C232HM-EDHSL‑0 (5 В) или C232HMDDHSL‑0 (3,3 В).

 

Готовые TFT-дисплеи на базе FT81x

Одновременно с выходом новых графических контроллеров компанией Riverdi начат выпуск дисплеев, которые штатно поставляются с установленными платами на базе контроллеров FT812 и FT813. Сегодня данная компания является единственным производителем TFT-дисплеев, который поставляет модели с контроллерами FTDI. В ноябре 2015 года уже доступны следующие модели дисплеев с диагональю 7 и разрешением 800×480 точек (таблица).

Таблица. Модели дисплеев Riverdi на базе контроллеров FT812/FT813

Модель

Яркость, кд/м2

Видимая область, мм

Габаритные размеры, мм

Сенсорная панель/
монтажная рамка

Рабочий диапазон температур, °C

RVT70AQFNWN00

400

154,08×85,92

164,8×99,8×9,15

Нет/нет

–20…+70

RVT70AQFNWR00

320

164,8×99,8×10,65

Резистивная/нет

RVT70AQFNWC00 (рис. 7)

350

164,8×99,8×11,45

Емкостная/нет

RVT70AQFFWN00

400

165,6×100,6×9,68

Нет/да

RVT70AQFFWR00 (рис. 8)

320

165,6×100,6×11,18

Резистивная/да

RVT70AQFFWC00

350

165,6×100,6×12

Емкостная/да

RVT70UQFNWC0х (рис. 9)

350

179,96×119×7,8

Емкостная/декоративное стекло, крепление на скотч

Дисплей RVT70AQFNWC00

Рис. 7. Дисплей RVT70AQFNWC00

Дисплей RVT70AQFFWR00

Рис. 8. Дисплей RVT70AQFFWR00

Дисплей RVT70UQFNWC0х в вариантах исполнения с декоративным стеклом черного и белого цвета

Рис. 9. Дисплей RVT70UQFNWC0х в вариантах исполнения с декоративным стеклом черного и белого цвета

Среди стандартных моделей выгодно отличается своим внешним оформлением линейка дисплеев серии uxTouch (рис. 10). Переднее защитное стекло емкостного сенсора имеет декоративную обработку и серийно поставляется с окантовкой черного или белого цвета. Дисплей крепится в корпусе прибора с помощью скотча. И, что немаловажно, дисплеи данной серии являются серийными изделиями, которые могут поставляться штучно. Возможны изменения формы защитного стекла, цвета окантовки, нанесение надписей и логотипов, замена стандартного стекла на ударопрочное стекло Dragontrail. Такие варианты делаются под заказ, с поставкой от 500 штук.

Дисплей uxTouch без контроллера

Рис. 10. Дисплей uxTouch без контроллера

Компания Riverdi также предлагает набор отладочных плат, тестирующих возможности их дисплеев на базе контроллеров FTDI, а также оказывающих помощь в разработке.

Демонстрационная плата Revelation Board (рис. 11) на базе МК STM32F0 показывает работу TFT-дисплеев на базе графических контроллеров FTDI. Производителем реализован ряд примеров, которые отображают базовые возможности по работе с графикой, резистивным и емкостным сенсорными экранами. Все исходные коды примеров для данной платы доступны на сайте производителя.

Демонстрационная плата Revelation Board

Рис. 11. Демонстрационная плата Revelation Board

Переходная плата Break Out Board 20 (рис. 12) представляет собой переход с разъема под плоский шлейф на стандартный штыревой разъем. Такая плата избавляет от проблемы подключения дисплея к различным отладочным средствам на этапах тестирования и разработки.

Переходная плата Break Out Board 20

Рис. 12. Переходная плата Break Out Board 20

Аналог переходного кабеля FTDI C232HMDDHSL‑0 — плата Hermes Board (рис. 13). Функционально она выполняет аналогичную роль конвертера USB-SPI, но для подключения TFT-дисплеев с FT8xx на ней установлен 20‑контактный разъем под плоский шлейф.

Отладочная плата Hermes Board

Рис. 13. Отладочная плата Hermes Board

 

Заключение

На текущий момент линейка графических контроллеров FTDI поддерживает самые востребованные разрешения распространенных дисплеев 3,5, 4,3, 5 и 7. Дисплеи этих размеров наиболее часто рассматриваются для применения во встраиваемых приложениях. Микросхемы FT8xx сегодня являются наиболее удобным решением для перехода с монохромных дисплеев на TFT-дисплеи. Во многих случаях микросхемы FTDI помогут избежать перехода на более мощные МК, что позволит оставить без изменений основной рабочий код программы.

Литература
  1. Долгушин С. Графический контроллер EVE FT800 компании FTDI // Компоненты и технологии. 2013. № 11.
  2. Долгушин С. Начинаем работать с графическим контроллером FT800 FTDI // Компоненты и технологии. 2014. № 5.
  3. Долгушин С. Графический контроллер EVE FT800 FTDI. Работа с пользовательскими шрифтами, кнопками и сенсорным экраном // Компоненты и технологии. 2014. № 6.
  4. Долгушин С. Графический контроллер EVE FT800 FTDI и микроконтроллер SAMD21 Atmel. Работаем с графическими изображениями // Компоненты и технологии. 2014. № 8.
  5. Долгушин С. Графический контроллер EVE FT800 FTDI и микроконтроллер SAMD21 Atmel. Работаем с графическими изображениями // Компоненты и технологии. 2014. № 10.
  6. Долгушин С. Графический контроллер FT800. Вывод на экран изображения стрелочного индикатора и оптимальное использование ресурсов управляющего микроконтроллера // Компоненты и технологии. 2015. № 2.
  7. FT81X Embedded Video Engine. Datasheet. ftdichip.com/Products/ICs/FT81X.html /ссылка утрачена/
  8. FT81x Series Programmers Guide. ftdichip.com/Products/ICs/FT81X.html/ссылка утрачена/
  9. Долгушин С. Графический контроллер FT800. Программные средства разработки и отладки // Компоненты и технологии. 2015. № 6.
  10. ftdichip.com/Support/Utilities/FTDI%20EVE%20Screen%20Editor%20V1.17.zip

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

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