FSMC是如何控制TFTLCD的呢?
我们可以把TFTLCD当成 SRAM 设备使用:外部SRAM的控制一般有:地址线(如A0~A18)、数据线(如D0~D15)、写信号(WE)、读信号(OE)、片选信号(CS)。TFTLCD的信号我们包括:RS、D0~D15、WR、RD、CS、 RST和BL等,其中真正在操作LCD的时候需要用到的就只有:RS、D0~D15、WR、 RD 和 CS。其操作时序和 SRAM的控制完全类似,唯一不同就是 TFT-LCD 有 RS 信号,但是没有地址信号。TFT-LCD通过RS信号来决定传送的数据是数据还是命令,本质上可以理解为一个地址信号,比如MB039是把RS接在A18上面,那么当FSMC控制器写地址0的时候,会使得A18 变为0,对TFT-LCD来说,就是写命令。而FSMC写地址1的时候,A0 将会变为1,对TFT-LCD来说,就是写数据。这样,就把数据和命令区分开了,其实就是对应 SRAM 操作的两个连续地址。当然RS也可以接在其他地址线上,MB039是把RS连接在PD13上面的。MM32F3270的FSMC支持8/16/32位数据宽度,我们这里用到的LCD是16位宽度的,在设置的时候需要选择16位宽。
FSMC 控制LCD 的Demo应用中,使用的开发板为MB-039,它支持外接MDM2802与MDM2803两种TFT-LCD (320x240 2.8’ 液晶显示屏)。
下图是MB-039的FSMC与TFT-LCD的接口原理图部分,完整原理图可以通过MM32官网下载。
|