микроконтроллеры от ведущих мировых производителей

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


В сентябре 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, на рынке представлены и более “продвинутые” контроллеры дисплеев, например, RA8875 компании RAIO Technology. В последнем аппаратно реализованы функции вывода геометрических фигур, работа с двумя изображениями, наложением их друг на друга и т.д. Похожий на RA8875 функционал используется в МК STM32F4xx. Тем не менее, базовые принципы работы остаются без изменений, основное изображение формируется на МК, а затем помещается в видеобуфер контроллера дисплея для дальнейших манипуляций с ним и последующего вывода на экран.

В противоположность микросхемам контроллеров дисплея типа SSD1963, микросхемы серии FT8xx FTDI можно называть графическими контроллерами (рис.2). FT81x

Рисунок 2

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

screen editor

Рисунок 3

 

Кроме графических функций, микросхемы 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 и более короткие сроки поставки, чем на монохромные дисплеи.сравнение

Рисунок 4

 

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

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

1) в стандартном одноканальном режиме, когда линии MISO и MOSI выполняют свои обычные функции;

2) в двухканальном режиме – линии MISO и MOSI служат для параллельной передачи данных от МК в FT81x. Чтение FT81x осуществляется в , т.е. линия MISO меняет направление; 

 3) в четырехканальном режиме на передачу данных от МК работают линии 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 без изменений.

FT812

Рисунок 5

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

VM810C50A-D

Рисунок 6

Для первого знакомства с возможностями графических контроллеров 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 точек, см. таблицу:

 

Модель

Яркость,

кд/м2

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

мм х мм

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

мм х мм х мм

Сенсорная панель/

монтажная рамка

Рабочий температурный

диапазон, 0 C

RVT70AQFNWN00

400

154.08×85.92

164.80×99.80×9.15

Нет/нет

-20 - +70

RVT70AQFNWR00

320

164.80×99.80×10.65

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

RVT70AQFNWC00 (рис.7)

350

164.80×99.80×11.45

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

RVT70AQFFWN00

400

165.60×100.60×9.68

Нет/да

RVT70AQFFWR00 (рис.8)

320

165.60×100.60×11.18

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

RVT70AQFFWC00

350

165.60×100.60×12.00

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

RVT70UQFNWC0х (рис. 9)

350

 

179.96×119.00×7.80

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

крепление на скотч

RVT70AQFNWC00RVT70AQFFWR00RVT70UQFNWC0х

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

uxTouch

Рисунок 10

 

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

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

Revelation Board

Рисунок 11

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

Break Out Board 20

Рисунок 12

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

Hermes Board

Рисунок 13

 

Заключение

На текущий момент линейка графических контроллеров 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.