• RGB屏驱动流程


    RGB屏驱动

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

    MCU接口

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

    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需要参考官方的例子

  • 相关阅读:
    怎么使用 Jupyter Notebook 进入指定的目录
    安卓手机安装Xposed框架/钉钉虚拟定位
    Some of the Example google dorks 2019谷歌hacker语法检索表
    在心脏内部,普通的WEB用户会怎样? 心脏滴血漏洞分析学习
    Windows的安全配置基础,打造一个安全点的Windows
    计算机存储单位
    Python如何安装whl文件,python安装py包
    jdk文件中javaw的作用
    msfconsole基础使用,简洁高效学习版
    VirtualBox报错:不能为虚拟电脑XXX打开一个新任务
  • 原文地址:https://www.cnblogs.com/stupidpeng/p/13413601.html
Copyright © 2020-2023  润新知