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

Графические модули FTDI VM800P и VM801P.

Сергей Долгушин, dsa@efo.ru

Одной из часто встречающихся на практике задач является модернизация или модификация существующего изделия с целью улучшения его функциональных возможностей. Сегодня одним из популярных вариантов модернизации является графический пользовательский интерфейс на базе цветных TFT-дисплеев с сенсорными экранами. С помощью такого дисплея можно организовать простое и интуитивно понятное пользователю управление прибором.

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

Введение

Нередко возникает необходимость добавить в проект TFT-дисплей без изменений существующего решения. Например, заказчику требуется графический интерфейс, а стандартное изделие его не имеет. В таких случаях использование готовых графических модулей является оправданным решением, поскольку внедрение в прибор возможно с минимальными изменениями базового программного обеспечения этого прибора и его электрической схемы. Хорошим примером могут служить модули компании 4D Systems, о которых мы рассказывали в статьях [1,2]. Специализированная среда разработки 4D Systems Workshop 4 с готовыми графическими элементами (кнопками, слайдерами, индикаторами и т.п.), простота в освоении программных и аппаратных средств, а также использование широко распространенного интерфейса UART для подключения графических модулей помогают быстро реализовать графический интерфейс пользователя (рис.1). Но такие модули относительно дороги и их применение обосновано в мелкосерийных проектах, где время разработки является основным фактором.    4D Systems

В настоящей статье мы расскажем о новой линейке готовых графических модулей производства компании FTDI. Эти модули выгодно отличаются по цене от представленных ранее модулей 4D Systems, а в качестве управляющего микроконтроллера используется знакомая российским разработчикам микросхема семейства Atmega компании Atmel. Управление TFT-дисплеем,  сенсорным экраном и вывод звука осуществляются с помощью микросхемы графического контроллера FT80x. Производство этих специализированных микросхем для управления TFT-дисплеями компания FTDI начала в 2013 году [3]. Главной отличительной особенностью графических контроллеров FT80x являются реализованные на аппаратном уровне готовые графические элементы (кнопки, круговые и линейные слайдеры  и тп., см. рис. 2), возможность рисования простых элементов (линий, кругов, прямоугольников и тп.), поддержка резистивного сенсорного экрана и воспроизведение звука с интегрированной библиотекой готовых звуковых эффектов. Графический контроллер FT80x самостоятельно, без участия управляющего микроконтроллера, формирует картинку, которая будет отображаться на экране дисплея. Все это позволяет реализовать управление TFT-дисплеем с разрешением до 512 х 512 точек на простых 8-разрядных микроконтроллерах. Компания FTDI планирует развитие данной серии графических контроллеров - в конце 2015 года ожидается ее пополнение новыми микросхемами с разрешением 800 х 600 точек.

FT800 графические объекты

 

Описание модулей VM80xP

В 2014 года FTDI запустила в производство семейство графических модулей VM80xP на базе микроконтроллера Atmel Atmega 328P (рис.3). В это семейство входят два типа модулей:  VM800P с резистивным сенсорным экраном и VM801P с емкостным сенсорным экраном. Тип сенсорного экрана является единственным отличием этих модулей.

VM800P

В настоящее время компания FTDI предлагает следующий набор графических модулей, их наименования и основные отличия приведены ниже:

  1. VM800P35A-BK:  Дисплей 3.5", 320х240,  резистивный сенсорный экран, рамка черного цвета.
  2. VM800P35A-PL:  Дисплей 3.5", 320х240,  резистивный сенсорный экран, рамка перламутрового цвета.
  3. VM800P43A-BK:  Дисплей 4.3", 480х272,  резистивный сенсорный экран, рамка черного цвета. 
  4. VM800P43A-PL:  Дисплей 4.3", 480х272,  резистивный сенсорный экран, рамка перламутрового цвета.
  5. VM800P50A-BK:  Дисплей 5.0", 480х272,  резистивный сенсорный экран, рамка черного цвета.
  6. VM800P50A-PL:  Дисплей 5.0", 480х272,  резистивный сенсорный экран, рамка перламутрового цвета.
  7. VM801P43A-BK:  Дисплей 4.3", 480х272,  емкостной сенсорный экран, рамка черного цвета.
  8. VM801P43A-PL:  Дисплей 4.3", 480х272,  емкостной сенсорный экран, рамка перламутрового цвета.
  9. VM801P50A-BK:  Дисплей 5.0", , 480х272,  емкостной сенсорный экран, рамка черного цвета.
  10. VM801P50A-PL:  Дисплей 5.0", , 480х272,  емкостной сенсорный экран, рамка перламутрового цвета.

Графические модули VM80xP представляют собой функционально законченное устройство, в качестве управляющего элемента которого выступает микроконтроллер Atmel Atmega 328P. Модули могут быть использованы в составе прибора или работать в качестве самостоятельного устройства, например, операторской панели.   

Кроме микроконтроллера на плате модуля установлены дополнительные элементы. Микросхема часов реального времени MCP7940 с часовым кварцем, которая обеспечивает отсчет времени с возможностью отображения часов,  минут, секунд, дня недели, числа, месяца и года. Питание часов реального времени осуществляется от внешнего источника питания. При отключении внешнего источника микросхема MCP7940 переходит на питание от батареи, также установленной на плате модуля.

Для хранения графических элементов, шрифтов и любых других данных на модуле установлен разъем для флэш-карты формата Micro SD. Вместе с модулем поставляется карта памяти объемом 4 Гбайта. Для микроконтроллера Atmega есть готовые библиотеки, которые поддерживают работу с файловой системой FAT. Это значительно упрощает взаимодействие с картой памяти как при копировании на нее графических элементов с ПК, так и при работе с ней микроконтроллера.


Дополнительные возможности

На плате модуля также установлены усилитель звука и динамик для проигрывания звуковых эффектов и аудио-файлов (PCM, uLAW и ADPCM). Для программирования микроконтроллера предусмотрен разъем микро-USB. Интерфейс USB реализован на базе моста FT232, через который по UART обновляется прошивка микросхемы Atmega 328P. Два 16-контактных разъема Micro-MaTch обеспечивают доступ к свободным линиям ввода-вывода микроконтроллера.

С целью расширения коммуникационных возможностей графических модулей производитель предлагает набор плат расширения серии VI800A. Платы расширения устанавливаются в разъемы Micro-MaTch (рис.4), управление и обмен данными осуществляется по интерфейсу SPI.

платы расширения для VM800P VI

На текущий момент производитель предлагает следующие варианты плат расширения последовательных интерфейсов: UART - VI800A-TTLU (рис. 5); RS232 - VI800A-232U и RS485 - VI800A-N485U. Плата VI800A-TTLU обеспечивает преобразование интерфейса SPI в UART. По интерфейсу SPI осуществляется ее взаимодействие с графическим модулем VM80xP. Со стороны UART доступны две линии для приема/передачи данных Rx и Tx и две линии аппаратного контроля CTS и RTS.  В дополнение к интерфейсу UART модуль имеет 4 дискретных входа и 4 дискретных выхода. Все сигналы выведены на разъем Micro-MaTch и разъем с винтовыми зажимами. Плата VI800A-232U отличается от предыдущей только наличием микросхемы драйвера физического уровня RS232,  плата VI800A-N485U на выходе имеет драйвер интерфейса RS485 (Rx+/Rx- и Tx+/Tx-). В остальной части они обе полностью повторяют VI800A-TTLU.

VI800A TTLU

Плата расширения аналогового ввода/вывода VI800A-RELAY (рис.6) имеет четыре входа для работы с дискретными аналоговыми сигналами и  четыре дискретных аналоговых выхода. Входные линии реализованы на базе опторазвязок ACPL-227-500E Avago. Выходы коммутируются с помощью реле IM03GR TE с рабочим постоянным напряжением до 220 В и максимальным током до 2 А. Управление платой осуществляется по интерфейсу SPI.

VI800A Relay

 

На базе плат расширения 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.    

  VI800A Ethrnet

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

В качестве среды разработки производитель предлагает использовать свободно распространяемую и простую в освоении среду разработки Arduino. Для работы с графическими модулями FTDI рекомендует использовать версию Arduino 1.0.x, на текущий момент доступна версия 1.0.6 [6]. Готовая библиотека для FT80x и большой набор примеров приложений, предлагаемых FTDI для модулей VM80xP, достаточен для понимания принципов работы графических контроллеров и их возможностей (рис.8).

arduino

Один из этих примеров, а именно, вывод на экран изображения стрелочного индикатора, был подробно рассмотрен в [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”.

Arduino

В заключение обзора графических модулей компании FTDI отметим, что они представляют собой удачное и сбалансированное решение. Возможностей микроконтроллера Atmega 328P и графического контроллера FT80x достаточно для большого количества приложений, основной задачей которых является создание современного пользовательского интерфейса с элементами управления внешними устройствами, сбором и выводом на экран информации от датчиков и других подобных задач. Наличие в линейке FTDI нескольких вариантов исполнения модулей позволяет выбрать оптимальное по отношению “цена/функциональные возможности” решение для конкретной задачи. А конструктивное исполнение декоративной рамки и крепежных элементов обеспечивают простой и надежный монтаж модулей на передней панели корпуса прибора. Модули VM80xP могут быть хорошим выбором для небольших проектов, например, в качестве готового решения для создания панелей управления.

   Литература:

  1. Долгушин С. Графические контроллеры и дисплейные модули компании 4D Systems //Компоненты и технологии. 2013 № 2.
  2. Долгушин С. Графический интерфейс пользователя на базе готовых дисплейных модулей компании 4D Systems //Компоненты и технологии. 2013 № 4.
  3. Долгушин С. Графический контроллер EVE FT800 компании FTDI //Компоненты и технологии. 2013. № 11.
  4. Долгушин С. Начинаем работать с графическим контроллером FT800 FTDI // Компоненты и технологии. 2014. № 5.
  5. Долгушин С. Графический контроллер EVE FT800 FTDI и микроконтроллер SAMD21 Atmel. Работаем с графическими изображениями // Компоненты и технологии. 2014. № 8.
  6. http://arduino.cc/en/Main/OldSoftwareReleases
  7. Долгушин С. Графический контроллер FT800. Вывод на экран изображения стрелочного индикатора и оптимальное использование ресурсов управляющего микроконтроллера. // Компоненты и технологии. 2015. № 2.
  8. http://www.ftdichip.com/Drivers/D2XX.htm