基于SAlll0微處理器的掌上電腦液晶顯示器的設計與實現(xiàn)
目前,掌上電腦CPU中比較流行的有MIPS系列、SuperH系列、DragonBall系列以及ARM系列。在操作系統(tǒng)領域,除了部分采用Linux和自行開發(fā)的操作系統(tǒng)外,大部分產(chǎn)品采用Palm OS、Windows CE和EPOC操作系統(tǒng)。
為了在掌上電腦這一嵌入式系統(tǒng)的主要應用領域中占有一席之地,清華大學自動化系和深圳翔龍公司決定開發(fā)具有民族自主知識產(chǎn)權的掌上電腦。這就需要選好和開發(fā)出自己的硬件平臺;同時還要開發(fā)自己的嵌入式Linux操作系統(tǒng);在硬件平臺和操作系統(tǒng)之上,再開發(fā)各種具體的應用程序,以滿足特定用戶的需求。本文介紹的液晶顯示器的設計是整個系統(tǒng)設計的重要組成部分。
1硬件電路組成
基于SAlll0微處理器的掌上電腦液晶顯示器的硬件電路如圖1所示。主要由三部分組成:LCD控制器、專用集成電路芯片CPLD和液晶顯示屏LCD。
2 SAlll0的LCD控制器
SAlll0芯片內(nèi)部集成了LCD控制器,該控制器有三種顯示類型:
- 無源彩色模式:支持3375種彩色,每幀允許顯示256種彩色;
- 有源彩色模式:支持高達65536種彩色(16位);
- 無源黑白模式:支持15級灰度。
LCD控制器支持高達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ù)。抖動邏輯促使每一個象素以不同的速率在每一幀上關斷,從而給黑白屏產(chǎn)生15級灰度,為彩色屏幕的紅、綠、藍三基色中的每一種都產(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ū)動下半屏。
在此方案中,選擇了無源彩色模式。在此模式下,SAlll0 LCD控制器的控制過程如圖2所示。
CPLD PZ3128是Philips公司的專用集成芯片。由于手持設備的液晶顯示屏種類繁多,各廠家的標準不一致使SAlll0的LCD控制器與SHARP公司的3.9寸TFT有源型彩色液晶顯示器在數(shù)據(jù)格式及顯示時序上無法匹配。因此,對CPLD PZ3128編程,可為不同數(shù)據(jù)格式的數(shù)據(jù)接口進行映射,為不同類型的LCD屏配置專用的ASIC芯片。
SAlll0 LCD控制器由以下引腳組成:
- LDD[0~7]:7位數(shù)據(jù)線,用于4位和8位顯示模式,同時也是16位TFT方式的低8位;
- GPIO[2~9]:當采用的液晶模塊是16位TFF方式時,構成數(shù)據(jù)線的高8位;
- l_PCLK:點時鐘(Pixel clock),用于把每一點的數(shù)據(jù)送人移位寄存器;
- l_LCLK:行時鐘(Line clock),用于指示一行數(shù)據(jù)由移位寄存器到顯示驅(qū)動芯片傳輸完畢,并使得行指針加1。在16位TFT方式下,就是水平同步信號;
- l_FCLK:幀時鐘(Frame clock),用于指示一幀圖像的開始,同時把行指針置于顯示屏的第一行。在16位TFT方式下,就是垂直同步信號;
- l_BIAS:在16位TFT方式下,輸出允許信號,用于指示數(shù)據(jù)信號在時鐘信號的同步下,鎖存到引腳。
為了顯示一幀圖像,SAlll0 LCD控制器首先在RAM中開辟一片緩沖區(qū)作為幀緩沖(FRAME BUFFER)。存人要顯示的圖像數(shù)據(jù),然后讓LCD控制器的DMA地址寄存器指向FRAME BUFFER的起始地址,讀出FRAME BUFFER中的數(shù)據(jù)到輸入先人先出隊列(1NPUT FIFO)。由于在本設計中采用16位方式,無需對幀緩沖中的數(shù)據(jù)進行解碼,所以LCD控制器不處理直接把數(shù)據(jù)送到輸出先入先出隊列(OUTPUT FIFO)。OUTPUT FIFO再將數(shù)據(jù)通過引腳送到CPLD以驅(qū)動液晶顯示。由于SAlll0的LCD控制器擁有自己獨立的雙通道DMA,同時選用了高性能SDRAM,能滿足顯示帶寬的需求。 3 LCD模塊
隨著價格的下降,液晶顯示由于低功耗、無輻射、輕便而廣泛用于各種掌上設備。特別是TFY-LCD,具有高分辨率、寬視角、高對比度等優(yōu)點,在高檔掌上電腦中應用較多。
作為SOC芯片的SAlll0中本身就帶有LCD控制器,支持4、8、12和16位格式的多種型號的單色和彩色LCD,給開發(fā)者的選擇帶來很大方便。根據(jù)用戶的要求考慮到實際的顯示效果,本方案選擇了SHARP的3.9寸TFT有源型彩色液晶顯示器,具體型號為:LQ039Q2DS54。
該顯示模塊是彩色反射型和有源矩陣LCD模塊,由TFT彩色LCD屏、驅(qū)動芯片、FPC引線、前置燈光、觸摸屏及后封板組成。點陣形式為320×3×240,可以顯示圖形和文字,最多可以顯示262144種顏色。
液晶模塊需要10個等級的標準模擬脈沖電壓V0~V9,用于LCD模塊內(nèi)部產(chǎn)生灰度顯示時的參考。這些電壓直接影響LCD顯示的色彩和灰度的準確性,對其數(shù)值要求精度較高。同時,它們是脈沖信號,要求邊沿陡,以保證顯示點清晰。圖3為V0~V9的波形示意圖,V0~V9的幅度參數(shù)要求如表1。
表1中電壓信號的產(chǎn)生先用高精度電阻構成陣列,用電阻分壓法產(chǎn)生基準電壓,再由二選一開關按照LCD顯示的幀頻率進行高速切換,在輸出端就可得到所需的標準模擬脈沖電壓。其中,二選一開關選用LMC6009,該部分電路如圖4所示。
LQ039Q2DS54與眾多的TFT一樣,每一象素采用18位的編碼方式。紅、綠、藍每一種基色6位,即RGB666。但SAlll0的LCD控制器支持16位方式,因此必須把紅、藍的最低位接地,從而形成5位紅、6位綠、5位藍的RGB565格式。這樣產(chǎn)生的色差非常小。
4觸摸屏
通常,供掌上設備使用的觸摸屏一般都與LCD液晶屏集成安裝在一起,緊貼在LCD的表面。SHARP 3.9寸TFT LCD(LQ039Q2DS54)表面裝有一個電阻式觸摸屏,其基本結構如圖5所示,分為X和Y上下兩個極板。
通過電阻式觸摸屏,可以測得接觸點的位置和壓力。當需要測試X坐標時,首先給X極板的兩端加偏置電壓,然后測試tspy、tsmy之一或全部。它們相當于電位器的滑動端,其測得的電壓值正比于觸點的X坐標。Y坐標的測試同理,只是X極板和Y極板互換而已。SHARP 3.9寸TFT LCD(LQ039Q2DS54)表面安裝的電阻式觸摸屏的特性參數(shù)如下:
- 輸入電壓:5V;
- X1和X2之間的電阻:320Ω;
- Y1和Y2之間的電阻:580Ω;
- X或Y方向的行線性:1.5%;
- 絕緣電阻大于:20MΩ;
- 能檢測到的最小壓力:24g。
本設計中所采用的Philips公司的UCBl300不僅可以作為MODEM和音頻模擬前端芯片,而且它的內(nèi)部集成有觸摸屏控制器,可以一片多用,便于在掌上系統(tǒng)中使用。觸摸屏控制器的功能包括:對觸摸屏的兩層極板間施加偏置電壓,當有點擊動作時,產(chǎn)生中斷信號;同時對點擊處的X和Y方向的模擬電壓信號進行數(shù)字量化,得到點擊位置數(shù)據(jù),保存在內(nèi)部寄存器中;再通過MCP接口讀到微處理器中。UCBl300與觸摸屏控制器相關的特征有:
(1)完整的四線電阻式(壓感式)觸摸屏接口電路,分別連接觸摸屏的4條信號線tspx、tsmx、tspy和tsmy,可以實現(xiàn)位置、壓力和極板電阻的測量。
(2)帶有內(nèi)部跟蹤保持電路以及模擬多路開關的10位連續(xù)逼近型ADC,用于觸摸屏觸點數(shù)據(jù)的讀出和外電路4個模擬電壓的監(jiān)視,其中外電路4個模擬電壓監(jiān)視用于電源管理。
(3)內(nèi)部帶有參考電壓源,為10位ADC提供基準電壓和虛擬地參考。這樣就可以不受電源電壓和溫度變化的影響。
(4)4線高速串行接口數(shù)據(jù)總線,實現(xiàn)與主處理器SAlll0的MCP同步串口通信,有嚴格的數(shù)據(jù)幀定義。
(5)觸摸屏的各種工作模式由UCBl300的內(nèi)部控制寄存器設置,而這些控制寄存器由SAlll0通過MCP同步串口來讀寫。
(6)因為觸摸屏與LCD的近耦合,來自LCD屏的大的尖峰干擾信號會影響觸摸屏的工作,因此觸摸屏控制器內(nèi)部有4個低通濾波器,用于降低來自LCD的高頻干擾。
盡管目前國內(nèi)市場上的各種PDA和掌上電腦產(chǎn)品比較多,某些國內(nèi)的品牌也很暢銷,但是在產(chǎn)品設計和制造上,都是靠臺灣地區(qū)等廠商的OEM,真正自主研究開發(fā)的硬件平臺幾乎為零。因此,本項目中掌上電腦硬件平臺系統(tǒng)的研制成功,特別是基于Intel StrongARM SAlll0高性能CPU的樣機,在國內(nèi)仍處于領先地位,并且為同組人員開發(fā)嵌入式操作系統(tǒng)和各種應用程序提供了硬件環(huán)境。