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