EBI (外部总线接口) 控制I80接口LCD屏

EBI (外部总线接口) 控制I80接口LCD屏

引言:   

     目前驱动TFT彩屏的方案有很多,可以用底端单片机驱动一个终端类型的液晶模组。     

     只要单片机通过串口或并行口向TFT发送几个字节的命令,就能在屏幕上显示你需要的效果。例如用STM32 的FSMC 总线直接驱动TFT 数字彩屏。这种方案对相应的寄存器进行配置后就可以自动向TFT数字彩屏发送数据,无需CPU参与,让CPU有足够时间来处理其他程序。


一.TFT彩屏模块工作原理

    这个程序采用3.2 寸分辨率为320×240 的液晶屏,并使用HX8347-G芯片控制液晶屏。

    此液晶屏的内部有GRAM,GRAM中一个存储单元对应显示屏的一个像素点。芯片内部有电路会自动把GRAM存储单元的数据转化成液晶屏的控制信号,使每个点呈现特定的亮度和颜色,而这些点组合起来则成为显示界面。HX8347里有主要配置引脚和控制信号线,可以根据它的设置使芯片工作在不同的模式;使用8080 接口或SPI接口与MCU 进行通信;使用8080 接口的什么模式。MUC通过SPI或8080接口与HX8347进行通信,从而访问它的地址计数器(AC)、控制寄存器(CR)、GRAM及一个LED控制器。LCD本身不会发光,它需要借助背光源才实现显示功能,LED控制器就是用来控制液晶屏模块中发光二级管的背光源。HX8347使用8080通信时序工作,HX8347的8080接口有5条控制信号线:写使能信号线WRX,读使能信号线RDX,复位信号线RESX,片选信号线CSX,区分数据和命令信号线D/CX.除了控制信号,还有数据信号线。

二.EBI 控制逻辑
简介:

    外部总线接口(EBI)可用于访问外部并行接口设备,如 SRAM、Flash 和 LCD 模块。该接口存储映射于 CPU 内部地址总线。数据和地址线可多路复用,减少了连接外部设备所需引脚数量。总线读 / 写时序可调整,以符合外部设备时序规格。注意,该接口只支持异步 8-bit 或 16-bit 总线接口.

特性
可编程接口 , 适用于多种存储器类型
● 异步静态随机访问存储器 – SRAM
● 只读存储器 – ROM
● NOR Flash 存储器
● 8-bit 或 16-bit 并行总线 CPU 接口设备
将 AHB 事务转换为适当的外部设备协议
▄ 4 个存储器 Bank 且每个存储器 Bank 有独立的片选控制
▄ 可编程时序,支持广泛的设备
● 可编程等待状态
● 可编程总线周转周期
● 可编程输出使能以及写使能周期延长
● 高有效或低有效接口控制信号设置
▄ 当 AHB 事务宽度和外部设备宽度不同时,支持自动转换
▄ 写缓冲器可减少因 AHB 写突发事件而停滞的状况
▄ 支持复用和非复用的地址线和数据线配置
● 多达 21 条地址线
● 8-bit 或 16-bit 总线宽度

功能描述
    EBI 模块方框图下图所示。EBI 允许内部 CPU 和其它总线矩阵主机外设访问外部存储器或设备。EBI 可自动将 AHB 事务转换为外部设备协议。特别是当选择的外部存储器为 16-bit或 8-bit 宽度时,AHB 的 32-bit 事务将自动分割成连续的 16-bit 或 8-bit 事务进行访问。

EBI 方框图:

               EBI (外部总线接口) 控制I80接口LCD屏_第1张图片

这里用到的是-->非复用 8-bit 数据 8-bit 地址模式:

此模式支持 8-bit 地址和 8-bit 数据。地址位于 EBI_AD 线的高 8 位,数据位于低 8 位。可通
过设置 EBICR 寄存器的 MODE 字段为 D8A8 来选择此模式。8-bit 模式读和写时序分别如图:

EBI (外部总线接口) 控制I80接口LCD屏_第2张图片


三.相关配置

EBI驱动外部SRAM(LCD被当做SRAM)
SRAM控制包含:
    地址线(如A0~A21)
    数据线(如D0~D15)
    写信号(WE,即WR)
    读信号(OE,即RD)
    片选信号(CS)

TFTLCD主要用到的控制线:
    数据&命令:RS
    数据线:D0~D15
    写信号:WR
    读信号:RD
    片选信号:CS

操作时序和SRAM控制类似,唯一不同是TFTLCD有RS信号,但是没有地址信号TFTLCD通过RS信号来决定传送是数据还是命令,可以理解为一个地址信号 将RS接到EBI地址线A0(A0-A16随意),TFTLCD就被当做一个SRAM使用 这样TFTLCD成为只有一个地址的SRAM设备,从而实现FSMC驱动TFTLCD

开始程序配置:
main()
{
  LCD_Init();
  LCD_Config();
}

重要的EBI配置读写的时序:

以下为我用的HX8347驱动手册时序配置要点

EBI (外部总线接口) 控制I80接口LCD屏_第3张图片

EBI (外部总线接口) 控制I80接口LCD屏_第4张图片

根据HX8347时序读写高低电平最小持续时间来配置模式00的读写时序,主要用到:twrh,twrl,trdh,trdl.  需要注意时间单位和单片机的时间。


你可能感兴趣的:(嵌入式,STM32)