基于SAlll0微處理器的掌上電腦液晶顯示器的設(shè)計(jì)與實(shí)現(xiàn)
目前,掌上電腦CPU中比較流行的有MIPS系列、SuperH系列、DragonBall系列以及ARM系列。在操作系統(tǒng)領(lǐng)域,除了部分采用Linux和自行開發(fā)的操作系統(tǒng)外,大部分產(chǎn)品采用Palm OS、Windows CE和EPOC操作系統(tǒng)。
為了在掌上電腦這一嵌入式系統(tǒng)的主要應(yīng)用領(lǐng)域中占有一席之地,清華大學(xué)自動化系和深圳翔龍公司決定開發(fā)具有民族自主知識產(chǎn)權(quán)的掌上電腦。這就需要選好和開發(fā)出自己的硬件平臺;同時(shí)還要開發(fā)自己的嵌入式Linux操作系統(tǒng);在硬件平臺和操作系統(tǒng)之上,再開發(fā)各種具體的應(yīng)用程序,以滿足特定用戶的需求。本文介紹的液晶顯示器的設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)的重要組成部分。
1硬件電路組成
基于SAlll0微處理器的掌上電腦液晶顯示器的硬件電路如圖1所示。主要由三部分組成:LCD控制器、專用集成電路芯片CPLD和液晶顯示屏LCD。
2 SAlll0的LCD控制器
SAlll0芯片內(nèi)部集成了LCD控制器,該控制器有三種顯示類型:
無源彩色模式:支持3375種彩色,每幀允許顯示256種彩色;
有源彩色模式:支持高達(dá)65536種彩色(16位);
無源黑白模式:支持15級灰度。
LCD控制器支持高達(dá)1024×1024象素的顯屏。然而在幀存儲器中,由于存儲器的總線寬度、象素編碼數(shù)據(jù)的大小限制了LCD能驅(qū)動的顯示屏幕的大小。 LCD控制器也支持單屏和雙屏顯示。象素編碼數(shù)據(jù)存儲在外部存儲器中,LCD的雙通道DMA控制器可根據(jù)具體情況把數(shù)據(jù)裝入一個(gè)5單元(32位長)的隊(duì)列緩沖器中。DMA控制器的一個(gè)通道用于單屏顯示,另一個(gè)用于雙屏顯示。
在幀存儲器中,存儲著象素編碼數(shù)據(jù)。LCD控制器將其用作指針去索引一個(gè)256單元12位寬的調(diào)色板。黑白調(diào)色板4位寬,彩色調(diào)色板12位寬。來自幀存儲器的象素編碼數(shù)據(jù)(4位)尋址黑白調(diào)色板的頂部16單元;8位象素編碼數(shù)據(jù)可訪問調(diào)色板中的256單元的任意一個(gè)。在無源彩色12位象素模式下,彩色象素?cái)?shù)據(jù)旁路掉彩色調(diào)色板并且直接送到:LCD的抖動邏輯電路。在有源彩色16位象素模式下,彩色象素?cái)?shù)據(jù)不僅旁路掉彩色調(diào)色板,而且旁路掉LCD的抖動邏輯電路,并直接送到LCD的數(shù)據(jù)管腳。一旦4位或8位的象素編碼數(shù)據(jù)選定了一個(gè)調(diào)色板單元,在這個(gè)單元中被編碼的值就被傳送到抖動邏輯電路。抖動邏輯電路使用一種空基和時(shí)基算法產(chǎn)生輸出到屏幕的象素?cái)?shù)據(jù)。抖動邏輯促使每一個(gè)象素以不同的速率在每一幀上關(guān)斷,從而給黑白屏產(chǎn)生15級灰度,為彩色屏幕的紅、綠、藍(lán)三基色中的每一種都產(chǎn)生15級色度,總計(jì)為3375種彩色(每幀可獲得256種彩色)。來自抖動邏輯電路的輸出數(shù)據(jù)在被輸出到LCD引腳和象素時(shí)鐘驅(qū)動顯示器之前,被放置在一個(gè)9單元的引腳數(shù)據(jù)隊(duì)列緩沖區(qū)內(nèi)。
根據(jù)所使用的顯示屏類型,可將LCD控制器編程為4位、8位或16位的象素?cái)?shù)據(jù)引腳。單屏黑白顯示器在每個(gè)象素時(shí)鐘周期內(nèi)既可以采用4位也可以采用 8位的數(shù)據(jù)引腳去輸出4位或8位的象素。單屏彩色顯示器可以采用8位的數(shù)據(jù)引腳在每個(gè)象素時(shí)鐘周期內(nèi)去輸出2~2/3位的象素(8引腳/3種色彩/每個(gè)象素)。LCD控制器也支持雙屏顯示。雙屏顯示促使LCD控制器數(shù)據(jù)行被分成兩組,一組驅(qū)動上半屏,另一組驅(qū)動下半屏。
在此方案中,選擇了無源彩色模式。在此模式下,SAlll0 LCD控制器的控制過程如圖2所示。
CPLD PZ3128是Philips公司的專用集成芯片。由于手持設(shè)備的液晶顯示屏種類繁多,各廠家的標(biāo)準(zhǔn)不一致使SAlll0的LCD控制器與SHARP公司的3.9寸TFT有源型彩色液晶顯示器在數(shù)據(jù)格式及顯示時(shí)序上無法匹配。因此,對CPLD PZ3128編程,可為不同數(shù)據(jù)格式的數(shù)據(jù)接口進(jìn)行映射,為不同類型的LCD屏配置專用的ASIC芯片。
SAlll0 LCD控制器由以下引腳組成:
.LDD[0~7]:7位數(shù)據(jù)線,用于4位和8位顯示模式,同時(shí)也是16位TFT方式的低8位;
•GPIO[2~9]:當(dāng)采用的液晶模塊是16位TFF方式時(shí),構(gòu)成數(shù)據(jù)線的高8位;
•l_PCLK:點(diǎn)時(shí)鐘(Pixel clock),用于把每一點(diǎn)的數(shù)據(jù)送人移位寄存器;
•l_LCLK:行時(shí)鐘(Line clock),用于指示一行數(shù)據(jù)由移位寄存器到顯示驅(qū)動芯片傳輸完畢,并使得行指針加1。在16位TFT方式下,就是水平同步信號;
•l_FCLK:幀時(shí)鐘(Frame clock),用于指示一幀圖像的開始,同時(shí)把行指針置于顯示屏的第一行。在16位TFT方式下,就是垂直同步信號;
•l_BIAS:在16位TFT方式下,輸出允許信號,用于指示數(shù)據(jù)信號在時(shí)鐘信號的同步下,鎖存到引腳。
為了顯示一幀圖像,SAlll0 LCD控制器首先在RAM中開辟一片緩沖區(qū)作為幀緩沖(FRAME BUFFER)。存人要顯示的圖像數(shù)據(jù),然后讓LCD控制器的DMA地址寄存器指向FRAME BUFFER的起始地址,讀出FRAME BUFFER中的數(shù)據(jù)到輸入先人先出隊(duì)列(1NPUT FIFO)。由于在本設(shè)計(jì)中采用16位方式,無需對幀緩沖中的數(shù)據(jù)進(jìn)行解碼,所以LCD控制器不處理直接把數(shù)據(jù)送到輸出先入先出隊(duì)列(OUTPUT FIFO)。OUTPUT FIFO再將數(shù)據(jù)通過引腳送到CPLD以驅(qū)動液晶顯示。由于SAlll0的LCD控制器擁有自己獨(dú)立的雙通道DMA,同時(shí)選用了高性能SDRAM,能滿足顯示帶寬的需求。
3 LCD模塊
隨著價(jià)格的下降,液晶顯示由于低功耗、無輻射、輕便而廣泛用于各種掌上設(shè)備。特別是TFY-LCD,具有高分辨率、寬視角、高對比度等優(yōu)點(diǎn),在高檔掌上電腦中應(yīng)用較多。
作為SOC芯片的SAlll0中本身就帶有LCD控制器,支持4、8、12和16位格式的多種型號的單色和彩色LCD,給開發(fā)者的選擇帶來很大方便。根據(jù)用戶的要求考慮到實(shí)際的顯示效果,本方案選擇了SHARP的3.9寸TFT有源型彩色液晶顯示器,具體型號為:LQ039Q2DS54。
該顯示模塊是彩色反射型和有源矩陣LCD模塊,由TFT彩色LCD屏、驅(qū)動芯片、FPC引線、前置燈光、觸摸屏及后封板組成。點(diǎn)陣形式為320×3×240,可以顯示圖形和文字,最多可以顯示262144種顏色。
液晶模塊需要10個(gè)等級的標(biāo)準(zhǔn)模擬脈沖電壓V0~V9,用于LCD模塊內(nèi)部產(chǎn)生灰度顯示時(shí)的參考。這些電壓直接影響LCD顯示的色彩和灰度的準(zhǔn)確性,對其數(shù)值要求精度較高。同時(shí),它們是脈沖信號,要求邊沿陡,以保證顯示點(diǎn)清晰。圖3為V0~V9的波形示意圖,V0~V9的幅度參數(shù)要求如表1。
評論