一种基于Zynq7020的无线采集定位系统的设计与研究
2021-08-26高小鹏陈若彤
高小鹏,陈若彤
(1.西安精准测控有限责任公司,陕西 西安 710075;2.西北工业大学 自动化学院,陕西 西安 710072)
0 引 言
目前大多数投掷场的落点定位依靠人工定位或测量,但是实践中,测试场地的环境往往很复杂,而且排查范围往往较大(比如查找半径500 m),如果仅依靠原始方法查找落点准确位置,不仅费时费力,还经常会发生找不到落点准确位置的情况。如何高效地利用现有物联网技术进行实验场地的信息化改造,已经成为场地管理方非常重视的问题。基于此,本文提出了一种高精度无线定位的测量系统设计。该系统充分利用成熟的物联网技术,具有目标落点定位精度高、系统响应速度快等优点,在数字化的空场的改造、升级等方面,具有很好的应用场景。
1 系统组成简介
本文设计的无线定位采集系统由记录控制模块、无线传输模块、基准站模块和上位机模块4部分组成。系统总体框图如图1所示。
图1 系统总体框图
2 信息采集模块
2.1 信息采集模块硬件组成
本模块的核心处理器选用Xilinx公司的Zynq®-7000系列芯片。Zynq®-7000系列产品基于Xilinx SoC架构,集成了功能丰富的双核ARM®CortexTM-A9处理系统(PS)和28 nm Xilinx可编程逻辑(PL)。ARM Cortex-A9 PS(ARM)的核心部分包括片上存储器、外部存储器接口和一组丰富的外设连接接口。PL(FPGA)部分有可配置的逻辑、DSP模块以及可编程I/O接口。无线定位采集系统采用Zynq-7020模块,这样既可以利用FPGA强大的并行计算能力和丰富的逻辑资源,同时又结合了ARM实现复杂控制和方便的接口交互能力。其中,无线通信模块选用加拿大Microhard公司的P900无线数传电台。P900是一款尺寸小巧、稳定可靠、成本低廉、具备真正的Mesh、自动路由、存储&转发、低功耗休眠等特点的成熟数据链模块。超高精度ADC采样模块选用美国ADI公司的高精度数/模转换模块AD7760。AD7760是一款高性能、24位Σ-△型模/数转换器(ADC),融合了宽输入带宽、高速特性与Σ-△转换技术的优势,2.5 MSPS时信噪比可达100 dB,因此非常适合高速数据采集应用。信息采集模块硬件原理框图如图2所示。
图2 信息采集模块硬件原理框图
2.2 信息采集模块软件部分
信息采集模块包括3个传感器模块、1个XC7Z020模块、1个GPS移动站模块、1个无线通信模块、1个倾角模块和电源电压监视模块。FPGA的主要功能是进行并行高速采集控制、循环队列存储以及授时差分控制。ARM模块的主要功能包含参数配置及查询、数据搬移及文件系统写入eMMC、倾角解算和GPS授时定位。FPGA和ARM模块通过AXI lite进行信号交互以及参数配置查询,通过DMA模块进行数据搬移。ARM通过文件系统记录触发时间、记录触发前5 000条和触发后15 000共计20 000条数据,以及触发时的其他状态信息。信息采集模块软件功能流程如图3所示。
图3 信息采集模块软件功能流程
FPGA完成同步差分授时功能,保证时间分辨率达到10 ns,确保记录文件能精确反映真实的触发时间。通过高精度低漂移晶振和锁相环保证FPGA时钟的精度,再由FPGA进行时间等分,使FPGA记录触发时间分辨率达到10 ns,之后通过PPS清除长时间可能产生的时钟漂移。同步差分授时模块流程如图4所示。
图4 同步差分授时模块流程
传感器可能产生噪声抖动使保存数据无效,为了保存有效的数据,产品中采用滑动窗口的方式,即窗口内有连续5个点数据超过触发点电压,则认为是真正的触发点。当产品触发记录数据后,则不在比较滑动窗口内的数据,直到下一次数据采集。
高精度卫星定位系统通过载波相位差分技术RTK实现厘米级精度定位。多个记录控制模块部署在不同位置,结合高精度定位RTK和高精度高速率ADC,能够精准分析每一个部署地甚至整个片区发生的情况。通过事后分析可还原触发前后发生的相关信息并推导可能的影响。设置合适的触发门限和优化记录控制模块的排列方式可以优化产品整体效果。
上位机配置ADC的采样频率和触发电平,配置后进入数据循环记录步骤。因需保存触发前5 000条数据且触发是随机产生的,所以FPGA需要一直保存数据到DDR循环队列中。当满足触发条件时,FPGA锁定触发时间并且开始计时,根据采集频率定时15 000条数据并通知ARM。ARM产生中断并搬移20 000条数据到eMMC,并记录触发时间、触发时的经纬高等信息。记录完成后ARM配置FPGA开始下一轮数据采集。数据记录模块流程如图5所示。
图5 数据记录模块流程
3 上位机部分
上位机采用C++语言 MFC框架编写,界面采用Tab页面设计,包括曲线绘制、状态监测、历史数据、通信检测、拓扑结构和参数校准页面。主控界面如图6所示。
图6 主控界面
先通过状态监视页面添加设备信息,然后通过扫描设备,查看当前通信状态,如果设备异常离线,检查是否通电或者有其他故障。
传感器1和传感器2可以设置从15.625 kHz~1 MHz的采样速率。两个传感器可以配置相同,也可以不相同。传感器1和传感器2可以设置不同的触发电平,也可相同。勾选触发绝对值使其只有正电平才能触发。触发方式分为单独触发、单通道触发全部和全部触发。单独触发,指满足触发条件的通道记录本通道相关数据。如果选择通道1单通道触发全部,则在通道1满足触发条件时同时记录通道1和通道2的数据;选择通道2单通道触发全部类似。如果选择全部触发,则不论是哪个通道满足触发条件都同时记录两个通道的数据。
通过上位机可以对多个记录控制模块同时进行操作,快捷的配置多个相同功能的模块。也可以对单个产品进行操作,从而给不同的记录控制模块设置不同的参数。
当记录数据达到系统设定的条数时,则无法继续记录数据。通过查询历史文件按钮查询控制模块的记录文件数目和文件名字,如果已经写满,则需要清除设备数据。为防止误操作,清除设备数据时需要数据密码确认,清除成功后,上位机会提示清除成功。从站点状态监测界面如图7所示。
图7 从站点状态监测界面
设备信息和历史数据页面采用MySQL数据库保存数据到本地,可高效方便地进行添加、删除、排序等操作。查询信息可查看产品是否定位、电源电压、经纬高、倾角信息、设置的触发电压、触发方式、采样频率等。
历史数据关联触发时间、触发方式、触发电压、经纬高和倾角信息,使数据分析更加精确。记录控制模块和上位机之间采用无线通信方式进行信息传输。因为无线传输的不可靠性,所以通过分包和握手机制保证数据传输的正确性。把20 000条数据分为2 000包,每一包数据加帧头、数据长度、数据帧编号及CRC-32校验。上位机收到数据时存入缓冲文件,如果校验正确则把缓冲数据写入文件继续请求下一包数据;如果校验不正确,则请求继续重发本包数据,直到数据正确或者超过最大重传次数;如果无线环境很差,连续N包数据都不正确,那么上位机会对本条数据标红,并继续读取下一包数据。历史数据查询界面如图8所示。
图8 历史数据查询界面
因发生无线传输速率相对较慢,对于多产品多文件传输耗时较长,上位机可一次操作读取多个产品多个文件,很大程度上减少了人工干预。加上容错重传机制,即使某个记录控制模块发生故障,产品仍能自动读取文件,适合无人值守的环境。
拓扑结构页面,通过曲线控件进行描点标识,更直观的观察产品的分布。实时观察RTK定位的信息,方便的观察产品的差分状态。在进行RTK差分的时候,在拓扑结构页面实时地显示RTK精度,如果差分精度达不到要求,可对产品进行排查。采集端位置拓扑图如图9所示。
图9 采集端位置拓扑图
拓扑结构以RTK定位经度纬度数据为基础,第一个产品定位为原点,其他产品分别与第一个产品求差值计算相对经纬度,通过如下公式把经纬度转换到平面相对位置距离:
deltaX = (pos(:,2)-pos(1,2))·cos(pos(1,1))·Re
deltaY= (pos(:,1)-pos0(1,1))·Re
式中:pos表示位置纬度/经度(单位:rad);高度单位为m;Re表示地球半径。
4 结 语
本系统经过外场测试,主控站观测实验结果表明,系统数据准确可靠、使用便捷。其中:无线网络经过中继之后,传送距离大于3 km;经过RTK差分后,从站点定位精度在优于3 cm。在采样频率1 MHz时,采样本底噪声小于0.1 mV,GPS授时精度优于100 ns,达到了设计要求。