TFTLCD即薄膜晶體管液晶顯示器。它與無源TN-LCD、STN-LCD的簡單矩陣不同,它在液晶顯示屏的每一個像素上都設(shè)置有一個薄膜晶體管(TFT),可有效地克服非選通時的串?dāng)_,使顯示液晶屏的靜態(tài)特性與掃描線數(shù)無關(guān),因此大大提高了圖像質(zhì)量。
01驅(qū)動流程
使用FSMC驅(qū)動LCD
關(guān)于FSMC,把數(shù)據(jù)寫入相應(yīng)的地址,F(xiàn)SMC就會把地址從FSMC_A出去,寫入的數(shù)據(jù)會會從FSMC_D發(fā)出去。至于片選等信號線都是自動的。讀的話,直接讀相應(yīng)的地址,就會拿到改地址上的數(shù)據(jù)。
FSMC驅(qū)動外部SRAM時,外部SRAM的控制一般有:
地址線(如A0~A25)
數(shù)據(jù)線(如D0~D15)
寫信號(WE,即WR)
讀信號(OE,即RD)
片選信號(CS)
如果SRAM支持字節(jié)控制,那么還有UB/LB信號。
而TFTLCD的信號包括:RS(命令數(shù)據(jù)標(biāo)志位)、D0~D15、WR、RD、CS、RST和BL等,其中真正在操作LCD的時候需要用到的就只有:
CS
WR
RS
D0~D15
RD
其操作時序和SRAM的控制完全類似,唯一不同就是TFTLCD有RS信號,但是沒有地址信號。
TFTLCD通過RS信號來決定傳送的數(shù)據(jù)是數(shù)據(jù)還是命令,本質(zhì)上可以理解為一個地址信號,比如我們把RS接在A0上面,那么當(dāng)FSMC控制器寫地址0的時候,會使得A0變?yōu)?,對TFTLCD來說,就是寫命令。而FSMC寫地址1的時候,A0將會變?yōu)?,對TFTLCD來說,就是寫數(shù)據(jù)了。這樣,就把數(shù)據(jù)和命令區(qū)分開了,他們其實就是對應(yīng)SRAM操作的兩個連續(xù)地址。當(dāng)然RS也可以接在其他地址線上。
因此,可以把TFTLCD當(dāng)成一個SRAM來用,只不過這個SRAM有2個地址,這就是FSMC可以驅(qū)動LCD的原理。
02標(biāo)準(zhǔn)8080接口
8080總線又叫Intel總線,大致來說,Intel總線的控制線有四根,RD寫使能,WR讀使能,ALE地址鎖存,CS片選。
8080中:有RD(read),WR(Write)腳,RD,WR可以同時為高,不能同時為低!!RD為低時表示要從LCD中讀出數(shù)據(jù)在D0-D7腳上,WR為低時表示:將當(dāng)前D0-D7上的數(shù)據(jù)寫入LCD
模塊的8080并口讀/寫的過程為:
先根據(jù)要寫入/讀取的數(shù)據(jù)的類型,設(shè)置RS為高(數(shù)據(jù))/低(命令),然后拉低片選,選中液晶IC,接著我們根據(jù)是讀數(shù)據(jù),還是要寫數(shù)據(jù)置RD/WR為低,然后:
1.讀數(shù)據(jù):在RD的上升沿,讀取數(shù)據(jù)線上的數(shù)據(jù)(D[15:0]);
2.寫數(shù)據(jù):在WR的上升沿,使數(shù)據(jù)寫入到液晶IC里面;
▲8080并口寫時序
▲8080并口讀時序在NXP的UsingFlexIO to Drive 8080 Bus Interface LCDModule文檔中同樣也提到了8080接口(P6),我找到的介紹8080接口的官方文檔,就只有NXP這個文檔。https://pan.baidu.com/s/1oYThPiVnc-_WSAyVy_vG2Q 提取碼:i4vu(提示:公眾號不支持外鏈接,請復(fù)制鏈接到瀏覽器下載)
寫時序
讀時序
03使用FSMC驅(qū)動8080接口
讀時序
寫時序04
顏色模式
4.1RGB565
每個像素用16比特位表示,占2個字節(jié),RGB分量分別使用5位、6位、5位
4.1RGB888
每個像素用8比特位表示,占1個字節(jié),注意:在內(nèi)存中RGB各分量的排列順序為:BGRBGR BGR 。..。..
編輯:lyn
-
lcd
+關(guān)注
關(guān)注
34文章
4426瀏覽量
167494 -
STM32
+關(guān)注
關(guān)注
2270文章
10900瀏覽量
356006 -
FSMC
+關(guān)注
關(guān)注
0文章
55瀏覽量
38151
原文標(biāo)題:STM32驅(qū)動LCD原理
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論