一、LCD控制原理 S5PV210處理器中自帶LCD控制器,控制LCD的顯示,把 LCD 圖像數據從一個位於系統記憶體的 video buffer 傳送到一個外部的 LCD 驅動器介面。 類型: 1. STN(超扭曲向列),它的特點是功耗低,但亮度不足,響應時間長;(1602那種類型的) 2. TFT ...
一、LCD控制原理
S5PV210處理器中自帶LCD控制器,控制LCD的顯示,把 LCD 圖像數據從一個位於系統記憶體的 video buffer 傳送到一個外部的 LCD 驅動器介面。
類型:
- STN(超扭曲向列),它的特點是功耗低,但亮度不足,響應時間長;(1602那種類型的)
- TFT(薄膜晶體管),它的特點是響應時間短,畫面清晰,但功耗稍高,(自己實驗用的應該是這個類型的,這個類型當作電腦液晶顯示設備)。
- LTPS(低溫多晶硅),各方面性能優越,但技術要求高;
- OLED(有機發光二極體),各方面性能優越,但技術要求高。
LCD驅動介面支持 3 種介面:
- RGB 介面:((並行 24 位,串列 8 位)自己用的使這種)
- indirect-i80 介面
- UV 介面
SoC如何控制LCD顯示原理:
LCD驅動器:LCD驅動器一般與LCD面板集成在一起,面板需要一定的模擬電信號來控制液晶分子,LCD驅動器晶元負責給面板提供控制液晶分子的模擬電信號,驅動器的控制信號(數字信號)來自於LCD控制器的提供的介面。
LCD控制器:LCD控制器集成在SoC內部,它負責通過數字介面向外部的LCD驅動器提供要顯示的像素數字信號。它必須按照一定的時序和LCD驅動器通信,LCD控制器受SoC控制,SoC會從記憶體中拿出像素數據給LCD控制器並最終傳給LCD驅動器。
顯存:SoC在記憶體中選一段記憶體,用來存放顏色數據,然後通過配置將LCD控制器和這一段記憶體連接起來,構成一個映射關係,一旦這個關係建立以後,LCD控制器就會自動從顯存中讀取像素數據傳給LCD驅動器,LCD驅動器會自動的控制每個像素點的液晶分子,以形成最終的圖像,建立這個映射以後就不需要SoC在來參與任何行為了。
總結一下:SoC控制LCD液晶顯示的過程分為兩個部分:
(1) SoC的LCD控制器引出一定的引腳與LCD驅動器連接,按照標準設置一定的時序;
(2) 把LCD要顯示的像素信息放入記憶體中,在通過設置LCD控制器中的寄存器,與LCD控制器建立映射;之後過程就是LCD控制器晶元與驅動器晶元自動完成的事情了,整個LCD圖像的顯示過程就是這樣。
S5PV210 的 LCD 控制器支持多種顏色格式,例如
- RGB (1BPP 到 24BPP)
- YCbCr 4:4:4 (只有本地匯流排)
1:顯示屏跟記憶體的關係。
我們都買過顯卡,知道買獨立顯卡的好,那麼為什麼獨顯好?
獨顯跟集顯的區別又在哪裡?
獨顯的特點:有獨立記憶體
- 可以獨立複製內容(DMA控制器)
集顯的特點:跟主板共用記憶體
- 可以獨立複製內容(DMA控制器)
2:屏幕為什麼能顯示?(集顯)
- 在初始化的時候,在記憶體開闢的一片空間作為顯存
- 將要顯示的內容寫到顯存上
- lcd控制器對顯存進行讀取,然後寫入顯示屏里。
A DMA完成顯示數據的傳輸,不需要CPU執行COPY函數
B LCD控制器向顯示屏提供時序信號、視頻數據、.....
二、LCD顯示原理
如果需要顯示一滿屏的數據,則數據的大小:80048024bits
幀同步信號:液晶屏的刷新頻率、垂直同步信號的頻率、場頻率
幀同步信號= 50Hz~70Hz,典型值:60Hz
行同步信號的頻率:一幀中有多少行?
行同步信號的頻率 = ( 480 +回掃的行數(45) )* 幀同步信號的頻率
- 像素時鐘的頻率:掃描像素點的頻率
像素時鐘頻率 = (800+一行中回掃的像素點(256))*行同步信號的頻率
註意:
- 液晶屏的分頻率越大,則VCLK的頻率越高
- VCLK的頻率的最大上限:HCLK_DSYS=166MHz
- 思考:S5PV210最大可以接多大的液晶屏?
計算:
在800*480的LCD中,VCLK的頻率值:
VCLK = (800+256)(480+45) 60Hz = 33.264MHz
三、LCD的描述參數(液晶屏的選型)
解析度
行和列像素點的個數
尺寸
有效的顯示區對角線的長度,單位英寸。
色位
一個像素點用多少位數據來描述----24bits
響應時間
刷新時間---->60Hz(16ms)
響應時間---->幾ms亮度 cd/m**2
高亮屏:600
一般屏:250對比度
白色的亮度/黑色的亮度。
壽命
單位:小時 5萬小時
當液晶屏的亮度降低到出廠亮度的一半的時候,認為壽命到了。
可視角度
四個方向的可視角度是不對稱的,一般有一個方向是比較差的
四、硬體的設計介面
1、S5PV210 LCD控制器的介面
看一下核心板原理圖:LCD接線為24條VD數據輸出線,用來傳輸RGB888 24位顏色數據,VCLK時鐘線,HSYNC:水平同步信號線;VSYNC:垂直同步信號線,VDEN:數據使能線;
RGB介面信號:
LCD_HSYNC:
行同步信號,表示一行數據的開始,LCD控制器在整個水平線(整行)數據移入LCD驅動器後,
插入一個LCD_HSYNC信號;
LCD_VSYNC:
幀同步信號,表示一幀數據的開始,LCD控制器在一個完整幀顯示完成後立即插入一個LCD_VSYNC信號,
開始新一幀的顯示;VSYNC信號出現的頻率表示一秒鐘內能顯示多少幀圖像,稱為“顯示器的頻率”
LCD_VCLK:
像素時鐘信號,表示正在傳輸一個像素的數據;
LCD_VDEN: 數據使能信號;
LCD_VD[23:0]: LCD像素數據輸出埠
五、英寸液晶屏介面
0xffff
1-11位是功能 剩下的每八位 分別是藍綠紅
八、LCD的驅動主要做什麼?
- 根據液晶屏的特定參數來設置LCD控制器(介面、bpp、......)
- 設置液晶屏的同步信號的頻率(VCLK、VSYNC、HSYNC.....)
- 設置液晶屏的時序參數(幀的回掃時間、行的回掃時間、同步信號的極性.....)
- 設置顯存的位置和大小
九、LCD的時序圖
1、LCD控制器的輸出時序
(1)幀的傳輸過程
1)VSYNC信號有效時,表示一幀數據的開始, 信號寬度為 (VSPW + 1)個HSYNC信號周期,即(VSPW + 1)個無效行;
2)VSYNC信號脈衝之後,總共還要經過(VBPD + 1)個HSYNC信號周期,有效的行數據才出現; 所以,在VSYNC信號有效之後,還要經過(VSPW + 1 + VBPD + 1)個無效的行;
3)隨即發出(LINEVAL + 1)行的有效數據;
4)最後是(VFPD + 1)個無效的行;
(2)行中像素數據的傳輸過程
1)HSYNC信號有效時,表示一行數據的開始,信號寬度為(HSPW + 1)個VCLK信號周期,即(HSPW + 1)個無效像素;
2)HSYNC信號脈衝之後,還要經過(HBPD + 1)個VCLK信號周期,有效的像素數據才出現;
3)隨後發出(HOZVAL + 1)個像素的有效數據;
4)最後是(HFPD + 1)個無效的像素;
(3)將VSYNC、HSYNC、VCLK等信號的時間參數
並將幀記憶體的地址告訴LCD控制器,它即可自動地發起DMA傳輸從幀記憶體中得到圖像數據,最終在上述信號的控制下出現在數據匯流排VD[23:0]上。用戶只需要把要顯示的圖像數據寫入幀記憶體中。
2、LCD液晶屏輸入時序
十、相關寄存器
寄存器:DISPLAY_CONTROL 設置為10或11;RGB模式可行即可;
VIDCON0:Video Main Control 0 Register
bit28-26視頻輸出格式,設為RGB模式
bit18:設置RGB數據傳輸方式為並行還是串列,因為有24根數據線所以為並行;
bit2選擇時鐘源,選HCLK 連的是HCLC_DSYS 為166MHz
bit4:開啟分頻;
bit13-6設置時鐘大小,時鐘頻率要小於控制器的最大時鐘,也要小於LCD驅動器的最大時鐘。
bit0 bit1為使能控制信號都使能
VIDCON1寄存器 Video Main Control 1 Register
bit5 bit6設置HSYNC和VSYNC的極性,如果LCD的高低電平脈衝是相同的話,則Normal,如果極性相反則Invert。
VIDTCON0:設置時序,根據LCD數據手冊中的時序來設置,結合“LCD控制器的輸出時序”
VIDTCON1
VIDTCON2
WINCON0寄存器
bit1:使能window0
bit5-2選擇RGB888模式 1011
bit15:設置輸出順序為 red green blue還是 blue green red 設置為1:BGR 設置為0:RGB
VIDOSD0A VIDOSD0B這兩個寄存器是用來設置記憶體中window0大小;
比如設置為LCD屏幕的尺寸(即左上坐標為(0, 0) 右下坐標為(799, 479))
VIDOSD0C也是設置記憶體中window0的大小
比如設置為LCD屏幕的尺寸=800*480
VIDW0xADD0Bx設置記憶體中window0的起始地址的
VIDW0xADD1Bx設置記憶體中window0的結束地址的
SHODOWCON寄存器來設置虛擬windows顯示的;
以下位可以分別設置哪個windows顯示;
補充:看核心板、地板原理圖相應引腳要設置為LCD的引腳模式,LCD背光要打開;