- 相關(guān)推薦
基于USB接口的數據傳輸系統的研究與設計
【摘 要】數據傳輸是現代通信過(guò)程中的一個(gè)重要環(huán)節。在數據傳輸過(guò)程中,不僅要求數據傳輸的準確率要高,而且要求速度快、連接過(guò)程簡(jiǎn)單。傳統的通信技術(shù)是通過(guò)數據線(xiàn)和串口/并口將設備連接在一起,這樣就存在連接不方便、受限條件較多等因素;并且傳統的RS232串口通訊和并口通訊都存在傳輸速度低、接口的連接過(guò)于復雜等不足之處。而基于USB接口的數據傳輸系統能夠較好的解決這些問(wèn)題。本文所介紹的一種基于USB接口的數據傳輸系統,利用了USB接口的高傳輸速率、安全性高、即插即用等優(yōu)點(diǎn),并結合了現代數據傳輸技術(shù),實(shí)現了計算機之間的高速安全的數據通訊,解決了傳統通信技術(shù)帶給我們的不便。
【關(guān)鍵詞】USB接口 數據傳輸 ARMS3C44BOX 芯片
現代社會(huì )生產(chǎn)的各行業(yè)和日常生活都需要對各種數據進(jìn)行傳輸。利用傳統的數據傳輸系統進(jìn)行數據傳輸,存在速度慢、擴展性差、安裝麻煩、易受各種環(huán)境的干擾,在許多場(chǎng)合尤其是便攜式應用場(chǎng)合不方便等缺點(diǎn)。目前廣泛應用的USB2.0接口技術(shù)具有安裝方便、帶寬高、成本低、可靠性高、易于擴展等優(yōu)點(diǎn)。目前USB2.0支持的最高傳輸速度可達到480Mbps,基本能夠滿(mǎn)足日益復雜的高級外設與PC機之間的高性能連接需求,正逐漸成為現代數據傳輸發(fā)展的必然趨勢之一。鑒于此,本系統采用USB2.0技術(shù)運用ARM芯片進(jìn)行通信接口的設計。
1 數據傳輸系統的結構設計
基于USB接口的數據傳輸系統總體方案如下圖所示,該系統主要由發(fā)射和接收兩部分組成。其中,發(fā)射系統由ARM芯片控制射頻發(fā)射模塊和ARM控制USB芯片兩部分組成。系統的工作過(guò)程為:主機將數據通過(guò)USB接口傳給ARM,數據通過(guò)ARM的SPI口再傳給射頻發(fā)射模塊,最后由射頻發(fā)射模塊把數據發(fā)射出去。射頻接收端接收到符合的數據包后,通知ARM讀取數據,ARM將數據通過(guò)USB接口送給主機,這樣就完成了一個(gè)數據包從發(fā)射端到接收端的傳輸。
1.1 USB接口芯片和主控制器芯片的選擇
USB控制器有2類(lèi),一種是集成了USB接口的單片機,如Cypress公司生產(chǎn)的EZ2USB (基于8051)系列芯片CY7C68013、CY7C64613等;另一種是單獨的USB控制器,如Philips公司的PDIUSBD12、ISP1581 ,NetChip公司的NET2888 ,National公司的USBN9603、USBN9604等。第一種開(kāi)發(fā)工具雖然編程簡(jiǎn)單,但需要購置專(zhuān)門(mén)的開(kāi)發(fā)系統,投資較大,并且單片機性能有限;后種芯片的特點(diǎn)是價(jià)格低廉、連接方便、可靠性高,但其片上不帶CPU ,必須選擇微處理器來(lái)進(jìn)行協(xié)議處理和數據交換。本系統選擇了片上不帶CPU的性?xún)r(jià)比較高的USB 2. 0控制芯片ISP1581 ,它完全符合USB 2. 0規范,傳輸率可達480 Mbps ,采用ISP1581可以快速開(kāi)發(fā)出高性能的USB2. 0設備,同時(shí)為了滿(mǎn)足速度要求,主控器芯片選擇了高性能、低功耗的ARM芯片S3C44BOX。
1.2 ARMS3C44BOX的工作原理
S3C44BOX微處理器是由Samsung Electronics Co.,Ltd為手持設備設計的低功耗、高度集成的基于A(yíng)RM7TDMI核的微處理器。S3C44BOX具有豐富的內置部件,包括:8KBcache,內部SRAM,LCD控制器,帶自動(dòng)握手的2通道UART,4通道DMA,系統管理器(片選邏輯,FP/EDO/SDRAM控制器),代用PWM功能的5通道定制器,I/O端口,RTC,8通道10位ADC,ⅡC-BUS接口,ⅡS-BUS接口,同步SIO接口和PLL備頻器。S3C44BOX采用了一種新的總線(xiàn)結構,即SAMBAⅡ(Samsung ARM CPU 嵌入式微處理器總線(xiàn)結構)和0.25um工藝的CMOS標準宏7單元和存儲編譯器。它的低功耗精簡(jiǎn)和出色的全靜態(tài)設計特別適用與對成本和功耗敏感的應用。
1.2.1 S3C44BOX中斷概述
ARM7TDMI具有外部中斷(IRQ)、快速中斷(FIQ)和軟件中斷(Software Interrupt)三種中斷方式,其中外部中斷和快速中斷均是硬件中斷。對于A(yíng)RM7TDMI內核的微處理器來(lái)說(shuō),中斷是作為一種異常來(lái)處理的。S3C44BOX的中斷控制器可以接收來(lái)自30個(gè)中斷源的中斷請求。這些中斷源來(lái)自DMA、UART、SIO等芯片內部外圍或接口芯片的外部引腳。
中斷控制器的任務(wù)是在片內外圍和外部中斷源組成的多重中斷發(fā)生時(shí),經(jīng)過(guò)優(yōu)先級判斷選擇其中的一個(gè)中斷,通過(guò)FIQ(快速中斷請求)或IRQ(通用中斷請求)向ARM7TDMI內核發(fā)出FIQ或IRQ中斷請求。
實(shí)際上最初ARM7TDMI內核只有FIQ和IRQ兩種中斷,其他的中斷都是各芯片廠(chǎng)家在設計芯片時(shí)定義的,這些中斷根據中斷的優(yōu)先級高低來(lái)進(jìn)行處理。特別的是,為了解決一般的中斷模式在進(jìn)入所需的服務(wù)程序前需要很長(cháng)的中斷反應時(shí)間的問(wèn)題,S3C44BOX提供了一種新的中斷模式——矢量中斷模式。它具有CISC結構微控制器的特征,能夠縮短中斷反應時(shí)間。
1.2.2 S3C44BOX中斷處理流程
S3C44BOX處理器的中斷處理與其他處理器的處理模式基本上是一致的,只是由于引入了幾種不同的處理器模式,使中斷處理變得更容易。中斷處理的典型步驟如下:
第1步:保存現場(chǎng)。當系統出現中斷時(shí),處理器首先要做的就是保存現場(chǎng),這一過(guò)程包括:
保存當前的PC值到lr(鏈接寄存器)中,保存當前程序運行狀態(tài)CPSR到程序狀態(tài)保存寄存器SPSR中。由于A(yíng)RM7TDMI采用了三級流水線(xiàn)結構,此時(shí)的PC值實(shí)際上等于當前指令地址加上8(ARM指令時(shí)),則返回時(shí)還需要將保存的PC值減4,得到當前指令的下一條指令。
第2步:模式切換。設置當前程序狀態(tài)CPSR中相應的位,使處理器進(jìn)入相應的執行模式。如當進(jìn)入FIQ模式時(shí),禁止FIQ中斷。
第3步:獲取中斷源。如IRQ中斷,都從向量地址0x18處開(kāi)始執行,通常在此地址處放一條跳轉指令,跳轉到中斷程序。
第4步:處理中斷。獲取中斷源后,通過(guò)中斷向量表獲取相應中斷的處理程序入口,調用對應的中斷處理函數。
第5步:恢復現場(chǎng),中斷返回。返回時(shí)需要恢復處理器模式,包括恢復中斷處理用到的所有寄存器、恢復被中斷的程序狀態(tài)到當前程序狀態(tài)CPSR,并跳轉到被中斷的主程序。
2 USB 設備驅動(dòng)程序的開(kāi)發(fā)
當外設連接到主機上的USB接口時(shí),主機會(huì )檢測到新硬件,這時(shí)需安裝一個(gè)驅動(dòng)程序,在該驅動(dòng)程序中包含了一個(gè)動(dòng)態(tài)鏈接庫(DLL)。該DLL由四部分組成:Classic Interface Functions、EEPROM Interface、Extended API和FT-Win32 API。Classic Interface Functions中包括FT_Open、FT_Read、FT_Write、FT_Close、FT_SetTimeOuts等函數。
基于W indows2000和X P的U SB設備驅動(dòng)程序采用W in32設備驅動(dòng)模型WDM (W in32 D riverModel)。U SB數據采集系統設備驅動(dòng)程序處于固件程序和用戶(hù)態(tài)應用程序之間,幫助操作系統識別U SB設備,同時(shí)建立主機與設備之間的通信。WDM驅動(dòng)程序具有規范的模型,我們使用開(kāi)發(fā)工具包D riverStudio s中的D riverWo rk s進(jìn)行U SB總線(xiàn)驅動(dòng)程序的開(kāi)發(fā),利用其向導功能生成驅動(dòng)程序框架,然后根據具體情況添加適當代碼,經(jīng)過(guò)編譯、調試,構造驅動(dòng)程序. sys文件。使用D riverWo rk s還可以生成驅動(dòng)程序的安裝文件( IN F文件) ,用以將USB設備及接口安裝在主機上。這個(gè)過(guò)程是非常方便、快捷的。
3.結論
隨著(zhù)數據傳輸技術(shù)的飛速發(fā)展,在數據傳輸系統中采用USB接口進(jìn)行數據的高速傳輸已經(jīng)得到非常廣泛的應用。本系統通過(guò)ARM芯片S3C44BOX進(jìn)行USB接口的控制,在主機端用VB編寫(xiě)了USB軟件,實(shí)現了兩臺設備之間的快速數據傳輸,解決了傳統通信技術(shù)的不足,具有很好的應用前景。當然,在基于USB接口的數據傳輸系統中,包括固件程序、WDM設備驅動(dòng)程序以及用戶(hù)態(tài)應用程序等在內的軟件設計是非常關(guān)鍵的,軟件系統的設計需要建立在相關(guān)硬件系統設計的基礎上,兩者只有完美結合才能設計出高效、安全的數據傳輸系統。
參考文獻:
[1]黃鳳辰,周海亮,周文君.EZ-USB單片機的開(kāi)發(fā)[J].國外電子測量技術(shù),2003,(01).
[2]李映超.基于USB接口的鋰離子電池充電電路設計與實(shí)現[J].廣西民族學(xué)院學(xué)報(自然科學(xué)版),2004,(S1).
[3]蒯銳.USB在測量?jì)x器中的應用[J].上海應用技術(shù)學(xué)院學(xué)報(自然科學(xué)版),2006,04.
【基于USB接口的數據傳輸系統的研究與設計】相關(guān)文章:
基于USB接口的數據采集系統設計03-18
一種基于USB的快速數據傳輸系統設計03-14
基于信號接口的自動(dòng)測試系統軟件的設計與實(shí)現03-18
基于組件GIS的數字礦山系統的設計與研究11-22
基于單片機的MicroDrive接口設計03-20
帶USB接口的電子巡更系統的設計03-18
基于鐵路選線(xiàn)CAD系統的圖形接口方法與交互技術(shù)11-22