RGB屏驱动流程

RGB屏驱动

这里讲下大体的流程,不做具体详细代码示例。
TFT LCD的屏幕驱动方式有不少种,以12864来讲,通常是直接由SPI来操做屏的驱动IC,再来IC来负责驱动屏幕,还有一个驱动接口如8080或者6800,相对于SPI来讲这两种并口的数据处理方式会提升相应的数据传输速度,上述的接口都称之为MCU接口。函数

MCU接口

驱动IC中会带有一个数据存储空间,称为GRAM用于接收屏幕数据,再由驱动模块将GRAM里面的数据更新到屏幕之上,通常GRAM不会太大,致使了MCU接口屏通常不会超过3.8寸,对大一些屏幕通常就不采用MCU接口了blog

RGB接口

RGB接口的驱动,屏幕没GRAM这个存储空间,而是使用系统内存做为其显示的BUFFER,并且刷新速度远高于MCU接口。对于STM32来讲,配置好屏幕的BUFFER存储空间与LTDC驱动模块后,用户只须要更新BUFFER中的数据,LTDC模块会自动去更新屏幕。接口

RGB屏

  1. RGB屏显示数据输出是分为两种模式的,一种是DE模式,由DE输出高低电平控制;另外一种是SYNC模式,由hsync与vsync输出行场同步信号至RGB屏。该两种模式由一个MODE脚进行选择,为0 时选择SYNC模式,为1时选择DE模式。
    一般选择DE模式
  2. 帧率取60hz左右,帧数与分辨率就决定了LCD的最小PCLK的时钟频率,不过在屏幕的文档里面都会提到这个数据,以800*480为例,大概在30MHZ左右。
  3. RGB屏数据管脚
    image

LCD_CLK,LCD_HSYNC,LCD_VSYNC,LCD_DE为屏幕控制脚,

RGB数据线,根据不一样的RGB格式选择与之相对应RGB管脚不必定所有用到,

不一样的屏幕管脚定义会有所不一样,主要表现为电压不一样,及一些配置,如扫描方向等等。

RGB驱动的时序图

这个时序图中已经包含了DE与SYNC两种模式的时序,而实际用的时候,只要使用其中一种模式的线的时序就能够达到驱动屏幕的效果

SYNC模式,由HSYNC与VSYNC来肯定行与列的起始,再经过一些扫描前的准备与回扫操做来达到屏的驱动,这些具体的参数都是屏幕本身决定,在屏幕的文档里面都会有相应的说明。

DE模式,直接由LCD_DE来决定数据是否有效,而经过时间间隔来肯定行与列的起始,这里没有找到相应的文档来支持这个说法,可是在驱动时将HSYNC,与VSYNC两根线都去掉的状况下仍是能够正常使用来,可能能够侧面验证这个想法。

一个扫描周期包括一个起始的垂直同步信号,再包括相应行数的水平同步信号。同时二者的信号时钟单拉也是不同的,不过在配置的时候咱们并不须要关心这个单元,把相应的值对照LCD的规格参数配置好就能够了。
内存

以STM32F4为例配置

先是配置好相应的管脚,再配置LTDC将屏幕时序的参数配置进行,再配置BUFFER(由SDRAM或SRAM来存储)的内存空间,以这样的方式来驱动屏幕。
而屏幕的底层响应函数就是对BUFFER的赋值,而屏幕的刷新由硬件完成,且速度是固定的。
至于的代码DEMO须要参考官方的例子文档

相关文章
相关标签/搜索