摘要:关于依据FPGA+DSP架构完结的、需求一起接纳处理多体系多频点导航卫星信号的GNSS接纳机,跟着盯梢通道数目成倍增长以及为进步抗多径等功用形成的每通道相关器数意图添加,FPGA和DSP之间需求交互的相关值数据量也将成倍添加。本文在定制的FPGA+DSP的硬件平台上,运用DSP芯片的QDMA功用,消除了接连数据读取距离的无效时刻,并完结了卫星信号处理与相关值数据传输的并行化,显着下降了数据传输对DSP处理时刻的占用,使得在相同硬件平台上盯梢通道数由44个进步到96个,满意了项目规划的要求。
导言
跟着斗极导航卫星体系(BDS)、伽利略导航卫星体系(Galileo)以及Glonass导航卫星体系的开展,全球导航卫星体系(Global Navigation Satellite Systems,GNSS)接纳机作业形式现已从单模单频向多模多频改变,这一趋势在高精度卫星导航接纳机以及兼容互操作接纳机中表现得愈加显着。接纳信号数量的添加直接导致接纳机通道数量的成倍添加。一起,为了进步抗多径搅扰的才能,接纳机相关通道一般在典型的三组复相关器的根底上额定添加两组复相关器。此外,为了习惯新信号体系下的导频重量与数据重量的一起接纳,接纳机相关通道内部需求独自一路相关器对数据支路进行数据解调。接纳机通道数据添加以及相关器数量的添加直接导致DSP与FPGA之间传输数据量的剧增。
DSP与FPGA之间的通讯一般选用EMIF异步总线办法完结,因为传输数据量的成倍添加,数据传输所占用的CPU时刻也将成倍添加,终究导致CPU不能在0.505mS内完结一切通道的信号处理使命。
因而,研讨怎么有用进步FPGA和DSP之间的数据传输速率以下降数据传输对DSP处理时刻的占用,对完结多模多频GNSS接纳机具有重要意义。
1 接纳机硬件架构
定制的依据FPGA+DSP架构的接纳机硬件计划如图1所示。
接纳机天线选用的是全频段天线,可以接纳BDS、GPS、Galileo以及Glonass体系一切频点的卫星导航信号;射频通道RF完结导航信号的扩大、下变频以及滤波等作业;基带平台中的A/D转化器对射频通道输出的中频信号进行采样,完结模拟信号到数字信号的转化;FPGA完结导航信号的捕获以及通道相关运算功用;DSP选用TI公司的OMAPL138,完结环路的更新以及定位解算功用。
2 数据传输剖析
在接纳的导航信号中,有些信号没有导频支路重量(如B1I、L1CA等),可是为了确保积分通道的通用性,FPGA内部积分通道均选用5路复相关器完结导频重量的盯梢,一起具有一路独立的相关器完结数据的解调功用。单通道内的环路结构如图2所示。
与传统的只要三路复相关器的接纳机相比较,在图2所示的单通道内,添加了EE与LL两组复相关器、数据支路伪随机码发生器(data code generator)、数据解调器以及IQ切换单元(I,Q switch)。添加两路复相关器是为了可以完结功用杰出的抗多径算法;因为在不同信号重量内数据支路与导频支路的相位联系不确定,因而需求在解调数据之前添加IQ切换功用单元。关于没有导频支路的导航信号,在接纳机通道运用进程中无需运用IQ切换单元、数据解调相关器以及数据支路伪随机码发生器。
在通道更新之前,OMAPL138需求将FPGA内部完结的5组积分值读取到内部,完结相位推迟确定环路(PLL)和伪码推迟确定环路(DLL)的鉴相以及滤波,终究将环路更新的成果反应至FPGA内部的相关通道中,然后完结一次环路的更新。在下面剖析的进程中将差错核算、滤波以及PLL、DLL更新合称为“通道处理”。
DSP履行0.505 ms中止使命的流程如图3所示。中止开端后首先读取一切通道相关积分标志,循环判别通道积分状况标志位,依据1ms相关积分状况标志位,进行相应通道处理。
FPGA与OMAPL138之间经过EIMF总线进行数据传输。EIMF总线具有两种作业形式:同步和异步。程序规划初始阶段,接纳机选用异步形式一般寻址办法进行数据传输。在剖析数据传输时序的进程中,选用Altera逻辑剖析仪软件signalTap对DSP与FPGA之间的异步通讯时序进行仿真剖析。剖析成果如图4所示。
由图4中的片选信号cen可以看出,数据拜访的时刻由片选低电平以及两次拜访数据间的高电平组成。其间,低电平时刻主要由EMIF总线时序中的 setup、strobe以及hold时刻构成;高电平代表读取数据的切换时刻,视为无效时刻,这段元效时刻严峻下降了数据传输速率。经过榜首行的采样点以及采样频率可以估量出一般异步拜访总线数据速率为3.0 03 MB。0.505 ms内盯梢通道数满意下式:
n·Ns/R+n·tsp+δt0.505 ms (1)
其间,R为EIMF通讯速率(MB/s);Ns为单通道数据量(字节);tsp为单通道处理时刻(s);δt为OMAPL138查询通道进程中的程序履行时刻,在下面核算进程中疏忽此时刻。
在复相关器数为3(Ns=12字节),盯梢通道数n=12的传统接纳机作业形式下,单通道处理时刻tsp=4 μs;由式(1)可知,通道更新时刻t=n·Ns/R+n·tsp+δt≈96μs,满意t 0.505 ms,因而OMAPL138可以完结12个通道的盯梢。可是在单通道内复相关器数量为5,一起具有一路解调数据相关器的情况下,单通道积分数据Ns添加至22字节,则盯梢通道数n44,不能满意项目中盯梢通道数为96的要求。
依据以上剖析,下面将要点评论怎么经过缩短无效时刻,以及经过数据读取与通道处理并行履行缩短数据传输占用DSP时刻两方面来进步数据传输的功率。
3 数据传输优化办法剖析与完结
3.1 消除数据读取距离的无效时刻
选用signalTap对memcpy或许QDMA数据通讯进行仿真剖析,剖析成果表明两者在数据传输进程的时序联系共同,可以有用缩短数据拜访时刻。异步时序形式下QDMA/memcpy通讯时序联系如图5所示。
由图5中的片选信号cen可以看出,在选用QDMA或许memcpy进行数据传输时,cen高电平仅呈现一次,EMIF总线数据吞吐率进步至6.85 MB/s,缩短了数据传输占用OMAPL138的时刻。由式(1)可以得出,盯梢通道数n70,不能满意规划目标,因而需求经过完结数据传输与通道处理的并行履行进一步缩短数据传输占用OMAPL138时刻,完结在0.505 ms内完结96个盯梢通道的更新。
3.2 完结数据传输与通道处理并行履行
与memcpy办法进行数据传输相比较,QDMA数据传输办法可以经过修正软件算法方便地完结数据传输与通道处理并行履行,然后到达进一步缩短数据传输占用OMAPL138时刻的意图。选用QDMA办法进行数据传输后的0.505 ms使命流程如图6所示。
图6与图3比较可以看出,在选用QDMA数据传输办法下,数据传输与通道处理使命履行算法得到优化,在查询到榜首个通道积分值有用后,选用memcpy办法对该通道的积分数据进行读取,数据读取完结后开端查询下一个积分值有用通道,当查询到下一个有用通道后,将QDMA设置为开端读下一个通道数据;当通道处理完结后,查看QDMA是否完结通道数据的读取,假如完结则切换到下一个通道进行查询,若没有完结,则等候数据传输完结。当96个通道悉数查询完结后,开端履行终究一个通道的处理使命,这确保了只要一个通道的积分值有用的情况下可以对这个通道进行处理;若96个通道的积分值均无效,则在查询完积分标志位后直接完毕中止使命。
图7的0.505 ms中止内的使命时序图更直观地阐明,选用QDMA办法数据传输有用缩短了数据传输占用OMAPL138的时刻。传输过程如下:查询通道状况;读取累积值标志位;通道数据读取;通道处理。
图7中的编号为有用通道的通道号,可以愈加方便地看出在0.505 ms内,因为数据传输与通道处理的并行履行,将数据传输占用OMAPL138的时刻缩减至一次数据读取的时刻,然后完结数据传输的最优化。通道数量与数据传输速率的束缚公式变为:
1·Ns/R+n·tsp+δt0.505 ms (2)
其间,R为OMAPL138与FPGA通讯速率(6.85 MB/s);Ns为单通道数据量(22字节);tsp为单通道处理时刻(4 μs);δt为OMAPL138查询通道进程中的程序履行时刻。
结语
以工程实践为根底,在低功耗的前提下,针对怎么有用进步FPGA和DSP之间的数据传输速率以下降数据传输对DSP处理时刻的占用问题,经过在当前定制的卫星导航接纳机硬件平台上对数据传输进行仿真剖析,终究提出对数据传输选用QDMA办法进行优化,消除了接连数据读取距离的无效时刻,并完结了卫星信号处理与相关值数据传输的并行化,显着下降了数据传输对DSP处理时刻的占用,使得在相同硬件平台上盯梢通道数由44个进步到96个,满意了项目规划的要求。本文的优化思维并不局限于规划完结依据DSP完结的GNSS接纳机,一起为选用嵌入式MCU规划多通道GNSS接纳机供给了理论依据。