基于CH371的USB接口在便攜式無線抄表系統(tǒng)的應(yīng)用
1 引言
USB(Universal Serial Bus―通用串行總線)是由Intel,Compaq,Digital,IBM, Microsoft,NEC,Northern Telecom七家世界著名的計(jì)算機(jī)和通信公司共同推出的新一代總線接口標(biāo)準(zhǔn)。作為一種PC機(jī)與外設(shè)之間的高速通信接口,USB具有連接靈活、可熱插拔、一種接口適合多種設(shè)備、速度高(USB1.1協(xié)議支持12Mbps,USB2.0協(xié)議支持480Mbps)、自動配置、無需定位及運(yùn)行安裝程序、可為外設(shè)提供電源、低功耗、低成本、可靠性高等優(yōu)點(diǎn),因而在數(shù)碼相機(jī)、便攜式儀器、便攜式存儲設(shè)備等產(chǎn)品中廣泛應(yīng)用。
但是,USB接口的開發(fā)一般要求設(shè)計(jì)人員對USB的標(biāo)準(zhǔn)、Firmware(固件)編程及驅(qū)動程序的編寫等有較深入的理解,因此限制了一般的硬件工程師對 USB接口產(chǎn)品的開發(fā)使用;我們在便攜式無線抄表系統(tǒng)中使用的USB接口芯片CH371,使用簡單、性能卓越,價(jià)格低廉,只要熟悉單片機(jī)編程及簡單的VB 或VC應(yīng)用程序編程,使一般的硬件工程師在極短的周期內(nèi)就能很容易地開發(fā)出相應(yīng)的USB產(chǎn)品。圖1示出了無線抄表與管理系統(tǒng)的原理框圖。
圖1 無線抄表與管理系統(tǒng)的原理框圖
2 USB總線的通用接口芯片CH371簡介
CH371是USB總線的通用接口芯片。
如圖2所示,在本地端,CH371具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機(jī)、DSP、MCU等控制器的系統(tǒng)總線上;在計(jì)算機(jī)系統(tǒng)中,CH371的配套軟件提供了簡潔易用的操作接口,與本地端的單片機(jī)通信就如同讀寫硬盤中的文件。CH371屏蔽了USB通信中的所有協(xié)議,在計(jì)算機(jī)應(yīng)用層與本地端控制器之間提供端對端的連接。基于CH371,不需要了解任何USB協(xié)議或者固件程序甚至驅(qū)動程序,就可以輕松地將并口、串口的產(chǎn)品升級到USB接口。
圖2 CH371芯片原理圖
它具有以下特點(diǎn):
(1) 屏蔽USB協(xié)議,在計(jì)算機(jī)應(yīng)用層與本地端之間提供端對端的連接;
(2) 兩種通信模式:單向數(shù)據(jù)流模式、請求加應(yīng)答模式,支持偽中斷;
(3) 自動完成USB配置過程,完全不需要本地端控制器作任何處理;
(4) 標(biāo)準(zhǔn)的USB V1.1接口,即插即用,D+引腳內(nèi)置上拉電阻;
(5) 內(nèi)置4個(gè)端點(diǎn),支持USB的控制傳輸、批量傳輸、中斷傳輸;
(6) 通用Windows驅(qū)動程序,提供設(shè)備級接口和應(yīng)用層接口;
(7) 通用的本地8位數(shù)據(jù)總線,4線控制:讀選通、寫選通、片選輸入、中斷輸出;
(8) 占用16個(gè)地址,可選直接地址方式或者復(fù)用地址方式;
(9) 內(nèi)置輸入輸出緩沖區(qū),以中斷方式通知本地端控制器傳輸數(shù)據(jù);
(10) 內(nèi)置硬件實(shí)現(xiàn)的I2C主接口,應(yīng)用層可以直接讀寫外掛的I2C從設(shè)備;
(11) 在主控方式下可以提供16根輸入信號線或者12根獨(dú)立控制的輸出信號線;
(12) 內(nèi)置上電復(fù)位,提供高電平有效復(fù)位輸出和低電平有效復(fù)位輸出;
(13) 內(nèi)置可選的看門狗電路Watch-Dog,為本地端控制器提供監(jiān)控。
3 CH371在基于單片機(jī)的無線抄表儀中的硬件接口設(shè)計(jì)
圖3示出的是CH371與MCU的硬件接口簡圖,因此對MCU AT89C52的硬件連接比較簡略,主要是在該系統(tǒng)的設(shè)計(jì)中,如晶振的選擇連接以及復(fù)位電路等沒有什么特殊的要求,而CH371的復(fù)位完全可以采用單片機(jī)復(fù)位電路產(chǎn)生的復(fù)位信號。帶I2C接口的串行EEPROM 24C01的作用是用于存儲產(chǎn)品的VID、PID、設(shè)備序列號等信息,只要地址不相同就可以掛接多片帶I2C接口的外圍芯片,用戶可以利用提供的動態(tài)連接庫的函數(shù)非常方便地完成對串行EEPROM的讀出和寫入相應(yīng)的信息。當(dāng)然系統(tǒng)設(shè)計(jì)中也可以沒有EEPROM,CH371將使用默認(rèn)的VID、PID、產(chǎn)品描述符和電源描述符,并且沒有設(shè)備的序列號。
圖3 CH371與MCU的硬件接口簡圖
需要注意的是,最好在USB連接器1和4之間跨接一個(gè)100μF電解電容和一個(gè)0.1μF獨(dú)石或瓷片電容;12MHz的晶振的外殼最好接地;阻抗匹配電阻在80Ω~150Ω之間即可。
4 信息傳輸軟件實(shí)現(xiàn)流程
(1) 下位機(jī)數(shù)據(jù)上傳子程序
流程簡圖如圖4所示。
圖4 數(shù)據(jù)上傳子程序流程圖
(2) 下位機(jī)中斷服務(wù)程序
流程圖如圖5所示。
圖5 下位機(jī)中斷服務(wù)程序流程圖
(3) 計(jì)算機(jī)應(yīng)用層的程序
在計(jì)算機(jī)上裝載WINCHIPHEAD 提供的CH371的通用驅(qū)動程序后,我們不必再考慮USB通信協(xié)議、固件程序、驅(qū)動程序、自動配置過程和底層數(shù)據(jù)傳輸過程,只需要根據(jù)提供的動態(tài)連接庫的接口函數(shù),用VB或VC編制自己的應(yīng)用程序即可。
5 結(jié)束語
從目前的實(shí)際應(yīng)用來看,系統(tǒng)的設(shè)計(jì)是成功的。尤其是基于CH371的USB接口具有硬件設(shè)計(jì)簡單、軟件編程容易、成本低、傳輸速率快、可靠性高等特點(diǎn),相信基于CH371的USB 接口新產(chǎn)品將會越來越多。
評論