基于USB2.0的紅外數據傳輸系統的設計與實(shí)現
OSCOUT、OSCIN為晶振接口,低電平時(shí)選擇內部時(shí)鐘。TXD引腳接收CY7C68013單片機串行端口發(fā)送的數據,經(jīng)編碼調制后,以脈沖的方式傳輸到IR_TXD端口。紅外光脈沖數據轉變來(lái)的電平脈沖信號,經(jīng)IR_RX端口進(jìn)入HSDL-7001,經(jīng)內部解調后,通過(guò)RX引腳將數據發(fā)送到CY7C68013單片機的串行端口。引腳A0、A1、A2用于改變HSDL-7001的波特率選擇,以匹配外同設備與PC機之間數據的傳輸。
本系統選用外部晶體振蕩器,選用頻率為1.843 2 MHz有源晶振,在數據編碼過(guò)程,HSDL-7001接收TXD傳送的串行數據,在TXD的每個(gè)下降沿開(kāi)始,IRRXD延遲7CYCLES的時(shí)間(16CYCLES為一個(gè)晶振周期),然后輸出1個(gè)正脈沖,脈寬為3CYCLES,如果TXD0一直為低電平,則每個(gè)晶振周期內,IRRXD都會(huì )輸出1個(gè)寬度為3CYCLES的正脈沖。如果TXDO為高電平,則IRTXD輸出低電平,如圖3所示。

解碼過(guò)程相反,編碼過(guò)程看作是把TXD脈沖變窄的過(guò)程,而解碼過(guò)程則看作是把脈沖拉寬的過(guò)程。解碼過(guò)程中,當IRRXD傳送1個(gè)寬度為3CYCLES的負脈沖,RXD就輸出1個(gè)寬度為16CYCLES的負脈沖,如圖4所示。

3 系統軟件設計
系統軟件包括固件程序、USB設備驅動(dòng)程序和應用程序。整個(gè)軟件包括系統初始化、采樣控制、數據傳輸和波形顯示等部分。USB設備端固件及外圍電路的底層控制程序主要采用C51編寫(xiě),計算機端客戶(hù)應用程序采用Visual Basic和Visual C++混合編程。
3.1 USB固件設計
USB數據傳輸有4種方式:塊傳輸、中斷傳輸、同步傳輸和控制傳輸。當需要快速精確大批量傳輸數據時(shí),一般采用塊傳輸方式。設計中主要考慮本系統要求高速持續傳輸大容量的數據,并且對數據的完整性要求較高,故采用塊傳輸方式。
固件程序的編寫(xiě)采用Keil公司的Keil C51編譯器(V6.10)。它為8051微控制器的軟件開(kāi)發(fā)提供C語(yǔ)言環(huán)境,同時(shí)保留匯編代碼高效、快速的特點(diǎn),相對于傳統的匯編開(kāi)發(fā)環(huán)境更加靈活、高效和易于使用。將代碼在Keil C51環(huán)境中進(jìn)行編譯。編譯通過(guò)后,將固件代碼下載到USB單片機中,就可實(shí)現與外圍設備的數據傳輸。
評論