用戶界面采用全中文的圖形化界面,,并具備如下特點:1)操作方式簡單,,一般人員即可操作;2)彈出式的故障提示界面,;3)所有提示和狀態(tài)顯示均使用中文,。
1 液晶顯示模塊
由于本設(shè)計中LPC2292微處理器的I/O端口要完成鍵盤輸入、LED指示輸出,、LCD屏幕控制等很多功能,,為了節(jié)約I/O資源,很多功能都采用了對微處理器I/O端口分時復(fù)用的方法,,這樣在不影響系統(tǒng)整體性能的基礎(chǔ)上充分地利用了有限的資源,。為了實現(xiàn)LPC2292的D0~D15端口對鍵盤、LED指示輸出,、LCD屏幕控制等多種功能的分時輸入/輸出操作,,對于鍵盤輸入的讀取,采用了Altera公司的CPLD芯片EPM7128作為以上器件的數(shù)據(jù)傳輸控制通道,。
由于目前最常用的單色LCD控制器SED1335的數(shù)據(jù)傳輸速度相對于LPC2292顯得十分緩慢,,經(jīng)過初期的計算和實際測量,刷新一屏320x240點的圖片最快需要130ns左右,,故EPM7128對LCD模塊還起到數(shù)據(jù)緩沖譯碼的作用,。
對于常用的LCD,由于它的引線較多,,如果直接由CPU去控制LCD的顯示,,會造成CPU負擔(dān)過重,用戶使用起來很不方面,。為了解決這種矛盾,,本課題運用北京三春暉電子科技發(fā)展有限公司出品的液晶顯示模塊——SG320240FPD" title="SG320240FPD">SG320240FPD。SG320240FPD顯示模塊將LCD液晶顯示驅(qū)動電路和分壓電路集成在一塊板子上,是一種集顯示,、控制與驅(qū)動為一體的顯示器件,,很好地解決了CPU的負擔(dān)問題。中文液晶顯示模塊SG320240FPD可實現(xiàn)漢字,、ASCII碼、位圖形的同屏顯示,。液晶顯示模塊方框圖如圖1所示,。
SG320240FPD液晶的核心器件是SED1335控制器芯片。SED1335是SEIKO EPSON公司出品的液晶顯示控制器,,其具有較強功能的I/O緩沖器,,指令功能豐富,4位數(shù)據(jù)并行發(fā)送,,最大驅(qū)動能力為640x256點陣,。
從圖1可以看出,DB為數(shù)據(jù)總線,,可以直接連在CPU數(shù)據(jù)總線上,;CS為片選信號,低電平有效,;AO為I/O緩沖器數(shù)據(jù)選擇信號,,為1時寫指令代碼或讀數(shù)據(jù),為0時,,寫數(shù)據(jù)或讀狀態(tài)字,;RD、WR分別為讀操作信號和寫操作信號,,低電平有效,。LPC2292的控制信號通過EPM7128采用I/O設(shè)備訪問形式控制液晶控制器SED1335。然后,,SED1335通過SEG驅(qū)動器向液晶顯示器提供顯示數(shù)據(jù),,通過COM驅(qū)動器向液晶顯示器提供行掃描信號。在COM和SEG的配合下,,實現(xiàn)RAM矩陣內(nèi)容的液晶顯示,。
驅(qū)動器模塊是專用芯片與液晶顯示器的接口,其作用是提高驅(qū)動能力,、實現(xiàn)偏壓極性的轉(zhuǎn)換,。它包括COM驅(qū)動器、SEG驅(qū)動器及COM的移位寄存器,。
COM驅(qū)動器由控制電路,、電壓變換電路、電壓選擇電路、COMS驅(qū)動電路等子模塊組成,。COM移位寄存器與COM驅(qū)動器相配合,,向液晶顯示屏提供行掃描信號。COM移位寄存器實現(xiàn)0行~31行行掃描,,電壓變換電路和電壓選擇電路實現(xiàn)行驅(qū)動,,控制電路實現(xiàn)對COM Driver的控制,CO-MS獨立完成第32行掃描,。
SEG驅(qū)動器闈向液晶顯示屏提供顯示數(shù)據(jù),,該模塊由控制電路、電壓變換電路和電壓選擇電路實現(xiàn)對顯示數(shù)據(jù)鎖存電路輸出RAM數(shù)據(jù)的驅(qū)動,。
2 LCD7920的硬件驅(qū)動
由于LCD7920的控制器SED1335和LPC2292的外部總線連接時沒有采用直接連接的方式,,而是采用了通過可編程邏輯器件擴展I/O口進行間接連接的方式,SED1335的基本操作需要專門編寫相應(yīng)的操作函數(shù),,包括液晶屏復(fù)位函數(shù),、寫指令代碼、寫數(shù)據(jù)或參數(shù),、讀命令地址,、讀數(shù)據(jù)或參數(shù)和SED1335_write函數(shù)(寫一條完整的指令)。
從軟件角度看,,SED1335需要的控制信號包括:復(fù)位信號RST,、讀信號RD、寫信號WE,、地址信號A0(命令或數(shù)據(jù)方式控制),、片選信號AEN和數(shù)據(jù)信號D0~D7。其中,,RST,、RD、WE,、A0和CS信號由CPLD擴展的輸出端口LCD_CMD控制,,D0~D7由CPLD擴展的雙向端口LCD_DATA控制。另外,,為了控制數(shù)據(jù)信號LD0~LD7的方向,,還在CPLD內(nèi)部設(shè)置了DataOut信號。當(dāng)DataOut=0時數(shù)據(jù)由CPU通過LCD_DATA向SED1335輸入,;當(dāng)Data-Out=1時SED1335通過LCD_DATA向CPU輸出的數(shù)據(jù),。下面將具體分析寫指令信號的全過程。
首先,,要知道在寫指令的過程中,,復(fù)位信號RES置高電平不起作用,讀信號RD置高電平也不起作用,寫信號WE置為低電平,,片選信號AEN置為低電平,。由于寫指令是要數(shù)據(jù)由LCD_DATA向SED1335輸出,因此DataOut信號為低電平,。于是寫指令的時序圖如圖2所示,。
根據(jù)寫指令的時序圖,對于液晶模塊低層驅(qū)動的CPLD數(shù)字電路設(shè)計如圖3所示,。
從圖3可知,,首先在0x83000004地址空間中,A1高電平保持不變,,A0、A2,、A3,、A4、A5,、A6和地址使能信號AEN分別經(jīng)過非門變成高電平,。接著,它們在全部經(jīng)過與非門轉(zhuǎn)變?yōu)榈碗娖?,設(shè)為X,。從時序圖中,可以看出RD一直保持高電平,,它和X相“或”后,,輸出為高電平CS—LCD2RD。由于CS—LCD2RD低電平有效,,所以讀指令不起作用,。同理,X和WE相“或”后,,輸出為低電平CS—LCD2WE,,然后CS—LCD2WE與74273的CLK位相連,即CLK位為低電平,。八重D觸發(fā)器74273的STR管腳信號是由RTS復(fù)位信號決定,,為高電平。根據(jù)八重D觸發(fā)器74273的真值表,,STR為高電平,,CLK為低電平,輸出和輸入相等,。下一步輸出信號通過74245總線收發(fā)器,,74245的OE管腳由Dataout信號決定。由于是寫代碼指令,Dataout=0,,數(shù)據(jù)由CPU通過LCD_DATA向SED1335輸入,。由于OE管腳為低電平,根據(jù)74245真值表,,輸入輸出保持不變,。LD0~LD7就等于輸入信號,把它接到SG320240FPD的D0~D7管腳,,SED1335讀取CPU數(shù)據(jù)完畢,。SED1335其他操作的分析過程與寫指令類似,這里不詳細作介紹,。
3 GUI軟件的實現(xiàn)
嵌入式(GUI,,Graphic User Interface)系統(tǒng)是在嵌入式系統(tǒng)中為特定的硬件設(shè)備或環(huán)境而設(shè)計的圖形用戶界面系統(tǒng)。
顯示任務(wù)與鍵盤任務(wù)的關(guān)系最密切,,它們組成了最基本的人機接口,,每一次鍵盤操作都伴隨著畫面的更新。由鍵盤操作更新的畫面內(nèi)容稱為“畫面的靜態(tài)部分”,,因為這部分畫面內(nèi)容在沒有鍵盤操作時是固定不變,。 作者:王珊珊 宋亮 來源:電子設(shè)計工程