Графические модули FTDI VM800P и VM801P
Внедрение TFT-дисплея в существующий проект не всегда возможно из-за ограниченности ресурсов используемой в этом проекте элементной базы. В случаях, когда переход на другую элементную базу нецелесообразен, имеет смысл рассмотреть вариант применения готовых решений — графических модулей. В настоящей статье мы предлагаем познакомиться с модулями серии VM80xP компании FTDI.
Введение
Нередко возникает необходимость добавить в проект TFT-дисплей без изменений существующего решения. Например, заказчику требуется графический интерфейс, а стандартное изделие его не имеет. В таких случаях на помощь приходят готовые графические модули — они становятся оправданным решением, поскольку внедрение в прибор возможно с минимальными изменениями его базового программного обеспечения и электрической схемы. Хорошим примером могут служить модули компании 4D Systems, о которых мы рассказывали в статьях [1, 2]. Специализированная среда разработки 4D Systems Workshop 4 с готовыми графическими элементами (кнопками, слайдерами, индикаторами и т. п.), простота в освоении программных и аппаратных средств, а также использование широко распространенного интерфейса UART для подключения графических модулей помогают быстро реализовать графический интерфейс пользователя (рис. 1). Но такие модули относительно дороги и их применение обосновано в мелкосерийных проектах, где время разработки является основным фактором.
В настоящей статье мы расскажем о новой линейке готовых графических модулей производства компании FTDI. Они выгодно отличаются по цене от представленных ранее модулей 4D Systems, а в качестве управляющего микроконтроллера установлена знакомая российским разработчикам микросхема семейства Atmega компании Atmel. Управление TFT-дисплеем, сенсорным экраном и вывод звука осуществляются с помощью микросхемы графического контроллера FT80x. Производство этих специализированных микросхем для управления TFT-дисплеями компания FTDI начала в 2013 году [3]. Главным отличием графических контроллеров FT80x являются реализованные на аппаратном уровне готовые графические элементы (кнопки, круговые и линейные слайдеры и т. п., рис. 2), возможность рисования простых элементов (линий, кругов, прямоугольников и т. п.), поддержка резистивного сенсорного экрана и воспроизведение звука с интегрированной библиотекой готовых звуковых эффектов. Графический контроллер FT80x самостоятельно, без участия управляющего микроконтроллера, формирует картинку, которая будет отображаться на экране дисплея. Все это позволяет реализовать управление TFT-дисплеем с разрешением до 512×512 точек на простых 8‑разрядных микроконтроллерах. Компания FTDI планирует развитие данной серии графических контроллеров — в конце 2015 года ожидается ее пополнение новыми микросхемами с разрешением 800×600 точек.
Описание модулей VM80xP
В 2014 году FTDI запустила в производство семейство графических модулей VM80xP на базе микроконтроллера Atmel Atmega 328P (рис. 3). В это семейство входят два типа модулей: VM800P с резистивным сенсорным экраном и VM801P с емкостным сенсорным экраном. Тип сенсорного экрана является единственным отличием данных модулей.
В настоящее время компания FTDI предлагает следующий набор графических модулей, их наименования и основные отличия приведены в таблице. Графические модули VM80xP представляют собой функционально законченное устройство, в качестве управляющего элемента которого выступает микроконтроллер Atmel Atmega 328P. Модули могут быть использованы в составе прибора или работать как самостоятельное устройство, например операторская панель.
Наименование модуля |
Отличия модулей |
---|---|
VM800P35A-BK |
Дисплей 3,5″, 320×240, резистивный сенсорный экран, рамка черного цвета |
VM800P35A-PL |
Дисплей 3,5″, 320×240, резистивный сенсорный экран, рамка перламутрового цвета |
VM800P43A-BK |
Дисплей 4,3″, 480×272, резистивный сенсорный экран, рамка черного цвета |
VM800P43A-PL |
Дисплей 4,3″, 480×272, резистивный сенсорный экран, рамка перламутрового цвета |
VM800P50A-BK |
Дисплей 5″, 480×272, резистивный сенсорный экран, рамка черного цвета |
VM800P50A-PL |
Дисплей 5″, 480×272, резистивный сенсорный экран, рамка перламутрового цвета |
VM801P43A-BK |
Дисплей 4,3″, 480×272, емкостный сенсорный экран, рамка черного цвета |
VM801P43A-PL |
Дисплей 4,3″, 480×272, емкостный сенсорный экран, рамка перламутрового цвета |
VM801P50A-BK |
Дисплей 5″, 480×272, емкостный сенсорный экран, рамка черного цвета |
VM801P50A-PL |
Дисплей 5″, 480×272, емкостный сенсорный экран, рамка перламутрового цвета |
Кроме микроконтроллера на плате модуля установлены дополнительные элементы. Микросхема часов реального времени MCP7940 с часовым кварцем, которая обеспечивает отсчет времени с возможностью отображения часов, минут, секунд, дня недели, числа, месяца и года. Питание часов реального времени осуществляется от внешнего источника питания. При отключении внешнего источника микросхема MCP7940 переходит на питание от батареи, также установленной на плате модуля.
Для хранения графических элементов, шрифтов и любых других данных на модуле предусмотрен разъем для флэш-карты формата Micro SD. Вместе с модулем поставляется карта памяти объемом 4 Гбайт. Для микроконтроллера Atmega есть готовые библиотеки, которые поддерживают работу с файловой системой FAT. Это значительно упрощает взаимодействие с картой памяти как при копировании на нее графических элементов с ПК, так и при работе с ней микроконтроллера.
На плате модуля также установлены усилитель звука и динамик для проигрывания звуковых эффектов и аудиофайлов (PCM, uLAW и ADPCM). Для программирования микроконтроллера имеется разъем микро-USB. Интерфейс USB реализован на базе моста FT232, через который по UART обновляется прошивка микросхемы Atmega 328P. Два 16‑контактных разъема Micro-MaTch обеспечивают доступ к свободным линиям ввода/вывода микроконтроллера.
Дополнительные возможности
С целью расширения коммуникационных возможностей графических модулей производитель предлагает набор плат расширения серии VI800A. Платы расширения устанавливаются в разъемы Micro-MaTch (рис. 4), управление и обмен данными выполняется по интерфейсу SPI.
На текущий момент производитель предоставляет следующие варианты плат расширения последовательных интерфейсов: UART — VI800A-TTLU (рис. 5); RS‑232 — VI800A‑232U и RS‑485 — VI800A-N485U. Плата VI800A-TTLU обеспечивает преобразование интерфейса SPI в UART. По интерфейсу SPI осуществляется ее взаимодействие с графическим модулем VM80xP. Со стороны UART доступны две линии для приема/передачи данных (Rx и Tx) и две линии аппаратного контроля (CTS и RTS). В дополнение к интерфейсу UART модуль имеет 4 дискретных входа и 4 дискретных выхода. Все сигналы выведены на разъем Micro-MaTch и разъем с винтовыми зажимами. Плата VI800A‑232U отличается от предыдущей только наличием микросхемы драйвера физического уровня RS‑232, плата VI800A-N485U на выходе имеет драйвер интерфейса RS‑485 (Rx+/Rx– и Tx+/Tx–). В остальной части они обе полностью повторяют VI800A-TTLU.
Плата расширения аналогового ввода/вывода VI800A-RELAY (рис. 6) имеет 4 входа для работы с дискретными аналоговыми сигналами и 4 дискретных аналоговых выхода. Входные линии реализованы на базе опторазвязок ACPL‑227-500E Avago. Выходы коммутируются с помощью реле IM03GR TE с постоянным рабочим напряжением до 220 В и максимальным током до 2 А. Управление платой осуществляется по интерфейсу SPI.
На базе плат расширения VI800A-ETH и VI800A-POE (рис. 7) предлагается сетевой интерфейс Ethernet 10/100, выполненный на основе популярной микросхемы W5100 компании Wiznet. Эта микросхема аппаратно реализует протоколы TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE. Отличием платы VI800A-POE от VI800A-ETH является дополнительный модуль PoE (Power over Ethernet). Он обеспечивает выходное напряжение 5 В и ток до 1,8 А и может также служить для организации удаленного питания графического модуля VM80xP. Управление платами VI800A-ETH и VI800A-POE осуществляется по интерфейсу SPI.
Средства разработки
В качестве среды разработки производитель предлагает использовать свободно распространяемую и простую в освоении среду разработки Arduino. Для работы с графическими модулями FTDI рекомендует версию Arduino 1.0.x, на текущий момент доступна версия 1.0.6 [6]. Готовая библиотека для FT80x и большой набор примеров приложений, предлагаемых FTDI для модулей VM80xP, достаточен для понимания принципов действия графических контроллеров и их возможностей (рис. 8). Один из этих примеров, а именно вывод на экран изображения стрелочного индикатора, был подробно рассмотрен в [7]. Предлагаемые производителем примеры позволяют познакомиться со всеми возможностями графических контроллеров FT80x, включая работу с графикой, звуком, емкостными и резистивными сенсорными экранами. Если предполагается применение других компиляторов при разработке программного обеспечения для графических модулей VM80xP, то в качестве библиотек могут быть использованы примеры, описанные в [4, 5].
Программирование графических модулей осуществляется по интерфейсу USB. В качестве моста USB-UART используется микросхема FT232R, линии RxD и TxD которой подключены к соответствующим линиям микроконтроллера Atmega 328P. Соответственно, для работы с графическими модулями на ПК должен быть установлен драйвер CDM [8] компании FTDI. Настройка среды разработки для программирования модулей VM80xP выполняется следующим образом. Через меню «Сервис-Программирование» выбираем пункт “Arduino as ISP” (рис. 9) и через меню «Сервис-Плата» указываем пункт “Arduino Pro or Pro Mini (5 V, 16 MHz) w/Atmega328” (рис. 10).
В заключение обзора графических модулей компании FTDI отметим, что они представляют собой удачное и сбалансированное решение. Возможностей микроконтроллера Atmega 328P и графического контроллера FT80x достаточно для большого количества приложений, основной задачей которых является создание современного пользовательского интерфейса с элементами управления внешними устройствами, сбором и выводом на экран информации от датчиков и других подобных задач. Наличие в линейке FTDI нескольких вариантов исполнения модулей позволяет выбрать оптимальное по отношению «цена/функциональные возможности» решение для конкретной задачи. А конструктивное исполнение декоративной рамки и крепежных элементов обеспечивает простой и надежный монтаж модулей на передней панели корпуса прибора. Модули VM80xP могут быть хорошим выбором для небольших проектов, например в качестве готового решения для создания панелей управления.
- Долгушин С. Графические контроллеры и дисплейные модули компании 4D Systems // Компоненты и технологии. 2013. № 2.
- Долгушин С. Графический интерфейс пользователя на базе готовых дисплейных модулей компании 4D Systems // Компоненты и технологии. 2013. № 4.
- Долгушин С. Графический контроллер EVE FT800 компании FTDI // Компоненты и технологии. 2013. № 11.
- Долгушин С. Начинаем работать с графическим контроллером FT800 FTDI // Компоненты и технологии. 2014. № 5.
- Долгушин С. Графический контроллер EVE FT800 FTDI и микроконтроллер SAMD21 Atmel. Работаем с графическими изображениями // Компоненты и технологии. 2014. № 8.
- arduino.cc/en/Main/OldSoftwareReleases
- Долгушин С. Графический контроллер FT800. Вывод на экран изображения стрелочного индикатора и оптимальное использование ресурсов управляющего микроконтроллера // Компоненты и технологии. 2015. № 2.
- ftdichip.com/Drivers/D2XX.htm