南京航空航天大学学报  2018, Vol. 50 Issue (S1): 28-32   PDF    
星载高速自适应SERDES传输系统设计
刘吉, 许鹏飞, 孙垂强, 李雄飞     
中国空间技术研究院西安分院, 西安, 710000
摘要: 针对目前星载处理类载荷数据处理量急剧增加的特点,提出了一种基于SERDES技术实现高速数据传输的方法。该方法通过对SERDES串行/解串原理的研究,采用了一种自适应调整SERDES输入参数的方法,解决了星载处理器要求的不同温度下FPGA芯片间高速串行数据传输固有的相位偏移的问题。实验结果表明,该方法实现了在-25~+60℃温度范围内78个通路,333 Mb/s速率的可靠数据传输,满足了项目的需求,在星上有效载荷芯片间高速数据传输中具有广阔的应用前景。
关键词: 星载处理类载荷     高速SERDES传输     相位偏移     自适应参数调整    
Design of High-Speed Adaptive SERDES Technology for Satellite Borne Processor
LIU Ji, XU Pengfei, SUN Chuiqiang, LI Xiongfei     
China Academy of Space Technology(Xi'an), Xi'an, 710000, China
Abstract: According to the characteristics of the rapid increase in the data processing for the satellite borne processor, a new method based on SERDES technology for high-speed transmission is proposed. Based on the principle of SERDES Serializer/Deserializer, the method adaptively adjusts the SERDES input parameter, and solves the problem of phase shift inherent in high-speed serial data transmission between FPGAs at different temperatures. Experimental result shows that the method can achieve the reliable data transmission of 333 Mb/s of 78 channels at the temperature range of -25℃ to +60℃, which meets project requirement and is transplantable. The research in the paper provides a wide application prospect in satellite high-speed data transmission.
Key words: satellite borne processor     high-speed SERDES transmission     phase shift     adaptive parameteradjustment    

随着中国空间技术的快速发展和用户需求的增加,卫星数字处理载荷的功能和要求日趋复杂,数字处理数据量急剧增加,这对数据传输技术提出了很高的要求[1-2]

目前卫星数字处理载荷大多使用现场可编程门阵列(Field programmable gate array,FPGA)芯片完成数字处理的功能,受宇航级器件性能的限制,复杂的数字处理功能需要多个芯片进行协作完成[3],这就需要芯片间完成大量的高速数据传输。传统的方式是采用并行数据传输,这需要大量占用芯片有限的IO资源,严重制约了系统性能的提升[4]

过去主要用于光纤通信的串行通信技术SERDES(Serializer/Deserializer,串化/解串器)正在取代传统的并行总线技术成为高速接口设计的主流[5],SERDES技术是一种时分多路复用,点对点的通信技术[6],在发送端将输入的并行数据转换为串行数据,再经传输线传递到接收端,在接收端再将串行信号转换成并行信号,这样可以减少传输线的数目,降低系统成本。同时作为现在多数高端FPGA上的一个特殊接口资源,SERDES技术成为解决星载高速数据传输的一种很好的方案[7-9]

由于卫星载荷工作环境的特殊性[10],通常要求星载设备在-25~+60 ℃能够正常工作,不同的温度工况给FPGA芯片间SERDES高速数据传输带来了较大的相位偏移,传统的固定时延的SERDES方案已经无法适应星载设备高速传输的要求,本文提出一种利用自适应调整SERDES输入参数的方法,解决不同温度下FPGA芯片间SERDES技术传输固有的相位偏移问题。该方案已经在某卫星通信载荷上得到了成功应用。

1 SERDES原语

以Xilinx FPGA的SERDES原语为例,分为OSERDES和ISERDES[11],SERDES接口的输入输出信号传输流程如图 1所示。

图 1 SERDES接口的输入输出信号示意图 Figure 1 Input and output signal of SERDES interface

OSERDES原语实现了采样时钟为CLKDIV_TX的低速并行数据转为采样时钟为CLK_TX的高速串行数据,ISERDES原语实现了采样时钟为CLK_RX的高速串行数据转为采样时钟为CLKDIV_RX的低速并行数据。需要注意的是,并转串直接用OSERDES原语实现低速并行数据到高速串行输出的转换,不需要设置相应的参数;而串转并使用ISERDES原语在接收高速串行数据时需要确定合适的采样时钟位置和输出并行数据的比特顺序才能保证数据的正确接收,采样时钟位置由参数IOBDELAY_VALUE(后文简称VALUE)进行调整,输出比特顺序由参数BITSLIP进行调整[12]

2 系统总体结构

图 2给出了使用SERDES接口的系统硬件组成,系统的FPGA芯片选用Xilinx公司的Virtex-4系列和Virtex-5系列,利用FPGA的SERDES接口实现了78路信号在FPGA之间进行数据传输,串行速率为333 Mb/s,并行传输速率为83.25 Mb/s,其中各FPGA之间传输39路信号,均为4 bit与1 bit进行并/串、串/并转换,39路信号中具体为1路4 bit训练序列信号,38路数据信号。

图 2 系统信号传输流向图 Figure 2 Transmission flow of system signal

并转串发送模块使用OSERDES原语,实现83.25 Mb/s的4 bit并行数据转为333 Mb/s的串行数据进行发送,串转并接收模块使用ISERDES原语,实现333 Mb/s的串行数据转为4 bit的83.25 Mb/s的并行数据进行接收。

硬件设计中,各FPGA之间的传输数据线采用等长设计,接收模块使用已知的训练序列进行训练,得出ISERDES原语需要的时钟偏移量VALUE值,并行比特顺序调整量BITSLIP值,其他数据传输线使用训练出的参数配置SERDES原语进行数据的正常接收。

3 自适应SERDES传输算法设计

串转并接收模块需要从高速串行数据中正确采样得到稳态的数据信息,再调整合适的并行数据比特顺序达到正确接收的目的(图 3)。其中,高速时钟与数据的采样位置通过ISERDES的输入参数VALUE值来调整,并行数据的比特顺序通过ISERDES的输入参数BITSLIP值来调整,一个BITSLIP脉冲使并行数据比特顺序改变一次,对于1转4的ISERDES原语,BITSLIP脉冲的数量有4种状态。传统的方法采用固定的VALUE值与BITSLIP值来进行正确接收,但固定参数的方法无法适应高低温变化带来的时钟相位偏移。本文提出了一种自适应参数变化的接收方法,通过发送已知的训练序列计算得到实时的输入参数。

图 3 串转并接收数据示意图 Figure 3 Receiving data with serial to parallel

图 4可以看出,SERDES串行传输通过调整VALUE值使时钟左右滑动以获得最佳的数据采样位置,VALUE取值的范围为0~63,每个VALUE值的调整步进量由SERDES原语的参考时钟决定,ISERDES原语要求的参考时钟范围为200±25 MHz[11]。以本系统为例,高速串行接收时钟CLK_RX为333 MHz,参考时钟为200 MHz,每一个VALUE值可调整的时钟偏移量为78 ps,通过VALUE值最大可调整的时钟与数据的位置变化范围约为5 ns,可以调整大约1.7倍的串行数据周期,图 4中对号的区域为正确传输的VAULE取值范围,在时钟滑动调整中,记第一个传输错误的VALUE点为FirstError点,第二次正确传输的点为SecondOK点。

图 4 VALUE值与时钟采样的关系 Figure 4 Relationship between VALUE and clock sampling

图 5给出了自适应调整VALUE值与BITSLIP调整量的算法流程图,具体的算法描述如下:

图 5 自适应传输算法流程图 Figure 5 Flow diagram of adaptive transmission algorithm

步骤1  接收训练序列,训练成功进行步骤2,否则持续调整VALUE值及BITSLIP调整量;

步骤2  持续调整VALUE值及BITSLIP调整量直到训练失败,记当前VALUE值为FirstError,转步骤3;

步骤3  持续调整VALUE值及BITSLIP调整量直到训练序列再次成功接收,记当前VALUE值为SecondOK,转步骤4;

步骤4  进行最终需要的VALUE值的计算,见式(1),转步骤5;

步骤5  在当前VALUE值下调整BITSLIP值直到训练序列正确接收,转步骤6;

步骤6  输出当前VALUE值与BITSLIP调整量,转步骤7;

步骤7  32路数据使用计算得到的VALUE值与BITSLIP调整量进行数据接收,转步骤8;

步骤8  训练序列继续进行实时训练,如正确,训练序列正常输出,否则转步骤1。

VALUE值的计算方法为

$ \left\{ \begin{array}{l} {\rm{VALUE = MidPoint + }}\mathit{X}, \ {\rm{MidPoint}} \le {\rm{32;}}\\ {\rm{VALUE = MidPoint - }}\mathit{X},\ {\rm{MidPoint > 32}} \end{array} \right. $ (1)

记(FirstError+SecondOK)/2=MidPoint,如图 4所示,即每个数据周期起始的位置。

式(1)中参数X的选取由高速串行时钟周期的一半和SERDES原语的参考时钟周期决定,X的调整量为数据周期的一半,本系统X取19,即调整量约为1.5 ns,数值32的选取为VALUE最大值的一半。

4 软硬件设计

通过大量的实验、调试及理论分析,本方案在软硬件设计时需要考虑以下3点内容,以提高系统工作的稳定性:

(1) 各FPGA之间用于传输训练序列的数据线与正常数据线需采用等长设计,保证训练序列传输线的偏移状态与数据传输线的偏移状态一致;

(2) ISERDES原语的参考时钟是时钟与数据采样位置调整的基准时钟,要求时钟频率为200±25 MHz,该时钟质量决定了数据传输的稳定性,建议参考时钟在软件设计中用独立的模块产生或在硬件设计中直接采用外挂晶振提供时钟的方式;

(3) 对于高速接口设计,FPGA程序资源占用量增大可能导致时钟扇出过大,这样在不同的温度下可能会影响高速接口传输的稳定性,建议在软件设计时将SERDES接口需要的时钟与其他处理时钟分开产生。

5 实验结果与分析

系统信号传输流向如图 2所示,其中FPGA1,2,4,5型号为Virtex-4系列,FPGA3型号为Virtex-5系列。实验分别对传统固定参数的SERDES配置方法和本文提出的自适应参数可变的传输方法在-25,25,60 ℃温度下进行了传输测试,其中Virtex-4 FPGA接收处理39路信号,Virtex-5 FPGA接收处理78路信号。

FPGA1,FPGA2利用OSERDES原语各发送39路并转串的信号,并行速率为83.25 Mb/s,串行速率为333 Mb/s,每一路实现4 bit转1 bit的传输;FPGA3利用ISERDES原语接收FPGA1,FPGA2共78路串转并的信号,实现1 bit高速串行数据转为4 bit低速并行数据的接收,FPGA3将接收的数据进行交换处理后再利用OSERDES原语进行并转串的发送;FPGA4,FPGA5利用ISERDES原语各进行39路串转并的数据接收。

实验中FPGA1,FPGA2发送已知波形的数据,利用ISE的Chipscope调试工具观测78路数据的接收情况,因为FPGA4,FPGA5为最后一级接收,只需要观测这两个芯片的接收正确与否就可以得到整个系统的传输状态。

5.1 传统固定参数的方法

传统方法采用遍历VALUE值与BITSLIP值最终固定一个合适的参数进行ISERDES原语参数配置,实现串转并信号的正常接收。但在程序进行时序改变时,可能需要重新进行遍历并确定合适的参数。

图 6显示了FPGA4中任意一路信号在常温25 ℃数据的接收情况,通过遍历所得到的VALUE值和BITSLIP调整量可以实现正确传输。

图 6 常温(25 ℃)下传统方法的数据接收 Figure 6 Receiving data with traditional method at normal temperature(25 ℃)

图 7中采用与图 6相同的参数,观测同一路信号,可见传输信号已经出现毛刺的现象,表明数据传输过程中出现误码。这是由于温度的变化带来了高速时钟的相位偏移,常温下选用的VALUE值无法匹配高温下数据传输。传统选用固定参数的方法无法适应温度变化带来的相位偏移。

图 7 高温(60 ℃)下传统方法的数据接收 Figure 7 Receiving data with traditional method at high temperature(60 ℃)

5.2 自适应调整SERDES输入参数的方法

图 8显示了FPGA4中接收的任意一路的数据,在低温(-25 ℃)、常温(25 ℃)、高温(60 ℃)不同温度范围下,通过长时间的观测,数据都可以正确并稳定地接收。本文提出的自适应调整SERDES参数的方法解决了FPGA芯片间不同温度下带来的时钟相位偏移的问题,通过实时地调整VALUE值和BITSLIP调整量来保证数据的稳定接收。

图 8 低温(-25 ℃)、常温(25 ℃)、高温(60 ℃)下自适应调整参数方法的数据传输 Figure 8 Receiving data with adaptive transmission method at different temperature(-25, 25, 60 ℃)

6 结束语

对于星载数字处理载荷芯片间数据高速传输的需求,本文利用FPGA芯片的SERDES接口,通过实时地计算输入参数,提出了一种自适应的高速数据传输的设计方法,解决了FPGA芯片间不同温度下多路SERDES接口传输固有的相位偏移问题。按照这种方法设计的高速数据传输方案,可以保证星载设备在要求的-25~+60 ℃温度范围内可靠稳定地进行数据传输,文中给出的实验结果说明了该方法的有效性。

参考文献
[1]
刘振华. 未来通信卫星的发展趋势[J]. 硅谷, 2014(9): 3–28. DOI:10.3969/j.issn.1671-7597.2014.09.019
LIU Zhenhua. The development trend of future communication satellite[J]. Silicon Valley, 2014(9): 3–28. DOI:10.3969/j.issn.1671-7597.2014.09.019
[2]
刘乃金, 陈东, 梁宗闯, 等. 移动通信卫星星载数字处理器件需求分析与方案设计[J]. 航天标准化, 2011(3): 13–17. DOI:10.3969/j.issn.1009-234X.2011.03.004
LIU Naijin, CHEN Dong, LIANG Zongchuang, et al. Demand analysis and scheme design of mobile communication satellite digital processor[J]. Space Standardization, 2011(3): 13–17. DOI:10.3969/j.issn.1009-234X.2011.03.004
[3]
刘军峰, 张彦, 马婷. 星载高速SERDES电路的设计与实现[J]. 空间电子技术, 2014, 4(13): 55–59.
LIU Junfeng, ZHANG Yan, MA Ting. The design and application of high-speed serdes circuit for satellite borne processor[J]. Space Electronic Technology, 2014, 4(13): 55–59.
[4]
李优杏, 周先敏, 吕红军.基于FPGA的SERDES接口设计与实现[C]//中国通信学会第五届学术年会.[
S.l.]: CST, 2008. LI Youxing, ZHOU Xianmin, LV Hongjun. Design and realization of SERDES interface base on FPGA[C].The 5th Annual Academic Conference of China Communication Association.[S.l]: CST, 2008.http://cpfd.cnki.com.cn/Article/CPFDTOTAL-ZGTH200802001004.htm
[5]
STAUFFER D R, MECHLER J T, SOMA M A. High-speed serdes devices and applications[M]. [S.l.]: Springer Science & Business Media, 2008.
[6]
LEWIS D. SERDES architectures and applications[C]//Proceedings of Euro Design Con. Chicago, USA: [s.n.], 2004.
[7]
王张萌.高速SERDES接口的关键电路设计[D].合肥: 合肥工业大学, 2012.
WANG Zhangmeng. The key circuits design of hign-speed SERDES interface[D]. Hefei: Hefei University of Technology, 2012.http://cdmd.cnki.com.cn/Article/CDMD-10359-1015709975.htm
[8]
张亚东.高速SERDES接口芯片中抖动仿真技术的研究[D].成都: 电子科技大学, 2013.
ZHANG Yadong. Research on jitter simulation technology applied in high-speed SERDES chip[D]. Chengdu: University of Electronic Science and Technology of China, 2013http://cdmd.cnki.com.cn/Article/CDMD-10614-1016176760.htm
[9]
ZHANG W, HU W, DING R. Research on high-speed asynchronous serial transmission based on 8b10b[M]. [S.l.]: Spring Berlin Heidelberg, 2011.
[10]
胡明亮.卫星单机的热分析仿真与测温研究[D].上海: 上海交通大学, 2008.
HU Mingliang.Research about the thermal simulation and infrared temperature measurement of satellite instruments[D]. Shanghai: Shanghai Jiaotong University, 2008.http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=D453630
[11]
XI LINX CORPORATION.Virtex-4 FPGA user guide[R].[S.l.]: Xilinx Inc, 2008.
[12]
刘丽格, 李天保, 石鑫刚. 一种板间高速传输系统的设计与实现[J]. 工程实践与应用技术, 2011, 37(4): 53–55.
LIU Lige, LI Tianbao, SHI Xingang. Design and implementation of a high-speed board-to-board transmission system[J]. Engineering Practice and Application Technology, 2011, 37(4): 53–55.