USB通信系統(tǒng)設計方案
USB(Universal Serial Bus)是一種目前通用的串行總線技術,它是通過PCI總線和PC的內部系統(tǒng)數(shù)據線連接,實現(xiàn)數(shù)據的傳送,具有即插即用的功能,支持熱拔插,設備間線纜的長度可達5 m左右。
本文引用地址:http://butianyuan.cn/article/153630.htmUSB接口信號線有4條線,兩條是電源線與地線(Vbus與GND),兩條是以差分方式產生的信號線(D+與D-),從而實現(xiàn)了主機系統(tǒng)與USB設備之間的數(shù)據通信,見圖1。
圖1 USB通信數(shù)據流
USB總線121技術是基于分組交換方式的總線通信。首先把數(shù)據分成若干塊,然后在每塊數(shù)據前添加上同步信號、包標識,后面添加上CRC校驗,形成USB封包。USB總線通信使用一種差分的輸出驅動器來控制數(shù)據信號在USB電纜上的發(fā)送,即通過控制D+和D一線從空閑態(tài)到相反的邏輯電平,實現(xiàn)源端口的包發(fā)送。包發(fā)送結束后,D+和D-上的輸出驅動器均處于高阻抗狀態(tài)。
2.1 硬件設計
USB通信接口是連接Pc機和汽車尾氣檢測儀內嵌單片機通信的橋梁,目前采用USB接口芯片來實現(xiàn)PC機與單片機AT89C5 1之間的連接是一種比較好的方法。
由于汽車尾氣檢測系統(tǒng)內嵌單片機是采用串口(TXD、RXD)以RS232方式進行通信的,所以USB芯片與單片機AT89C51之間的連接方式也必須是RS232串口通信方式。因此,本文采用PROLIFIC公司推出的可實現(xiàn)USB接口轉RS232串口的轉換芯片PL一2303HX。根據汽車尾氣檢測儀USB通信系統(tǒng)設計要求,USB通信接口電路設計如圖2所示。
圖2 USB通信接口
USB插頭與USB芯片間的連接通過USB—D+、USB—D一、GND和VO一3.3這4個端點實現(xiàn),由于USB芯片PL2303HX支持類RS232接口,含有全雙工發(fā)送和接收(RXD、TXD)串口,所以,PL2303HX芯片與單片機AT89C51的RS232串口間直接可以用3根線RXD、TXD、GND連接,即USB芯片PL2303HX的RXD、TXD和GND分別與單片機AT89C51的TXD、RXD和GND連接,雙方都可發(fā)送和接收。
2.2 軟件設計
2.2.1 通信方式
本文USB通信系統(tǒng)采用異步半雙工通信方式,即通信的某一方發(fā)送和接收交替進行。通信的數(shù)據格式為每幀10位,包括1位起始位、8位數(shù)據位和1位停止位,見圖3。
圖3 字節(jié)傳輸序列
這里設置單片機串行口采用T作模式l,為10位異步通信,片內定時器Tl作為波特率發(fā)生器,波特率為2400bps;由串行口控制寄存器SCON的工作模式選擇位SM0、SMI,分別設為0和l,從而設置其串行口為模式l;當定時器/計數(shù)器Tl控制寄存器TMOD中C/T=0和M1M0=10時,AT89C51定時器/計數(shù)器Tl為定時器模式,設置為方式2。作為波特率發(fā)生器,其波特率表示為:
則:定時器Tl的初值應設置為11Ll=THI=F3H,另外應禁止定時器Tl中斷,以免因定時器T1溢出而產生不必要的中斷。
評論