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