基于FPGA的光电扫描测量网络半实物仿真方法

2021-11-12 02:11杨凌辉王雨萌任永杰
中国测试 2021年10期
关键词:发射站模拟信号接收器

徐 晖,杨凌辉,邓 睿,王雨萌,杨 朔,任永杰

(天津大学 精密测试技术及仪器国家重点实验室,天津 300072)

0 引 言

当前,大空间三维精密测量定位技术已成为航天航空、大型船舶等高端装备制造领域应用广泛的核心关键技术[1-2],代表性设备包括激光跟踪仪、经纬仪、全站仪、近景数字摄影测量和室内GPS光电扫描测量网络等[3-5]。不同于跟踪仪、全站仪等传统单站测量设备,以工作空间测量定位系统(workshop measuring and positioning system,wMPS)为代表的光电扫描测量网络是一种针对大空间定位测量的新型分布式测量系统,可实现多点实时自动跟踪测量,自动化程度高,抗干扰能力强,应用前景广泛[6-7]。

作为以多站组网定位为基本原理的分布式测量系统,wMPS系统在研发制造过程中,从底层硬件架构到顶层算法都需要进行大量测试优化,以保证平台性能稳定可靠。但wMPS系统测量网络中发射站基数一般在4~20台,工作单站工作距离为3 ~30 m,为保证交汇条件使用时空间分布也不能过于集中。现有真实设备的物理参数限制为在实验室小环境条件下进行处理算法测试验证带来了极大困难。同时,由于部分算法优化的实现需要多样化的发射站和接收器参数,使用实物调试往往需要硬件结构上的改变,设备生产周期较长,多站实物调试成本较高,迫切需要简便可行的低成本仿真系统模拟wMPS系统行为。

目前,以wMPS系统为代表的光电扫描测量网络仿真大多针对网络测量误差和网络布局优化[8],仿真过程主要集中在算法软件层面,比如熊芝[9]通过算法仿真实现了wMPS系统的布局优化,并建立了布局定位误差模型,徐鑫[10]通过算法仿真实现了扫描激光平面的优化。但在实际调试中,系统性能验证还依赖于对真实硬件特别是接收器、处理器硬件电路及嵌入式软件性能的充分测试,单纯进行软件仿真无法全面模拟系统行为,必须基于底层真实信号进行仿真分析才能得到完备可靠结果。

注意到目前在电子、航天、航空领域,基于信号发生器、多自由度平台等实验装置模拟生成具有真实物理状态的系统信号,配合软件算法进行模拟可对复杂系统进行充分仿真,已成为标准测试手段。本文基于wMPS测量原理,构建占地空间小、参数修改灵活可控的半实物化模拟器,满足wMPS系统算法及性能快速验证调试需求。本文在介绍wMPS系统工作原理的基础上利用发射站的内外参数及接收站参数,解算得到模拟信号的输入量;以Xilinx公司生产的Zynq系列FPGA为硬件平台,设计了可将wMPS系统发射站的时间-角度数据转换为模拟发射站光脉冲信号的IP核。

1 wMPS系统工作基本原理

1.1 wMPS系统组成结构

wMPS系统主要由激光发射站、接收器、前端处理器及上位机组成,是一种新型的基于光电扫描的测量系统,其构成如图1所示。

图1 wMPS系统基本构成图

1.2 wMPS系统工作流程

当系统工作时,激光发射站发射激光脉冲,此时接收器位于待测点处,其接收光脉冲并且利用自身电路的光电转换模块将光脉冲信号转化为电信号,前端处理器对信号特征进行提取再经过模拟数字转换器转化为数字信号并上传给上位机,上位机计算不同发射站相对于接收器的位姿信息,综合解算出接收器点坐标[11]。

每个发射站在周期开始时发射同步光,以角速度 ω旋转,并且发射两束角度不同的扇面扫描光,当扫描光扫过接收器时,扫描光被接收器识别。发射站一个光平面的扫描接收器过程如图2所示。

图2 接收器和发射站工作示意图

1.3 wMPS系统解算原理

前端处理器可根据光信号周期和脉冲宽度判断光信号来源发射站以及类型。设激光扇面在初始位置的时刻为t0,当扇面光1和扇面光2依次扫过接收器时,记录时刻分别为t1和t2,则此时发射站旋转角度 θ1和 θ2为:

其中T为发射站的旋转周期。

接收站测量原理如图3所示,设 φ1和 φ2为光平面1和光平面2相对于旋转轴Z轴的倾斜角,a为接收器与发射站的距离。

图3 接收器工作原理图

根据角度交汇原理,可推导出接收器相对于发射站的方位角和俯仰角。其中方位角 α为发射站坐标系下接收器和原点连线在水平面上的投影与X轴的夹角,而俯仰角 β为其与水平面的夹角,θoff为两激光平面在旋转方向上的偏离角度[12]:

当系统由两台或以上发射站组成时,可通过多站角度交汇的方法测量接收器的坐标,如图4所示。

图4 多站角度交汇坐标测量

首先建立全局测量坐标系,之后通过标定手段求出n台发射站在全局测量坐标系下的坐标和全局测量坐标系相对于发射站自身坐标系的旋转矩阵。再通过接收器在多个发射站下所得的方位角和俯仰角建立多约束方程,即可求解接收器坐标[13]。

在测量中,单个接收器接收来自各个发射站混叠脉冲携带测量所需的全部信息。前端处理器对混叠脉冲进行处理,区分不同发射站脉冲,提取接收到的电脉冲类型,读取各个脉冲的全局时间,即可解算出接收器坐标。接收器接收的混叠脉冲如图5所示。因此wMPS系统模拟器需模拟不同参数下的该混叠脉冲,为系统调试提供支持。

图5 接收器接收脉冲示意图

2 仿真原理

为了得到有效的模拟信号,实现模拟器仿真首先要确定模拟信号的输入参数。发射站模拟信号要模拟完整且适用于实际系统的全部特征参数,包括同步光发射周期、光平面1相位、光平面2相位。在wMPS系统中,发射站旋转周期决定了同步光脉冲的发射周期;发射站的两个光平面扫过接收器时发射站转过的角度决定了接收器接收到的脉冲信号相位。

因此,求解模拟信号的输入参数时要根据已知的发射站和接收器的坐标以及发射站内部和外部参数,解算发射站两个光平面的旋转角度 θ1和 θ2,并根据发射站转速计算出两个光平面扫过接收器所用时间t1和t2,作为模拟信号的输入参量。

2.1 架构设计

wMPS测量网络模拟器主要包括设置在计算机中的发射站旋转角度计算模块以及Zynq模拟信号产生平台。完整架构及模拟信号产生流程如图6所示。首先根据已知的发射站和接收器的坐标以及发射站内部和外部参数,解算发射站两个光平面的旋转角度 θ1和 θ2,并根据发射站转速计算出两个光平面扫过接收器所用时间t1和t2,作为模拟信号的输入参量;而后由Zynq嵌入式平台,实现特定输入参量的模拟信号在硬件平台上的产生和混叠,输出最终的模拟信号。

图6 wMPS测量网络模拟器架构

2.2 模拟信号输入参数求解

在已确定某发射站转速的情况下,根据空间已知点坐标,发射站在空间中位置以及光平面姿态,即可对发射站两个光平面的旋转角度 θ1和 θ2进行逆解算,并得出对应的发射站两个光平面扫过接收器所用时间t1和t2。所求的参数可作为模拟信号的输入参量。图7为单发射站的旋转角度解算流程。

图7 单发射站旋转角度解算流程

其中,发射站外部参数包括:发射站序号(ID)、转速speed(r/min)、发射站在全局坐标系下的空间三维坐标以及发射站到全局坐标系的旋转矩阵;发射站内部参数包括:两个光平面P1、P2在空间中的位置和姿态信息(与Z轴夹角 φ、旋转方向上与初始位置夹角 θ、光平面在Z轴上的截距zerr)。其中,两个光平面之间的空间关系应满足:两光平面水平方向夹角为90°,且两光平面在旋转方向上的偏离角度θoff=|θ1−θ2|,为45°的固定值;接收器参数主要包括:接收站序号(ID)以及接收器在全局坐标系下的空间三维坐标。

2.2.1 确定旋转矩阵

解算中,首先需要明确发射站坐标系到全局坐标系的旋转矩阵。在初始参数中,为了描述与旋转轴的相对位置,发射站光平面相关参数均是在发射站自身坐标系下进行表示的。发射站坐标系与自身初始姿态有关,一般不与全局坐标系重合,因此需要将接收器在全局坐标系下的坐标转化为发射站坐标系下的坐标。

坐标系旋转矩阵的表示方法有以下3种:欧拉角、绕固定旋转轴旋转角以及四元数,且3种表示方法可以相互转化。其中,四元数法更为高效,花费更少的时间和空间,且不会出现欧拉角表示中的万向节死锁现象。因此以四元数表示旋转矩阵作为已知参量输入,计算得旋转矩阵R为:

2.2.2 确定发射站内部参数

发射站的内部参数主要为两个激光平面的位置和姿态信息,为了方便表达,在全局坐标系下表示的光平面P1、P2表示为

即两个光平面参数矩阵分别为N1ABCD=[A1,B1,C1,D1]和N2ABCD=[A2,B2,C2,D2]。根据几何关系,可计算得光平面的位姿参数:

其中 φ为光平面与旋转轴Z轴的夹角,i=1,2。

2.2.3 求解光平面旋转角

3 基于FPGA的模拟信号生成

3.1 FPGA嵌入系统设计

该系统利用基于Zynq的嵌入式平台实现模拟信号的产生。图8为Zynq下的wMPS模拟信号产生平台系统架构。具体包括Zynq处理器系统及复位系统、基于AXI总线的模拟信号产生IP以及AXI互联矩阵。

图8 Zynq下wMPS模拟器系统架构

该系统嵌入了Zynq 处理器系统(processing system,PS),使用 Zynq 的可编程逻辑(programming logic,PL)部分实现模拟信号产生的模块,并将其封装为用户IP,PS端基于AXI总线协议实现与该模块的通信,对该模块进行控制。系统主要构成部分及功能如下:Zynq的PS部分主要包括应用处理器单元(APU)、存储器接口、I/O外设(IOP)以及内部互连(Interconnect),Zynq可灵活地支持PS的功能实现以及与PL的数据交互。

3.2 基于AXI的信号模拟IP核设计

在发射站仿真模拟器的实现中,为了实现处理器对发射站模拟信号产生的控制,将模拟信号产生模块封装为AXI总线类型的IP核,处理器通过AXI总线给定输入信号,进行控制[14]。

图9为单发射站模拟信号图形。发射站模拟信号主要由两种不同的脉冲构成:同步光脉冲和扫描光脉冲。在一个测量周期开始时,发射站发射同步光脉冲,同步光脉冲的周期即为发射站旋转周期,不同发射站旋转周期不同(T不同),不同发射站同步光脉冲发射的初始时间(t0)也不同。这是由于在测量系统中,不同的发射站有一定的初始旋转角度。当发射站扫描扇面光扫至接收器时显示为扫描光脉冲,接收器相对于发射站位置不同,则两个扫描光脉冲在周期中相位(t1,t2)不同。所有发射站同类型脉冲的脉宽相等。

图9 单发射站模拟信号图形

模拟信号产生IP利用Zynq内部时钟信号作为时序约束,并且利用FPGA逻辑资源在硬件层面生成周期、脉冲宽度及相位可调的发射站模拟信号[15]。

模拟信号产生逻辑中,设置主计数器cnt,以Zynq内部时钟信号作为计数时钟信号。每个上升沿到来之时主计数器cnt计数加一,当cnt计数至设置的不同参量时,根据需要将输出信号signal_r拉低或拉高,最后生成完整的模拟发射站脉冲信号。决定产生不同信号的参量主要有:cnt计数周期period、初始相位 phase0、扫描光脉冲 A相位phase1、扫描光脉冲B相位phase2。而同步光脉冲脉宽STORB_W,扫描光脉冲脉宽SCAN_W,在特定测量系统中都为恒定值,只需进行参数设置,不作为输入量。

根据输入 period、phase0、phase1、phase2和参数STORB_W、SCAN_W,设置signal_r翻转时主计数器的模数,可生成该参数下的模拟信号脉冲组合。状态转移过程如图10所示。

图10 模拟信号产生逻辑状态转移过程

为了实现FPGA与ARM之间的通信,同时保证程序复用以实现多发射站信号产生,信号产生IP通过AXI总线协议实现与Zynq的处理器系统PS端的通信。

图11为基于AXI总线协议的模拟信号产生IP的模块框架。模块中设置了4个32位寄存器,用于存储该模块所需要的输入参数。其中slv_reg0、slv_reg1和 slv_reg2分别为 phase0、phase1、phase2寄存器,slv_reg3为周期寄存器。每个寄存器都有特定的地址空间。PS端通过AXI总线写入或读取数据时,与PL端通过握手信号建立连接。访问不同的地址空间,可将数据写入不同的寄存器,完成参数的输入。复位时,将4个寄存器清零。结合外围时钟和复位模块,即可实现可控参数的模拟信号产生。

图11 模拟信号产生IP设计框架

3.3 AXI互联矩阵及多发射站信号生成

AXI协议是一种点对点的主/从接口协议,当多个外设需要交互数据时,需加入AXI Interconnect模块,即AXI互联矩阵,AXI协议是一种提供一个或多个AXI主设备连接到一个或多个AXI从设备的交换机制。

由于在wMPS实际测量系统中,包括多个覆盖整个测量空间的发射站,每个发射站分别具有不同的内外参数。因此需使用AXI总线给定不同的发射站参数,用AXI Interconnect将所有的模拟信号生成IP核挂载至AXI总线上,完成PS部分对多个模拟信号产生IP的参数写入和控制。此外,由图5可知,在实际测量中,每个接收器都接收来自多个发射站的光脉冲信号,为了模拟接收器接受的实际信号,需将多个发射站信号在硬件层面进行混叠,即可得到模拟wMPS系统中接收器所接收到的实际信号。

3.4 上位机参数控制

在系统搭建中,已通过AXI总线实现了Zynq处理器对发射站模拟信号产生部分的控制,通过对不同地址的寄存器写入参数,即可实现模拟信号周期、相位等特征值的改变。使能Zynq串口时,可实现该系统与上位机的通信,上位机通过UART串口写入数据,对模拟信号产生进行控制。上位机实现流程和信号产生平台的任务流程如图12所示。

图12 上位机控制信号产生流程图

任务开始后,上位机发送准备指令至Zynq平台,处理器通过AXI总线对信号产生模块进行复位,寄存器清零,完成后模块返回READY信号给上位机;上位机对2.1节中由已知量计算所得的参数进行写入,完成后发送开始指令和解算参数给信号平台,信号平台产生模拟信号;若在产生过程中,接收到上位机进行参数写入的指令,则暂停模拟信号产生,更新参数,而后重新产生信号;当接收到停止指令时,停止产生模拟信号。

4 信号仿真与实验验证

为了验证wMPS系统模拟器功能的完整性与可靠性,分别对输入参数求解算法模块,单发射站模拟信号产生模块以及多发射站混叠模拟信号产生模块进行仿真和实验验证。

4.1 发射站参数计算

为了生成实际测量可用的发射站仿真模拟信号,本文选用实际系统中的发射站参数θ和接收器坐标来计算值,以得到实际系统中的时间t。3组发射站外部参数、3组发射站内部参数和5组接收站参数如表1~表3所示。

表1 发射站外部参数

表2 发射站内部参数

表3 接收器参数

以上均为实际系统中的参数设定。选择发射站1、2、3,对它们的光平面由初始位置旋转至5个接收器的时间进行计算,以验证算法的可行性和准确性。调用输入参数解算算法后,得到发射站1、2、3各自两个光平面的旋转角度,如表4所示。

表4 旋转角度值计算结果

4.2 发射站模拟信号产生

为了验证wMPS测量网络半实物化仿真方案是否可行,使用vivado提供的仿真器,对接收器接收到的单发射站模拟信号和多发射站模拟信号产生部分进行仿真。时钟信号clk频率为50 MHz,使用Zynq-7000进行模拟信号产生的实验验证,选用ID编号为1~5的接收器接收3个发射站信号的输入参数,利用该平台产生三路wMPS发射站模拟信号,并将三路信号混叠得到实际接收器接收的模拟信号,设定输入参数如表5所示。

表5 模拟信号输入参数

对接收器1~5接收的三路混叠信号进行仿真,结果如图13(a)~图13(e)所示。

图13 三路发射站模拟信号混合

在图13中,第一行的信号为混叠信号,倒数第一行到第三行的信号分别为接收器接收到的发射站1~3的信号,由此可以将图13中的三路模拟混叠信号导入信号处理器中进行处理,分别得到模拟信号解算的角度值,如表6所示。

表6 旋转角度值计算结果

其中表4的数据为实际角度值,即真值;表6的数据是根据实际角度值生成模拟信号,再通过处理器对模拟信号进行解算得到的角度值。通过对表6和表4的数据作差值,即为仿真系统的偏差。经过解算可以得到模拟信号解算的角度值和实际角度值基本一致,在接收器1接收发射站1的 θ1和发射站3下 θ1、接收器2接收发射站1的 θ2等会有0.36″的偏差,那么wMPS系统仿真方案所产生的模拟信号基本符合实验室条件下对wMPS系统的调试要求。

5 结束语

针对室内空间测量定位系统的调试需求,并且克服现有技术对于发射站硬件的多样化需要,提出了一种新的基于Zynq的wMPS多发射站测量网络半实物化仿真方案。满足了实验室小环境下定位系统的算法及性能调试的需求,具有很好的应用前景。该方案具有以下特点:

1)占地空间小,参数控制灵活,采用半实物化仿真,能够较好地解决空间定位系统测量网络分布分散,实验室空间有限等因素导致发射站实物化调试存在困难这一现状。

2)实现了wMPS系统信号层面的仿真。相较于传统的误差仿真,更能够模拟接近实际条件下系统的完整行为。

3)仿真验证和实验表明,该设计产生的模拟信号合理准确,精度较高,能够满足系统调试要求,可为离线平台的搭建和算法改进提供数据支撑。

猜你喜欢
发射站模拟信号接收器
分时多频外辐射源雷达发射站定位方法
基于CAN总线的车身控制模拟信号采集程序设计
一种基于ADG426多路模拟开关的模拟信号输入接口设计
JXG-50S型相敏轨道电路接收器自动测试台
广播电视发射站防雷技术探讨
模拟信号的三种调制方法比较研究
论广播电视发射站的防雷技术
新型二取二结构的25Hz微电子相敏接收器数据处理方法研究
广播电视发射站的防雷
基于单片机的模拟信号自动追踪控制器