法律状态公告日
法律状态信息
法律状态
2019-02-26
授权
授权
2018-01-30
实质审查的生效 IPC(主分类):H04J3/06 申请日:20170922
实质审查的生效
2018-01-05
公开
公开
技术领域
本发明涉及数传技术领域,具体涉及一种抗空间单粒子翻转的并行加扰方法。
背景技术
在数传领域,为了便于定时恢复,信号在传输前需要进行加扰处理以改变其传输特性,加扰能够限制连“0”码或连“1”码的长度,在提高信号比特定时含量的同时,也使原始信息充分随机化。加扰编码器可以采用软件或硬件设计实现,而硬件实现编码效率更高,并且不需要占用CPU资源,因此在卫星通信中,一般采用FPGA实现的方法。SRAM型FPGA具有逻辑资源丰富、内部RAM多、速度高、可重配置等特点,是并行加扰设计的首选。但SRAM型FPGA受空间高能粒子影响较大,其内部缓存的扰码表很容易发生单粒子翻转,从而使数据出现误码,在单粒子环境严重的情况下,可能导致加扰功能完全失效,无法满足卫星等高可靠性产品的数据传输要求。因此在加扰编码器设计中必须考虑抗空间单粒子翻转的设计措施。
XILINX公司针对SRAM型FPGA的SEU问题提出了刷新、回读检测等方案,星上FPGA设计中还经常使用三模冗余设计,可以有效地缓解FPGA内部资源的单粒子翻转(SEU)效应,这为本发明的提出提供了可行性。本发明借鉴FPGA刷新以及三模冗余的思路,对扰码表进行刷新,并且在FPGA逻辑设计中对扰码表进行三取二设计,从而极大地提高加扰模块的抗单粒子翻转能力,并且避免了对FPGA器件本身进行三模冗余设计而付出速度的代价。
目前在并行加扰处理中采用的抗单粒子翻转的方法主要有:
毕占坤、苏绍景、张羿猛、黄芝平,“SDH骨干网并行加扰解扰技术研究”,光通信技术,2006年第5期,提出了一种基于矩阵推导的并行加扰解扰算法,适用于任意位宽的并行加扰解扰,动态生成扰码矩阵,但一旦发生单粒子翻转,必须等到下一个扰码循环序列才能恢复。
马寅、安军社、王连国、孙伟,“基于Scrubbing的空间SRAM型FPGA的抗单粒子翻转系统设计”,空间科学学报,2012/32(2)-270-07,对Xilinx公司Virtex-2系列xc2v3000器件提出了一种三模冗余加刷新的方法来阻止单粒子翻转的累积,但FPGA器件级三模冗余会明显降低器件速率,不适用于卫星高速数据处理领域。
专利申请号201410466486.8,名称“星载多载荷数据帧传输系统”,介绍了一种数传系统,动态生成扰码序列,将CRC校验后的数据直接进行加扰,一旦发生单粒子翻转,必须等到下一个扰码循环序列才能恢复。
发明内容
本申请提供一种抗空间单粒子翻转的并行加扰方法,包括步骤:
在FPGA内部创建第一扰码表、第二扰码表和第三扰码表;
根据加扰多项式采用8级移位寄存器动态生成扰码序列;
将生成的扰码序列按字节同时写入第一扰码表、第二扰码表和第三扰码表的相同地址中;
读取格式化数据的同时从第一扰码表读取第一扰码、从第二扰码表读取第二扰码和从第三扰码表读取第三扰码,并对第一扰码、第二扰码和第三扰码进行三取二操作获得最终扰码,第一扰码表、第二扰码表和第三扰码表的读取地址相同;
将最终扰码对读取的格式化数据进行加扰操作。
一种实施例中,格式化数据包括非加扰区和待加扰区,当处于格式化数据的非加扰区时间内,还包括对第一扰码表、第二扰码表和第三扰码表进行刷新操作的步骤。
一种实施例中,当无格式化数据传输时,还包括对第一扰码表、第二扰码表和第三扰码表进行刷新操作的步骤。
一种实施例中,第一扰码表、第二扰码表和第三扰码表的读取操作和刷新操作互斥。
一种实施例中,第一扰码表、第二扰码表和第三扰码表的写入数据宽度为8比特、深度为1024,读取数据宽度为64比特、深度为128。
一种实施例中,格式化数据的宽度为64比特。
依据上述实施例的并行加扰方法,由于在FPGA内部创建三份相同的扰码表,并对第一扰码、第二扰码和第三扰码进行三取二操作获得最终的扰码,通过三取二设计能够确保读取码表数据的正确性,三份码表同一位置同时发生单粒子翻转的概率极低,从而提高了并行加扰设计的抗单粒子翻转能力与可靠性。
附图说明
图1为抗空间单粒子翻转的并行加扰方法流程图;
图2为加扰原理图;
图3为加固后的扰码失效率类关系图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
本例提供一种抗空间单粒子翻转的并行加扰方法,其流程图如图1所示,具体包括如下步骤:
S1:在FPGA内部创建第一扰码表、第二扰码表和第三扰码表。
其中,第一扰码表、第二扰码表和第三扰码表是三份相同的扰码表,如,写入数据宽度为8比特、深度为1024,读取数据宽度为64比特、深度为128。
S2:根据加扰多项式采用8级移位寄存器动态生成扰码序列。
本例中,使用的是一个8级移位寄存器构成的加扰器,采用符合CCSDS标准的扰码生成多项式F(X)=X8+X7+X5+X3+1,该序列每255bit后重复,在每个同步周期内,该序列产生器重新初始化为“全1”状态。硬件结构原理图如附图2所示。
S3:将生成的扰码序列按字节同时写入第一扰码表、第二扰码表和第三扰码表的相同地址中。
将步骤S2中生成的扰码序列按字节同时写入三份扰码表的相同地址中,每写入一字节则扰码表的写地址加1。
S4:读取格式化数据的同时从第一扰码表读取第一扰码、从第二扰码表读取第二扰码和从第三扰码表读取第三扰码,并对第一扰码、第二扰码和第三扰码进行三取二操作获得最终的扰码。
本例的格式化数据位宽与扰码表读位宽一致,即,本例的格式化数据的宽度也为64比特,当格式化数据从FIFO中读取的同时,从三份扰码表相同地址中读取扰码,获得相应的第一扰码、第二扰码和第三扰码,并对第一扰码、第二扰码和第三扰码进行三取二操作获得最终扰码。
举例说明最终扰码的获取方式,假设从三份扰码表读取的扰码分别为PN1[63:0]、PN2[63:0]、PN3[63:0],则三取二后得到的最终扰码PN_code[63:0]为:
PN_code[63]=PN1[63]·PN2[63]+PN2[63]·PN3[63]+PN1[63]·PN3[63];
PN_code[62]=PN1[62]·PN2[62]+PN2[62]·PN3[62]+PN1[62]·PN3[62];
……
PN_code[1]=PN1[1]·PN2[1]+PN2[1]·PN3[1]+PN1[1]·PN3[1];
PN_code[0]=PN1[0]·PN2[0]+PN2[0]·PN3[0]+PN1[0]·PN3[0]。
另外,本例的格式化数据符合CCSDS标准AOS协议相关规定,帧长为1024字节,包括4字节帧头(非加扰区)与1020字节数据(待加扰区),进一步,当处于格式化数据的非加扰区时间内,还包括对第一扰码表、第二扰码表和第三扰码表进行刷新操作的步骤,或者,当无格式化数据传输时,还包括对第一扰码表、第二扰码表和第三扰码表进行刷新操作的步骤,即,本例在扰码表不读的时间段反复将动态生成的扰码序列写入扰码表,扰码表写地址从0~1023循环,即使发生单粒子翻转的寄存器也能在刷新操作中被纠正。
本例的第一扰码表、第二扰码表和第三扰码表的读取操作和刷新操作互斥,即当无格式化数据传输或者处于格式化数据的非加扰区时间时,允许扰码表写使能,而在待加扰区时间内扰码表写禁止,确保扰码表读写操作互斥。
在步骤S4中对第一扰码、第二扰码和第三扰码进行三取二操作及对扰码表进行刷新操作,在刷新前若扰码表发生单粒子翻转则可以通过三取二操作确保加扰的正确性,刷新后则发生单粒子翻转的区域被纠正,从而大大提高了并行加扰的抗单粒子翻转能力,提高并行加扰的抗单粒子翻转能力的预估如下:
扰码表因为采用了加固措施后,加固后的单粒子翻转率和加固前的单粒子翻转率存在一个比例值f,定义为单粒子翻转失效比率。
Rr=fR0;
式中,Rr——加固后的单粒子翻转率;
R0——加固前的单粒子翻转率;
f——单粒子翻转失效比率。
扰码表采用刷新及三取二的加固措施后,使得f不是一个单一数值,而是总的加固水平的综合体现,加固后的扰码失效率类关系图如图3所示。
刷新间隔时间定义为T刷新,假设输入的载荷数据一直处于满载荷状态,则T刷新达到最大值。满载荷状态下,在每一帧1024B的格式化数据的帧头非加扰区可以将扰码表刷新一个字节,1024B数据按照64位并行加扰,时钟频率40MHz,扰码表刷新一个字节的周期为(1024×8/64/40MHz)=3.2us,因此扰码表的最大刷新周期T刷新=3.2us×1024≈3.3ms,f刷新=T刷新/天=3.8E-8。
三取二设计之后,当扰码表一个地址中的某位数据发生翻转不会导致加扰错误,此时采用美宇航局经验公式,计算两位错误的翻转概率:
平均失效前时间:MTTF=2/B×(B-1)×T×W×λ2;
其中B:一个字中的BIT数;
λ:err/bit.day;
T:一天内访问一个周期的时间;
W:扰码表中字的数量
此例中:
B=8;
λ即单粒子翻转率R0;
T=(1024×8/64/40MHz×10E-6/3600)/24;
W=1024×3;
得到
上述计算得到的Error rate是三份扰码表中任意两位翻转的概率,而三取二设计失效仅当两份扰码表的同一位置的比特发生翻转,三份扰码表同一位置均发生翻转的概率相对于两份扰码表同一位置发生翻转的概率可忽略不计。因此:
通过芯片手册、芯片敏感性甄别、辐照试验等多种手段获取芯片级R0的参数,采用“低轨道500km,52°”的轨道参数,计算得R0=3.89E-4/bit天,因此:
f三取二=2.33E-9·3.89E-4=9.06E-13。
因此加固后,单粒子翻转失效比率f=f刷新·f三取二=3.44E-20。
通过上述分析可知,大大提高了并行加扰的抗单粒子翻转能力。
S5:将最终扰码对读取的格式化数据进行加扰操作。
将格式化数据与最终扰码PN_code[63:0]异或后输出。另外,采用FPGA逻辑设计进行三取二相对于器件级三模冗余对设计速率的降低要小得多,在XQR4VSX55-10CN1140V芯片上扰码表三取二前后设计速率的对比,三取二之前为139MHz,三取二之后为133MHz,对设计速率几乎无影响。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
机译: 通过异或运算将串行加扰器转换为并行加扰器,并行加扰器和双沿触发寄存器的方法
机译: 通过异或运算将串行加扰器转换为并行加扰器,并行加扰器和双沿触发寄存器的方法
机译: “提供一种用于提供抗单粒子翻转脉冲宽度调制器集成电路”