彩色TFT液晶顯示控制電路設(shè)計/其ASIC實現(xiàn)
摘要:介紹了一種用于高級型數(shù)碼相機的彩色TFT液晶顯示控制電路的設(shè)計。文中首先簡單給出了控制電路的設(shè)計要求,然后重點介紹電路中各模塊的設(shè)計以及FPGA驗證。整個電路作為數(shù)碼相機專用集成電路芯片的一部分采用TSMC 0.25mm SAGETM工藝進行了ASIC實現(xiàn)。
關(guān)鍵詞:彩色TFT液晶顯示器;數(shù)碼相機;圖像顯示;ASIC
中圖分類號: TN873+93; TN402 文獻標識碼: A 文章編號:1003-353X(2003)05-0070-05
1引言
通過彩色液晶顯示器(LCD)取景是數(shù)碼相機優(yōu)于傳統(tǒng)相機的重要特性之一,它解決了使用取景框取景帶來的各種不便,而且可以在拍攝現(xiàn)場用液晶顯示器回放剛拍的相片來查看拍攝效果[1],從而決定是否留下這張照片,這樣能使攝影者更好地控制照片的質(zhì)量。所以用液晶顯示器進行取景和回放是數(shù)碼相機兩大必不可少的功能。同時液晶顯示器還用來顯示菜單,提供良好的人機交互界面。目前市場上出售的數(shù)碼相機使用的液晶顯示器都是彩色TFT液晶顯示器,這種液晶顯示器解決了一般液晶顯示器中相鄰像素串擾的現(xiàn)象[2],所以可用來顯示真正的活動圖像。
數(shù)碼相機專用集成電路芯片中的液晶顯示控制電路主要實現(xiàn)的功能是向液晶顯示模塊(LCM)和數(shù)模轉(zhuǎn)換器提供所有必需的控制時序信號,同時接受來自系統(tǒng)的YCbCr格式的圖像數(shù)據(jù),然后進行色空間 變換將圖像轉(zhuǎn)化成RGB格式,接著按照一定的順序以每個像素一種顏色的方式向片外DAC輸出圖像數(shù)據(jù)。
2系統(tǒng)結(jié)構(gòu)與設(shè)計要求
圖1給出了我們設(shè)計的數(shù)碼相機系統(tǒng)芯片中有關(guān)LCD顯示部分的示意圖。根據(jù)設(shè)計數(shù)碼相機專用集成電路芯片的系統(tǒng)要求,液晶顯示控制電路可用來控制多種規(guī)格的液晶顯示模塊,從6萬多像素到20多萬像素。此電路有兩種工作模式:取景模式和回放模式,分別顯示動態(tài)和靜態(tài)圖像。同時電路要具有多種掃描方式 ——上下左右的組合共有四種。因此此電路必須具備高度的靈活性,可由系統(tǒng)對其工作狀態(tài)進行編程控制。
3電路設(shè)計
根據(jù)設(shè)計要求,我們先確定電路的總體框架,然后設(shè)計各個模塊并用Verilog HDL語言描述實現(xiàn),最后進行RTL級的仿真。圖2是整個電路的功能框圖。
整個液晶顯示控制電路由四個模塊組成,分別是寄存器文件、有限狀態(tài)機、數(shù)據(jù)處理器和脈沖發(fā)生器。該電路的信號線主要和三個電路相關(guān),一是和MCU接口電路相關(guān),包括MCU_AB(地址總線)、MCU_DB(數(shù)據(jù)總線)、MCU_nWR(寫使能)、MCU_nRD(讀使能)和MCU_nCS(MCU操作選中信號);二是和液晶顯示模塊及數(shù)模轉(zhuǎn)換器相關(guān),包括從脈沖發(fā)生器輸出的控制整個圖像顯示的時序信號和紅、綠、藍三原色數(shù)據(jù)以及PSAVE、BLANK和D_CLK三個控制DAC轉(zhuǎn)換的信號;三是和數(shù)碼相機專用集成電路芯片中的其他子模塊相連,包括DMA_Req1、DMA_Req2、DMA_Ack1、DMA_Ack2四個DMA操作的交互信號和16位的YCbCr數(shù)據(jù)信號。SYSRST和SYSCLK分別是系統(tǒng)復位和時鐘信號。以下分別對各個模塊的設(shè)計進行分析。
3.1 寄存器文件模塊
寄存器文件模塊主要由兩部分組成:MCU接口和寄存器陣列。通過MCU接口系統(tǒng)可以對寄存器陣列進行讀寫操作,從而使液晶顯示控制電路具有靈活多變的特點,可以控制多種規(guī)格的液晶顯示模塊,在多種模式下工作,可以輸出多種掃描方式的控制信號,可以將圖像顯示在顯示器的任一區(qū)域,同時還具有軟件復位功能。整個寄存器陣列由 30個8位寄存器組成,分為三大類:模式寄存器、狀態(tài)寄存器和波形參數(shù)寄存器。模式寄存器的低7 位有效,如圖3所示。
第0位為狀態(tài)/復位位,它輸出給MCU,并接液晶顯示控制電路中其他模塊的觸發(fā)器的復位端。在系統(tǒng)復位和顯示結(jié)束時該位為1,表示空閑并使接口處于復位狀態(tài)。若系統(tǒng)把該位置為0,則電路的復位狀態(tài)被解除并處于工作狀態(tài)。第1、2 位用來決定顯示時的掃描方式,其中V_DIR表示幀掃描方式,此位置1表示從上到下掃描,置0表示從下到上掃描;H_DIR表示行掃描方式,置1和置0分別表示從左到右和從右到左掃描,兩位組合共有四種掃描方式。RSA、RSB和RSC三位用來表示使用哪種規(guī)格的液晶顯示模塊,它們的組合及對應的顯示器分辨率如表1所示。MODE位用來表示工作模式,1表示工作在取景模式下,0表示工作在回放模式下。
狀態(tài)寄存器包括行數(shù)寄存器、列數(shù)寄存器、起始行寄存器、終止行寄存器、起始列寄存器、終止列寄存器以及奇偶數(shù)行的顏色順序寄存器。行數(shù)寄存器和列數(shù)寄存器設(shè)置顯示一幀圖像所需的垂直時鐘脈沖數(shù)和掃描一行圖像所需的水平時鐘脈沖數(shù),對于不同規(guī)格和品牌的液晶顯示器這兩個寄存器參數(shù)是不同的。起始行寄存器、終止行寄存器、起始列寄存器和終止列寄存器設(shè)置顯示圖像的范圍,如圖4所示,這樣實現(xiàn)了可以將圖像顯示在顯示器任意區(qū)域的設(shè)計要求。由于TFT彩色液晶顯示器每個像素只顯示三原色中的一種顏色,它是和相鄰像素一起顯示彩色效果的,所以奇偶數(shù)行的顏色順序是不同的。為了保證在某一像素點上給出正確的原色數(shù)據(jù)信號,在一定的掃描方式下,起始行寄存器和起始列寄存器必須與奇偶數(shù)行的顏色順序寄存器相一致。例如,使用280×220型號的液晶顯示器,在V_DIR=0(從上到下掃描)和H_DIR=1 (從左到右掃描)時奇數(shù)行的顏色順序是RGB,偶數(shù)行顏色順序為GBR,所以在設(shè)置起始行寄存器和起始列寄存器時一定要保證這樣的顏色順序,才能正確顯示。
脈沖參數(shù)寄存器設(shè)置了各驅(qū)動脈沖波形的時間參數(shù),若干個寄存器對應于一相驅(qū)動脈沖。當有限狀態(tài)機模塊中的行計數(shù)器和列計數(shù)器的狀態(tài)與某些脈沖參數(shù)寄存器的設(shè)置相同時,相應的輸出脈沖發(fā)生翻轉(zhuǎn)。對于不同規(guī)格和品牌的液晶顯示器這些參數(shù)是不同的,即使對于同一產(chǎn)品,在不同掃描模式下它們也是不同的。
3.2 有限狀態(tài)機模塊
有限狀態(tài)機由兩個16位的行列計數(shù)器組成,狀態(tài)變量為模式寄存器的狀態(tài)/復位位。在工作模式下,兩個計數(shù)器循環(huán)計數(shù)。當行計數(shù)器狀態(tài)與起始行寄存器相同時,行有效信號變高,表示該幀圖像的顯示開始,此時數(shù)據(jù)處理器模塊開始工作。在系統(tǒng)復位或行計數(shù)器狀態(tài)與終止行寄存器相同時,行計數(shù)器被復位。在行有效信號變高后,當列計數(shù)器狀態(tài)與起始列寄存器相同時,像素有效信號變高,表示該行的有效顯示開始,此時數(shù)據(jù)處理器開始輸出每個像素的顏色數(shù)據(jù)。在系統(tǒng)復位或列計數(shù)器狀態(tài)與終止列寄存器相同時,列計數(shù)器被復位。
3.3 數(shù)據(jù)處理器模塊
數(shù)據(jù)處理器模塊如圖5所示。它由三部分組成:DMA接口及其數(shù)據(jù)緩沖器、色空間反變換電路和溢出處理電路。根據(jù)系統(tǒng)設(shè)計要求,由電荷耦合器件(CCD)圖像傳感器采樣得到的原始圖像經(jīng)過像素處理器模塊的內(nèi)插和色空間變換后,成為了YCbCr格式的圖像,根據(jù)JPEG標準,從RGB到 YCbCr的色空間變換遵循公式[3](1)。
Y=0299R+0587G+0.114B
Cb=_0.169R-0.331G+0.5B (1)
Cr=0.5R-0.4186F-0.0814B
同時為了存儲方便,將變換得到的Y信號減去了128,這樣三種信號的值均在-128到+127之間,從而都可以用8位的帶符號數(shù)表示。在存儲YCbCr 信號時像素處理器模塊將相鄰像素的色度信號取均值然后進行復用,這樣節(jié)省了存儲空間。所以在圖像存儲器中相鄰兩個像素的亮度信號組合成一個16位的數(shù)據(jù)存放在一個存儲單元里,而復用的色度信號則存放在下一個地址的單元里[3] 。當要用液晶顯示器進行圖像顯示時,先通過連續(xù)兩次DMA的讀操作獲得兩個像素的亮度信號和色度信號,分別放入16位的數(shù)據(jù)緩沖器1和2,然后在讀取新的兩個相鄰像素的YCbCr信號并把它們放入數(shù)據(jù)緩沖器3和4的同時開始處理緩沖器1和2中的數(shù)據(jù),于是通過兩對數(shù)據(jù)緩沖器的作用實現(xiàn)了一個簡單的流水線操作。在色空間反變換中要實現(xiàn)將YCbCr信號轉(zhuǎn)換成液晶顯示所需要的RGB信號,根據(jù)公式(1)并進行簡化我們可以得到相應的反變換的公式(2)。
(2)
根據(jù)反變換系數(shù)的范圍,我們將所有的系數(shù)值乘上64,然后將乘積的整數(shù)部分用一個8位的帶符號數(shù)表示。在色空間反變換中我們設(shè)計了一個9× 8的Booth乘法器,用來實現(xiàn)色度信號和變換系數(shù)的帶符號乘法運算。為了保證反變換的正確,在運算過程中要進行符號擴展,所以變換所得的RGB信號是12位的帶符號數(shù),而最終輸出到數(shù)模轉(zhuǎn)換器的數(shù)據(jù)是8位無符號數(shù),因此還要進行溢出處理,將所有的計算結(jié)果都限定在0~255范圍內(nèi)。同時由于液晶顯示器的公共電極的電位是交流電位,即相鄰兩行的公共電極的電位是反相的,所以相鄰兩行的圖像數(shù)據(jù)應該分別以原碼和反碼輸出。
3.4 脈沖發(fā)生器模塊
脈沖發(fā)生器根據(jù)有限狀態(tài)機中行列計數(shù)器的狀態(tài)和波形參數(shù)寄存器內(nèi)的參數(shù),產(chǎn)生各驅(qū)動波形,這些驅(qū)動波形用于驅(qū)動液晶顯示模塊本身及其外接的模擬前端電路。
4 Verilog語言實現(xiàn)和FPGA硬件驗證
在確定了整體以及各功能模塊的結(jié)構(gòu)設(shè)計之后,就可以用Verilog HDL語言對設(shè)計進行RTL建模,然后用Synopsys 公司的VCS對設(shè)計進行仿真并調(diào)試。通過RTL級的仿真后,我們對此電路進行了FPGA的硬件驗證,使用的芯片是Xilinx公司的VirtexE1000-BG560,系統(tǒng)時鐘為54MHz。無論是單獨測試還是作為整個數(shù)碼相機專用芯片的一部分,液晶顯示控制電路都能成功實現(xiàn)兩種工作模式下的設(shè)計要求,性能良好。
5結(jié)束語
通過FPGA驗證后,液晶顯示控制電路用TSMC 0.25mm SAGETM工藝實現(xiàn),后端流程如圖6所示,其中的Design Compiler,Prime Time和Formality是Synopsys公司的產(chǎn)品;Silicon Ensembler和Virtuso是Cadence公司的產(chǎn)品。圖像采樣接口的電路規(guī)模為15000門左右,芯片面積為0.49mm×0.8mm。