基于SA1110的掌上電腦顯示器的設(shè)計與實(shí)現(xiàn)
隨著以網(wǎng)絡(luò)為代表的新經(jīng)濟(jì)時代的到來,PC已失去昔日的光采,智能3C產(chǎn)品(Computer、Communication and Consumer)將掀起新的一波巨浪。掌上電腦作為智能3C產(chǎn)品的代表之一,以其傳輸迅速、應(yīng)用方便、功能多樣等特點(diǎn),正成為市場的主流產(chǎn)品,深受消費(fèi)者的青睞。
目前,掌上電腦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ā)出自己的硬件平臺;同時還要開發(fā)自己的嵌入式Linux操作系統(tǒng);在硬件平臺和操作系統(tǒng)之上,再開發(fā)各種具體的應(yīng)用程序,以滿足特定用戶的需求。本文介紹的液晶顯示器的設(shè)計是整個系統(tǒng)設(shè)計的重要組成部分。
1 硬件電路組成
基于SA1110微處理器的掌上電腦液晶顯示器的硬件電路如圖1所示。主要由三部分組成:LCD控制器、專用集成電路芯片CPLD和液晶顯示屏LCD。
2 SA1110的 LCD控制器
SA1110芯片內(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ù)裝入一個5單元(32位長)的隊列緩沖器中。DMA控制器的一個通道用于單屏顯示,另一個用于雙屏顯示。
在幀存儲器中,存儲著象素編碼數(shù)據(jù)。LCD控制器將其用作指針去索引一個256單元12位寬的調(diào)色板。黑白調(diào)色板4位寬,彩色調(diào)色板12位寬。來自幀存儲器的象素編碼數(shù)據(jù)(4位)尋址黑白調(diào)色板的頂部16單元;8位象素編碼數(shù)據(jù)可訪問調(diào)色板中的256單元的任意一個。在無源彩色12位象素模式下,彩色象素數(shù)據(jù)旁路掉彩色調(diào)色板并且直接送到LCD的抖動邏輯電路。在有源彩色16位象素模式下,彩色象素數(shù)據(jù)不僅旁路掉彩色調(diào)色板,而且旁路掉LCD 的抖動邏輯電路,并直接送到LCD的數(shù)據(jù)管腳。一旦4位或8位的象素編碼數(shù)據(jù)選定了一個調(diào)色板單元,在這個單元中被編碼的值就被傳送到抖動邏輯電路。抖動邏輯電路使用一種空基和時基算法產(chǎn)生輸出到屏幕的象素數(shù)據(jù)。抖動邏輯促使每一個象素以不同的速率在每一幀上關(guān)斷,從而給黑白屏產(chǎn)生15級灰度,為彩色屏幕的紅、綠、藍(lán)三基色中的每一種都產(chǎn)生15級色度,總計為3375種彩色(每幀可獲得256種彩色)。來自抖動邏輯電路的輸出數(shù)據(jù)在被輸出到LCD引腳和象素時鐘驅(qū)動顯示器之前,被放置在一個9單元的引腳數(shù)據(jù)隊列緩沖區(qū)內(nèi)。
根據(jù)所使用的顯示屏類型,可將LCD控制器編程為4位、8位或16位的象素數(shù)據(jù)引腳。單屏黑白顯示器在每個象素時鐘周期內(nèi)既可以采用4位也可以采用8位的數(shù)據(jù)引腳去輸出4位或8位的象素。單屏彩色顯示器可以采用8位的數(shù)據(jù)引腳在每個象素時鐘周期內(nèi)去輸出2~2/3位的象素(8引腳/3種色彩/每個象素)。LCD控制器也支持雙屏顯示。雙屏顯示促使LCD控制器數(shù)據(jù)行被分成兩組,一組驅(qū)動上半屏,另一組驅(qū)動下半屏。
在此方案中選擇了無源彩色模式。在此模式下,SA1110 LCD控制器的控制過程如圖2所示。
CPLD PZ3128是Philips公司的專用集成芯片。由于手持設(shè)備的液晶顯示屏種類繁多,各廠家的標(biāo)準(zhǔn)不一致使SA1110的LCD控制器與SHARP公司的3.9寸TFT有源型彩色液晶顯示器在數(shù)據(jù)格式及顯示時序上無法匹配。因此,對CPLD PZ3128編程可為不同數(shù)據(jù)格式的數(shù)據(jù)接口進(jìn)行映射為不同類型的LCD屏配置專用的ASIC芯片。
SA1110 LCD控制器由以下引腳組成:
·LDD 0~7 :7位數(shù)據(jù)線用于4位和8位顯示模式,同時也是16位TFT方式的低8位;
·GPIO 2~9:當(dāng)采用的液晶模塊是16位TFT方式時,構(gòu)成數(shù)據(jù)線的高8位;
·L_PCLK:點(diǎn)時鐘(Pixel clock),用于把每一點(diǎn)的數(shù)據(jù)送入移位寄存器;
·L_LCLK:行時鐘(Line clock),用于指示一行數(shù)據(jù)由移位寄存器到顯示驅(qū)動芯片傳輸完畢,并使得行指針加1。在16位TFT方式下,就是水平同步信號;
·L_FCLK:幀時鐘(Frame clock),用于指示一幀圖像的開始,同時把行指針置于顯示屏的第一行。在16位TFT方式下,就是垂直同步信號;
·L_BIAS:在16位TFT方式下,輸出允許信號,用于指示數(shù)據(jù)信號在時鐘信號的同步下,鎖存到引腳。
為了顯示一幀圖像,SA1110 LCD控制器首先在RAM中開辟一片緩沖區(qū)作為幀緩沖(FRAME BUFFER)。存入要顯示的圖像數(shù)據(jù),然后讓LCD 控制器的DMA地址寄存器指向FRAME BUFFER的起始地址,讀出FRAME BUFFER中的數(shù)據(jù)到輸入先入先出隊列(INPUT FIFO)。由于在本設(shè)計中采用16位方式,無需對幀緩沖中的數(shù)據(jù)進(jìn)行解碼,所以LCD控制器不處理直接把數(shù)據(jù)送到輸出先入先出隊列(OUTPUT FIFO)。OUTPUT FIFO再將數(shù)據(jù)通過引腳送到CPLD 以驅(qū)動液晶顯示。由于SA1110 的LCD控制器擁有自己獨(dú)立的雙通道DMA,同時選用了高性能SDRAM,能滿足顯示帶寬的需求。
評論