CN103176934A - 基于fpga的容错异步串行收发器装置 - Google Patents

基于fpga的容错异步串行收发器装置 Download PDF

Info

Publication number
CN103176934A
CN103176934A CN2013100414318A CN201310041431A CN103176934A CN 103176934 A CN103176934 A CN 103176934A CN 2013100414318 A CN2013100414318 A CN 2013100414318A CN 201310041431 A CN201310041431 A CN 201310041431A CN 103176934 A CN103176934 A CN 103176934A
Authority
CN
China
Prior art keywords
input end
serial
output terminal
majority voting
transmitter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100414318A
Other languages
English (en)
Other versions
CN103176934B (zh
Inventor
苏弘
丁朋程
王晓辉
孔洁
千奕
佘乾顺
赵红赟
马晓利
牛晓阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Modern Physics of CAS
Original Assignee
Institute of Modern Physics of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Modern Physics of CAS filed Critical Institute of Modern Physics of CAS
Priority to CN201310041431.8A priority Critical patent/CN103176934B/zh
Publication of CN103176934A publication Critical patent/CN103176934A/zh
Application granted granted Critical
Publication of CN103176934B publication Critical patent/CN103176934B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本发明提出基于FPGA的容错异步串行收发器。本发明包括有数据发送器,数据接收器,扩展汉明码编码器,扩展汉明码解码器,多数表决器,少数表决器。对所有的模块分别做TMR处理。对于发送器,首先数据处理单元将要发送的数据送入扩展汉明码编码器,编码器将编码后的码字分别送入多数表决器,将多数表决器得到表决后的码字送入串行发送器中,串行发送器将并行数据转换成串行数据发送出去。对于接收器,将串行输入信号通过引脚输入到FPGA中,在FPGA中通过串行接收器实现接收数据的串并转换,串行接收器将串行数据转换成并行数据之后,送入解码器。

Description

基于FPGA的容错异步串行收发器装置
技术领域
本发明涉及通信和抗辐射容错技术领域。主要涉及利用FPGA实现抗辐射容错异步串行收发器。
背景技术
随着现代信息技术的不断发展,高速信息传输和高可靠性传输成为信息传输的主要发展方向。在星载设备、医疗设备中高可靠性传输尤为重要。不断进步的集成电路工艺使超大规模集成电路(VLSI)的集成度越来越高,速度越来越快,功耗越来越低,但同时也使VLSI的节点尺寸越来越小,导致临界电荷下降,降低了VLSI的单粒子效应(Single Event Effect,SEE)阈值,严重限制了高性能VLSI在太空等辐射环境中的应用。另外,由于器件工作在辐射环境,传输线路也要受到噪声的干扰。
UART的全称是通用异步收发器,是实现设备之间低速数据通信的标准协议。它具有使用简单,接线简单等优点。UART是广泛使用的串行数据传输协议。基本的UART通信只需2根信号线(RXD、TXD)就可以完成数据的相互通信。但现有的UART协议,只有一位奇偶校验位,只能检测传输过程中发生的错误,不能纠正因信道干扰造成的数据错误。另一方面,现有的UART接收器和发送器不具有容错能力,当器件发生单粒子翻转(Single EventUpset,SEU)时,整个电路便不能正常工作。
针对UART的存在的问题,雷斌,王宁等人于2009年12月在西安工业大学学报第29卷第6期发表《FPGA的汉明码数据传输系统的设计》,提出的汉明传输系统能够使得数据在信道中提高抗干扰能力,对发送错误的数据能够纠错,但发送器和接收器不具有抗SEU的能力,且只能纠正一位错误。另一方面,韩月涛,潘伟萍等人于2011年3月在电子测量技术杂志上发表《基于FPGA的三模冗余UART电路设计》,提出了UART发送器和接收器加固方法,但文章只对串并转换和并串转换部分,做了局部的三模冗余。整个设计的多数表决器是单点,如果它受到单粒子的影响发生错误,导致整个输出会产生错误。特别对SRAM型FPGA而言,器件更容易受到SEU的影响。
针对以上两种设计的不足,本发明提出了一种基于FPGA的容错异步串行收发器装置,整个设计做三模冗余加固(Triple Modular Redundancy,TMR),包括通过对接收器、发送器以及输入/输出(I/O)口等,TMR是指对功能单元采用3个完全相同的模块,互为备份,以达到最佳的抗单粒子翻转效果,使得接收器和发送器具有抗辐射性能。同时,为了提高通信性能,使传输信号更好地抵抗噪声、干扰的影响,对发送信息数据进行信道编码,接收到的数据进行信道解码,使得数据传输更具有可靠性。
发明内容
本发明的目的在于避免现有技术的不足,提供了一种基于FPGA的容错异步串行收发器装置。以解决UART的发送器和接收器受到高能射线的照射而发生单粒子翻转(SEU)和数据通信中检错和纠错的问题。
实现上述目的,本发明采取的技术方案为:一种基于FPGA的容错异步串行收发器装置,其主要特点是包括有发送器和接收器,所述的发送器数据处理单元与第一编码器、第二编码器、第三编码器并联;第一编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接,第二编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接,第三编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接;第一发送多数表决器的输出端、第二发送多数表决器的输出端、第三发送多数表决器的输出端分别连接串行发送器TMR的输入端;串行发送器TMR的输出端连接第一少数表决器的P输入端,同时连接第一输出缓存器的输入端、第二少数表决器的R1输入端和连接第三少数表决器的R2输入端;串行发送器TMR的输出端连接第一少数表决器的R1输入端,同时连接第二输出缓存器的输入端、第二少数表决器的P输入端和连接第三少数表决器的R1输入端;串行发送器TMR的输出端连接第一少数表决器的R2输入端,同时连接第三输出缓存器的输入端、第二少数表决器的R2输入端和连接第三少数表决器的P输入端;第一少数表决器的输出端与第一输出缓存器控制端连接,第二少数表决器的输出端与第二输出缓存器控制端连接,第三少数表决器的输出端与第三输出缓存器控制端连接,第一输出缓存器的输出端连接FPGA的第一输出引脚、第二输出缓存器的输出端连接FPGA的第二输出引脚、第三输出缓存器的输出端连接FPGA的第三输出引脚。
所述的基于FPGA的容错异步串行收发器装置,所述的接收器包括有数据第一引脚、数据第二引脚、数据第三引脚分别连接串行接收器TMR的输入端,串行接收器TMR的输出端通过第一解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;串行接收器TMR的输出端通过第二解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;串行接收器TMR的输出端通过第三解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;第一接收多数表决器的输出端、第二接收多数表决器的输出端、第三接收多数表决器的输出端分别连接数据处理单元。
所述的基于FPGA的容错异步串行收发器装置,所述的FPGA的第一输出引脚、第二输出引脚、第三输出引脚相连接,将信号传输到下一级进行数据处理。
所述的基于FPGA的容错异步串行收发器装置,还包括有所述的第一编码器、第二编码器、第三编码器为扩展汉明码编码器;第一解码器、第二解码器、第三解码器为扩展汉明码解码器。
所述的基于FPGA的容错异步串行收发器装置,所述的第一发送多数表决器、第二发送多数表决器、第三发送多数表决器为三个两输入与门和一个三输入或门组成。
所述的基于FPGA的容错异步串行收发器装置,所述的第一少数表决器,第二少数表决器、第三少数表决器为二个三输入与门和一个两输入或门组成。
所述的基于FPGA的容错异步串行收发器装置,所述的串行接收器TMR包括有电路相同的并联的第一串行接收器、第二串行接收器、第三串行接收器,所述的第一串行接收器包括有同步器经滤波器与串并转换器的输入端和起始信号检测的输入端连接;波特率发生器的输出端与起始信号检测的输出端分别与接收控制状态机的输入端连接,第一串行接收器的接收控制状态机的输出端、第二串行接收器的接收控制状态机的输出端、第三串行接收器的接收控制状态机的输出端分别连接第一多数表决器组的输入端,第一多数表决器组的输出端分别连接第一串行接收器的接收控制状态机的输入端、第二串行接收器的接收控制状态机的输入端、第三串行接收器的接收控制状态机的输入端;接收控制状态机的输出端连接串并转换器的输入端,第一串行接收器的串并转换器的输出端、第二串行接收器串并转换器的输出端、第三串行接收器的串并转换器的输出端分别连接第二多数表决器组的输入端,第二多数表决器组的输出端向解码器连接。
所述的基于FPGA的容错异步串行收发器装置,所述的发送多数表决器的数量或所述的接收多数表决器的数量由数据的位宽决定。
所述的基于FPGA的容错异步串行收发器装置,所述的串行发送器TMR包括有电路相同的并联的第一串行发送器、第二串行发送器、第三串行发送器,所述的第一串行发送器包括有数据锁存与并串转换器的输入端连接;波特率发生器的输出端与发送控制状态机的输入端连接,第一串行发送器的发送控制状态机的输出端、第二串行发送器的发送控制状态机的输出端、第三串行发送器的发送控制状态机的输出端分别连接第一多数表决器组的输入端,第一多数表决器组的输出端分别连接第一串行发送器的发送控制状态机的输入端、第二串行发送器的发送控制状态机的输入端、第三串行发送器的发送控制状态机的输入端;发送控制状态机的输出端连接并串转换器的输入端,第一串行发送器的并串转换器的输出端、第二串行发送器并串转换器的输出端、第三串行发送器的并串转换器的输出端分别连接第二多数表决器组的输入端,第二多数表决器组的输出端向少数表决器输出。
本发明的有益效果在于:
1 通过分别对接收器和发生器进行三模冗余(TMR)实现,使得接收器和发生器能够抗SEU。
2 对原始的信息数据进行信道编码,能够对信道有更高的容忍度,同时对编码和解码模块分别做TMR加固。
整个设计在FPGA中实现,能够很方便地应用到高可靠数据传输系统中。有效解决了收发器的抗单粒子效应和减小数据传输中受到信道干扰的影响。是一种极具吸引力的数据传输技术。
附图说明
图1为本发明的容错异步串行收发器框图示意图;
图2多数表决器实现电路;
图3少数表决器实现电路;
图4为本发明的串行发送器接收器TMR框图示意图;
图5为本发明的多数表决器组的结构示意图;
图6为本发明的串行接收器TMR框图示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明以FPGA为实现器件,以UART为参考模型,用硬件描述语言(HDL)实现。包括扩展汉明码编解码、扩展汉明码解码器、串行接收器、串行发送器、多数表决器、少数表决器,以及整个的设计的三模冗余的实现。
实施例:见图1,一种基于FPGA的容错异步串行收发器装置,包括有发送器和接收器,所述的发送器数据处理单元1与第一编码器2-1、第二编码器2-2、第三编码器2-3并联;第一编码器2-1的输出端分别与第一发送多数表决器3-1的输入端、第二发送多数表决器3-2的输入端、第三发送多数表决器3-3的输入端连接,第二编码器2-2的输出端分别与第一发送多数表决器3-1的输入端、第二发送多数表决器3-2的输入端、第三发送多数表决器3-3的输入端连接,第三编码器2-3的输出端分别与第一发送多数表决器3-1的输入端、第二发送多数表决器3-2的输入端、第三发送多数表决器3-3的输入端连接;第一发送多数表决器3-1的输出端、第二发送多数表决器3-2的输出端、第三发送多数表决器3-3的输出端分别连接串行发送器TMR4的输入端;串行发送器TMR4的输出端4-5-1连接第一少数表决器5-1的P输入端,同时连接第一输出缓存器6-1的输入端、第二少数表决器5-2的R1输入端和连接第三少数表决器5-3的R2输入端;串行发送器TMR4的输出端4-5-2连接第一少数表决器5-1的R1输入端,同时连接第二输出缓存器6-2的输入端、第二少数表决器5-2的P输入端和连接第三少数表决器5-3的R1输入端;串行发送器TMR4的输出端4-5-3连接第一少数表决器5-1的R2输入端,同时连接第三输出缓存器6-3的输入端、第二少数表决器5-2的R2输入端和连接第三少数表决器5-3的P输入端;第一少数表决器5-1的输出端与第一输出缓存器6-1控制端连接,第二少数表决器5-2的输出端与第二输出缓存器6-2控制端连接,第三少数表决器5-3的输出端与第三输出缓存器6-3控制端连接,第一输出缓存器6-1的输出端连接FPGA的第一输出引脚7-1、第二输出缓存器6-2的输出端连接FPGA的第二输出引脚7-2、第三输出缓存器6-3的输出端连接FPGA的第三输出引脚7-3。
见图1,所述的接收器包括数据第一引脚8-1、数据第二引脚8-2、数据第三引脚8-3分别连接串行接收器TMR9的输入端,串行接收器TMR9的输出端9-5-1通过第一解码器10-1连接第一接收多数表决器11-1的输入端、第二接收多数表决器11-2的输入端、第三接收多数表决器11-3的输入端;串行接收器TMR9的输出端9-5-2通过第二解码器10-2连接第一接收多数表决器11-1的输入端、第二接收多数表决器11-2的输入端、第三接收多数表决器11-3的输入端;串行接收器TMR9的输出端9-5-3通过第三解码器10-3连接第一接收多数表决器11-1的输入端、第二接收多数表决器11-2的输入端、第三接收多数表决器11-3的输入端;第一接收多数表决器11-1的输出端、第二接收多数表决器11-2的输出端、第三接收多数表决器11-3的输出端分别连接数据处理单元1。
见图1,本发明分为数据发送器和数据接收器两部分。对于发送器,首先数据处理单元将要发送的同一数据分为一式三份分别送入扩展汉明码编码器,编码器将编码后的码字分别送入多数表决器,将多数表决器得到表决后的码字送入串行发送器中,串行发送器将并行数据转换成串行数据,通过少数表决器控制输出缓存器将串行数据通过FPGA引脚发送发生出去。在电路板上需要将输出的三个引脚连接在一起,将信号传输到下一级进行数据处理。
对于接收器,将串行输入的同一信号分别通过三个引脚输入到FPGA中,在FPGA中通过串行接收器实现接收数据的串并转换,其中对串行接收器是做了三模冗余,因此串行接收器也是三路相同的串行输入数据和三路相同的并行输出数据。串行接收器将串行数据转换成并行数据之后,分别送入三个解码器,解码器不仅可以对接收到码字做译码得到正确的信息数据,而且如果在传输过程中,由于信道受到的干扰或发送数据本身受到SEU发送翻转,解码器可以对错误数据进行纠正,同时得到错误信息。
所述的FPGA的第一输出引脚7-1、第二输出引脚7-2、第三输出引脚7-3相连接,将信号传输到下一级进行数据处理。
所述的第一编码器2-1、第二编码器2-2、第三编码器2-3为扩展汉明码编码器;第一解码器10-1、第二解码器10-2、第三解码器10-3为扩展汉明码解码器。
见图4,所述的串行发送器TMR4包括有电路相同的并联的第一串行发送器4-1、第二串行发送器4-2、第三串行发送器4-3,所述的第一串行发送器4-1包括有数据锁存4-1-1与并串转换器4-1-4的输入端连接;波特率发生器4-1-2的输出端与发送控制状态机4-1-3的输入端连接,第一串行发送器4-1的发送控制状态机4-1-3的输出端、第二串行发送器4-2的发送控制状态机的输出端、第三串行发送器4-3的发送控制状态机的输出端分别连接第一多数表决器组4-4的输入端,第一多数表决器组4-4的输出端分别连接第一串行发送器4-1的发送控制状态机4-1-3的输入端、第二串行发送器4-2的发送控制状态机的输入端、第三串行发送器4-3的发送控制状态机的输入端;发送控制状态机4-1-3的输出端连接并串转换器4-1-4的输入端,第一串行发送器4-1的并串转换器4-1-4的输出端、第二串行发送器4-2并串转换器的输出端、第三串行发送器4-3的并串转换器的输出端分别连接第二多数表决器组4-5的输入端,第二多数表决器组4-5的输出端向少数表决器5输出。
见图5,所述的发送多数表决器3的数量或所述的接收多数表决器11的数量由数据的位宽决定。
见图6,所述的串行接收器TMR9包括有电路相同的并联的第一串行接收器9-1、第二串行接收器9-2、第三串行接收器9-3,所述的第一串行接收器9-1包括有同步器9-1-1经滤波器9-1-6与串并转换器9-1-4的输入端和起始信号检测9-1-5的输入端连接;波特率发生器9-1-2的输出端与起始信号检测9-1-5的输出端分别与接收控制状态机9-1-3的输入端连接,第一串行接收器9-1的接收控制状态机9-1-3的输出端、第二串行接收器9-2的接收控制状态机的输出端、第三串行接收器9-3的接收控制状态机的输出端分别连接第一多数表决器组9-4的输入端,第一多数表决器组9-4的输出端分别连接第一串行接收器9-1的接收控制状态机9-1-3的输入端、第二串行接收器9-2的接收控制状态机的输入端、第三串行接收器9-3的接收控制状态机的输入端;接收控制状态机9-1-3的输出端连接串并转换器9-1-4的输入端,第一串行接收器9-1的串并转换器9-1-4的输出端、第二串行接收器9-2串并转换器的输出端、第三串行接收器9-3的串并转换器的输出端分别连接第二多数表决器组9-5的输入端,第二多数表决器组9-5的输出端向解码器连接。
多数表决器的实现:
所述的基于FPGA的容错异步串行收发器装置,所述的第一发送多数表决器3-1、第二发送多数表决器3-2、第三发送多数表决器3-3由三个两输入与门和一个三输入或门组成。
多数表决器通常用于三模冗余(TMR)数据的容错,即将三路信号变为一路,去除错误数据的影响。如表1多数表决器采用三取二判决算法对运算结果进行TMR处理:
表1 多数表决器的真值表:
A B C V
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
A、B、C是单比特的数据位宽,如真值表所示V输出结果是A、B、C多数选择。真值表如表1,具体实现电路如图2,表决器个数取决于数据的位宽,即表决器的个数为输出数据的位宽。
少数表决器实现:
所述的基于FPGA的容错异步串行收发器装置,所述的第一少数表决器5-1,第二少数表决器5-2、第三少数表决器5-3由二个三输入与门和一个两输入或门组成。
输出是整个TMR策略的关键,由于全部的电路做TMR,必须要一种方法使得所有的三模冗余逻辑路径会聚到一条路径,并且不能出现单点失效,这才能完成TMR的输出。本发明采用少数表决器的方式实现。
一个TMR输出构建采用了输出缓存器(OBUFT)。每个冗余逻辑路径的输出通过OBUFT。每个OBUFT则由少数表决器控制。少数表决器表明是否主路径与其他两条路径相同。如果主路径至少与其中一条冗余路径相同,则认为主路径是属于多数。如果主路径与两条冗余路径都不同则认为主路径是少数。少数表决器真值表如表2,具体实现电路如图3所示,如果主路径是多数,则少数表决器相应地使能OBUFT,允许数据通过主路径驱动引脚。如果主路径不是多数,则不使能OBUFT,使路径呈高阻状态,从而允许冗余路径输出驱动正确的数据。在FPGA的外部三个输出口在电路板上用引线连接在一起,这种结构不会引起任何冲突。
表2少数表决器的真值表:
P R1 R2 Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
汉明编码器
所述的基于FPGA的容错异步串行收发器装置,还包括有所述的第一编码器2-1、第二编码器2-2、第三编码器2-3为扩展汉明码编码器;第一解码器10-1、第二解码器10-2、第三解码器10-3为扩展汉明码解码器。
本发明中每次发送的数据为一个字节,所以编码器采用(13,8)扩展汉明码,信息数据为8位,校验位为5位。编码器由异或运算构成,若添加一个可选的流水线级数,可进一步改进性能。其生成码字格式为A=[p4,d7,d6,d5,d4,p3,d3,d2,d1,p2,d0,p1,p0],校验位计算公式如下:
p 0 = d 0 ⊕ d 1 ⊕ d 3 ⊕ d 4 ⊕ d 6
p 1 = d 0 ⊕ d 2 ⊕ d 3 ⊕ d 5 ⊕ d 6
p 2 = d 1 ⊕ d 2 ⊕ d 3 ⊕ d 7
p 3 = d 4 ⊕ d 5 ⊕ d 6 ⊕ d 7
p 4 = d 0 ⊕ d 1 ⊕ d 2 ⊕ d 3 ⊕ d 4 ⊕ d 5 ⊕ d 6 ⊕ d 7 ⊕ p 3 ⊕ p 2 ⊕ p 1 ⊕ p 0
汉明解码器
解码器单元由三个模块组成:
1.校正子(Syndrome)生成模块。
2.掩码(Mask)生成模块。
3.数据校正(Data correction)模块。
设由串行接收器接收到的码字为R=[b4,r7,r6,r5,r4,b3,r3,r2,r1,b2,r0,b1,b0],把数据存入寄存器中,数据为8位,校验位为5位。校正子S=[s4,s3,s2,s1,s0]。校正子计算公式如下:
s 0 = r 0 ⊕ r 1 ⊕ r 3 ⊕ r 4 ⊕ r 6 ⊕ b 0
s 1 = r 0 ⊕ r 2 ⊕ r 3 ⊕ r 5 ⊕ r 6 ⊕ b 1
s 2 = r 1 ⊕ r 2 ⊕ r 3 ⊕ r 7 ⊕ b 2
s 3 = r 4 ⊕ r 5 ⊕ r 6 ⊕ r 7 ⊕ b 3
s 4 = r 0 ⊕ r 1 ⊕ r 2 ⊕ r 3 ⊕ r 4 ⊕ r 5 ⊕ r 6 ⊕ r 7 ⊕ b 3 ⊕ b 2 ⊕ b 1 ⊕ b 0 ⊕ b 4
可得到其监督矩阵如下:
H = 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1
由监督矩阵H可以得到(13,8)扩展汉明码校正子与误码位置的关系如下:
表3:(13,8)扩展汉明码校正子与误码位置的关系
s4s3s2s1s0 误码位置 s4s3s2s1s0 误码位置
10001 b0 11000 b3
10010 b1 11001 r4
10011 r0 11010 r5
10100 b2 11011 r6
10101 r1 11100 r7
10110 r2 10000 b4
10111 r3 00000 无误码
根据监督矩阵得到误码位置,由此得到相应的掩码,再把接收到的数据和掩码做异或运算便可纠正错误数据。由于本发明采用扩展汉明码,所以对接收到的数据纠一检二。
传输协议数据单元:
为了能使发送器和接收器相互通信,本发明设计了如表4所示的传输协议数据单元。
表4传输协议数据单元:
Figure BDA00002810279200131
本协议参考UART协议,在空闲时,数据总线为高电平。传输协议数据单元包括:一个起始位,编码后的码字和停止位。
起始位:总线在空闲时,总线为高电平,当数据传输时,首先发送一个“起始位”,起始位为一个低电平。
编码后的码字:包括数据位和校验位,总共为13比特。在起始位之后,紧接着发送编码后的码字,码字的发送顺序如表4所示,数据发送从左到右。
停止位:当数据发送结束时,以停止位作为停止标志,停止位为高电平。
串行接收器和发送器都采用此传输协议数据单元。
串行发送器TMR的设计:
图4首先将要发送的并行数据锁存,波特率发送器产生发送数据时钟。通过发送控制状态机实现数据并串转换。串行发送器的每个模块都做TMR,特别发送控制状态机通过多数表决器组实现TMR,在状态转换过程中触发器发送翻转时可以纠正其结果。波特率由波特率发送器决定,在数据传输过程中发送器和接收器的波特率要设置一致。
图5多数表决器组的结构,多数表决器组是为了防止控制状态机在状态转换时,寄存器发生SEU,导致整个设备不能工作。
串行接收器TMR的设计
见图6,首先对异步输入信号用两级D触发器做同步处理,使得输入信号同步化,减少系统的亚稳态。再经过数字滤波器。数字滤波是用高频时钟信号采样输入信号,对采样的三个点中的数据,如果其中两个点的数据是1则判断输入信号为1。通过滤波后的信号分别送入串并转换器和起始信号检测器中,如果信号由高电平变为低电平,则判断数据开始传输,启动状态机实现串并转换。将得到的并行数据送入多数表决器组,再送入解码器中。串行接收器的每个模块都做TMR,特别接收控制状态机要通过多数表决器组实现TMR,可以在状态转换过程中触发器发送翻转时纠正其结果。
使用时,发送器和接收器同时使用,波特率设定一致。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于FPGA的容错异步串行收发器装置,其特征是包括有发送器和接收器,所述的发送器数据处理单元与第一编码器、第二编码器、第三编码器并联;第一编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接,第二编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接,第三编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接;第一发送多数表决器的输出端、第二发送多数表决器的输出端、第三发送多数表决器的输出端分别连接串行发送器TMR的输入端;串行发送器TMR的输出端连接第一少数表决器的P输入端,同时连接第一输出缓存器的输入端、第二少数表决器的R1输入端和连接第三少数表决器的R2输入端;串行发送器TMR的输出端连接第一少数表决器的R1输入端,同时连接第二输出缓存器的输入端、第二少数表决器的P输入端和连接第三少数表决器的R1输入端;串行发送器TMR的输出端连接第一少数表决器的R2输入端,同时连接第三输出缓存器的输入端、第二少数表决器的R2输入端和连接第三少数表决器的P输入端;第一少数表决器的输出端与第一输出缓存器控制端连接,第二少数表决器的输出端与第二输出缓存器控制端连接,第三少数表决器的输出端与第三输出缓存器控制端连接,第一输出缓存器的输出端连接FPGA的第一输出引脚、第二输出缓存器的输出端连接FPGA的第二输出引脚、第三输出缓存器的输出端连接FPGA的第三输出引脚。
2.如权利要求1所述的基于FPGA的容错异步串行收发器装置,其特征是所述的接收器包括有数据第一引脚、数据第二引脚、数据第三引脚分别连接串行接收器TMR的输入端,串行接收器TMR的输出端通过第一解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;串行接收器TMR的输出端通过第二解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;串行接收器TMR的输出端通过第三解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;第一接收多数表决器的输出端、第二接收多数表决器的输出端、第三接收多数表决器的输出端分别连接数据处理单元。
3.如权利要求1所述的基于FPGA的容错异步串行收发器装置,其特征是所述的FPGA的第一输出引脚、第二输出引脚、第三输出引脚相连接,将信号传输到下一级进行数据处理。
4.如权利要求1或2所述的基于FPGA的容错异步串行收发器装置,其特征是还包括有所述的第一编码器、第二编码器、第三编码器为扩展汉明码编码器;第一解码器、第二解码器、第三解码器为扩展汉明码解码器。
5.如权利要求1所述的基于FPGA的容错异步串行收发器装置,其特征是所述的第一发送多数表决器、第二发送多数表决器、第三发送多数表决器为三个两输入与门和一个三输入或门组成。
6.如权利要求1所述的基于FPGA的容错异步串行收发器装置,其特征是所述的第一少数表决器,第二少数表决器、第三少数表决器为二个三输入与门和一个两输入或门组成。
7.如权利要求1所述的基于FPGA的容错异步串行收发器装置,其特征是所述的串行接收器TMR包括有电路相同的并联的第一串行接收器、第二串行接收器、第三串行接收器,所述的第一串行接收器包括有同步器经滤波器与串并转换器的输入端和起始信号检测的输入端连接;波特率发生器的输出端与起始信号检测的输出端分别与接收控制状态机的输入端连接,第一串行接收器的接收控制状态机的输出端、第二串行接收器的接收控制状态机的输出端、第三串行接收器的接收控制状态机的输出端分别连接第一多数表决器组的输入端,第一多数表决器组的输出端分别连接第一串行接收器的接收控制状态机的输入端、第二串行接收器的接收控制状态机的输入端、第三串行接收器的接收控制状态机的输入端;接收控制状态机的输出端连接串并转换器的输入端,第一串行接收器的串并转换器的输出端、第二串行接收器串并转换器的输出端、第三串行接收器的串并转换器的输出端分别连接第二多数表决器组的输入端,第二多数表决器组的输出端向解码器连接。
8.如权利要求1所述的基于FPGA的容错异步串行收发器装置,其特征是所述的发送多数表决器的数量或所述的接收多数表决器的数量由数据的位宽决定。
9.如权利要求1所述的基于FPGA的容错异步串行收发器装置,其特征是所述的串行发送器TMR包括有电路相同的并联的第一串行发送器、第二串行发送器、第三串行发送器,所述的第一串行发送器包括有数据锁存与并串转换器的输入端连接;波特率发生器的输出端与发送控制状态机的输入端连接,第一串行发送器的发送控制状态机的输出端、第二串行发送器的发送控制状态机的输出端、第三串行发送器的发送控制状态机的输出端分别连接第一多数表决器组的输入端,第一多数表决器组的输出端分别连接第一串行发送器的发送控制状态机的输入端、第二串行发送器的发送控制状态机的输入端、第三串行发送器的发送控制状态机的输入端;发送控制状态机的输出端连接并串转换器的输入端,第一串行发送器的并串转换器的输出端、第二串行发送器并串转换器的输出端、第三串行发送器的并串转换器的输出端分别连接第二多数表决器组的输入端,第二多数表决器组的输出端向少数表决器输出。
CN201310041431.8A 2013-02-01 2013-02-01 基于fpga的容错异步串行收发器装置 Expired - Fee Related CN103176934B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310041431.8A CN103176934B (zh) 2013-02-01 2013-02-01 基于fpga的容错异步串行收发器装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310041431.8A CN103176934B (zh) 2013-02-01 2013-02-01 基于fpga的容错异步串行收发器装置

Publications (2)

Publication Number Publication Date
CN103176934A true CN103176934A (zh) 2013-06-26
CN103176934B CN103176934B (zh) 2015-10-28

Family

ID=48636823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310041431.8A Expired - Fee Related CN103176934B (zh) 2013-02-01 2013-02-01 基于fpga的容错异步串行收发器装置

Country Status (1)

Country Link
CN (1) CN103176934B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795499A (zh) * 2014-01-21 2014-05-14 北京空间飞行器总体设计部 一种卫星载荷高速串口检错纠错方法
CN103901342A (zh) * 2014-03-18 2014-07-02 北京时代民芯科技有限公司 一种基于掩码文件的fpga精确故障注入系统及方法
CN106531224A (zh) * 2016-10-25 2017-03-22 哈尔滨工业大学 一种基于sram型fpga的ram数据可靠性加固装置及方法
CN109669823A (zh) * 2018-12-03 2019-04-23 中国工程物理研究院电子工程研究所 基于改进型三模冗余系统的抗多位翻转错误芯片加固方法
CN109995465A (zh) * 2017-12-29 2019-07-09 深圳超级数据链技术有限公司 一种重叠复用系统及其处理方法和装置
CN113721135A (zh) * 2021-07-22 2021-11-30 南京航空航天大学 一种sram型fpga故障在线容错方法
CN114696969A (zh) * 2022-06-01 2022-07-01 南京邮电大学 基于交织异或算法的串行uart编解码结构及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘斐文: "基于FPGA动态重构的数字系统容错设计技术研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *
刘涛 等: "TMR加固的SpaceWire节点的设计与实现", 《航天返回与遥感》 *
栾晓娜 等: "基于SRAM的FPGA片上容错技术", 《航天器工程》 *
韩月涛 等: "基于FPGA的三模冗余UART电路设计", 《电子测量技术》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795499A (zh) * 2014-01-21 2014-05-14 北京空间飞行器总体设计部 一种卫星载荷高速串口检错纠错方法
CN103795499B (zh) * 2014-01-21 2017-02-08 北京空间飞行器总体设计部 一种卫星载荷高速串口检错纠错方法
CN103901342A (zh) * 2014-03-18 2014-07-02 北京时代民芯科技有限公司 一种基于掩码文件的fpga精确故障注入系统及方法
CN103901342B (zh) * 2014-03-18 2017-09-29 北京时代民芯科技有限公司 一种基于掩码文件的fpga精确故障注入系统
CN106531224A (zh) * 2016-10-25 2017-03-22 哈尔滨工业大学 一种基于sram型fpga的ram数据可靠性加固装置及方法
CN106531224B (zh) * 2016-10-25 2019-07-16 哈尔滨工业大学 一种基于sram型fpga的ram数据可靠性加固装置及方法
CN109995465A (zh) * 2017-12-29 2019-07-09 深圳超级数据链技术有限公司 一种重叠复用系统及其处理方法和装置
CN109995465B (zh) * 2017-12-29 2022-08-23 广东盈瑞天腾信息技术股份有限公司 一种重叠复用系统及其处理方法和装置
CN109669823A (zh) * 2018-12-03 2019-04-23 中国工程物理研究院电子工程研究所 基于改进型三模冗余系统的抗多位翻转错误芯片加固方法
CN109669823B (zh) * 2018-12-03 2022-04-05 中国工程物理研究院电子工程研究所 基于改进型三模冗余系统的抗多位翻转错误芯片加固方法
CN113721135A (zh) * 2021-07-22 2021-11-30 南京航空航天大学 一种sram型fpga故障在线容错方法
CN113721135B (zh) * 2021-07-22 2022-05-13 南京航空航天大学 一种sram型fpga故障在线容错方法
CN114696969A (zh) * 2022-06-01 2022-07-01 南京邮电大学 基于交织异或算法的串行uart编解码结构及方法

Also Published As

Publication number Publication date
CN103176934B (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
CN203149557U (zh) 基于fpga的容错异步串行收发器装置
CN103176934B (zh) 基于fpga的容错异步串行收发器装置
US8099648B2 (en) Error detection in physical interfaces for point-to-point communications between integrated circuits
EP1725941B1 (en) Data communication module providing fault tolerance and increased stability
WO2004002094A1 (en) Method to increase the hamming distance between frame delimiter symbol and data symbols of a mbnb line code
Yu et al. Dual-layer adaptive error control for network-on-chip links
Yu et al. Adaptive error control for NoC switch-to-switch links in a variable noise environment
CN102460974B (zh) 数据传送方法,码元转换电路以及装置
Yu et al. A dual-layer method for transient and permanent error co-management in noc links
CN113282533A (zh) 一种异步链路发送端电路及芯片接收端电路
CN103346862B (zh) 一种分级保护的片上网络数据传输装置及方法
Chen et al. An error-correction scheme with Reed-Solomon codec for CAN bus transmission
CN104009823A (zh) 一种SerDes技术中的错位检测与纠错电路
JPWO2009147735A1 (ja) 情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法
CN113810319A (zh) 时钟数据发送电路、接收电路、恢复电路和方法
Bhojwani et al. Forward error correction for on-chip interconnection networks
Yuan et al. Micro-architecture design for low overhead fault tolerant network-on-chip
Zamzam et al. Performability of error control schemes for noc interconnects
Jayan et al. FPGA implementation of an efficient router architecture based on DMC
WO2023125722A1 (zh) 一种高速串行接口和数据传输方法
US9274880B1 (en) Methods and apparatus for detecting and correcting errors in high-speed serial communications systems
CN106849961A (zh) 一种前向纠错电路、高速串行收发器及可编程逻辑器件
Taube et al. Fault tolerant implementation of a SpaceWire interface
Huang et al. A low latency fault tolerant transmission mechanism for Network-on-Chip
Kruszewski et al. Fixed-latency system for high-speed serial transmission between FPGA devices with Forward Error Correction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151028

CF01 Termination of patent right due to non-payment of annual fee