基于SOPC的多通道高精度同步数据采集系统设计
2017-03-30杨会伟陈万顺周先飞丁金荣
杨会伟,陈万顺,周先飞,丁金荣
(1.芜湖职业技术学院 信息工程学院,安徽 芜湖 241000;2.安徽吉思能源勘探有限公司,安徽 芜湖 241000)
基于SOPC的多通道高精度同步数据采集系统设计
杨会伟1,陈万顺1,周先飞1,丁金荣2
(1.芜湖职业技术学院 信息工程学院,安徽 芜湖 241000;2.安徽吉思能源勘探有限公司,安徽 芜湖 241000)
针对单片机数据处理的精度低且运算速度低,难于满足高精度多通道同步数据采集处理要求,提出一种基于SOPC的高精度多通道同步数据采集系统设计方案。以嵌入式SOPC技术为核心,采用多路新型32位精度A/D 转换器ADS1282进行数据采集,且采样速率可调;利用GPS秒脉冲的随机误差和高精度晶振累计误差互补提供高精度同步采样时钟,保证多通道同步采集数据;通过移植精简的嵌入式实时操作系统uC/OS-II,实现多任务并发执行;采用2.4 GHz无线射频nFR24LE1完成系统近距离无线数据传输。系统能够实现工业现场尤其是恶劣环境下多通道高精度数据同步采集与无线传输功能。
实时;高精度;同步;数据采集;无线传输
随着数字信号处理技术的发展,在工业生产、科学技术等领域,现场信号采集的要求越来越高,通常需要针对每一时间坐标点信号进行多通道采集,并且这些信号具有实时性强、数据速率高、数据量大等特点,因此一个稳定性强且处理速度快的的多路数据采集系统对后期数据处理意义重大[1-3]。对各通道来讲,同一时间点采集数据号都是相互关联的,这就需要多通道信号的同步采集,并能准确无误存储[4]。
目前大部分多通道数据采集系统是单纯采用单片机作为中央处理器。单片机处理运算速度慢且精度低,难以实现多通道高精度同步数据数据采集要求。相比较而言,SOPC英文是将嵌入式处理器、存储设备、I/O等摸块集成在单个FPGA内部构成片上系统的新技术[5-6]。SOPC 技术在实时控制等方面具有执行速度快、严格并行同步、软件编程简单等优势,而且它功耗低,成本小,搭配外围电路,可以完成对数据采集和运算控制输出等一系列任务。SOPC 技术特别适合低功耗高稳定的复杂系统设计,无需太多外围电路设计大大缩短系统开发周期,软硬件可编程提高了系统设计的灵活性,方便功能扩充和升级[7-8]。因此研究设计一种基于SOPC技术的多通道高精度同步数据采集系统就显得十分必要。
1 系统分析与方案设计
图1 系统总体方案框图
一个完整多通道高精度同步采集系统应该包括数据采集、数据的存储、数据的传输以及整个系统的控制等模块。本系统采用嵌入式SOPC技术,以FPGA为控制核心,以A/D转换模块连接外部传感器获取数字信号,以GPS和高精度高速晶振相结合获取高精度同步时钟,以2.4 GHz的无线射频发送接受模块nFR24LE1作为数据的发送设备。系统划分为5个主要部分:控制模块、多通道数据采集模块、无线传输模块、电源及存储模块。系统结构如图1所示。
可以将系统利用嵌入式SOPC处理器FPGA控制A/D的时序驱动,并结合GPS和高精度高速晶振为A/D提供同步采样时钟,完成对外部传感器的数据采集,采集的数据进入FPGA内部,通过内部两个FIFO缓存区的乒乓操作实现对高速数据的缓存处理,最后通过2.4 GHz无线射频发送模块nFR24LE1将缓存数据传输到上位机进行存储和分析处理。
2 硬件电路设计
在系统设计过程中,硬件电路设计主要包括FPGA与数据采集模块接口电路设计、FPGA与GPS接受模块间的接口电路设计、FPGA与无线传输模块间的接口电路设计以及与其他功能模块的接口电路设计等。
2.1 FPGA与信号采集单元的接口设计
图2 ADS1282与FPGA接口框图
信号采集单元的选择对整个采集系统的采样信号质量起着非常重要的作用。 在选择信号采集单元时,应根据系统功能要求,充分考虑该单元模块的分辨率、通道数、采样率等性能指标以满足系统功能要求等。通过比较分析,本系统采用多片31位模/数转换器 ADS1282作为前端信号采集单元,ADS1282的采样率可分为0.25 ms、0.5 ms、1 ms和2 ms不同等级;前放增益: 0 dB,6 dB,12 dB,18 dB,24 dB,30 dB,36 dB;增益精度:<0.8%,校正增益误差:≤0.000 2%;信噪比:高分辨率模式≥124 dB,低功耗模式≥121 dB。单片ADS1282可实现8通道数据同时采集。 ADS1282与FPGA主控单元EP3C10E144C8的接口设计如图2所示。
图3 GPS模块与FPGA接口框图
2.2 FPGA与GPS接受模块的接口电路设计
GPS接受模块的信号主要包括UTC时间输出和PPS秒脉冲输出,UTC时间输出通常通过RS232接口输出,PPS通过一个端口输出,这样GPS接受模块与FPGA的连接主要就是通过RS232串口和一个通用端口来连接,如图3所示。
2.3 FPGA与无线传输模块接口设计
图4 无线传输模块与FPGA接口框图
无线传输主要采用无线射频模块nFR24LE1来完成,该无线传输模块直接将2.4 GHz无线射频模块和51核集成在一起,开发调试起来方便。该模块接受外部数据的主要接口是SPI接口,因此FPGA与无线传输模块nFR24LE1的主要接口连接就是SPI接口连接。连接的信号主要有4个:SPI时钟信号FSCK、SPI使能信号FCSN、主端发送从端接受信号FMOSI、从端发送主端接受信号FMISO。如图4所示。
3 系统软件设计
3.1 片上嵌入式系统构建
通过在FPGA内部构建基于NIOS处理器的嵌入式可编程片上系统,再将uC/OS-II操作系统移植到NIOS处理器系统中。uC/OS-II内核任务调度采用抢占式优先级调度算法,是一种实时性很高的内核。uC/OS-II除了约200行的汇编代码外,其他全部采用C语言编写,整个内核代码容量较小,最小编译内核只有2 kB。uC/OS-II内核在设计之初就充分考虑到了不同平台的移植问题,文件层次分明,将硬件相关和无关程序独立开来,只需进行适当修改就很容易移植到几乎任何一种CPU上。系统开发人员只需要建立相应的交叉编译环境,通过适当的操作就能在相应的嵌入式系统中完成uC/OS-II移植。
在NIOS嵌入式微处理器上移植uC/OS-II系统的主要步骤:首先创建一个标准的C交叉编译器;在OS_CPU.H文件中用#define语句设置一个常量的值;在OS_CPU.H文件中声明10个数据类型;在OS_CPU.H文件中用#define声明3个宏;在OS_CPU.C文件中编写6个简单的函数;在OS_CPU_A.ASM文件中编写4个汇编函数;添加系统所需要的功能模块;最后进行编译生成可执行文件移植到NIOS处理器系统中。
3.2 GPS校准晶振的高精度时钟设计
GPS秒脉冲无累计误差,但有误差漂移,其漂移误差可达200 ns,并且GPS在受到空中外界因素和天气因素干扰时,可能会导致秒脉冲波形信号失真。综合以上种种因素,GPS秒脉冲信号的精度为2×10-7,故在同精度要求较高的情况下不能直接利用GPS秒脉冲作为同步时钟信号,但可以利用GPS秒脉冲无累计误差的特性,来同步校正恒温晶振的累计误差。由于恒温晶振无漂移误差,这样就实现了二者的优势互补,通过二者相结合来实现多通道数据的同步采集,从而使得各个通道达到高精度同步的效果。
本模块设计通过FPGA控制GPS模块来实现,GPS模块的秒脉冲信号首先接受到FPGA内部, FPGA以GPS秒脉冲为计数一句 ,在1 s内对外部恒温晶振61.44 MHz时钟的周期数进行统计,利用同步计数过滤干扰信号,通过对比每秒内计数器的值计算出相位偏差值,以此控制恒温晶振控制寄存器,从而达到所要求的精度范围。其结构如图5所示。
图5 GPS校准时钟原理结构图
3.3 GPS接收模块设计
图6 GPS接收程序流程图
GPS接收模块通过FPGA内部资源控制完成,通过串口接收GPS模块数据信息到FPGA内部后,首先检测数据引导头是否为“$”,若检测到”$”,然后通过识别区分信息类别对ASCII码进行处理,并判断接收数据的正确性。若数据不正确则重新接收新数据,若数据正确则进行后续处理。GPS数据主要包括UTC 时间字段、状态定位字段、纬度N(北纬)或S(南纬)字段、经度字段等信息,要将这些字段信息提取出来分别存储。GPS发出的日期和时间在全世界是统一的,与北京时间差8 h,使用时需要将UTC时间转化为北京时间。在UTC上加8 h就可得到准确北京时间,以24 h为模进行处理。UTC数据变化频率为1次/s,这样GPS接收模块在正常工作状态下不断获得新数据覆盖FPGA内部RAM,最后将时间和坐标等信息和采集数据一起打包发送到工作站的数据处理终端。程序流程图如图6所示。
3.4 数据无线传输控制
运行模式:发射模式、接收模式、待机模式以及掉电模式。这4种模式可通过配置nFR24LE1内部CONFIG寄存器来完成。nrf24le1的数据接受和发送模式又分为shock-burst和增强型shockburst两种。
本无线传输系统选择增强型Shockburst模式。接收数据处理程序流程图如图7所示。
图7 增强型ShockBurst程序流程图
在增强型Shockburst模式下,高速传输和处理的RF协议在nFR24LE1内部自动完成,数据发送和接收包中的CRC校验码和包头会自动由nFR24LE1完成。因此在发送数据时不需考虑数据的发送协议和封装,直接将要发送的数据写入发送数据buffer中,nFR24LE1会自行添加包头和校验码,并将数据地址和缓冲区中的有效数据等封装成一个数据包发送。在数据接收端,nFR24LE1会自动解码,把包头和检验码去掉,这样程序编制会更加简单,稳定性更高。主发送端发送一个数据包后自动进入接受模式,主接收端接受到数据后自动发送一个确认应答。主接收端可以将用户数据附加于确认应答中。
4 实验验证
本系统方案是与某勘探公司合作的省级自然科学重点研究项目,各主要功能子模块已通过了实验测试验证。系统技术指标:
(1)A/D 转换分辨率为31位,且数据采样速率可调,采样率可调档:0.25 ms、 0.5 ms、1 ms、2 ms;前放增益: 0 dB、6 dB、12 dB、18 dB、24 dB、30 dB、36 dB;增益精度:<0.8%;校正增益误差:≤0.000 2%;多通道采集同步误差:40 ns。
(2) nRF24LE1无线收发模块的抗干扰性较好,当建筑物很多的时候,当收发电路装置均放在地上时,最佳有效通信距离在40 m~50 m之间;当放置在空地时,最远可达100 m。系统发送和接收数据误码率低,增强型ShockBurst模式下理论空中传输率可达2 Mbps,实际有效数据传输率520 kbps。
(3)在 Alteral公司生产的Cyclone III系列的FPGA芯片EP3c10e144c8平台上成功搭建了基于NIOS处理器的SOPC系统,并初步成功移植了uC/OS-II操作系统。
5 结 语
提出一种利用SOPC技术实现多通道高精度数据同步采集系统设计方案,能够实现工业现场尤其是恶劣环境下多通道数据的高精度同步采集与无线传输功能;系统采用GPS 和高精度晶振相结合的方法,又能减小高精度晶振累计误差影响,实现了GPS秒脉冲的随机误差和高精度晶振累计误差互补;通过RAM记录GPS正常工作下的修正参数,保证在GPS失效情况下长时间的高精度输出;采用2.4 GHz无线射频模块完成系统近距离无线数据传输,克服了传统采集系统在恶劣环境下无法通过布线完成数据传输的缺点。本系统采样精度高,采样速率可调,满足多种需求,具有一定的应用参考价值。
[1] 阳继军.基于GPS授时的地震采集系统同步系统设计[J].石油仪器,2009,23(1):82-85.
[2] 邱桂芬.高速多通道数据采集系统的时钟同步设计[J].舰船电子对抗,2013,36(1):93-96.
[3] 刘小林.基于FPGA的多通道数据采集系统设计[J].电子技术应用,2009(7):42-44.
[4] 黄云,杨尊先.基于SOPC的数据采集与处理系统设计[J].电子器件,2010,33(1):35-38.
[5] 纪大伟,徐抒岩,胡君.基于FPGA的多通道高速数据采集系统[J].仪表技术与传感器,2011(12):31-32.
[6] 甘建伟,秦付军,王鹏.基于FPGA的高速多通道数据采集系统设计[J].测控技术与仪器仪表,2013,4:87-88.
[7] 杨炜新.基于FPGA的多通道数据采集系统设计[D].太原:中北大学,2014:3-40.
[8] 秦爽.多通道同步数据采集系统设计与实现[D].成都:电子科技大学,2009:2-25.
Design of Multi-channel and High Precision Synchronous Data Acquisition System Based on SOPC
YANG Huiwei1, CHEN Wanshun1, ZHOU Xianfei1, DING Jinrong2
(1.Wuhu Institute of Technology, Wuhu 241002, China;2.Anhui jisy energy exploration Co Ltd, Wuhu 241000, China)
For the SCM data operation and processing capacity limitations, which is difficult to meet the high accuracy of data acquisition and processing requirements, a design of multi-channel synchronous data acquisition system with a high precision based on SOPC is proposed.Taking embedded SOPC technology as the core, the data is collected with a new multi-channel 32-bit precision A / D converter ADS1282 and the sampling rate can be adjusted; The complementary of the random error by GPS second pulse and high precision crystal cumulative error provide a high accuracy synchronous sampling clock, which ensures the multi-channel synchronous data acquisition; by transplanting the streamlined embedded real-time operating system uc / OS-II, multi-task concurrent execution is realized; using 2.4 GHz radio nFR24LE1 , the system short-range wireless data transmission is completed. The system can ensure the high precision data synchronous acquisition and wireless transmission in the industrial field, especially in harsh environment.
real time; high-precision; synchronization; data acquisition; wireless transmission
2016-05-10
杨会伟(1982-),男,河南南阳人,硕士,讲师,主要从事测试计量技术及仪器和数字信号处理等方面的研究.
安徽省教育厅自然科学研究重点项目(KJ2016A764).
10.3969/i.issn.1674-5403.2017.01.020
TP391
A
1674-5403(2017)01-0075-05