如何设置LTDC外围设备与AZ显示器的显示面板ATM0500D27-CT接口

1.简介


STM32的集成LTCC(LCD-TFT显示控制器)外围设备可用于与并行显示器接口。HMI of Things应用程序具有在用户和机器之间控制和显示数据的能力是非常常见的。
在这篇文章中,我们将看到如何配置STM32的LTCC外围设备,以便与AZ显示器的ATM0500D27-CT接口——数据表可在下面的链接中获得:
https://www.azdisplays.com/PDF/ATM0500D27-CT.pdf

显示面板可从Digi-Key面向大众市场提供:
https://www.digikey.com/en/products/detail/az-displays/ATM0500D27-CT/13236094

2.先决条件

  • 微控制器:STM32F750N8
  • 软件:TouchGFX Designer和STM32CubeMx

在本文中,我们将看到需要对STM32F7508-DK TouchGFX Board Setup(TBS)中的LTCC配置进行哪些更改,以支持显示面板ATM0500D27-CT。

3.步骤

 
  1. 创建TouchGFX应用程序

基于STM32F7508-DK板设置创建TouchGFX应用程序。如果您不知道如何执行此步骤,请参阅此链接:https://support.touchgfx.com/4.18/docs/tutorials/tutorial-02
 
本教程使用的是STM32F746G-DK,而在本文中,我们将使用STM32F7508-DK。
 
  1. 打开STM32CubeMx项目

在项目位置下,双击STM32F7508-DK.ioc打开STM32CubeMx项目
 
 
 

  1. 设置LTDC时钟

当我们查看显示面板数据表时,我们会看到像素时钟或点时钟“DCLK”的规格。该像素时钟是传输像素的速度。它是以MHz为单位指定的,对于该面板,它是25MHz典型值。
 
 
 

 
在STM32CubeMx中,在时钟配置选项卡下,设置像素时钟。如下所示,LCD-TFT时钟是从PLLSAI1导出的。因此,我们需要在PLLSAI1的输出后立即设置PLLSAI11的“N”乘法器、“R”和除法器,以获得LCD-TFT的25MHz。

一种可能的解决方案是使N=100,R=2,并且除法器正好在PLLSAI1=2的输出之后 该解决方案给出了25MHz的像素时钟。
  1. 设置显示类型

当我们查看显示面板的一般规格时,我们可以看到显示接口支持24位RGB:

在引脚输出和配置选项卡下,我们选择多媒体类别,然后选择LTCC外围设备。在LTCC模式和配置下,我们选择显示器类型:RGB888(24位)。

 
 
 
 
​​​​​​
  1. 设置水平和垂直计时

显示面板的时序表显示了水平和垂直时序:
  1. 下面突出显示的水平时序给出了与显示宽度相同的800的显示周期。此外,它给出了8的后廊、8的前廊和4的脉冲宽度或水平同步宽度。
 
 

 
在参数设置下,我们提供显示面板数据表给出的水平计时,如下所示:
 
 
 
  1. 显示器数据表中的相同时序表给出了垂直时序:480的显示周期,这是相同的活动高度。此外,它给出了8的后廊、8的前廊和4的脉冲宽度或垂直同步宽度。
 
 

 
在“参数设置”和“高度同步”下,我们提供显示面板数据表给出的垂直计时,如下所示:
 
 
 

 
  1. 信号极性

显示面板支持三种模式:SYNC模式、SYNC-DE模式和DE模式。我们对SYNC-DE模式更感兴趣,因为它使用三个信号:像素时钟(DCLK)、HSYNC、VSYNC和数据启用(DE)。

显示面板已将VDPOL和HDPOL连接到高电平。这意味着VSYNC和HSYNC是有效低电平。此外,下图显示DE信号处于高电平。
 
 

       
根据显示面板数据表中给出的信号极性,我们在“信号极性”下提供配置。
 
 
  1. 设置图层设置

我们将图层设置与显示设置相匹配:
  • 水平停止显示宽度为800
  • 垂直停止到显示高度480
  • 像素格式为RGB888显示类型
  • 帧缓冲线长度到显示宽度为800
  • 帧缓冲区行数到显示宽度为480
 
 

 

4.链接

STM32F7508N8–产品介绍
STM32F75xxx和STM32F74xxx高级基于arm的32位MCU-参考手册
STM32CubeMx-STM32Cube初始化代码生成器
STM32F7508-DK-带STM32F750N8 MCU的发现套件
AN4861:STM32 MCU上的LCD-TFT显示控制器(LTCC)-应用说明