歐文軍,范有和,江鵬
(1.武漢虹信通信技術有限責任公司,湖北 武漢 430205;2.武漢郵電科學研究院,湖北 武漢 430074)
一種高速數據采集終端的設計與實現
歐文軍1,范有和2,江鵬1
(1.武漢虹信通信技術有限責任公司,湖北 武漢 430205;2.武漢郵電科學研究院,湖北 武漢 430074)
為了滿足物聯網中高速數據采樣的需求,設計了一種高速、通用性強、可擴展的數據采集終端。以AD9629和FPGA EP4CE6為主的數據采集部分,以AT91SAM9X25核心板為中心的數據處理部分,搭載Linux系統,構建了一種支持多任務運行機制的嵌入式數據采集終端。通過AD9629實現高速采樣,經FPGA緩存采樣數據到DDR模塊。FPGA再將DDR中的采樣數據封裝成UDP報文,使用RMII接口模擬MAC與ARM通信,以百兆速率將采樣數據實時上傳或緩存到本地。
物聯網 數據采集 FPGA MAC
隨著物聯網技術的快速發展,同時依賴于現代通信技術、嵌入式技術、芯片技術的不斷發展,物聯網應用不斷地融入到日常生活中。物聯網應用的一大關鍵性技術為數據采集。正是通過數據采集終端將海量的環境數據匯聚起來,如溫濕度、輻射、噪音等,供后續的數據分析、設備控制與信息處理使用。傳統的數據采集終端大多采用單任務的工作模式、應用場景固定、拓展性與通用性差,對瞬間信號波動的外部環境數據采集效果不明顯,處理速度不快、采集精度不高、存儲空間有限[1-5]。本數據采集終端的設計將解決以上問題,終端采用FPGA+ARM的主處理器+ADC芯片硬件架構,ARM搭載多任務、低功耗的Linux系統,ADC芯片采用高速AD9629,FPGA外掛DDR2,ARM與FPGA之間的數據通信采用百兆網口方式,ARM核心控制器通過SD卡、U盤,提高了系統的存儲性能。同時用戶可以通過以太網口、Wi-Fi、4G Modem方式,實時查看采樣數據。
數據采集終端采用核心板加底板的設計架構。核心板插在底板的排針上,主要負責數據控制與處理;底板上分布外圍電路模塊,負責數據的采集與本地存儲。系統框架如圖1所示。根據應用場景的不同,可更換底板、傳感器,最大限度地提高數據采集終端的通用性與拓展性。

圖1 數據采集終端功能框架
本設計通過AD9629對外部環境數據進行高速采樣,采樣的數據經FPGA進行數據的高速緩存,將采樣的數據緩存到FPGA外掛的DDR模塊,再以模擬MAC的方式,以100 M速率實時傳送采樣數據到ARM。ARM核心控制器收到數據之后,一方面可以將數據存儲在底板上的SD卡或U盤,定時上傳緩存數據;另一方面可以通過外接的Wi-Fi模塊、4G Modem、有線網口的方式實時上傳數據,方便用戶隨時查看采樣數據。前者的策略可應用于實時性要求不高的場景,如溫濕度、水表的數據采集中,周期性上傳數據;后者的策略可應用于瞬間海量數據的采集中,如高壓電阻抗的數據采集,實時動態上傳數據。

圖2 數據采集與數據處理硬件框架
數據采集終端硬件由數據采集系統和數據處理系統兩部分組成,數據采集系統以AD9629和FPGA EP4CE6為核心,數據處理系統以AT91SAM9X25核心板為中心,具體硬件框架,如圖2所示。數據采集系統主要負責外部數據的采集、封裝、傳輸等工作。數據處理系統負責采集部分的控制,數據的接收、處理和發送,數據處理系統還擴展了USB2.0、SD卡接口等功能。數據采集系統與數據處理系統間通過RMII接口、SPI機制進行通信,數據采集系統通過RMII接口實時上傳采集的數據,通過SPI接口接收數據處理系統下發的指令和配置,完成芯片的初始化工作。數據處理系統除了與數據采集系統交互外,還要將采集的數據以有線或無線的方式上傳到上位機,完成采集數據的本地存儲。
數據采集系統硬件采用的是FPGA+AD9629的組合。AD9629是一款高性能采樣,單通道1.8 V電源,12位,20 MSPS模數轉換器(ADC)。由于AD9629、FPGA、ARM三者之間的數據處理速度不匹配,為了保證整個數據采集終端的實時性和同步性,需要對采集數據進行緩存。考慮到FPGA內部存儲資源不能滿足海量數據的緩存,本設計采用FPGA外掛DDR的方式,進行數據采集部分的數據緩存。FPGA可以起到高速緩存的作用,對AD9629采樣數據高速緩存到DDR2。FPGA采用Cyclone IV器件EP4CE6,該設備最多可提供八個高速收發器,最多532個I/O,支持高達200 MHz的DDR2 SDRAM接口,支持高達167 MHz的QDRII SRAM和DDR SDRAM。
數據處理系統硬件部分核心板采用Atmel SMART SAM9X25,它是一款高性能的基于ARM926的嵌入式微處理器單元,運行速度為400 MHz,具有多個網絡/連接外設,包括兩個2.0A/B兼容的控制器局域網(CAN)接口和兩個IEEE Std 802.3兼容的10/100 Mb/s以太網MAC。其他通信接口包括高速USB設備和主機,全速USB主機,兩個HS SD Card/SDIO/MMC接口,USART、SPI、I2S、多個TWI和10位ADC。
數據采集終端的核心控制器采用ARM搭載Linux操作系統的方式[6-9],Linux系統內核基于linux2.6.39,具備多任務模式、穩定性與實時性高、功耗低、系統功能可拓展等優點,Linux系統組成如圖3所示。首先進行U-boot的移植,U-boot主要進行硬件的初始化,為內核的加載做好準備工作,包括以太網口、FLASH、串口硬件初始化以及系統的映射。之后,對內核進行裁剪和配置,以滿足系統功能、性能方面的需求。本系統引入無線Wi-Fi模塊、SD卡功能,因此需要添加Wi-Fi、SD/MMC配置。對于驅動的移植,在內核drives目錄添加相應源代碼以及內核配置。最后制作文件系統,完成整個系統與驅動的移植。

圖3 Linux內核組成
數據采集終端的采集處理流程如下,首先通過AD9629進行高速的數據采樣,FPGA同步讀取采樣的數據,接著將數據高速緩存到FPGA下掛的DDR中。之后FPGA再將數據從DDR中讀出,通過模擬MAC的方式,RMII接口以百兆網口的速率將數據傳輸到核心控制器ARM。數據采集部分的軟件設計主要保證AD采樣芯片、FPGA芯片正常工作,FPGA正常讀取AD9629的采樣數據以及FPGA與ARM之間的正常通信。
AD9629、FPGA正常工作之前需要通過SPI方式,加載初始化配置。初始化AD9629讀寫時序圖如圖4所示。將片選線CSB拉低啟動數據傳輸,每次讀寫前先寫地址,讀寫標志位1位,字節長度位3位,地址位13位,數據位一個字節,CLK上升沿讀寫數據。依據AD9629、FPGA的SPI讀寫時序圖,完成SPI讀寫函數的編寫及初始化。
AD9629采集數據時FPGA同步進行采樣數據的讀取與緩存工作,其中FPGA實時讀取采樣數據的波形圖D0~D11,如圖5所示。AD9629提供12位精度20 MSPS數據速率,并保證工作溫度范圍內沒有丟失碼。

圖4 AD9629讀寫時序圖

圖5 FPGA讀取采樣數據的波形圖

圖6 MAC層內部處理流程
以往的數據采集終端,ARM與FPGA通信采用的通信方式有DMA、SPI、UART、USB或將FPGA作為外部存儲設備編寫驅動程序,進行數據的讀寫,過程較為繁瑣,兩者之間的傳輸速度也不是特別的快。本數據采集終端采用模擬MAC的方式,將FPGA配置成網口,采用RMII接口與ARM以100 Mbps速率進行數據通信。將FPGA配置成網口主要是模擬MAC層的功能,MAC層的功能主要是發送幀、接收幀、封裝幀、解封裝,其功能框如圖6所示。本文設計FPGA網口發出ARP報文之后,如果收到響應報文,則將DDR中緩存的數據,封裝成UDP報文,高速傳送給ARM。
FPGA配置成網口,便可正常地進行數據的收發。ARM收到FPGA傳送的數據,依據實際需求,有兩種處理策略。
第一種,對于FPGA傳送的數據采用橋接的方式,通過有線或無線的形式,直接轉發到上位機。當采用橋接的方式時,需要開啟內核的橋接功能。ARM核心控制器,在Linux系統加載時,已完成Wi-Fi驅動、以太網網口的相關初始化。需要橋接時,直接配置以太網網口或無線網口,實現數據的橋接。此時數據采集終端,以百兆的速率實時向上位機傳送采集到的數據。FPGA與ARM之間的通信仿真時序圖如圖7所示,FGPA把DDR中緩存的采樣數據封裝成UDP報文,通過橋接的方式直接轉發。
第二種,對于FPGA傳送的數據進行本地緩存的處理,主要通過SD卡或U盤進行本地緩存。在數據存儲與上傳模塊進行設計實現。

圖7 FPGA與ARM之間通信波形圖
ARM網口收到從FPGA模擬MAC網口傳過來的數據之后,需做進一步的處理,具體處理流程如圖8所示。一條途徑可以直接進行轉發,通過有線網口或無線Wi-Fi將數據直接轉發出去,不作任何處理;另一條途徑為進行本地緩存(U盤/SD卡)。同時可以根據收到的協議報文,決定是否將數據進行上傳。數據緩存負責將采集到的數據生成文本文件,同時指定生成文件的存儲位置(U盤或SD卡)。U盤或SD卡均通過設備掛載的方式,掛載到文件系統上。當選擇數據上傳時,通過FTP協議上傳數據到上位機[10-11]。

圖8 數據存儲與上報處理流程
本高速數據采集終端由數據采集與數據處理兩部分組成,實驗測試驗證需要對FPGA數字邏輯、ARM核心控制器應用程序進行驗證。實驗硬件組成:信號源、數據采集終端、上位機。信號源接在數據采集終端的AD接口,上位機與數據采集終端的網口相連。首先,測試數據采集部分,數據采集主要由FPGA數字邏輯完成,FPGA可以正常讀取AD9629的數據。FPGA與ARM之間進行高速率的數據通信,FPGA能夠正常地將采樣到的數據封裝成UDP報文。采用Net Meter測速軟件測得FPGA與ARM之間的通信速率可以達到93 Mbps,如圖9所示。

圖9 采樣數據實時上報速率
數據處理部分主要是完成數據的存儲與上傳。測試時由信號源控制信號的大小,數據采集終端將采樣的數據實時上報到上位機,上位機接收到數據進行存儲再通過MATLAB將采樣數據的頻譜圖繪制出來。圖10為沒有信號輸入時數據采集終端采集到的底噪。圖11為信號源輸入頻率為5 MHz幅值0 dBm的正弦波信號時數據采集終端采集到的信號,可以看出與信號源輸出的信號保持一致。

圖10 底噪

圖11 5 MHz 0 dBm正弦波
數據采集終端是物聯網中最接近外部環境數據的部分,有著廣泛的應用。本課題設計了一種高速數據采集終端,給出了具體的硬件、軟件設計方案。驗證了系統設計所采用的FPGA+ARM的主處理器+ADC芯片硬件架構。軟件設計闡述了系統與驅動移植、數據采集、采集數據上傳與存儲,重點闡述了FPGA模擬MAC實現100 Mbps傳輸采樣數據的功能。面對海量瞬時波動的外部環境數據,整個數據采集終端具備多任務工作模式,拓展性與通用性強,數據采樣速度快,精度高,存儲空間高等優點。近年,Android應用越來越廣泛,后期開發可在Android應用程序上有所拓展[12],通過APP控制數據采集終端,實現采樣數據的存儲,實時顯示采樣數據等。實驗結果表明該數據采集終端的設計方案可行,具有實用價值。
[1]干霖郁,張建宏. 基于AD7762和FPGA的數據釆集系統設計[J]. 電子科技, 2012,25(6): 30-33.
[2]劉春雅,程旭,趙輝昌. 基于FPGA的數據采集系統的設計與實現[J]. 電子設計工程, 2011,19(1): 51-55.
[3]馮希辰,楊帆. 基于FPGA的多路數據實時采集與傳輸系統[J]. 微電子學, 2016,46(4): 511-514.
[4]周倩. 基于FPGA的高速數據釆集系統控制模塊設計[J].電子科技, 2012,25(5): 14-16.
[5]翁蕊周,李悅麗. 基于AD9650的高速大動態范圍數據采集系統設計[J]. 現代電子技術, 2013,36(19): 160-163.
[6]鄭仕碧. 基于嵌入式Linux的數據采集系統關鍵模塊設計[D]. 成都: 電子科技大學, 2013.
[7]張戎,張立波. 基于ARM處理器的高速高精度數據采集系統設計[J]. 科技信息, 2011(7): 43-44.
[8]王學杰. 基于ARM9的高速數據采集軟件系統的實現[J]. 科技創新與應用, 2012(24): 81.
[9]王紅亮,符多鐸,廣威,等. 基于ARM的數據采集存儲系統設計[J]. 火力與指揮控制, 2014,39(1): 119-121.
[10]齊亞萍,李亞,雷升杰. 基于ARM的遠程數據采集系統設計[J]. 自動化與儀表, 2015,30(3): 57-60.
[11]李靜,黃崢. 無線數據采集系統設計[J]. 中北大學學報:自然科學版, 2010,31(2): 178-182.
[12]王柯,馬宏斌. 一種基于Android平臺數據采集系統的設計與實現[J]. 測繪與空間地理信息, 2014(10): 29-32.



飛機上能用手機了!干擾導航影響安全經不起科學驗證
據新京報報道,2017年9月18日,在中國民航局的例行新聞發布會上,中國民航局飛行標準司副司長朱濤透露,《大型飛機公共航空運輸承運人運行合格審定規則》第五次修訂發布,將于2017年10月起實施。這次修訂放寬了對于機上便攜式電子設備的管理規定,允許航空公司為主體對便攜式電子設備的影響進行評估,并制定相應的管理和使用政策。
國內飛機上禁止使用手機等電子設備,理由是考慮飛行安全,這個其實是經不起科學驗證的。
傳統說法是,手機使用過程中產生的輻射干擾飛機導航設備,從而影響飛行安全,但是到目前也沒有證據來證明這一點。一些國家所獲得的證據其實并非是手機影響飛行,而是飛行影響手機的地面基站功能。
迄今,國際上已經有超過40個司法轄區允許在飛機上使用移動通信服務,一些航空公司還在飛機上提供無線網絡服務。例如,阿聯酋的阿提哈德航空是全世界在整個飛行過程提供機載網絡連接服務的航空公司,德國漢莎航空更是在國際上率先允許乘客在1萬米的高空使用手機。
國內航空公司也應該盡快允許飛機上使用便攜式電子設備,不能夠以不存在的安全擔憂來限制乘客。乘客飛機上使用手機的權利,該還回來了。
眼下,民航局放寬對機上便攜式電子設備的管理規定,將選擇權利下放給各家航空公司,是對輿論的積極回應。在客源競爭激烈的背景下,相信更早允許飛機上使用便攜式電子設備的航空公司,會得到更多乘客的青睞。
(C114中國通信網)
Design and Implementation of a High-Speed Data Acquisition Terminal
OU Wenjun1, FAN Youhe2, JIANG Peng1
(1. Wuhan Hongxin Communication Technology Co., Ltd., Wuhan 430205, China;2. Wuhan Research Institute of Post and Telecommunications, Wuhan 430074, China)
In order to meet the needs of high-speed data sampling in the Internet of Things, high-speed, versatile and scalable data acquisition terminal was designed in this paper. The system consists of the main data acquisition part of AD9629 and FPGA EP4CE6 and the data processing part of AT91SAM9X25 core board. Equipped with Linux system, an embedded data acquisition terminal supporting multitask operation was built. The high-speed sampling is realized based on AD9629 and the sampled data is cached to DDR module. Then, the sampled data in DDR is encapsulated into UDP packets by FPGA. RMII interface is used to simulate the communication of MAC with ARM. The sampled data is uploaded in real time or locally cached with hundreds Mbps.
Internet of Things data acquisition FPGA MAC
10.3969/j.issn.1006-1010.2017.18.013
TN919.6
A
1006-1010(2017)18-0073-07
歐文軍,范有和,江鵬. 一種高速數據采集終端的設計與實現[J]. 移動通信, 2017,41(18): 73-79.
2017-06-26
責任編輯:劉妙 liumiao@mbcom.cn
歐文軍:高級軟件工程師,碩士畢業于湖北工業大學,現任職于武漢虹信通信技術有限責任公司,從事無線網絡優化研究等相關工作,并獲得了多個通信相關專利。
范有和:碩士就讀于武漢郵電科學研究院信號與信息處理專業,主要從事嵌入式軟件開發、TD-LTE應用研究等工作。
江鵬:現任職于武漢虹信通信技術有限責任公司,具有多年無線通信設備研究工作經驗,并獲得了多個通信相關專利。