APP下载

一种高速数据采集终端的设计与实现

2017-12-01欧文军范有和江鹏

移动通信 2017年18期
关键词:高速数据终端系统

欧文军,范有和,江鹏

(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 引言

随着物联网技术的快速发展,同时依赖于现代通信技术、嵌入式技术、芯片技术的不断发展,物联网应用不断地融入到日常生活中。物联网应用的一大关键性技术为数据采集。正是通过数据采集终端将海量的环境数据汇聚起来,如温湿度、辐射、噪音等,供后续的数据分析、设备控制与信息处理使用。传统的数据采集终端大多采用单任务的工作模式、应用场景固定、拓展性与通用性差,对瞬间信号波动的外部环境数据采集效果不明显,处理速度不快、采集精度不高、存储空间有限[1-5]。本数据采集终端的设计将解决以上问题,终端采用FPGA+ARM的主处理器+ADC芯片硬件架构,ARM搭载多任务、低功耗的Linux系统,ADC芯片采用高速AD9629,FPGA外挂DDR2,ARM与FPGA之间的数据通信采用百兆网口方式,ARM核心控制器通过SD卡、U盘,提高了系统的存储性能。同时用户可以通过以太网口、Wi-Fi、4G Modem方式,实时查看采样数据。

2 系统框架

数据采集终端采用核心板加底板的设计架构。核心板插在底板的排针上,主要负责数据控制与处理;底板上分布外围电路模块,负责数据的采集与本地存储。系统框架如图1所示。根据应用场景的不同,可更换底板、传感器,最大限度地提高数据采集终端的通用性与拓展性。

图1 数据采集终端功能框架

本设计通过AD9629对外部环境数据进行高速采样,采样的数据经FPGA进行数据的高速缓存,将采样的数据缓存到FPGA外挂的DDR模块,再以模拟MAC的方式,以100 M速率实时传送采样数据到ARM。ARM核心控制器收到数据之后,一方面可以将数据存储在底板上的SD卡或U盘,定时上传缓存数据;另一方面可以通过外接的Wi-Fi模块、4G Modem、有线网口的方式实时上传数据,方便用户随时查看采样数据。前者的策略可应用于实时性要求不高的场景,如温湿度、水表的数据采集中,周期性上传数据;后者的策略可应用于瞬间海量数据的采集中,如高压电阻抗的数据采集,实时动态上传数据。

图2 数据采集与数据处理硬件框架

3 数据采集终端硬件方案设计

数据采集终端硬件由数据采集系统和数据处理系统两部分组成,数据采集系统以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。

4 数据采集终端软件实现

4.1 系统与驱动移植

数据采集终端的核心控制器采用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内核组成

4.2 数据采集

数据采集终端的采集处理流程如下,首先通过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之间通信波形图

4.3 数据存储与上传

ARM网口收到从FPGA模拟MAC网口传过来的数据之后,需做进一步的处理,具体处理流程如图8所示。一条途径可以直接进行转发,通过有线网口或无线Wi-Fi将数据直接转发出去,不作任何处理;另一条途径为进行本地缓存(U盘/SD卡)。同时可以根据收到的协议报文,决定是否将数据进行上传。数据缓存负责将采集到的数据生成文本文件,同时指定生成文件的存储位置(U盘或SD卡)。U盘或SD卡均通过设备挂载的方式,挂载到文件系统上。当选择数据上传时,通过FTP协议上传数据到上位机[10-11]。

图8 数据存储与上报处理流程

5 实验测试与验证

本高速数据采集终端由数据采集与数据处理两部分组成,实验测试验证需要对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正弦波

6 结束语

数据采集终端是物联网中最接近外部环境数据的部分,有着广泛的应用。本课题设计了一种高速数据采集终端,给出了具体的硬件、软件设计方案。验证了系统设计所采用的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应用研究等工作。

江鹏:现任职于武汉虹信通信技术有限责任公司,具有多年无线通信设备研究工作经验,并获得了多个通信相关专利。

猜你喜欢

高速数据终端系统
WJ-700无人机系统
X美术馆首届三年展:“终端〉_How Do We Begin?”
基于PowerPC+FPGA显示系统
通信控制服务器(CCS)维护终端的设计与实现
基于AD9250的高速数据接口设计
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
多功能北斗船载终端的开发应用
PCI-e高速数据采集卡的驱动与上位机软件设计
基于AD7891的浮空器高速数据采集系统设计
ABB Elastimold 10kV电缆终端及中间接头