卫星导航同步时的环路更新时间架构

来源:互联网 发布:java web日志模块设计 编辑:程序博客网 时间:2024/04/30 10:50

由于采用了ARM架构取代FPGA中的NIOS ,因此在环路滤波的时序架构上会出现新的问题,这次遇到的问题就是目前的新架构带来的。

原始的FPGA+NIOS架构中,每个1ms的累积量在进入环路滤波时是采用轮巡加触发的方式,在FPGA完成1ms积分后,将积分完成标志拉高,同时NIOS不断对所有跟踪通道的积分完成标志进行轮巡,一旦某个通道标志为高,就会读取积分结果并将积分标志拉低,轮巡一周和读取与拉低的时间远小于1ms,因此可以确保多个通道在正常情况下不间断的完成每个通道的操作。

在FPGA+ARM的架构中,ARM不能够将全部时间都放在NIOS环路上(需要进行定位解算),因此采用计数器进行1ms一次更新的方式,arm计数器在1ms周期下每个周期对FPGA的1ms累积量进行一次读取拉低,确保每个环路1ms里面完成一次更新。

看似没有问题,但是在实际过程中,ARM会出现1s只跑了500次的情况,这是什么带来的?

问题在于FPGA的积分1ms与ARM计数得到的1ms并不相等。积分1ms是PN码相关得到,而ARM1ms是时钟累加得到,FPGA的1ms有可能因为多普勒的原因大于1ms,在这种情况下,有可能出现ARM的1ms头和尾都在积分1ms的时序段内,拉低后FPGA还没到积分完成时间,倒置ARM每次都不能对应上,这也是为什么GEO的卫星一般都不会出现这种情况的原因。

解决方案就是提高ARM的处理频率,确保ARM处理周期比FPGA小,现在就稳定多了。

0 0
原创粉丝点击