基于USB的嵌入式LCD圖文顯示系統(tǒng)的設(shè)計(jì)
3.1 USB接口電路設(shè)計(jì)
CH372是一個(gè) USB 總線(xiàn)的通用設(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 類(lèi)規(guī)范的設(shè)備。
圖 2是單片機(jī)與 CH372的連接簡(jiǎn)圖, CH372的 D0~D7是專(zhuān)用于與單片機(jī)連接的并行口,接到單片機(jī)的 P0口;片選端接地,始終處于選通狀態(tài); RD和 WR分別接到單片機(jī)的對(duì)應(yīng)端,INT#是中斷申請(qǐng)端,接到單片機(jī) INT0上。在本地端,CH372芯片以?xún)?nèi)置的固件程序自動(dòng)處理了 USB通訊中的基本事務(wù),A0引腳與 P3.7相接,當(dāng) A0引腳為高電平時(shí)選擇命令端口,可以寫(xiě)入命令;當(dāng) A0引腳為低電平時(shí)選擇數(shù)據(jù)端口,可以讀寫(xiě)數(shù)據(jù)。
3.2 存儲(chǔ)模塊設(shè)計(jì)
系統(tǒng)利用三片 24LC64 來(lái)作為擴(kuò)展的存儲(chǔ)器模塊,每片容量為 8KB,共 24KB。它們通過(guò) I2C方式與此平臺(tái)的微處理器 AT89S52相連。芯片引腳 A0,A1, A2用來(lái)作為片選,它們直接連接邏輯“0”或者邏輯“ 1。定義:A2A1A0=000時(shí)選中第一片, A2A1A0=001和 010時(shí)分別選中第二片和第三片。每片 24LC64均需要 13位地址(A0-A12 )。但在微處理器發(fā)出具體字地址之前首先要發(fā)出控制字節(jié)??刂谱止?jié)的組成為: 1010+ A2AlA0 +R/W位。控制字節(jié)用來(lái)確定具體是對(duì)哪一個(gè)存儲(chǔ)芯片進(jìn)行讀或者寫(xiě)操作。被選中的存儲(chǔ)器芯片向微處理器發(fā)送確認(rèn)信號(hào),微處理器確認(rèn)后將發(fā)送具體的 13位地址,A0-A12作為低 13位地址用來(lái)進(jìn)行片內(nèi)地址的確定。如此,程序中設(shè)定的第一片 24LC64的起止地址即為:0000F-1FFF,第二片 24LC64的起止地址為 2000F-3FFF,第三片 24LC64的起止地址為 4000F-5FFF。這樣編址可以使得本是獨(dú)立的三片存儲(chǔ)器統(tǒng)一起來(lái),且地址依次遞增。
評(píng)論