本文將說明高性能LCD控制器IP的模塊化設計概念(如圖一)。FTLCDC200 通過SDRAM控制器跟SoC內部總線通信,控制器把圖像數(shù)據(jù)從SDRAM讀到TFT顯示屏。CPU來控制整個系統(tǒng)的初始化與數(shù)據(jù)的流向,包括每個控制器內部的配置寄存器、更新SDRAM中幀緩存區(qū)的內容。通過傳遞輔助端口輸出的數(shù)據(jù)流,這套系統(tǒng)還可以為電視相關的終端提供視頻信號,這需要另外搭配TV 編碼器與三通道視頻DAC才能實現(xiàn)與TV的連接。
AHB 接口模塊的設計概念
AHB 接口可以分為兩個部分:一個是AHB 從接口,另一個是AHB 主接口。AHB 從 接口連接FTLCD200和AMBA AHB總線,并且允許系統(tǒng)中的AHB主接口的讀寫訪問,此時AHB只能進行OK的響應和字(WORD)位寬的傳輸。AHB 主接口可以把幀緩沖區(qū)中的圖像數(shù)據(jù)取出后放入到LCD控制器的FIFO中。AHB接口可以處理長度不確定的字符串,也能夠在處理出錯的時候發(fā)出主接口出錯斷言。當一個重試的應答收到后,第二次操作將開始被處理。
FIFO控制器和FIFO模塊的設計概念
數(shù)據(jù)被AHB主接口從外都存儲器讀取后會被放入FIFO。除了YCbCr420模式下,其他模式都只需要一個控制器/FIFO。Y、Cb、Cr需要有三個單獨的通道,因為每一個會放于不同的存儲單元。FIFO為32-bit位寬,深度則是可配置的。FIFO的輸入端連接在AHB 主接口的輸出端;FIFO的輸出端則被連接到了像素數(shù)據(jù)解包控制器。如果總線不能提供給像素流足夠的帶寬,那么一些圖像就會出現(xiàn)失真現(xiàn)象。因此,F(xiàn)IFO控制器會提供一個稱為“欠運行中斷”的信號,來通知微控制器解決總線阻塞的問題。
圖1 FTLCDC200的模組化方塊圖 |
像素數(shù)據(jù)解包
存儲在FIFO中的數(shù)據(jù)都是32-bit,但可以按照不同的格式打包,如24位、16位、8位、4位、2位和1位,這取決于像素格式的設定。當處于YCbCr420 和YcbCr422模式,像素格式是預先設定的且不能修改。根據(jù)操作模式,像素數(shù)據(jù)可以被用來對調色板RAM區(qū)進行尋址,或者構成初始的色彩值而被直接應用到LCD的面板上。下面的表格有一個例子來描述數(shù)據(jù)包的格式。FLCD200 提供了1位, 2位, 4位, 8位, 16位, 和24位BPP(每像素比特數(shù)),并且支持以下幾種格式:大端(也稱為大尾)字節(jié)和大端像素、小端(也稱為小尾)字節(jié)和大端像素、小端字節(jié)和小端像素。
數(shù)據(jù)模式
一、 原始的RGB模式
這種模式下有兩個類型:16bpp和24bpp,每一種都適用于初始數(shù)據(jù)RGB模式。數(shù)據(jù)流不需要任何處理,但必須根據(jù)不同的LCD面板的分辨率進行排序。
二、 YCbCr422模式
該模式中只允許16bpp。
三、 YCbCr420模式
該模式中只允許8bpp。Y,Cb,Cr每個分量都被放到單獨的存儲單元中。這三個圖像幀緩沖區(qū)的基地址在寄存器中都可以單獨配置。當YCbCr420數(shù)據(jù)從各自的FIFO中被讀出后,必須在行數(shù)據(jù)消失之前生成色度值。行緩沖器里面存儲著以前的數(shù)據(jù),經過垂直插值后,可以得到缺失的色度值。這樣就可以把YCbCr420轉換成YCbCr422,然后輸出數(shù)據(jù)流,進行下一步的處理。
四、 RGB調色板模式
為了加強應用的靈活性,本控制器提供了“重新映射”的操作模式。該技術可以讓我們能夠在色彩的豐富度和存儲器帶寬兩個選擇之間進行切換。有四種類型可以選擇:8、4、2、1bpp。調色板存儲器里面存儲著一個查找表,用來重新生成所需要的RGB各個分量。因為物理上它的容量為128x32位,因此調色板存儲器最多可以保留256x16位的色彩值。從輸入FIFO而來的像素數(shù)據(jù)被用來對一個獨立的調色板單元進行尋址。1位像素數(shù)據(jù)可以尋址到最前端的兩個存儲空間,2位的像素數(shù)據(jù)可以尋址最前端的4個存儲空間,4位的可以尋到最前端的16個存儲空間。8位的可以尋遍整個256個存儲空間。在16位和24位的模式下調色板存儲器不被使用,通過配置可以把它去除以減小硬件開銷。