隨著測試系統的不斷發展,對數據傳輸系統有了更高的要求,傳統的數據傳輸系統大多采用有線方式,數據的接收終端使用PC機。隨著無線通信技術的發展,人們開始用無線來取代有線。但目前的無線領域還存在一些問題,如網絡頻段受到限制,通信極易受到外界干擾,通信中可能出現丟包或誤碼,天線高度不能太低等。
本設計實現了一種基于ARM的便攜式無線傳輸系統,相比于筆記本,該系統體積小、重量輕,可便攜,當通信受到限制時,可調整通信距離,從而使無線傳輸系統性能達到最佳。
1 硬件結構
ARM系統主要由ARM處理器、SRAM、SDRAM、Flash、LCD以及一些外圍接口組成,主要的外圍接口有USB接口、串口、GPIO口、SD卡接口、SPI接口、camera接口等。ARM系統的硬件結構如圖1所示,它們是通過AHB系統總線和APB外圍總線來進行通信。
測試系統里已經集成了無線模塊,只要在ARM系統中加入無線模塊便可實現ARM終端與測試系統的無線數據傳輸。為了數據接收終端具有便攜、靈活、抗干擾強以及方便替換無線模塊等優點,無線模塊與ARM終端采用USB接口來對接。系統基本結構如圖2所示。
2 USB及Linux USB驅動
2.1 USB的基本原理
USB是一種快速、雙向的串行接口,它采用總線拓撲結構,其主控制器通過USB集線器可擴展主機的sub端口。USB具有4種傳輸方式:控制傳輸、中斷傳輸、批量傳輸、等時傳輸。其數據的通信是雙向的,數據從主機傳向USB設備稱下行通信,數據從USB設備傳向主機稱上行通信。控制權是在host方,不支持設備間的直接通信。
USB設備是由接口和端點構成的,端點是USB通信最基本的形式,它只能往一個方向傳送數據。接口是用來綁定到設備上的,一個接口只處理一種USB邏輯連接。一個USB設備可以有多個接口,不同的接口可以代表不同的功能。USB驅動程序是綁定到接口上的。此外,一個USB設備通常又有多個配置的,而且可以在配置之間切換以改變設備的狀態;但是一個時刻只能激活一個配置,一個配置通常具有一個或者更多的接口,如圖3所示。
2.2 基于Linux的USB驅動
由于數據記錄的USB接口采用FTDI公司開發的FT245 USB芯片,能單芯片實現并行FIFO緩存區的雙向數據傳輸,且支持VCP(虛擬串口)功能。本文以實際應用出發,針對FT245芯片介紹Linux環境下的USB驅動程序。
在Linux的內核源碼中有一個USB驅動的框架程序,文件名為usb-skeleton.c,目錄在/drivers/usb下,大多數的USB驅動都是在這個框架的基礎上修改的。這里針對FT245芯片修改這個USB驅動的框架程序。
USB驅動程序中有兩個宏:
這兩個宏的值是USB芯片制造商所提供的,VID是芯片制造商ID,PID是芯片的識別碼,不同廠商不同型號的USB芯片的VID和PID是不同的,FT245芯片的VID=0x0403,PID=0x6001。、
file_operation是驅動程序中一個很重要的類,它定義了一組常見文件I/O函數,而這些函數的使用類似于普通文件的I/O操作。程序如下:
這里定義的函數是USB驅動程序的入口點,要打開USB設備時,使用系統函數Open(),系統就會自動調用驅動中的ft245_open()函數。其他函數類似,如write()對應ft245_write(),rcad()對應ft245_rcad(),close()對應ft245_release()。
3 基于USB接口的無線模塊
短距離無線傳輸技術廣泛地應用于各個領域,并成為人們工作和生活中不可或缺的一部分,由于它與有線相比有很多優點:方便使用、低功耗、便于攜帶、無需線纜的束縛等。表1是幾種傳輸技術的優缺點。根據具體應用環境選用特定的無線傳輸方式。
由于低功率遠距離無線通信技術具有傳輸距離遠、速度快等優點,符合遠距離快速傳輸的需要,所以采用低功率遠距離無線模式。該無線模塊采用標準低功率遠距離射頻芯片nRF24L01,通信接口使用FTDI公司研發的USB2.0芯片FT245,微控制器是采用精簡指令集的PIC單片機。無線模塊系統框圖如圖4所示。
4 實驗結果與分析
壓力測試記錄儀頭部接高精度壓力傳感器,內部集成無線模塊,天線使用微帶天線。ARM開發板使用Linux作為操作系統,使用QT作為開發軟件,制作數據讀取及顯示程序,完成數據的無線傳輸及顯示任務。該系統可取代筆記本完成野外的無線數據傳輸任務。USB接口的無線模塊與天線,在空曠環境下傳輸距離最遠可達800m。在不同的溫度、濕度、以及不同的空曠環境下經過多次實驗,使用無線傳輸系統讀取的數據與PC機下使用USB數據線讀取的數據完全相同,所以實驗表明該系統設計是正確、可行的。
結語
由于嵌入式設備在測試系統中有著種種優點,越來越受到人們的青睞。此外,隨著短距離無線傳輸的發展,給便攜式無線傳輸設備帶來了新的生機。本文介紹的基于ARM的無線傳輸系統根據實際應用出發,克服了傳統的數據傳輸系統笨重、費時、費力的缺點,且接收到的數據可進行波形顯示、數據存儲、數據處理等。此外,由于ARM系統強大的網絡功能,可通過以太網把數據傳輸到任何有以太網的地方,具有一定的創新性。