<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種USB通信系統的設計方案

一種USB通信系統的設計方案

作者: 時(shí)間:2016-12-13 來(lái)源:網(wǎng)絡(luò ) 收藏
1 USB通信技術(shù)

  USB(Universal Serial Bus)是一種目前通用的串行總線(xiàn)技術(shù),它是通過(guò)PCI總線(xiàn)和PC的內部系統數據線(xiàn)連接,實(shí)現數據的傳送,具有即插即用的功能,支持熱拔插,設備間線(xiàn)纜的長(cháng)度可達5 m左右。

本文引用地址:http://dyxdggzs.com/article/201612/329138.htm

  USB接口信號線(xiàn)有4條線(xiàn),兩條是電源線(xiàn)與地線(xiàn)(Vbus與GND),兩條是以差分方式產(chǎn)生的信號線(xiàn)(D+與D-),從而實(shí)現了主機系統與USB設備之間的數據通信,見(jiàn)圖1。

圖1 USB通信數據流

  USB總線(xiàn)121技術(shù)是基于分組交換方式的總線(xiàn)通信。首先把數據分成若干塊,然后在每塊數據前添加上同步信號、包標識,后面添加上CRC校驗,形成USB封包。USB總線(xiàn)通信使用一種差分的輸出驅動(dòng)器來(lái)控制數據信號在USB電纜上的發(fā)送,即通過(guò)控制D+和D一線(xiàn)從空閑態(tài)到相反的邏輯電平,實(shí)現源端口的包發(fā)送。包發(fā)送結束后,D+和D-上的輸出驅動(dòng)器均處于高阻抗狀態(tài)。

  2 USB通信系統設計

  2.1 硬件設計

  USB通信接口是連接Pc機和汽車(chē)尾氣檢測儀內嵌單片機通信的橋梁,目前采用USB接口芯片來(lái)實(shí)現PC機與單片機AT89C5($3.7500)1之間的連接是一種比較好的方法。

  由于汽車(chē)尾氣檢測系統內嵌單片機是采用串口(TXD、RXD)以RS232($780.5000)方式進(jìn)行通信的,所以USB芯片與單片機AT89C51($3.7500)之間的連接方式也必須是RS232串口通信方式。因此,本文采用PROLIFIC公司推出的可實(shí)現USB接口轉RS232串口的轉換芯片PL一2303HX。根據汽車(chē)尾氣檢測儀統設計要求,USB通信接口電路設計如圖2所示。

圖2 USB通信接口

  USB插頭與USB芯片間的連接通過(guò)USB—D+、USB—D一、GND和VO一3.3這4個(gè)端點(diǎn)實(shí)現,由于USB芯片PL2303HX支持類(lèi)RS232接口,含有全雙工發(fā)送和接收(RXD、TXD)串口,所以,PL2303HX芯片與單片機AT89C51的RS232串口間直接可以用3根線(xiàn)RXD、TXD、GND連接,即USB芯片PL2303HX的RXD、TXD和GND分別與單片機AT89C51的TXD、RXD和GND連接,雙方都可發(fā)送和接收。

  2.2 軟件設計

  2.2.1 通信方式

  本文統采用異步半雙工通信方式,即通信的某一方發(fā)送和接收交替進(jìn)行。通信的數據格式為每幀10位,包括1位起始位、8位數據位和1位停止位,見(jiàn)圖3。

圖3 字節傳輸序列

這里設置單片機串行口采用T作模式l,為10位異步通信,片內定時(shí)器Tl作為波特率發(fā)生器,波特率為2400bps;由串行口控制寄存器SCON的工作模式選擇位SM0、SMI,分別設為0和l,從而設置其串行口為模式l;當定時(shí)器/計數器Tl控制寄存器TMOD中C/T=0和M1M0=10時(shí),AT89C51定時(shí)器/計數器Tl為定時(shí)器模式,設置為方式2。作為波特率發(fā)生器,其波特率表示為:

  則:定時(shí)器Tl的初值應設置為11Ll=THI=F3H,另外應禁止定時(shí)器Tl中斷,以免因定時(shí)器T1溢出而產(chǎn)生不必要的中斷。

  2.2.2 通信協(xié)議

  進(jìn)行通信之前,通信雙方首先要根據系統的功能要求制訂某種特定的通信協(xié)議,然后才能編寫(xiě)相應的通信程序。本文通信協(xié)議:

 ?、偻ㄐ烹p方均使用2 400 bps的速率傳送數據,PC機與AT89C51均工作于串口方式l(1位起始位、8位數據位、l位停止位)。

 ?、贏(yíng)T89C51在發(fā)送和接收數據時(shí),采用串口中斷方式。

 ?、跴C機發(fā)出數據采集命令(握手信號),單片機AT89C5l串口收到握手信號后,立即將AT89C51內存存放的檢測數據經(jīng)過(guò)USB通信接口發(fā)送到PC機,一次數據采集完成。

  2.2.3 通信程序流程

  通信程序涉及到PC機通信程序和AT89C51串口通信中斷程序,上位機(PC機)發(fā)出數據采集命令,下位機(單片機AT89C51)收到握手信號后,將數據傳回PC機,從而完成一次數據采集,圖4和圖5是兩個(gè)通信程序的流程圖。

圖4 PC機通信子流程

圖5 單片機串口中斷子流程

  3 結語(yǔ)

  本文設計的統已在汽車(chē)尾氣檢測儀數據通信中得到了很好的應用。該系統具有采集數據準確可靠、使用靈活方便等優(yōu)點(diǎn),這種用USB通信技術(shù)取代傳統串口通信的方法切實(shí)可行,有望在其他的智能儀器、儀表設備中得到借鑒和推廣應用。



關(guān)鍵詞: USB通信系

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>