《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于CH372芯片的USB通信系統(tǒng)軟硬件設(shè)計(jì)
基于CH372芯片的USB通信系統(tǒng)軟硬件設(shè)計(jì)
電子設(shè)計(jì)工程
劉鯖潔 劉小方 陳桂明
摘要: " />基于CH372芯片的USB通信系統(tǒng)軟硬件設(shè)計(jì)-單片機(jī)-電子工程世界網(wǎng)<link href="http://1.eewimg.cn/favicon.ico" rel="shortcut icon
關(guān)鍵詞: CH372 USB 通信
Abstract:
Key words :

 由于USB技術(shù)具有易于使用、熱插拔、速度快,、功耗低等特點(diǎn),,使得USB通信技術(shù)得到廣泛應(yīng)用,。基于此,,本文提出了一種基于CH372芯片的USB通信技術(shù),,可實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)之間的USB通訊。

  1 CH372簡(jiǎn)介

  USB接口芯片種類繁多,,基本上可分為兩類:一類是內(nèi)帶有CPU通用功能的USB接口芯片,,另一類是內(nèi)部不帶集成CPU的純粹的USB接口芯片。CH371,、CH372,、CH375芯片系列就是后者。本研究中,,由于USB接口僅用于讀寫等數(shù)據(jù)傳送功能,,且數(shù)據(jù)處理及信號(hào)轉(zhuǎn)換部分還需單片機(jī)控制,因此選用純粹的USB接口芯片CH372與AT89C52單片機(jī)配合實(shí)現(xiàn),。在單片機(jī)端,,CH372具有8位數(shù)據(jù)總線和讀、寫,、片選控制線以及中斷輸出,,可以方便掛接到單片機(jī)/DSP/MCU/MPU等控制器的系統(tǒng)總線上;在計(jì)算機(jī)端,CH372的配套軟件提供了簡(jiǎn)潔易用的操作接口,,與本地端的單片機(jī)通信就如同讀寫文件一樣便捷,。

  CH372芯片與普通的通用串口芯片相比有以下優(yōu)點(diǎn):

  1)全速設(shè)備接口,兼容USB2.0,,即插即用,,外圍元器件只需晶體和電容即可;

  2)提供一對(duì)主端點(diǎn)和一對(duì)輔助端點(diǎn),支持控制傳輸,、批量傳輸,、中斷傳輸;

  3)具有省事的內(nèi)置固件模式和靈活的外部固件模式,內(nèi)置固件模式下屏蔽了相關(guān)的USB協(xié)議,,自動(dòng)完成標(biāo)準(zhǔn)的USB枚舉配置過程,,完全不需要本地端控制器做任何處理,簡(jiǎn)化了單片機(jī)的固件編程;

  4)通用Windows驅(qū)動(dòng)程序提供設(shè)備接口,,通過DLL提供API應(yīng)用層接口;

  5)通用的本地8位數(shù)據(jù)總線,,4線控制:讀選通、寫選通,、片選輸入,、中斷輸出;

  6)主端點(diǎn)上傳下傳緩沖區(qū)各64字節(jié),輔助端點(diǎn)上傳下傳緩沖區(qū)各8字節(jié),。

  2 系統(tǒng)硬件電路設(shè)計(jì)

  CH372芯片在本地端提供了通用的被動(dòng)并行接口,,包括:8位雙向數(shù)據(jù)總線D7~D0,、讀選通輸入引腳RD#、寫選通輸入引腳WR#,、片選輸入引腳CS#,、中斷輸出引腳INT#以及地址輸入引腳A0。通過被動(dòng)并行接口,,CH372可以很方便地連接到各種8位單片機(jī),、DSP、MCU芯片上,,并且可以與多個(gè)外圍器件共存,。基于CH372芯片的信息和參數(shù),。這里給出了CH372芯片單片機(jī)端的USB通訊電路,,如圖1所示。同時(shí),,該芯片可通過普通USB傳輸線實(shí)現(xiàn)與計(jì)算機(jī)的互通,,圖1中J1即為USB接頭。

  

  CH372芯片電路及PCB板設(shè)計(jì)需要注意的事項(xiàng)有:

  1)為了降低電磁輻射,,減少來自外界的干擾,,PCB板的晶體Y1的金屬外殼接地;

  2)為了降低對(duì)時(shí)鐘信號(hào)的干擾,PCB設(shè)計(jì)時(shí)盡量不在晶體及振蕩電容附近走線,,尤其是不要走繼電器,、電動(dòng)機(jī)等帶有瞬時(shí)沖擊電流的電源線和強(qiáng)信號(hào)線;

  3)給USB插座單獨(dú)供電,使USB設(shè)備剛插上時(shí)的電容充電過程不影響單片機(jī)和CH372:

  4)在USB插座前串接限流電阻或電感;

  5)PCB板布局要合理,,電阻電容對(duì)齊,溫度敏感的器件布置遠(yuǎn)離電源,,板子要敷銅,。

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

  CH372在計(jì)算機(jī)應(yīng)用層與本地端單片機(jī)之間提供了端對(duì)端的連接,在這個(gè)基礎(chǔ)上,,USB接口可以選用單向數(shù)據(jù)流和請(qǐng)求加應(yīng)答兩種通訊方式,。采用請(qǐng)求加應(yīng)答的方式實(shí)現(xiàn)通信,都是由計(jì)算機(jī)主動(dòng)請(qǐng)求,,單片機(jī)被動(dòng)應(yīng)答完成數(shù)據(jù)傳輸,。在程序編制過程中約定3種數(shù)據(jù)傳輸模式,通過計(jì)算機(jī)傳輸數(shù)據(jù)進(jìn)行確定,,分別是:

  1)計(jì)算機(jī)下傳數(shù)據(jù)01H,,單片機(jī)上傳存放數(shù)據(jù)的文件的參數(shù);

  2)計(jì)算機(jī)下傳數(shù)據(jù)02H及8字節(jié)參數(shù),8字節(jié)參數(shù)包括存放數(shù)據(jù)的地址,、數(shù)據(jù)的數(shù)量,,單片機(jī)通過調(diào)用相關(guān)子程序分析參數(shù),,并將相應(yīng)的數(shù)據(jù)上傳;

  3)計(jì)算機(jī)下傳數(shù)據(jù)03H,單片機(jī)執(zhí)行關(guān)閉CH372的操作命令,。

  3.1 單片機(jī)端程序

  在單片機(jī)端采用匯編語言編寫程序,,在程序設(shè)計(jì)過程中,考慮到系統(tǒng)的可靠性,、穩(wěn)定性以及調(diào)試過程直觀性的需要,,故采用匯編語言編寫程序,程序流程如圖2所示,。

  

  3.2 計(jì)算機(jī)端程序

  CH372在計(jì)算機(jī)端提供了應(yīng)用層接口,,應(yīng)用層接口是由CH372動(dòng)態(tài)鏈接庫DLL提供的面向功能應(yīng)用的API,所有API在調(diào)用后都有操作狀態(tài)返回,,但不一定有應(yīng)答數(shù)據(jù),。CH372動(dòng)態(tài)鏈接庫提供的API包括:設(shè)備管理API、數(shù)據(jù)傳輸API,、中斷處理API,。

  在計(jì)算機(jī)端采用Visual Basic(VB)編寫程序,利用VisualBasic的該特性,,調(diào)用CH372動(dòng)態(tài)鏈接庫DLL提供的面向功能的應(yīng)用API函數(shù)編寫計(jì)算機(jī)端的應(yīng)用程序,,其工作流程如圖3所示?! ?/p>

  4 試驗(yàn)結(jié)果

  本文自主研發(fā)的基于CH372的USB通信技術(shù),,設(shè)計(jì)約定了3種通信模式,下面僅介紹模式2(下傳02H和8字節(jié)參數(shù))下的通信調(diào)試過程,,其調(diào)試通信步驟如下:

  1)在計(jì)算機(jī)端安裝了CH372的Windows系統(tǒng)下的驅(qū)動(dòng)CH372DRV,,安裝后,上位機(jī)電路板可以像U盤一樣在計(jì)算機(jī)上進(jìn)行熱插拔,。

  2)運(yùn)行上位機(jī)板USB芯片的初始化程序后,,計(jì)算機(jī)端設(shè)備管理器會(huì)跳出如圖4的窗口,表示芯片工作正常,,計(jì)算機(jī)和上位機(jī)板就可以采用請(qǐng)求加問答的方式進(jìn)行通信,。

  3)計(jì)算機(jī)運(yùn)行Visual Basic平臺(tái)下的程序代碼如下所示,向上位機(jī)發(fā)送數(shù)據(jù)02H和參數(shù),?! ?/p>

 

 

  4)發(fā)送數(shù)據(jù)結(jié)束后,計(jì)算機(jī)跳出如圖5反饋窗口,,該窗口表示下傳9個(gè)參數(shù)成功,,單片機(jī)在接收到02H及相應(yīng)的參數(shù)后,通過分析參數(shù),,確定要上傳數(shù)據(jù)的存放地址,、上傳數(shù)據(jù)的個(gè)數(shù),,并通過CH372將數(shù)據(jù)上傳至計(jì)算機(jī)。在計(jì)算機(jī)端,,接收的數(shù)據(jù)放在預(yù)先設(shè)定的文件中,,如圖6所示,以備為計(jì)算機(jī)分析處理數(shù)據(jù)所調(diào)用,?!?/p>

  5 結(jié)束語

  本文研究了基于CH372的USB通訊技術(shù),設(shè)計(jì)了采用CH372實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)連通的硬件電路,,并自主開發(fā)了計(jì)算機(jī)端和單片機(jī)端的應(yīng)用程序,。試驗(yàn)表明在所設(shè)計(jì)的約定下,單片機(jī)與計(jì)算機(jī)很好地實(shí)現(xiàn)了數(shù)據(jù)通信,,且該設(shè)計(jì)能夠明顯提高了系統(tǒng)數(shù)據(jù)傳輸速度,,增強(qiáng)了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和可靠性。

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