文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.07.018
中文引用格式: 陈啸,李广侠,李志强,等. 基于多片FPGA的FHDS卫星测控信号捕获设计[J].电子技术应用,2016,42(7):72-75.
英文引用格式: Chen Xiao,Li Guangxia,Li Zhiqiang,et al. Multi-FPGA acquisition of FHDS satellite TT&C signal[J].Application of Electronic Technique,2016,42(7):72-75.
0 引言
现场可编程门阵列(FPGA)具有可重复编程、开发周期短、运算能力强等特点,与外围电路、ADC芯片以及程序存储器(PROM)等配合能够实现复杂的通信和信号处理功能。随着微电子技术的发展,宇航级FPGA的硬件体系从问世时的1 200门发展到当今的数百万门甚至千万门级,为航天领域实时信号处理问题提供了解决平台[1]。
我国陆基卫星测控网和中继卫星测控均以直接序列扩频测控体制为主,具有抗干扰、测距精度较高、一站对多星测控等优点[2]。跳频和直接序列(FHDS)混合扩频测控信号综合了跳频扩频和直接序列扩频的优点,测控信号抗截获、抗干扰能力得到有效提升。与直扩信号相比,FHDS信号带宽更宽,相应的自相关函数峰也更窄,捕获时间搜索精度要求也随之提高。因此在设计跳扩测控信号接收机时捕获计算复杂度增加,在高等级宇航级芯片来源受控时,单片宇航级芯片单独工作无法保证捕获时间,需要采用多片FPGA设计方案[3]。
1 捕获模型与算法设计
1.1 捕获运算模型
首先分析捕获运算模型,以便划分各FPGA的数字信号处理功能。本地产生的中频跳扩频信号可表示为:
其中A为接收信号功率,τ表示收发信号之间时间差。若收发信机之间相对的径向运动速度为v,则跳频点fi处的多普勒频率满足:
跳扩信号参数设置如表1所示。
捕获运算的运算复杂度主要在于跳扩信号与跳扩信号取共轭后的滑动搜索-相关运算:
1.2 FPGA捕获分工与算法描述
为了解决高处理性能的宇航级FPGA货源不足条件下的捕获,需要设计适用于多片低处理性能FPGA的软件[8],将相关运算化解为:
捕获模型确定后,对捕获算法进行描述。多普勒并行搜索是分时进行的,每次搜索增加Δv,时域搜索通过多片FPGA并行完成。基于多片FPGA的捕获算法流程设计如下:
(1)将多普勒值和时延范围划分为若干个搜索单元,搜索粒度为:
(2)主FPGA完成跳频载波剥离。在搜索控制逻辑控制之下,解跳采用双路下变频器交替解跳。下变频器分为M个,每个下变频器负责Nhop/M个跳频点内信号的解跳,解跳总时长均为NhopTh。下变频器解跳输出下抽到2倍码片速率后,每个频点上的解跳结果补零到2L个数据点,L为2的整数次幂。将L个数据点存入FPGA中的RAM,进入步骤(3)。
(3)主FPGA完成码剥离。读取RAM中解跳结果,按照经典的FFT-IFFT码相关算法,进行Nhop次2L点FFT-IFFT运算,取出Nhop组L点相关结果,送入N片副FPGA中保存。
2 多片FPGA解决方案
2.1 硬件架构
Xilinx提供的宇航级芯片V4芯片具有丰富的逻辑资源和布线资源,能够完成乘法、存储、通信任务,其I/O资源也能满足多FPGA之间的通信需求。
基于多片FPGA的测控信号捕获的典型平台如图1所示,捕获硬件结构由模拟数字转换(ADC)、程序存储ROM(PROM)、跳扩码模块、时钟电路以及FPGA芯片组构成。FPGA芯片组采用的是“主从”星形结构,即主FPGA控制副FPGA进行工作,PROM共提供两套FPGA软件分别用于主FPGA和副FPGA。架构中各器件功能简介如下:
(1)双路ADC:将射频下变频到中频的跳扩信号进行模拟-数字转换,送入主FPGA。
(2)时钟单元:产生FPGA工作时钟。
(3)FPGA:完成基带数字信号处理功能。经过对芯片面积、逻辑资源、I/O资源分析,将FPGA功能划分为:主FPGA负责跳扩信号的解跳、捕获流程控制、多片FPGA之间通信控制;副FPGA在主FPGA控制下完成跳扩信号并行捕获;所有1+N片FPGA同步工作,工作时钟锁相到主FPGA工作时钟。
(4)PROM:用于存储FPGA配置信息,捕获系统加电时完成对FPGA的加载。PROM1连接到主FPGA的SelectMAP模式配置引脚,PROM2连接到副FPGA的配置引脚[9]。
2.2 主FPGA软件设计
主FPGA完成捕获控制、多FPGA通信和解跳解扩功能。模块间信号流图如图2所示,由于篇幅所限未标明时钟clk和复位rst信号。模块命名和功能如下:
(1)AcqCtrl:捕获总控制
捕获启动和停止,捕获流程控制,多FPGA极大值之间比较大小。
(2)Dehop:并行解跳
采用M个乘法器,实现时延范围为(M-1)Th的并行解跳,将解跳结果送入解扩模块。
(3)Despread:快速解直扩
完成直扩码剥离,进行码相关时长为1个跳频时段的直扩码滑动相关,将滑动相关运算的结果以Nhop为一组送到输出接口。
(4)FPGACom:片间通信
单跳相关峰输出,副FPGA控制接口,相关运算数据交换接口。
2.3 副FPGA软件设计
副FPGA的任务是完成码片以内的时间精细搜索和相关运算,比较得到该FPGA负责的时段内的极大值和捕获结果并送给主FPGA。逻辑功能划分如图3所示。
副FPGA子模块功能分别为:
(1)ScanCtrl:时延搜索控制
当主FPGA发出搜索指令,开始搜索。每次相乘累加比较大小后,时延搜索单元前进一格,搜索完成后退出。
(2)Dem:相乘累加
此模块中包含相位映射模块、复数乘法器(Multiply)和累加模块。
相位映射模块根据精细时延值计算出相位,查正弦表后得到正弦和余弦值。与接收的复数信号进行复数相乘和Nhop次累加运算后得到时长为ThNhop的相干累积结果。
(3)Compare:比较大小
按Dem输出的值和使能信号进行逐个比较,保留极大值及其对应精确时延,比较结束后输出最大值(Rmax,τn)送往主FPGA。
2.4 FPGA间通信设计
如图4所示,主FPGA与副FPGA之间的引脚连接须完成副FPGA捕获控制解决信号交互问题。信号交互接口分为两类,一类是主FPGA输出,包含搜索控制和预处理数据,在主FPGA内合路同时送往各个副FPGA。另一类是各副FPGA输出,将捕获搜索得到的极大值和捕获结果并行输入主FPGA。
3 实现情况
3.1 时钟与芯片资源使用
时钟速率可达200 MHz。面积占用:主FPGA占用60%,副FPGA占用78%。I/O资源占用:主FPGA占用70%,副FPGA占用50%。
3.2 试验结果
在以FPGA为处理核心的基带板上进行了实物验证,试验环境包括安捷伦E4438C信号源2台、XX型卫星应答机射频通道、基于单片Xilinx Virtex3的基带板一副、基于多片Virtex4的基带板一副,以及电源、连接线若干。V3基带板完成发送中频跳扩测控信号的功能,信号源负责信号上变频和射频加噪,应答机射频通道用于下变频,V4基带板实现跳扩测控信号的解跳解扩和捕获功能。
4 结束语
多FPGA设计可用于快速信号处理、军事目标匹配等方面。在FPGA芯片来源受限时,多FPGA能解决航天测控信号的捕获问题,其中FPGA之间的通信设计和捕获算法的逻辑分割是FPGA设计的关键。
参考文献
[1] 张承畅.多FPGA系统的关键问题及应用研究[D].重庆:重庆大学,2011.
[2] 于志坚.我国航天测控系统的现状与发展[J].中国工程科学,2006(10):42-46.
[3] 古海云,孙大有.多片FPGA系统互连结构研究[J].微电子学与计算机,2003,20(8):128-129.
[4] 程剑.基于变换域的卫星导航信号快速捕获研究与实现[D].南京:解放军理工大学,2007.
[5] 刘继承,邵定蓉.DS/FH混合扩频接收机解扩及同步技术的FPGA实现[J].电子技术应用,2003,29(1):56-59.
[6] 陈啸,李志强,朱文明,等.基于子带累积的DS/FH卫星测控信号捕获算法[J].飞行器测控学报,2013,32(1):61-65.
[7] 陈啸,李广侠,李志强,等.基于FPGA的低截获概率信号捕获系统[J].微型机与应用,2016,35(9):30-33.
[8] 海虎,李涛,韩俊刚,等.多态并行处理器的数据通信和路由器的设计[J].电子技术应用,2014,40(8):38-40.
[9] 赵陆文,缪志敏,张北江,等.利用PowerPC对多片FPGA并行配置的设计与实现[J].电子技术应用,2014,40(8):17-19.