STM32
直播中

向日葵的花季

8年用户 1186经验值
擅长:电源/新能源
私信 关注
[问答]

STM32F429是怎样使用LTDC接口去控制ILI9806的

RGB888控制LCD和8080控制LCD有何区别?
STM32F429是怎样使用LTDC接口去控制ILI9806的?

回帖(1)

苏宇樵

2021-10-20 11:05:32
  (1)硬件接口
  ①要明白RGB888控制LCD 和8080控制方式的区别:
  TFT液晶显示器使用的是RGB接口,RGB接口包含24根RGB信号线、像素同步信号线、水平同步信号线、垂直同步信号线和数据使能信号线。
  性能一般的芯片,通常不会自带液晶控制器,需要使用自带液晶控制器器的液晶屏,这类触摸屏通常使用ILI9341型号的液晶控制芯片。
  STM32可以 通过 8080 接口发送命令编码控制 ILI9341 的工作方式,例如复位指令、设置光标指令、睡眠模式指令等等,具体的指令在ILI9341数据手册均有详细说明
  ②RGB
  RGB565 就是R-5bit,G-6bit,B-5bit
  RGB555 就是R-5bit,G-5bit,B-5bit
  RGB888 就是R-8bit,G-8bit,B-8bit ;其实这就是RGB24
  也就是说正常情况下 STM32 F103 或者F 407 都是通过FSMC 来模拟8080控制方式操作ILI9341.
  然后ILI9341通过RGB8888控制LCD。
  但是STM32F429 自带了RGB LCD 外设接口 LTDC,为其直接控制LCD提供了方便。(理论上可以)
  (本人使用的方案是STM32F429 使用LTDC接口 控制ILI9806《DPI 模式》 间接控制 LCD)
  (2)STM32F429 自带了RGB LCD 外设接口
  特点:LTDC 可以来直接驱动 RGBLCD 使用,另外其配备了专用的图像处理的 DMA2DMA 硬件加速。
  使用CubeMX 生产引脚配置。
  
  LTDC 接口需要
  
  
  (3)STM32F429 也可以使用常规接口FSMC 控制LCD
  参看资料:硬石开发板提供的教程
  原理:我们使用FSMC来控制 LCD,将TFTLCD 当作SRAM来控制。
  那我们如何通过FSMC来控制我们的LCD呢?
  FSMC控制Nor Flash 接口
  可以看出前4中线完全一样,仅在8080的数据和命令选择时候和FSMC的有区别,此时为了模拟将FSMC的地址A0,接在8080的RS,当A0为0 TFTLCD 就是写指令,A0为1 写数据。
  举个例子,当向地址为 0x6xxx xxx1、0x6xxx xxx3 的奇数地址写入数据时,地址线 A0(RS)为高电平,这个数据被理解为
  数值;若向 0x6xxx xxx0、0x6xxx xxx2 这些偶数地址写入数据时,地址线 A0(RS)为低电平,这个数据被理解为命令。这样,就可以区分开数据和命令了。
  其他资料:
  在使用ILI9806G 时候需要使用SPI对该芯片初始化一下。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分