文献标识码:A
DOI:10.16157/j.issn.0258-7998.2016.09.016
中文引用格式:翟倩倩,唐海峰,马琨. 基于脉冲星脉冲信号的航天器导航系统[J].电子技术应用,2016,42(9):62-64,68.
英文引用格式:Zhai Qianqian,Tang Haifeng,Ma Kun. The research of spacecraft navigation system based on pulse signal from pulsars[J].Application of Electronic Technique,2016,42(9):62-64,68.
0 引言
脉冲星导航是利用脉冲星稳定的辐射周期特性,在太空中为星际空间飞行器提供位置、速度和时间等导航信息。这是一种新型的导航系统,现阶段美国、俄罗斯和欧洲空间局正在研究脉冲星导航的新技术和新方法[1-5]。本文提出的X射线脉冲星导航系统是基于中国科学院西安光机所X射线脉冲星地面模拟系统的实验平台完成的,图1所示为X射线脉冲星地面模拟系统的整体框图[6,7]。
图1 X射线脉冲星地面模拟系统框图
X射线脉冲星模拟光源相当于一种特殊的信号发生器,模拟X射线脉冲星的物理特性,如X射线辐射能谱、能量、脉冲轮廓以及脉冲周期等,为实验提供模拟的X射线脉冲星。X射线只能在真空中传输,图1所示的真空系统能为X射线光路提供10-5Pa的真空环境。脉冲星的传播方向是四面八方的,聚焦型(SSD)探测器则相当于凸面镜的作用把X射线脉冲星聚集起来增强X射线的强度,然后再转换成电子为后端电子学所用。
1 后端电子学设计及信号处理系统
经过SSD探测器得到电子输出后,由于输出信号微弱并不能被数字电路所识别,所以必须经过前置放大、增行后得到光子脉冲到达信号,再把光子脉冲到达信号送入时间测量电路得到此刻脉冲到达的准确时刻,最后通过USB把光子到达时刻送入上位机进行数据处理,使其知道采集到的是哪一颗脉冲星。图2所示为后端电子学的整体设计流程图。
图2 后端电子学设计流程图
在SSD聚焦型探测器接收到的入射光很微弱时,探测器输出信号为图3(a)所示,其中一个脉冲代表一个光子事件的发生。当入射光相对较强时,探测器输出信号如图3(b)所示,将会出现脉冲堆积的现象。
(a)光输入微弱 (b)光输入较强
图3 探测器输出信号
根据实际测得的SSD聚焦型探测器的输出电子脉冲(图3(a)中)下降沿约为10 ns左右,上升沿约为400 ?滋s。为了进行后端电路的设计,采用前置放大将电荷信号转化为电压信号[7]。图4所示即为经过前置放大后的电信号输出。
前置放大后的电信号由图4可以观察到存在较长的拖尾,需要对放大输出信号进行整形[8,9]。整形的主要功能为:提高光子到达的精度,整形能将输出的单光子脉冲整形成上升时间相同的脉冲信号;提高分辨率,主放对输出电信号进行滤波,滤除高频和低频噪声,提高信噪比;提高计数率,整形能将脉冲宽度变小,从而提高计数率。图5所示为经过整形后的电信号输出,其单光子脉冲的宽度为4 ?滋s的准高斯脉冲。在脉冲高度到达一定的阈值时则表示采集到一个光子事件,在脉冲高度未达到阈值高度时则表示未采集到光子事件。当采集到一个光子事件时则输入到后端的时间测量电路。
图4 经过前置放大后的电信号输出
图5 整形后的电信号输出
2 时间测量电路的设计
时间测量电路是整个脉冲星导航的关键部分,当接收到一次光子脉冲到达信号时,采集此时刻的光子脉冲到达时间[10,11]。光子脉冲到达时间分为粗时间和细时间。本设计采用Xilinx公司Virtex LX50T进行设计,粗时间即为秒时间及其秒时间以上的时间信号,细时间为一秒以下的时间。细时间又是整个时间测量电路的最重要部分,图6所示为细时间设计的结构框图。
图6 细时间设计结构框图
2.1 格雷码设计
该时间测量电路设计的主频是200 MHz,即时钟周期为5 ns。首先要利用5 ns周期计数计数到1 s,在FPGA计数中往往有二进制计数和格雷码计数两种,这里采用格雷码计数。格雷码计数每计数一次只有一位进行变化,所产生的负载小,并且利用格雷码计数会大大减小数字电路的毛刺现象。
2.2 IODELAY设计
在细时间设计中分为两个时间段,第一个是5 ns~1 s的时间段,第二个是1 ns~5 ns的时间段。在FPGA设计中无法利用程序语言实现倍频,通常是直接利用官方的IP核。IP核直接产生所需要的频率,无法实现计数的功能,而且时间测量电路的时间精度为1 ns,这样至少需要产生4个不同的频率,从而增大了FPGA的面积,影响了速度。在航空导航中尽可能提高FPGA速率很有必要,这里采用Xilinx官方提供的IODELAY原语进行设计[12]。IODELAY原语是具有64个tap的环绕延迟单元,每个抽头的延迟都是经过精密校准的78 ps,延迟时间较稳定。图7所示为IODELAY原语的RTL视图。本设计依次设计IODELAY原语中IODELAY的类型为FIXED,反馈时钟频率为200 MHz,IODELAY_TYPE参数为0、13、26、38、51实现1 ns~5 ns的计数。
图7 IODELAY原语RTL视图
2.3 数据整合
从5 ns计数到1 s需要28 bit才能完成,因此细时间的第一段时间数据位数为28。利用IODELAY实现0~5 ns的计数,其中精度为1 ns,需要3 bit完成IODELAY的计数。最后将粗时间和细时间直接整合得到48 bit的TDC数据。得到该数据后通过USB将其48 bit有效数据送到上位机。为了方便检测数据的完整性,在有效数据前面添加255,0的头。图8所示为整合后的一帧TDC数据,255,0为帧头,后面48 bit数据为TDC的传输数据。
图8 TDC的数据传输格式
3 USB传输设计
USB芯片是采用Cypress公司的CY7C68013A完成FPGA与上位机之间的通信。CY68013A内部集成工业标准的8051处理器,全USB吞吐量,基于RAM的架构设计允许无限制的配置和升级,自动处理USB协议大大减少了代码的复杂度。该芯片具有4片FIFO进行读写操作,只需要将TDC数据从FPGA送入到上位机,所以只需要对FIFO进行写操作即可。在这里选择第二片FIFO进行操作,并设置USB的传输模式为Slave FIFO。图9所示为FPGA设计USB接口的状态机,该状态机是直接由Syplify Pro软件直接模拟生成的。
图9 USB接口设计状态机图
当检测到EP2非满,IDLE状态跳转到WADDR_SET状态设置FIFO的地址;然后直接跳转到SLWR_LOW状态设置USB的SLWR接口,表示开始向FIFO写;完成SLWR设定后跳转到DATA_WRITE状态,此状态是把TDC的数据放置到USB的数据总线上;完成数据放置后跳转到SLWR_HIGH状态,表示USB开始进行数据传输;当数据传输完成后跳转到WR_HALT状态挂起;如果不需要再进行传输则跳转会IDLE状态,否则一直处于WR_HALT自挂起状态。完成了USB的FPGA接口设计后,把TDC的数据通过USB传输到上位机,图10所示为上位机接收到的数据。TDC的数据是58 bit,USB是8 bit进行传输的,这里将对TDC的数据进行增加一定位数后传输:time_tdc[63:0]={8'd255,8'd0,tdc_time[45:30],2'd0,tdc_time[29:0]}。此时将把64 bit的time_tdc通过USB传输,这样将传输8次。将一次传输64 bit的time_tdc作为一帧数据,255,0为这一帧数据的头,后面48 bit数据为TDC的有效传输数据。
图10 上位机接收到的TDC数据
图11 单位为纳秒的TDC数据
4 数据处理及脉冲轮廓还原
通过USB得到TDC的数据后首先要对数据进行编码,以图10的255,0,2,142,23,288,195,142为例。首先要将这一帧的数据转化为单位为ns的数据,即Data=(2*256+142)*109+23*2563+228*2562+195*256+142。这部分处理是在MATLAB软件中进行转换的,图11所示为数据转换为纳秒为单位后的结果。
在得到图10所示的TDC数据后就可以利用历元叠加还原脉冲轮廓。首先将脉冲周期分成m等份,每等份为一个BIN(时间仓),BIN的大小为:?驻?子=T/m。Tp为光子到达时间数据,则光子到达时间、脉冲周期及光子的相位关系可以表示为:
每个光子对应的相位?子n的计算可以表示如下:
其中Txn表示第n个光子到达时间的细时间部分,根据式(1)、式(2)可以得到每个光子对应的相位?子n,将脉冲周期分成m等份,每一个等份为一个BIN,同时对应一个地址,地址范围可以表示为0~(m-1),则BIN的地址可以表示为:
所有的光子按其在单一脉冲中的相位值进行对齐后累加,各子相位区间的单脉冲事件的直方图就构成了脉冲星的累积脉冲轮廓。图12所示为历元叠加后的波形,其中线①为从NASA下载的B0531标准数据,线②为TDC产生的数据,两者的相似度达到95.38%。
5 总结
本文设计了X射线脉冲星导航系统的时间测量电路并得到脉冲到达时间。利用中国科学院西安光机所的X射线地面模拟系统对时间测量电路进行了测试,所得到的TDC数据与NASA下载的B0531的数据还原的脉冲轮廓相似度达到95.38%。达到了X射线脉冲星导航的精度要求,对在真实太空中实现脉冲导航起到了一定的参考作用。
参考文献
[1] SHEIKH S I.The use of variable celestial X-ray sources for spacecraft navigation[D].Maryland:University of Maryland,2005.
[2] 帅平,李明,陈绍龙.X射线脉冲星导航系统原理与方法[M].北京:中国宇航出版社,2009.
[3] SONG J,AN Q,LIU S.A high-resolution time-to-digital converter implemented in field programmable gate arrays[J].Nuclear Science,IEEE Transactions on,2006,53(1):236-241.
[4] DOWNS G S.Interplanetary navigation using pulsating radio sources[R].NASA Technical Report N74-34150,1974:1-12.
[5] GRAVEN P,COLLINS J,SHEIKH S,et al.XNAV for deep space navigation[C].Proceedings of 31st Annual AAS Guidance and Control Conference,2008.
[6] 盛立志.X射线脉冲星信号模拟源及探测器关键技术研究[D].西安:中科院西安光机所,2013.
[7] 周峰,吴光敏,赵宝升,等.基于X射线脉冲星导航的模拟调制仿真源的研究[J].物理学报,2013,62(11)572-577.
[8] 黄钧良.MAMA紫外探测器系统与高增益MCP[J].红外技术,1997,19(5):39-44.
[9] 苏弘,周波,李小刚,等.一种小型成形放大与峰保持电路[J].核电子学与探测技术,2004,24(6):268-570.
[10] 鄢秋荣.基于MCP位敏阳极探测器的时间相关单光子计数技术研究[D].北京:中国科学院研究生院,2012.
[11] 李玉忠.高速时间数字转换器设计与实现[D].长沙:国防科学技术大学,2008.
[12] 张敏.皮秒分辨率的FPGA-TDC技术研究[D].西安:西安电子科技大学,2013.