ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL

Оптимизированный интерфейс и адаптер для подключения к Arduino ЖК дисплея с 16-битной шиной. Часть 1 - Схемотехническое решение

На сегодняшний день на рынке представлено множество различных модулей с цветным TFT дисплеем (TFT модуль), которые могут использоваться радиолюбителями и разработчиками в своих проектах. Все они доступны по стоимости и предназначены для непосредственного подключения к микроконтроллеру или процессору.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

К сожалению, большинство этих модулей имеет 16-битный интерфейс и рассчитаны на подключение к ARM микроконтроллерам, что не позволяет использовать их в проектах на базе платформы Arduino. В общем случае, при подключении TFT модуля к Arduino усматриваются две проблемы: все TFT модули имеют рабочее напряжение 3.3 В и 16-разрядную шину данных, что потребует от микроконтроллера наличия большого количества свободных линий ввода/вывода.

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

Аппаратная часть

Автором был разработан адаптер, подключаемый к плате Arduino и выполняющий преобразование логических уровней (из 5 В в 3.3 В) и формирование 16-битных данных из двух 8-битных последовательностей. Если не принимать во внимание преобразование логических уровней, то адаптер представляет собой регистр-защелку, который позволяет сократить количество выводов, требуемых шиной данных, с 16 до 8 за счет дополнительных выводов управления защелкой. В итоге мы экономим 7 выводов, но немного усложняем аппаратную часть (Рисунок 1).

Рисунок 1. Внешний вид адаптера для подключения ЖК дисплея с 16-битной шиной к плате Arduino.

Параллельный регистр-защелка работает как ячейка памяти. В «прозрачном» режиме данные, поступающие на вход, незамедлительно появляются на выходе регистра. Если включить режим защелкивания данных, то сигналы на входе регистра игнорируются, и на выходе остаются последние принятые сигналы. Именно это свойство регистра-защелки можно использовать для преобразования двух последовательных 8-битных значений в 16-битное, другими словами, с использованием защелки мы расширяем их до 16 бит (Рисунок 1).

Две фазы работы регистра-защелки при формировании 16-битных данных из двух 8-битных последовательностей.

Рисунок 2. Две фазы работы регистра-защелки при формировании 16-битных данных из двух 8-битных последовательностей.

На Рисунке 2 изображена диаграмма двух фаз работы регистра-защелки. На первом этапе микроконтроллер передает младшие 8 бит, которые одновременно поступают на 16-битную шину данных через защелку и в обход нее, формируя младший байт (как нам требуется) и старший байт (который сейчас нам не нужен). На втором этапе мы защелкиваем регистр, а затем микроконтроллер передает старшие 8 бит. Регистр в таком режиме игнорирует новые данные, поэтому старший байт, минуя защелку, формируется на выходе шины.

Еще одним важным преимуществом такого решения является прекрасная совместимость с интерфейсом внешней памяти XMEM, встроенного в некоторые микроконтроллеры Atmel AVR, в частности, в микроконтроллеры платы Arduino Mega 1280 и 2560. Использование интерфейса XMEM позволит упростить программный код для управления TFT дисплеем.

Принципиальная схема

В составе схемы (Рисунок 3) имеются преобразователи логических уровней, регистр-защелка, разъем для непосредственного подключения к плате Arduino Mega и разъем для подключения 16-разрядного TFT модуля.

Принципиальная схема адаптера для подключения TFT модуля с 16-разрядной шиной к плате Arduino Mega.
Рисунок 3. Принципиальная схема адаптера для подключения TFT модуля с 16-разрядной шиной к плате Arduino Mega.

Выводы двухрядного штыревого разъема P2 (10×2) для подключения адаптера к плате Arduino Mega разведены так, чтобы соответствовать сигнальным линиям интерфейса XMEM, которые располагаются в блоке выводов, начинающихся с вывода 23. Символ «H» в обозначении сигналов разъема означает, что это логические сигналы с уровнем 5 В (Рисунок 4). На разъеме доступны сигналы данных и управления, включая сигнал CS (выбор кристалла), соответствующий сигналу ALE (разрешение фиксации адреса) интерфейса XMEM (хотя для управления TFT модулем он требуется очень редко и обычно просто подключен к «земле»).

Распиновка двухрядного разъема для подключения адаптера к плате Arduino.
Рисунок 4. Распределение выводов двухрядного разъема для подключения адаптера к плате Arduino.

Микросхема 8-разрядного шинного приемопередатчика SN54LVTH2245 компании Texas Instruments является идеальным выбором для преобразования логических уровней (Рисунок 5). Микросхема достаточно распространеа, имеют задержка распространения сигнала порядка 2 нс (это очень мало), а входы и выходы находятся на противоположных сторонах корпуса, что упрощает печатную плату и монтаж.

Микросхема шинного приемопередатчика SN54LVTH2245.
Рисунок 5. Микросхема шинного приемопередатчика SN54LVTH2245.

Скоростные характеристики микросхемы регистра-защелки D-типа SN74LV573APW удовлетворяют требованиям, предъявляемым интерфейсом XMEM  (Рисунок 6). Регистры и шинные приемопередатчики выпускаются многими производителями, поэтому вы можете использовать другие микросхемы с аналогичными параметрами.

Микросхема регистра-защелки SN74LV573APW.
Рисунок 6. Микросхема регистра-защелки SN74LV573APW.

Штыревой разъем питания и дополнительных сигналов P3 используется для подачи питания на TFT модуль от платы Arduino. Два выхода общего назначения U1 и U2 могут использоваться для некоторого расширения функционала. Как вариант, один из них можно использовать для ШИМ управления подсветкой TFT панели.

Двухрядный разъем P1 используется для подключения TFT модуля. Автор с целью экономии места применил разъем, выводы которого загнуты под прямым углом к плате.

Проект печатной платы

Ручная трассировка платы не представила каких-либо трудностей, все элементы схемы уместились на площади 45 × 35 мм (Рисунок 7).

Проект печатной платы адаптера.
Проект печатной платы адаптера.
Проект печатной платы адаптера.
Проект печатной платы адаптера.
Рисунок 7. Проект печатной платы адаптера.

Загрузки

Принципиальная схема и рисунки печатной платы (PDF) – скачать

Продолжение следует...

Часть 2 - Программная реализация

Часть 3 - Оптимизация алгоритма прорисовки линий и варианты конфигурирования драйвера

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: A Generic Optimized 16-bit LCD Adaptor for the Arduino. Part 1 - Schematic

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя