0. 序言
本文的標題雖說是液晶屏的介面介紹,但液晶屏的種類繁多,種類大小尺寸不同,液晶屏所用的介面也不同。 恕本文實在無法把所有介面種類包含全面。
比如說,按尺寸大小來區分液晶屏的話,有7寸8寸以下的嵌入式裝置常用的中小尺寸液晶屏,還有10寸及以上的 電腦、電視、廣告屏等常用的大尺寸液晶屏。大尺寸液晶屏和小尺寸的肯定不同,大尺寸螢幕的介面比如HDMI這些,一般都需要外接線纜的。而小尺寸的螢幕一般都是板級介面連線,物理上的形式差別就很大。本文把重點放在中小尺寸螢幕的介面上。
1. SPI介面
不論是搞硬體的還是搞嵌入式軟體的,都應該對SPI介面很熟悉了,本文就不對SPI介面協議廢話了。
由於SPI是序列傳輸,傳輸頻寬有限,來做液晶屏介面,只能用於小螢幕,一般是2寸以下的螢幕使用。
2. 8080並行介面
這種介面的別稱很多,又叫 DBI(Data Bus interface)資料匯流排介面, 微處理器MPU介面,MCU介面,CPU介面的,實際上都是一回事。
這種介面我最近正在用,本文就重點講它
並行介面又分為 8位/16位/24位 三種, 顧名思義,就是資料匯流排的位寬。
除了
- DB[23:0](or DB[15:0] or DB[7:0]) 並行匯流排
並行介面還會有以下訊號線:
- CSX 片選訊號
- RESX reset復位訊號
- WRX Write寫訊號
- RDX Read讀訊號
- D/CX 資料Data/命令Command 選擇訊號,(0: 表示DB匯流排正在傳輸命令, 1: 表示DB正傳資料)
(以上訊號並不一定在具體的電路應用中全部使用,比如,有的電路應用為了節省IO口,把片選和復位訊號直接連線固定電平,RDX讀訊號也不做處理,也是可以的。)
從上面的描述可以看出,值得注意的一點:向液晶屏傳輸的不僅有Data資料,還有命令Command。
乍一看,覺得向螢幕只需傳輸畫素顏色資料就行了,不熟練的新手往往會忽略了命令傳輸需求。
因為所謂與液晶屏通訊,實際上還是與液晶屏驅動控制晶片在通訊,而數字晶片往往都會有各種配置暫存器(除非功能很簡單的晶片比如74系列,555等),也就有了向晶片傳送配置命令的需要,如果設計過數字晶片或FPGA就會更明瞭。
另外需要注意的一點是:使用8080並行介面的LCD驅動晶片,都需要內建GRAM(Graphics RAM), 至少能儲存一個螢幕的資料。
這是導致使用此介面的螢幕模組一般比使用下一節提到的 RGB介面的螢幕模組 要貴的原因,RAM還是要成本的。
總的來說:8080介面透過並行匯流排傳輸控制命令和資料,並透過往LCM液晶模組自帶的GRAM更新資料實現螢幕的重新整理。
2.1 8080並行介面訊號線的時序
以下圖表來自 LCD驅動晶片OTM8009A的資料手冊
2.1.1 寫時序
以下2張時序圖就很能說明問題了
2.1.2 讀時序
同樣給出2張時序圖
2.2 8080並行介面的RGB顏色資料編碼
大家都知道畫素資訊用RGB三原色表示,所以向液晶屏傳輸的資料幀主要也就是傳輸的RGB顏色資料,那麼這3種顏色資料是如何組織編碼的呢?當匯流排位寬是24bits時,很自然地就能想到 8位R + 8位G + 8位B。那當位寬是16bits或8bits時呢?
另外,畫素的顏色資料並不總是用 8R8G8B的24位真彩色 表示,共有下面幾種表示情況:
- 12-bits/pixel (R 4-bit, G 4-bit, B 4-bit), 4,096 Colors, 簡稱444
- 16-bits/pixel (R 5-bit, G 6-bit, B 5-bit), 65,536 Colors, 簡稱565
- 18-bits/pixel (R 6-bit, G 6-bit, B 6-bit), 262,144 Colors, 簡稱666
- 24-bits/pixel (R 8-bit, G 8-bit, B 8-bit), 16,777,216 Colors, 簡稱888
這不同的 顏色表示方法 和 不同的匯流排位寬 相組合,就會組合成多種 RGB顏色資料編碼。
下面分別介紹
2.2.1 8Bits位寬時的 RGB顏色資料編碼
編碼表:
時序圖:
444RGB編碼資料傳輸時序圖
565RGB編碼資料傳輸時序圖
666RGB編碼資料傳輸時序圖
888編碼資料傳輸時序圖
2.2.2 16Bits位寬時的 RGB顏色資料編碼
編碼表:
時序圖:
就不再贅述了,可根據編碼表畫出。
2.2.3 24Bits位寬時的 RGB顏色資料編碼
編碼表:
時序圖:
就不再贅述了。
3. RGB介面
RGB介面又稱DPI(Display Pixel Interface)介面,也是一種並行介面,採用普通的同步、時鐘、訊號線來傳輸資料,需搭配SPI或IIC序列匯流排來傳輸控制命令使用。
某種程度上,它與8080介面的最大差別就是,RGB介面的資料線與控制線分離,而8080介面是複用的。
另一個不同點是,由於RGB介面是連續傳輸整屏的畫素資料,本身可實現顯示資料的重新整理,就不再需要GRAM了,這大大的減少了LCM的成本。一般廠家同樣尺寸解析度的LCD模組,RGB介面的相比8080介面的要便宜不少。
模型如下:
由於本文是簡單介紹,就不再講RGB介面的DE模式和SYNC模式了。
3.1 訊號線簡單說明
其中有資料線,時鐘線,和 水平/垂直 同步訊號線。
(HS, VS這2個訊號,筆者多年前搞過模擬影片傳輸,對這2個行場同步訊號好熟悉的感覺。)
Vsync(VS)指示一整屏畫素幀的開始
Hsync(HS)指示一個水平行畫素資料的開始
3.2 時序簡單說明
在PCLK時鐘訊號的驅動下,畫素資料連續地,源源不斷地 從主處理器 送往 液晶模組。
單個畫素資料傳輸週期的時序如下圖:
整個螢幕畫素幀的時序如下:
4. MIPI介面
MIPI(Mobile Industry Processor Interface) 是2003年由ARM, Nokia, ST ,TI等公司成立的一個聯盟,目的是把手機內部的介面如攝像頭、顯示屏介面、射頻/基帶介面等標準化,從而減少手機設計的複雜程度和增加設計靈活性。MIPI聯盟下面有不同的WorkGroup,分別定義了一系列的手機內部介面標準,比如攝像頭介面CSI、顯示介面DSI、射頻介面DigRF、麥克風/喇叭介面SLIMbus等。統一介面標準的好處是手機廠商根據需要可以從市面上靈活選擇不同的晶片和模組,更改設計和功能時更加快捷方便。
用於液晶屏的MIPI介面全稱應該是MIPI-DSI介面,有些文件就乾脆稱之為DSI(Display Serial Interface)介面。
DSI相容的外設都支援2種基本的操作模式,一是命令模式,二是Video模式。
由此可看出,MIPI-DSI介面也是同時有命令和資料通訊能力的,不需要SPI等介面幫忙傳輸控制命令。
而MIPI-DSI介面協議還是挺複雜的,我這裡就不詳細描述了
5. MDDI介面
高通公司於2004年提出的介面MDDI(Mobile Display Digital Interface),透過減少連線可提高行動電話的可靠性並降低功耗。依託當年高通在移動晶片領域的佔有率,和上面的MIPI介面實際上是競爭關係。
MDDI介面基於LVDS差分傳輸技術,最高支援3.2Gbps的傳輸速率。可將訊號線縮減到6條,這還是很有優勢的。
模型如下:
可看出,MDDI介面還是需要藉助SPI或IIC來傳輸控制命令,它自身只管傳輸資料。