《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于USB的嵌入式LCD圖文顯示系統(tǒng)的設(shè)計(jì)
基于USB的嵌入式LCD圖文顯示系統(tǒng)的設(shè)計(jì)
摘要: 液晶顯示器件作為一種成熟的平板顯示器件,它獨(dú)具的低壓、微功耗特性使之可以直接與大規(guī)模集成電路結(jié)合而開發(fā)出一系列具有顯示功能的產(chǎn)品。這些產(chǎn)品不僅改變了人類生活甚至改變了整個(gè)社會(huì)。可以說,有信息的地方就離不開顯示,凡是需要顯示的地方就有液晶的用武之地,因此對(duì) LCD顯示技術(shù)的研究和學(xué)習(xí)具有很高的實(shí)際應(yīng)用意義。
Abstract:
Key words :

       1 引言

  隨著科技的飛速發(fā)展,電腦的日益普及,人類文明踏入數(shù)字化時(shí)代的不斷成功,數(shù)字化已經(jīng)滲透到人類社會(huì)的各個(gè)角落。而顯示器是人與機(jī)器溝通的重要界面,早期以顯像管顯示器為主,但隨著科技不斷進(jìn)步,各種顯示技術(shù)不斷涌現(xiàn)。液晶顯示器件作為一種成熟的平板顯示器件,它獨(dú)具的低壓、微功耗特性使之可以直接與大規(guī)模集成電路結(jié)合而開發(fā)出一系列具有顯示功能的產(chǎn)品。這些產(chǎn)品不僅改變了人類生活甚至改變了整個(gè)社會(huì)。可以說,有信息的地方就離不開顯示,凡是需要顯示的地方就有液晶的用武之地,因此對(duì) LCD" title="LCD">LCD顯示技術(shù)的研究和學(xué)習(xí)具有很高的實(shí)際應(yīng)用意義。

  2 系統(tǒng)" title="系統(tǒng)">系統(tǒng)工作原理及總體設(shè)計(jì)" title="設(shè)計(jì)">設(shè)計(jì)

  2.1系統(tǒng)工作原理

  本系統(tǒng)將應(yīng)用單片機(jī)技術(shù)開發(fā)一種便捷的LCD圖文顯示" title="圖文顯示">圖文顯示設(shè)備,采用上/下位機(jī)設(shè)計(jì)方式,通過 USB" title="USB">USB通訊方式實(shí)現(xiàn)信息傳輸。具體工作原理是:上位機(jī)( PC機(jī))首先安裝驅(qū)動(dòng)程序和 PC應(yīng)用軟件,然后將下位機(jī)系統(tǒng)安裝到主機(jī)機(jī)箱上,將 USB插頭插入主機(jī)(或在機(jī)箱內(nèi)接入),經(jīng)主機(jī)正確識(shí)別后,運(yùn)行 PC應(yīng)用軟件生成要顯示的點(diǎn)陣數(shù)據(jù),通過 USB接口將數(shù)據(jù)向下傳輸, LCD圖文顯示設(shè)備通過單片機(jī)控制與主機(jī)進(jìn)行數(shù)據(jù)通訊,將要顯示的點(diǎn)陣數(shù)據(jù)存儲(chǔ)到下位機(jī)存儲(chǔ)單元中,在取得要顯示的數(shù)據(jù)之后,下位機(jī)系統(tǒng)便可實(shí)現(xiàn)顯示,比如系統(tǒng)時(shí)間、CPU占用率、內(nèi)存占用率等等。如果不是安裝到機(jī)箱上,該系統(tǒng)還可作為便攜設(shè)備,用來顯示一些其他的信息,比如上次關(guān)機(jī)時(shí)間、 CPU占用率、內(nèi)存占用率或者作為便攜記事本等。

  2.2 系統(tǒng)總體設(shè)計(jì)

  LCD圖文顯示系統(tǒng)的系統(tǒng)結(jié)構(gòu)如圖 1所示。單片機(jī) AT89C52是整個(gè) LCD顯示系統(tǒng)的控制核心,主要完成以下的控制功能:配合 PC機(jī)控制 USB通信電路完成硬件檢測(cè)、列舉、連接及數(shù)據(jù)的雙向傳輸;控制 LCD顯示電路完成 PC機(jī)數(shù)據(jù)的顯示;控制存儲(chǔ)電路完成數(shù)據(jù)的存取等。

       3 硬件電路設(shè)計(jì)

  基于 USB總線的 LCD圖文顯示系統(tǒng)的硬件電路結(jié)構(gòu)主要包括以下幾個(gè)部分:USB通信電路部分、LCD顯示部分、存儲(chǔ)管理部分。模塊的功能都是在以 AT89S52為核心的硬件平臺(tái)上實(shí)現(xiàn)的。

   3.1 USB接口電路設(shè)計(jì)

  CH372是一個(gè) USB 總線的通用設(shè)備接口芯片,是 CH371的升級(jí)產(chǎn)品,是CH375芯片的功能簡(jiǎn)化版。CH372內(nèi)置了USB 通訊中的底層協(xié)議,具有省事的內(nèi)置固件模式和靈活的外置固件模式。在內(nèi)置固件模式下,CH372自動(dòng)處理默認(rèn)端點(diǎn)0的所有事務(wù),本地端單片機(jī)只要負(fù)責(zé)數(shù)據(jù)交換,所以單片機(jī)程序非常簡(jiǎn)潔。在外置固件模式下,由外部單片機(jī)根據(jù)需要自行處理各種USB 請(qǐng)求,從而可以實(shí)現(xiàn)符合各種 USB 類規(guī)范的設(shè)備。

  圖 2是單片機(jī)與 CH372的連接簡(jiǎn)圖, CH372的 D0~D7是專用于與單片機(jī)連接的并行口,接到單片機(jī)的 P0口;片選端接地,始終處于選通狀態(tài); RD和 WR分別接到單片機(jī)的對(duì)應(yīng)端,INT#是中斷申請(qǐng)端,接到單片機(jī) INT0上。在本地端,CH372芯片以內(nèi)置的固件程序自動(dòng)處理了 USB通訊中的基本事務(wù),A0引腳與 P3.7相接,當(dāng) A0引腳為高電平時(shí)選擇命令端口,可以寫入命令;當(dāng) A0引腳為低電平時(shí)選擇數(shù)據(jù)端口,可以讀寫數(shù)據(jù)。

  3.2 存儲(chǔ)模塊設(shè)計(jì)

  系統(tǒng)利用三片 24LC64 來作為擴(kuò)展的存儲(chǔ)器模塊,每片容量為 8KB,共 24KB。它們通過 I2C方式與此平臺(tái)的微處理器 AT89S52相連。芯片引腳 A0,A1, A2用來作為片選,它們直接連接邏輯“0”或者邏輯“ 1"。定義:A2A1A0=000時(shí)選中第一片, A2A1A0=001和 010時(shí)分別選中第二片和第三片。每片 24LC64均需要 13位地址(A0-A12 )。但在微處理器發(fā)出具體字地址之前首先要發(fā)出控制字節(jié)??刂谱止?jié)的組成為: 1010+ "A2AlA0" +R/W位。控制字節(jié)用來確定具體是對(duì)哪一個(gè)存儲(chǔ)芯片進(jìn)行讀或者寫操作。被選中的存儲(chǔ)器芯片向微處理器發(fā)送確認(rèn)信號(hào),微處理器確認(rèn)后將發(fā)送具體的 13位地址,A0-A12作為低 13位地址用來進(jìn)行片內(nèi)地址的確定。如此,程序中設(shè)定的第一片 24LC64的起止地址即為:0000F-1FFF,第二片 24LC64的起止地址為 2000F-3FFF,第三片 24LC64的起止地址為 4000F-5FFF。這樣編址可以使得本是獨(dú)立的三片存儲(chǔ)器統(tǒng)一起來,且地址依次遞增。


 

 

  3.4 電源部分設(shè)計(jì)

  本系統(tǒng)的電源部分使用 LM7805芯片進(jìn)行穩(wěn)壓后提供單片機(jī) 5V的電壓。其電源部分電路的設(shè)計(jì)如圖 4所示。該電源部分電路,使用四個(gè) 1N4004二極管構(gòu)成整流橋,可以輸入直流或是交流 9V電源,然后再通過 7805穩(wěn)定到 5V供單片機(jī)工作。固定式三端穩(wěn)壓電源 7805是由輸出腳 Vo,輸入腳 Vi和接地腳 GND組成,它的穩(wěn)壓值為 +5V,它屬于 LM78XX系列的穩(wěn)壓器,輸入端接電容可以進(jìn)一步的濾波,輸出端也要接電容可以改善負(fù)載的瞬間影響,電路的穩(wěn)定性也比較好。

  4 軟件設(shè)計(jì)

  軟件部分由三個(gè)部分組成:?jiǎn)纹瑱C(jī)系統(tǒng)運(yùn)行程序、主機(jī) PC上的 USB設(shè)備驅(qū)動(dòng)程序和主機(jī)上的客戶應(yīng)用程序。單片機(jī)系統(tǒng)運(yùn)行程序按功能可以劃分為 USB通信程序、單片機(jī)對(duì)擴(kuò)展存儲(chǔ)器訪問程序和 LCD顯示程序,其中 USB通信程序的功能是實(shí)現(xiàn) USB設(shè)備枚舉和數(shù)據(jù)傳輸;設(shè)備驅(qū)動(dòng)程序是連接設(shè)備和主機(jī)應(yīng)用程序的紐帶,它向上提供應(yīng)用程序的訪問接口(API),向下則實(shí)現(xiàn)對(duì)具體設(shè)備的訪問和管理功能,在 USB體系的中間起到信息轉(zhuǎn)換和傳遞的中介作用。本系統(tǒng)采用 Driverworks開發(fā)WDM型USB設(shè)備驅(qū)動(dòng)程序;應(yīng)用程序是以 .NET為平臺(tái)進(jìn)行開發(fā)的,主要功能是在設(shè)備驅(qū)動(dòng)程序中查找設(shè)備,與設(shè)備交換數(shù)據(jù),并將設(shè)備發(fā)送來的數(shù)據(jù)進(jìn)行處理和顯示。

  PC軟件在開始時(shí),先進(jìn)行控件及窗體的初始化,然后可以錄入數(shù)據(jù)(漢字、英文字母、數(shù)字或時(shí)間),選擇字體及字號(hào),并對(duì)所加載數(shù)據(jù)通過點(diǎn)陣生成算法生成下位機(jī)數(shù)據(jù)。然后進(jìn)行數(shù)據(jù)傳輸,如果 PC軟件找到設(shè)備即可與之進(jìn)行通信(首先主機(jī)能發(fā)現(xiàn)硬件設(shè)備并正常驅(qū)動(dòng)),否則跳出 USB傳輸模塊并返回。在下位機(jī)固件程序中,在設(shè)備接入主機(jī)后,首先對(duì)下位機(jī)進(jìn)行系統(tǒng)初始化,然后進(jìn)行 USB連接,被主機(jī)識(shí)別并能正常驅(qū)動(dòng),進(jìn)入正常使用狀態(tài),等待數(shù)據(jù)傳輸。如果有 PC數(shù)據(jù)傳輸,則調(diào)用通訊模塊接收數(shù)據(jù),并將數(shù)據(jù)存入下位機(jī)存儲(chǔ)器,然后調(diào)用讀數(shù)據(jù)模塊與顯示模塊進(jìn)行顯示;否則直接執(zhí)行讀數(shù)據(jù)模塊并調(diào)用顯示模塊進(jìn)行顯示(顯示上次存儲(chǔ)的數(shù)據(jù))。系統(tǒng)軟件的流程圖如圖 5所示。

  5 總結(jié)

  本文的創(chuàng)新點(diǎn)是將 USB串行總線和液晶顯示技術(shù)引入到圖文顯示系統(tǒng)中,使系統(tǒng)具有使用簡(jiǎn)單、即插即用、熱插拔、開放性、高速、穩(wěn)定、可靠性高和低功耗、體積小、質(zhì)量輕、使用簡(jiǎn)單等優(yōu)點(diǎn);其次,通過擴(kuò)展存儲(chǔ)芯片,使系統(tǒng)還能夠?qū)崿F(xiàn)信息存儲(chǔ)功能,從而作為便攜器,用作信息的閱讀工具。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。