1 USB通信技術(shù)USB(通用串行總線)是當前的通用串行總線技術(shù)。
它通過PCI總線連接到PC的內(nèi)部系統(tǒng)數(shù)據(jù)線,以實現(xiàn)數(shù)據(jù)傳輸。
它具有即插即用功能,并支持熱拔插,設備之間的電纜長度可以達到約5 m。
USB接口信號線有4條線,兩條是電源線和地線(Vbus和GND),兩條是以差分方式生成的信號線(D +和D-),從而實現(xiàn)了主機系統(tǒng)和USB之間的連接設備數(shù)據(jù)通信,請參見圖1。
圖1 USB通信數(shù)據(jù)流USB總線121技術(shù)是一種基于數(shù)據(jù)包交換的總線通信。
首先將數(shù)據(jù)分成幾個塊,然后在每個數(shù)據(jù)塊之前添加一個同步信號和一個數(shù)據(jù)包標識符,然后添加一個CRC校驗和形成一個USB數(shù)據(jù)包。
USB總線通信使用差分輸出驅(qū)動器來控制USB電纜上數(shù)據(jù)信號的傳輸,即,通過控制D +和D線從空閑狀態(tài)到相反的邏輯電平,可以實現(xiàn)源端口數(shù)據(jù)包的傳輸。
發(fā)送數(shù)據(jù)包后,D +和D-上的輸出驅(qū)動器均處于高阻抗狀態(tài)。
2 USB通信系統(tǒng)設計2.1硬件設計USB通信接口是連接PC機和汽車尾氣檢測器的嵌入式單片機通信的橋梁。
目前,使用USB接口芯片實現(xiàn)PC與單片機AT89C51的連接。
方法。
由于汽車尾氣檢測系統(tǒng)中的嵌入式單片機使用串行端口(TXD,RXD)以RS232模式進行通信,因此USB芯片與AT89C51單片機之間的連接也必須是RS232串行通信模式。
因此,本文采用PROLIFIC公司推出的可實現(xiàn)USB接口到RS232串口的轉(zhuǎn)換芯片PL-2303HX。
根據(jù)汽車排氣檢測器的USB通信系統(tǒng)的設計要求,USB通信接口的電路設計如圖2所示。
圖2 USB通信接口USB插頭和USB芯片之間的連接通過USB& D ++,USB& D1,GND和VO-3.3的4個端點來實現(xiàn)。
因為USB芯片PL2303HX支持類似RS232的接口,所以它包含全雙工傳輸。
以及接收(RXD,TXD)串行端口,因此PL2303HX芯片和微控制器AT89C51的RS232串行端口可以直接與USB芯片的RXD,TXD,GND的三根線連接。
PL2303HX與單片機AT89C51的TXD,TXD和GND分別為RXD和GND連接,雙方均可發(fā)送和接收。
2.2軟件設計2.2.1通信方式本文的USB通信系統(tǒng)采用異步半雙工通信方式,即通信的一方進行收發(fā)。
通信的數(shù)據(jù)格式是每幀10位,包括1個起始位,8個數(shù)據(jù)位和1個停止位,如圖3所示。
圖3字節(jié)傳輸序列這里,微控制器的串行端口設置為使用T作為模式1,這是10位異步通信。
片上定時器T1用作波特率發(fā)生器,波特率為2400bps。
串行端口控制寄存器SCON的工作模式選擇位SM0和SMI分別設置為0和1,因此串行端口設置為模式1。
計數(shù)器T1控制寄存器TMOD,AT89C51定時。
定時器/計數(shù)器T1是定時器模式,并且被設置為模式2。
作為波特率發(fā)生器,其波特率表示為:然后:將定時器T1的初始值設置為11L1 = TH1 = F3H,并且應當禁止定時器T1中斷,以避免由于定時器T1的溢出而引起的故障。