№1 / 2018 / статья 2

STM32 + современный TFT-дисплей: варианты на любой вкус

Артем Дмитриев (КОМПЭЛ)

Продолжаем серию статей «STM32 + периферия = LOVE», начатую в конце прошлого года.
Простейшие TFT-дисплеи можно подключать к микроконтроллерам STMicroelectronics уже младшей линейки – STM32L0. А такие встроенные в изделия старших линеек специализированные модули как ускоритель графики Chrom-ART в STM32F429/STM32F439, полноценный TFT-контроллер в STM32L4R7x/STM32L4R9x и встроенный аппаратный модуль JPEG для ускорения кодирования/декодирования в STM32F7x7/STM32F7x9 предоставляют разработчикам приложений с визуализацией информации весьма широкие возможности.

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

Еще не так давно для большинства задач было вполне достаточно использовать во встраиваемых устройствах сегментные или знакосинтезирующие дисплеи. Однако в результате быстрого развития потребительской электроники, а также благодаря удешевлению технологии производства с каждым годом растет спрос на графические дисплеи (TFT, AMOLED, IPS). Увеличиваются диагонали экранов, уделяется большое внимание качеству интерфейса – его плавности, удобству, скорости отклика.

Интернет вещей (IoT) также оказывает большое влияние на развитие современных технологий, в том числе – систем отображения информации.

В статье мы коснемся вопроса правильного подбора и использования микроконтроллеров для построения устройств с графическим интерфейсом, рассмотрим различные варианты подключения дисплеев, их плюсы и минусы, разберем различные семейства 32-битных контроллеров производства компании STMicroelectronics, начиная с бюджетных, и, опираясь на предыдущую статью цикла – «TFT-дисплеи Winstar: новинки, характеристики и особенности подключения», приведем варианты их использования совместно с дисплеями Winstar.

Ключевые элементы TFT-дисплея

Прежде чем мы рассмотрим интерфейсы, используемые в современных дисплейных модулях, давайте взглянем на основные элементы дисплеев (рисунок 1).

Рис. 1. Типичная структура модуля дисплея

Рис. 1. Типичная структура модуля дисплея

Главными составными частями TFT-панели являются:

  • матрица пикселей;
  • графическая RAM-память (GRAM) или фреймбуфер;
  • контроллер дисплея;
  • контроллер временной развертки (Timing controller);
  • элементы подсветки.

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

Таблица 1. Размер буфера экрана в зависимости от глубины цвета и разрешения

Глубина цвета, bpp Разрешение дисплея
320х240 480х272 640х480 800х480 1024х768
Размер буфера, кбайт 8 75 127,5 300 375 768
16 150 255 600 750 1536
24 225 383 900 1125 2304
32 300 510 1200 1500 3072

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

Рис. 2. Двойная буферизация изображения

Рис. 2. Двойная буферизация изображения

Основной задачей контроллера дисплея является непрерывное копирование содержимого графической памяти с частотой не менее 60 Гц для обеспечения отображения стабильной картинки без каких-либо артефактов. Зачастую подобные контроллеры имеют ряд дополнительных функции, таких как вращение изображения, масштабирование, работа с несколькими слоями изображения, битмапами (рисунок 3) и другие.

Рис. 3. Битмап – массив пикселей, формирующих цифровое изображение

Рис. 3. Битмап – массив пикселей, формирующих цифровое изображение

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

Современные виды интерфейсов графических TFT-дисплеев

В настоящее время для небольших TFT-панелей (величиной до 9 дюймов включительно) существует три основных типа интерфейсов подключения:

  • Display Pixel Interface (DPI), называемый также параллельным интерфейсом RGB, работающий в видеорежиме, в котором происходит передача лишь данных пикселей;
  • Display Bus Interface (DBI), работающий в командном режиме, в котором наряду с данными пикселей происходит передача команд. Набор команд дисплея (DCS) используют следующие интерфейсы:
    • SPI/UART
    • Motorola 6800
    • Intel 8080
  • Display Serial Interface (DSI) или же MIPI DSI, поддерживающий как командный, так и видеорежим работы с дисплеями.

Конечно же, стоит упомянуть, что существуют и более производительные варианты подключения дисплеев, такие как: LVDS, eDP и подобные, но в основном они применяются в панелях с большой диагональю и, соответственно, разрешением не ниже 1024×768 пикселей и не предназначены для использования совместно с микроконтроллерами на базе ядер Cortex-M.

SPI – один из самых известных и широко используемых на данный момент интерфейсов связи между различными микросхемами в электронных устройствах. Его основными достоинствами являются простота, малое необходимое количество выводов (во многих случаях достаточно всего лишь трех), легкость реализации печатной платы при разработке устройства (рисунок 4).

Рис. 4. Подключение дисплея по SPI-интерфейсу

Рис. 4. Подключение дисплея по SPI-интерфейсу

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

Данный интерфейс идеально подходит для управления недорогими TFT-панелями с небольшим разрешением (320×240), имеющими встроенный контроллер дисплея и графическую память.

Motorola 6800/Intel 8080.Как и в случае SPI, данные интерфейсы применяются с дисплейными модулями со встроенным контроллером и буфером экрана, что позволяет избежать использования внешнего ОЗУ и несколько снизить стоимость разрабатываемого устройства.

Основным отличием данных интерфейсов является параллельная шина данных, которая значительно увеличивает пропускную способность.

Интерфейс 8080 основан на четырех управляющих сигналах и параллельной шине данных шириной до 16 бит. Таблица 2 описывает данные сигналы.

Таблица 2. Описание управляющих сигналов интерфейса 8080

LCD-сигналы Описание сигнала
RS Выбор регистра LCD
D0-D15 Данные D0-D15
CS Выбор микросхемы
RD Операция чтения: активный низкий
WR Операция записи: активный низкий

Интерфейс 6800 несколько отличается от 8080, типовые сигналы отображены в таблице 3.

Таблица 3. Описание управляющих сигналов интерфейса 6800

LCD-сигналы Описание сигнала
RS Выбор регистра LCD
D0-D15 Данные D0-D15
CS Выбор микросхемы
E Разрешение чтения/записи
WR Операция чтения/записи

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

Основное назначение двух упомянутых интерфейсов – передача изображений на экраны с разрешением до 800х480 пикселей. Построение современного динамически отображаемого интерфейса с малым временем отклика весьма затруднительно, все ограничивается степенью загрузки ядра и пропускной способностью шины.

Parallel RGB. Одним из широко распространенных современных дисплейных интерфейсов (для TFT-панелей) является параллельный интерфейс RGB (рисунок 5). В отличие от рассмотренных ранее примеров, работа с данным интерфейсом не подразумевает передачу каких-либо команд по шине: происходит передача только полезных пиксельных данных, что благотворно влияет на скорость передачи информации о значении пикселей на дисплей.

Рис. 5. Подключение дисплея по интерфейсу Parallel RGB

Рис. 5. Подключение дисплея по интерфейсу Parallel RGB

В данном варианте дисплейные модули не содержат графической памяти и внешнего контроллера, что удешевляет их, зато необходима передача кадров с частотой 60 Гц.

Управление дисплеем по данному интерфейсу происходит при помощи следующих сигналов:

  • тактового сигнала CLK;
  • сигнала синхронизации линии изображения HSYNC;
  • сигнала синхронизации кадра изображения VSYNC;
  • сигнала DE, сообщающего о необходимости захвата полезных данных (значений пикселей);
  • данных пикселя RGB (до 24 линий).

MIPI DSI. Display serial interface (DSI) – высокоскоростной последовательный протокол передачи данных, разработанный MIPI Aliance для взаимодействия дисплейных модулей с хост-контроллером. Применяется главным образом в мобильных устройствах.

Данный интерфейс имеет ряд преимуществ по сравнению с рассмотренными ранее:

  • существенно снижаются требования к количеству выводов микроконтроллера – при одинаковой с параллельным RGB-интерфейсом пропускной способности требуется в несколько раз меньше выводов (6…8);
  • уменьшается сложность при трассировке печатной платы за счет меньшего количества линий;
  • поддерживается масштабируемость, то есть можно изменить количество линий передачи согласно требованию к пропускной способности;
  • снижается энергопотребление.

Важным отличием DSI является дифференциальная передача данных, то есть при передаче данных и тактировании параллельно передаются инверсные сигналы (рисунок 6).

Рис. 6. Соединение дисплея по интерфейсу DSI

Рис. 6. Соединение дисплея по интерфейсу DSI

Передача данных и команд в DSI выполняется в виде посылки пакетов. В зависимости от типа пакетов различают два режима работы:

  • Command mode. Командный режим представляет собой передачу команд и данных дисплейному модулю. Дисплей, поддерживающий командный режим, содержит контроллер и фреймбуфер. DSI-хост косвенно управляет активностью дисплея с помощью отсылки команд и данных контроллеру дисплея.
  • Video mode. В видеорежиме хост посылает поток значений пикселей в режиме реального времени. Дисплейный модуль ожидает потока данных изображения на приемлемой скорости, позволяющей избежать видимых искажений (рисунок 7).
Рис. 7. Пример конфигурации PHY с двумя линиями данных

Рис. 7. Пример конфигурации PHY с двумя линиями данных

Неотъемлемой составляющей DSI-хоста и дисплейного модуля является физический уровень D-PHY, обеспечивающий высокоскоростной (HS) и малопотребляющий (LP) режимы передачи данных (рисунок 8). Передача по интерфейсу DSI может выполняться как в прямом, так и обратном направлении. Возможная скорость при передаче в режиме HS – до 1,5 Гбайт/с на каждой линии, а в LP-режиме максимальная скорость – 10 Мбайт/с.

Рис. 8. Уровни сигналов в режимах LP и HS

Рис. 8. Уровни сигналов в режимах LP и HS

Все передачи в обратном направлении происходят в режиме малого потребления, при этом используется лишь одна линия данных DATA0.

В командном режиме линия DATA0 двунаправленная, в то время как в видеорежиме она может быть как двунаправленной, так и однонаправленной. Все остальные линии – однонаправленные и поддерживают только HS-режим передачи.

Микроконтроллеры STM32 как основа устройств с графическими дисплеями

Одним из ведущих игроков на рынке микроконтроллеров (МК) в настоящее время является компания STMicroelectronics. Номенклатура изделий компании позволяет разработчикам проектировать любые устройства: от малопотребляющих с батарейным питанием до сверхпроизводительных, способных выполнять сложные математические расчеты, прием/передачу данных, отображать графический интерфейс. Как видно из рисунка 9, компания предлагает 11 семейств МК с ядрами от Cortex-M0 до Cortex-M7.

Рис. 9. Семейства микроконтроллеров STM32

Рис. 9. Семейства микроконтроллеров STM32

В нашем случае наиболее интересны именно графические возможности контроллеров ST. Рассмотрим различные семейства STM32, начиная с младших, с точки зрения работы с TFT-дисплеями.

Микроконтроллеры на базе Cortex-M0/M0+

В данной группе находятся младшие бюджетные контроллеры от ST (таблица 4):

  • STM32F0 c частотами ядра до 48 МГц и производительностью 38 DMIPS;
  • малопотребляющие STM32L0 с частотами до 32 МГц и производительностью 26 DMIPS.

Ограниченная производительность и отсутствие специализированных интерфейсов для работы с дисплеями не позволяет полноценно работать с TFT-экранами. В данном случае можно подключать SPI-дисплеи либо программно реализовывать интерфейсы 6800/8080, что негативно скажется на производительности.

Вполне допустимо использовать микроконтроллеры этой группы для вывода несложной информации на графические дисплеи со встроенным TFT-контроллером и разрешением не выше 320х240 пикселей.

Таблица 4. Линейки микроконтроллеров на базе Cortex-M0/M0+

Наименование Ядро Частота, МГц Flash, кбайт RAM, кбайт SPI
STM32F0x0 Cortex-M0 48 16…256 4…32 +
STM32F0x1 Cortex-M0 48 16…256 4…32 +
STM32F0x2 Cortex-M0 48 16…128 4…16 +
STM32F0x8 Cortex-M0 48 32…256 4…32 +
STM32L0x1 Cortex-M0+ 48 192 20 +
STM32L0x2 Cortex-M0+ 32 192 20 +
STM32L0x3 Cortex-M0+ 32 192 20 +

Данная группа контроллеров может использоваться, например, с дисплеями M-серии, такими как WF35MTIBCDRN0 и WF57MTIBCDRN0.

Микроконтроллеры на базе Cortex-M3

В состав данной группы входят три семейства (таблица 5):

  • малопотребляющие STM32L1 c частотой 32 МГц и производительностью 33 DMIPS;
  • STM32F1 c параметрами 72 МГц и 61 DMIPS;
  • STM32F2 cо 120 Мгц и 150 DMIPS.

Таблица 5. Линейки микроконтроллеров на базе Cortex-M3

Наименование Flash, кбайт Частота, МГц RAM, кбайт SPI FSMC, 6800/8080
STM32L100 32…256 32 4…16 +
STM32L151/152 32…512 32 16…80 +
STM32L162 256…512 32 32…80 +
STM32F100 16…512 24 4…32 + +
STM32F101 16…1024 36 4…80 + +
STM32F102 16…128 48 4…16 +
STM32F103 16…1024 72 4…96 + +
STM32F105/107 64…256 72 64 + +
STM32F205/215 128…1024 120 до 128 +
STM32F207/217 512…1024 120 до 128 +

Помимо возросшей производительности и размера Flash-/RAM-памяти микроконтроллеры данных семейств имеют встроенный FSMC-модуль для подключения внешних микросхем SRAM-памяти и модуль SDIO для подключения карт SD/MicroSD. Модуль SDIO может быть очень полезен для организации хранения битмапов, шрифтов во внешней памяти и их загрузки при необходимости.

Помимо подключения внешней SRAM-памяти модуль FSMC может использоваться для подключения дисплеев по интерфейсам 6800/8080 (рисунки 10 и 11), что увеличивает скорость передачи графических данных дисплейному модулю по сравнению со SPI-интерфейсом.

Рис. 10. Пример подключения между FSMC и дисплеем по интерфейсу 8080, где NEx принимает значения NE1…NE4, а Ax – значения A0…A25

Рис. 10. Пример подключения между FSMC и дисплеем по интерфейсу 8080, где NEx принимает значения NE1…NE4, а Ax – значения A0…A25

Рис. 11. Пример подключения между FSMC и дисплеем по интерфейсу 6800, где NEx принимает значения NE1…NE4, а Ax – значения A0…A25

Рис. 11. Пример подключения между FSMC и дисплеем по интерфейсу 6800, где NEx принимает значения NE1…NE4, а Ax – значения A0…A25

Микроконтроллеры данной группы могут использоваться для управления дисплеями со встроенным TFT-контроллером по интерфейсам SPI либо 6800/8080. Как и в случае с семействами на базе Cortex-M0/M0+, данные микроконтроллеры не имеют каких-либо ускорителей графики, и все расчеты, связанные с рисованием графических фигур, ложатся на плечи ядра, поэтому реализовать сложную динамическую графику несколько проблемно. Рекомендуемые разрешения для подключаемых дисплеев даны в таблице 6.

Таблица 6. Рекомендуемые разрешения дисплеев

Наименование Максимальное разрешение дисплея
STM32L1 320х240
STM32F1 480х272
STM32F2 800х480

Используя данные микроконтроллеры, можно подключать дисплеи Q Series, например WF35QTIBCDBCA, WF43QTIBEDBC0, WF70QTIFGDBT0, и дисплеи P SeriesWF35PTIBCDBT0, WF43PTIBEDBTB, WF70PTIFGDBG0.

Микроконтроллеры на базе Cortex-M4

В данную группу входят четыре семейства (таблица 7):

  • малопотребляющие STM32L4 c частотой до 80 МГц и производительностью 100 DMIPS;
  • малопотребляющие STM32L4+ с частотой до 120 МГц и производительностью 150 DMIPS;
  • STM32F3 с частотой до 72 МГц и производительностью 90 DMIPS;
  • STM32F4 с частотой до 180 Мгц и производительностью 225 DMIPS.

Таблица 7. Линейки микроконтроллеров на базе Cortex-M4

Наименование Частота Flash, кбайт RAM, кбайт QSPI TFT Display Controller Chrome-ART Интерфейс 8080/6800 MIPI-DSI
STM32F302 72 32…512 16…64 +
STM32F303 72 32…512 16…80 +
STM32F398 72 512 80 +
STM32F429/439 180 512…2048 256 + + +
STM32F469/479 180 512…2048 384 + + + + +
STM32L496 80 256…1024 128…320 + + +
STM32L4R5xx 120 1024…2048 640 + + +
STM32L4R7xx 120 1024…2048 640 + + + +
STM32L4R9xx 120 1024…2048 640 + + + + +

Микроконтроллеры STM32L4 отличаются несколько большей производительностью и появлением в линейке STM32L496 встроенного ускорителя графики Chrome-ART.

Chrom-ART позволяет значительно снизить нагрузку на ядро (при эффективном использовании – до нескольких процентов), одновременно предлагая широкие функциональные возможности:

  • выполнение операций наложения двух слоев с разными степенями прозрачности;
  • заливку прямоугольных областей выбранным цветом;
  • копирование прямоугольных областей с одновременным преобразованием формата пикселей и наложением с учетом степени прозрачности.

Благодаря встроенному в изделия серии L496 ускорителю графики можно сделать значительно более быстрой прорисовку интерфейса, используя битмапы, хранящиеся во внутренней либо внешней Flash-памяти. Узким местом при передаче данных является интерфейс 6800/8080, так как при отправке каждого пикселя на дисплей ядру приходится выполнять небольшую функцию из Flash-памяти. Рекомендуемое максимальное разрешение для контроллеров STM32L496 – 800х480 пикселей при построении интерфейса на базе битмапов, для остальных линеек семейства – 480х272.

Семейство микроконтроллеров STM32F3 является наименее производительным в данной группе. Благодаря встроенному модулю FSMC возможно подключение дисплеев по интерфейсам 6800/8080. Рекомендуемое разрешение подключаемых дисплеев – не выше 480х272 пикселя.

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

Важной особенностью является поддержка внешней SDRAM-памяти в линейках STM32F427, STM32429, STM32469 и STM32F446. SDRAM значительно дешевле статической, поддерживаемой младшими микроконтроллерами от ST. Она может применяться в качестве графического буфера экрана при недостатке внутренней SRAM-памяти.

Еще одним новшеством стало наличие встроенного контроллера дисплея в ряде линеек STM32F4.

STM32F429/STM32F439 – первые контроллеры семейства STM32F4 с интегрированным TFT-LCD-контроллером и графическим ускорителем Chrom-ART. Встроенный контроллер дисплея позволяет подключить панели с разрешением до XGA (1024×768) и глубиной цвета до 24 бит.

Следующим шагом компании STMicroelectronics стало внедрение в контроллерах STM32F469/479 поддержки мобильных экранов с интерфейсом MIPI-DSI. Данный интерфейс призван уменьшить количество используемых выводов (рисунок 12), в то же время позволяя увеличить поддерживаемое разрешение дисплея и уменьшить энергопотребление при управлении дисплеем. Встроенный DSI-хост поддерживает экраны с 1-2 линиями передачи данных и разрешением 1024х768.

Рис. 12. Сравнение количества выводов для различных интерфейсов дисплеев

Рис. 12. Сравнение количества выводов для различных интерфейсов дисплеев

Еще одним важным нововведением стала поддержка QSPI NOR Flash-памяти, что позволяет использовать внешнюю память с минимальным количеством выводов (до 6 при подключении одного внешнего модуля памяти), но обеспечивает при этом высокую пропускную способность (до 90 МБ/с в режиме SDR, до 120 Мб/с в DDR-режиме). При одновременном использовании двух модулей памяти есть возможность вдвое поднять максимально возможную скорость чтения.

Для быстрого освоения возможностей микроконтроллеров STM32F4 доступно несколько отладочных плат. Самой популярной из них является STM32F429I-DISCOVERY (рисунок 13). STM32F429I-DISCOVERY основана на контроллере STM32F429ZIT6 с 2 Мбайт Flash, 256 кбайт RAM, имеет дисплей 2,4″ QVGA TFT-LCD с сенсорным экраном, внешнюю SDRAM-память 64 Мбит. Среди плат с расширенными возможностями можно выделить STM32F469I-DISCOVERY, STM32429I-EVAL и STM32479I-EVAL.

Рис. 13. Отладочная плата 32F429IDISCOVERY

Рис. 13. Отладочная плата 32F429IDISCOVERY

STM32L4+. Вполне логичным шагом для STMicroelectronics стало внедрение в семейство малопотребляющих микроконтроллеров TFT-контроллера, главной особенностью которого является пониженное потребление при высокой производительности.

Если в линейке STM32L496 присутствовал лишь ускоритель графики Chrom-ART, то в STM32L4R7x/STM32L4R9x встроен уже полноценный TFT-контроллер, и появилась возможность управлять дисплеями DSI с двумя линиями данных и разрешением 1024х768.

Высокая скорость развития рынка потребительской электроники, в частности – портативных гаджетов, заставляет производителей электроники задумываться о внедрении в изделия новых функций. Так в новой линейке МК компания ST применила встроенный модуль Chrom-GRC, позволяющий уменьшить потребление памяти до 20% при использовании дисплеев круглой формы, например, в смарт-часах (рисунок 14).

Рис. 14. Применение модуля Chrom-GRC для работы с модулями круглой формы

Рис. 14. Применение модуля Chrom-GRC для работы с модулями круглой формы

Еще одним нововведением стал интерфейс OctoSPI, позволяющий использовать внешнюю память с пропускной способностью, вдвое большей по сравнению с QuadSPI.

Разработчики с легкостью могут оценить все нововведения семейства L4+ благодаря ряду доступных отладочных плат и множеству примеров применения. Хотелось бы особенно выделить отладочную плату STM32L4R9I-DISCO с возможностью работы с AMOLED-экраном разрешением 390х390 пикселей и емкостным сенсором, Octo-SPI Flash 512 Мбит, MEMS-микрофоном, возможностью подключения дополнительных плат расширения (рисунок 15).

Рис. 15. Отладочная плата 32L4R9IDISCOVERY

Рис. 15. Отладочная плата 32L4R9IDISCOVERY

Совместно с микроконтроллерами данной группы со встроенным TFT-контроллером можно использовать либо дисплеи Q Series и P Series c интерфейсами 8080, либо, что более предпочтительно, стандартные TFT-дисплеи Winstar с RGB-интерфейсом: WF43GTIAEDNG0, WF50BTIAGDNN0 и WF70HTIAGDNC0.

Также возможно использование дисплея WF40BTYAQMNN0 с DSI-интерфейсом совместно с контролерами STM32F469/479 и STM32L4R9xx.

Микроконтроллеры на базе Cortex-M7

Следующей ступенью в развитии контроллеров ST (в том числе – для графических применений) стала линейка STM32F7, построенная на новом сверхсовременном ядре ARM Cortex-M7 (рисунок 16). Контроллеры данной серии имеют значительно переработанную шинную архитектуру и практически вдвое большую пиковую производительность по сравнению с предыдущей серией F4 (462 DMIPS при частоте 216 МГц против максимальных 225 DMIPS при 180 МГц).

Рис. 16. Сравнение производительности STM32F4 с STM32F7

Рис. 16. Сравнение производительности STM32F4 с STM32F7

К тому же, помимо возросшего до 512 кбайт объема SRAM-памяти (включая 128 кбайт DTCM) инженеры ST внедрили L1-кеш инструкций/данных величиной 8…32 кбайт. Именно благодаря наличию L1-кеша стало возможно исполнение кода из внешней памяти (SDRAM, QSPI NOR Flash) без потери производительности, что чрезвычайно важно при разработке устройств с TFT-панелями, в которых требуется высокая скорость чтения из памяти. Широко используемые при работе с графическими библиотеками битмапы занимают немалое количество Flash-памяти, и поэтому применение внешних модулей памяти становится насущным вопросом.

В семействе STM32F7, помимо встроенного контроллера дисплея, присутствующего в линейках STM32F7x6/STM32F7x9, в старших моделях STM32F7x7/STM32F7x9 появился встроенный аппаратный модуль JPEG для ускорения кодирования/декодирования, заметно снижающий загрузку ядра и позволяющий параллельно заниматься остальными задачами. Благодаря модулю разработчики получили интересную возможность реализации эффективного воспроизведения MJPEG-видео с крайне низкой загрузкой ядра (рисунок 17).

Рис. 17. Реализация MJPEG-видеоплеера на базе контроллера STM32F769

Рис. 17. Реализация MJPEG-видеоплеера на базе контроллера STM32F769

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

Отличным вариантом для быстрого освоения микроконтроллеров STM32F7 является отладочная плата STM32F746G-DISCO (рисунок 18) на базе STM32F746NGH6 с емкостным экраном 4,3″ разрешением 480×272. Плата имеет Quad-SPI Flash-память 128 Мбит и 128 Мбит SDRAM, порты Ethernet, USB OTG HS, USB OTG FS, MicroSD.

Рис. 18. Отладочная плата STM32F746G-DISCO

Рис. 18. Отладочная плата STM32F746G-DISCO

Помимо .

STM32H7

Переход на новый технологический процесс 40 нм позволил компании STMicroelectronics совершить очередной рывок вперед и представить новое семейство микроконтроллеров – STM32H7, массовое производство которых началось уже в начале 2018 года. Вобрав все лучшее от предыдущих поколений, данная серия стала еще быстрее, энергоэффективнее, а набор доступной в одном кристалле периферии просто поражает.

Используя все преимущества L1-кэша, микроконтроллеры STM32H7 выдают максимальную теоретическую производительность ядра Cortex-M7 независимо от того, с внешней памяти или из внутренней исполняется код: 856 DMIPS при частоте ядра 400 МГц.

Значительно повысился объем встроенной SRAM-памяти – до 1 Мбайт, что дает возможность в некоторых случаях разместить буфер TFT-экрана прямо во внутренней памяти без необходимости использования внешней SDRAM.

Совершенно новая архитектура имеет три домена питания и позволяет оптимизировать энергоэффективность, переводя ту или иную группу периферии в режим пониженного потребления (рисунок 19).

Рис. 19. Три домена питания в архитектуре контроллеров STM32H7

Рис. 19. Три домена питания в архитектуре контроллеров STM32H7

Встроенные аппаратные ускорители и обширный набор цифровой и аналоговой периферии делают контроллеры STM32H743/753 идеальными для применения в промышленных решениях, где ключевым требованием является быстрая реакция на события, или же для устройств с HMI, где очень важны продвинутые возможности графики и поддержка воспроизведения аудио/видео.

Стоит отметить, что серия STM32H7 pin-to-pin совместима с серией STM32F7 для большинства корпусов (таблица 8).

Компания ST предлагает ряд отладочных плат для ознакомления с возможностями STM32H7, например, STM32H743I-EVAL (рисунок 20). Данная плата основана на STM32H743XIH6, имеет 5,7” 640×480 емкостный TFT-дисплей, 1 Гбит Twin Quad-SPI NOR Flash, 32 Mбит SDRAM, 16 Mбит SRAM и 16 Mбит NOR Flash, разъемы Ethernet, USB и ряд дополнительных особенностей.

Рис. 20. Отладочная плата STM32H743I-EVAL

Рис. 20. Отладочная плата STM32H743I-EVAL

Таблица 8. Линейки микроконтроллеров на базе Cortex-M7

Наименование Частота Flash, кбайт RAM, кбайт QSPI TFT Display Controller Chrome-ART Интерфейс 8080/6800 MIPI-DSI JPEG codec
STM32F7x6 216 512…1024 320 + + + +
STM32F7x7 216 1024…2048 512 + + + + +
STM32F7x8/ STM32F7x9 216 1024…2048 512 + + + + + +
STM32H743 400 1024…2048 1024 + + + + +
STM32H753 400 1024…2048 1024 + + + + +

Совместно с микроконтроллерами данной группы можно использовать те же дисплеи, что и с контроллерами на базе ядер Cortex-M4, то есть – с параллельным RGB-интерфейсом, с разрешением до 800х480 пикселей, DSI-дисплеи с разрешением до 1024х768 с двумя линиями передачи данных.

Заключение

Микроконтроллеры производства компании STMicroelectronics являются идеальным выбором для реализации устройств с графическим TFT-дисплеем. Поддержка многих современных интерфейсов, разные уровни производительности и энергопотребления позволяют контроллерам ST стать основой для множества современных устройств.

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

В следующей статье этого цикла мы подробнее рассмотрим такие аппаратные модули как FSMC, LTDC, Chrome-ART, DSI-хост, QSPI, примеры их использования и настройки.

Литература

  1. AN3241 Application note. QVGA TFT-LCD direct drive using the STM32F10xx FSMC peripheral;
  2. AN2790 Application note TFT LCD interfacing with the high-density STM32F10xxx FSMC;
  3. AN4861 Application note LCD-TFT display controller (LTDC) on STM32 MCUs;
  4. http://www.st.com/.

Наши информационные каналы

О компании ST Microelectronics

Компания STMicroelectronics является №1 производителем электроники в Европе. Компоненты ST широко представлены в окружающих нас потребительских товарах – от iPhone до автомобилей разных марок. Лидеры индустриального рынка выбирают компоненты ST за их надежность и выдающиеся технические параметры. В компании ST работает 48 000 сотрудников в 35 странах. Производственные мощности расположены в 12 странах мира. Более 11 тысяч сотрудников заняты исследованиями и разработками – инновационное лидерство ...читать далее