|
TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。
▲驱动流程 $ E; |1 w9 \2 b1 e5 D# H2 r 01 使用FSMC驱动LCD 9 Y+ n/ v) @" v3 }' F; |2 E关于FSMC,把数据写入相应的地址,FSMC就会把地址从FSMC_A出去,写入的数据会会从FSMC_D发出去。至于片选等信号线都是自动的。读的话,直接读相应的地址,就会拿到改地址上的数据。 2 R& ]2 v* V2 EFSMC驱动外部SRAM时,外部SRAM的控制一般有:
如果SRAM支持字节控制,那么还有UB/LB信号。 ; A/ {& }8 w9 L# k而TFTLCD的信号包括:RS(命令数据标志位)、D0~D15、WR、RD、CS、RST和BL等,其中真正在操作LCD的时候需要用到的就只有:
其操作时序和SRAM的控制完全类似,唯一不同就是TFTLCD有RS信号,但是没有地址信号。 4 G# `7 U5 P/ n+ Z) tTFTLCD通过RS信号来决定传送的数据是数据还是命令,本质上可以理解为一个地址信号,比如我们把RS接在A0上面,那么当FSMC控制器写地址0的时候,会使得A0变为0,对TFTLCD来说,就是写命令。而FSMC写地址1的时候,A0将会变为1,对TFTLCD来说,就是写数据了。这样,就把数据和命令区分开了,他们其实就是对应SRAM操作的两个连续地址。当然RS也可以接在其他地址线上。 因此,可以把TFTLCD当成一个SRAM来用,只不过这个SRAM有2个地址,这就是FSMC可以驱动LCD的原理。 02 标准8080接口 8080总线又叫Intel总线,大致来说,Intel总线的控制线有四根,RD写使能,WR读使能,ALE地址锁存,CS片选。 9 h2 M5 k B- F3 R3 V, \ 8080中:有RD(read),WR(Write)脚,RD,WR可以同时为高,不能同时为低!!RD为低时表示要从LCD中读出数据在D0-D7脚上,WR为低时表示:将当前D0-D7上的数据写入LCD 7 Z. J/ Z7 S7 |. r2 s6 j6 A 模块的8080并口读/写的过程为: 先根据要写入/读取的数据的类型,设置RS为高(数据)/低(命令),然后拉低片选,选中液晶IC,接着我们根据是读数据,还是要写数据置RD/WR为低,然后: 1.读数据:在RD的上升沿,读取数据线上的数据(D[15:0]); ; X3 p1 ^8 o! ` 2.写数据:在WR的上升沿,使数据写入到液晶IC里面;
▲8080并口写时序 * y1 K* {1 G) O( X8 |6 u
▲8080并口读时序 + M. `. r: s6 T9 z4 N" Q# X
▲写时序 ! S' R q O& J8 y* o+ w
▲读时序 03 使用FSMC驱动8080接口
▲读时序 - ?2 Q5 h5 s( V. |% B. h& u8 u! z
▲写时序 ) z$ R7 z) n) p5 p r6 q: m2 A' S" z/ S4 X4 _ 7 R) I5 a6 l$ U4 k( Q8 E- @' U04 颜色模式 / G1 _; x! b, n' ?8 e% D3 { J$ W 6 g5 N% B8 @5 `* t1 }; d+ P5 u 4.1RGB565 每个像素用16比特位表示,占2个字节,RGB分量分别使用5位、6位、5位
每个像素用8比特位表示,占1个字节,注意:在内存中RGB各分量的排列顺序为:BGRBGR BGR ......
5 @- |6 m( a2 o+ h8 ~! J |
微信公众号
手机版