会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 电脑零配件 / 数据接收器 / 基于FPGA的容错异步串行收发器装置

基于FPGA的容错异步串行收发器装置

阅读:232发布:2021-02-24

IPRDB可以提供基于FPGA的容错异步串行收发器装置专利检索,专利查询,专利分析的服务。并且本发明提出基于FPGA的容错异步串行收发器。本发明包括有数据发送器,数据接收器,扩展汉明码编码器,扩展汉明码解码器,多数表决器,少数表决器。对所有的模块分别做TMR处理。对于发送器,首先数据处理单元将要发送的数据送入扩展汉明码编码器,编码器将编码后的码字分别送入多数表决器,将多数表决器得到表决后的码字送入串行发送器中,串行发送器将并行数据转换成串行数据发送出去。对于接收器,将串行输入信号通过引脚输入到FPGA中,在FPGA中通过串行接收器实现接收数据的串并转换,串行接收器将串行数据转换成并行数据之后,送入解码器。,下面是基于FPGA的容错异步串行收发器装置专利的具体信息内容。

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包括有电路相同的并联的第一串行发送器、第二串行发送器、第三串行发送器,所述的第一串行发送器包括有数据锁存与并串转换器的输入端连接;波特率发生器的输出端与发送控制状态机的输入端连接,第一串行发送器的发送控制状态机的输出端、第二串行发送器的发送控制状态机的输出端、第三串行发送器的发送控制状态机的输出端分别连接第一多数表决器组的输入端,第一多数表决器组的输出端分别连接第一串行发送器的发送控制状态机的输入端、第二串行发送器的发送控制状态机的输入端、第三串行发送器的发送控制状态机的输入端;发送控制状态机的输出端连接并串转换器的输入端,第一串行发送器的并串转换器的输出端、第二串行发送器并串转换器的输出端、第三串行发送器的并串转换器的输出端分别连接第二多数表决器组的输入端,第二多数表决器组的输出端向少数表决器输出。

说明书全文

基于FPGA的容错异步串行收发器装置

技术领域

[0001] 本发明涉及通信和抗辐射容错技术领域。主要涉及利用FPGA实现抗辐射容错异步串行收发器。

背景技术

[0002] 随着现代信息技术的不断发展,高速信息传输和高可靠性传输成为信息传输的主要发展方向。在星载设备、医疗设备中高可靠性传输尤为重要。不断进步的集成电路工艺使超大规模集成电路(VLSI)的集成度越来越高,速度越来越快,功耗越来越低,但同时也使VLSI的节点尺寸越来越小,导致临界电荷下降,降低了VLSI的单粒子效应(Single Event Effect,SEE)阈值,严重限制了高性能VLSI在太空等辐射环境中的应用。另外,由于器件工作在辐射环境,传输线路也要受到噪声的干扰。
[0003] UART的全称是通用异步收发器,是实现设备之间低速数据通信的标准协议。它具有使用简单,接线简单等优点。UART是广泛使用的串行数据传输协议。基本的UART通信只需2根信号线(RXD、TXD)就可以完成数据的相互通信。但现有的UART协议,只有一位奇偶校验位,只能检测传输过程中发生的错误,不能纠正因信道干扰造成的数据错误。另一方面,现有的UART接收器和发送器不具有容错能力,当器件发生单粒子翻转(Single Event Upset,SEU)时,整个电路便不能正常工作。
[0004] 针对UART的存在的问题,雷斌,王宁等人于2009年12月在西安工业大学学报第29卷第6期发表《FPGA的汉明码数据传输系统的设计》,提出的汉明传输系统能够使得数据在信道中提高抗干扰能力,对发送错误的数据能够纠错,但发送器和接收器不具有抗SEU的能力,且只能纠正一位错误。另一方面,韩月涛,潘伟萍等人于2011年3月在电子测量技术杂志上发表《基于FPGA的三模冗余UART电路设计》,提出了UART发送器和接收器加固方法,但文章只对串并转换和并串转换部分,做了局部的三模冗余。整个设计的多数表决器是单点,如果它受到单粒子的影响发生错误,导致整个输出会产生错误。特别对SRAM型FPGA而言,器件更容易受到SEU的影响。
[0005] 针对以上两种设计的不足,本发明提出了一种基于FPGA的容错异步串行收发器装置,整个设计做三模冗余加固(Triple Modular Redundancy,TMR),包括通过对接收器、发送器以及输入/输出(I/O)口等,TMR是指对功能单元采用3个完全相同的模块,互为备份,以达到最佳的抗单粒子翻转效果,使得接收器和发送器具有抗辐射性能。同时,为了提高通信性能,使传输信号更好地抵抗噪声、干扰的影响,对发送信息数据进行信道编码,接收到的数据进行信道解码,使得数据传输更具有可靠性。

发明内容

[0006] 本发明的目的在于避免现有技术的不足,提供了一种基于FPGA的容错异步串行收发器装置。以解决UART的发送器和接收器受到高能射线的照射而发生单粒子翻转(SEU)和数据通信中检错和纠错的问题。
[0007] 实现上述目的,本发明采取的技术方案为:一种基于FPGA的容错异步串行收发器装置,其主要特点是包括有发送器和接收器,所述的发送器数据处理单元与第一编码器、第二编码器、第三编码器并联;第一编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接,第二编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接,第三编码器的输出端分别与第一发送多数表决器的输入端、第二发送多数表决器的输入端、第三发送多数表决器的输入端连接;第一发送多数表决器的输出端、第二发送多数表决器的输出端、第三发送多数表决器的输出端分别连接串行发送器TMR的输入端;串行发送器TMR的输出端连接第一少数表决器的P输入端,同时连接第一输出缓存器的输入端、第二少数表决器的R1输入端和连接第三少数表决器的R2输入端;串行发送器TMR的输出端连接第一少数表决器的R1输入端,同时连接第二输出缓存器的输入端、第二少数表决器的P输入端和连接第三少数表决器的R1输入端;串行发送器TMR的输出端连接第一少数表决器的R2输入端,同时连接第三输出缓存器的输入端、第二少数表决器的R2输入端和连接第三少数表决器的P输入端;第一少数表决器的输出端与第一输出缓存器控制端连接,第二少数表决器的输出端与第二输出缓存器控制端连接,第三少数表决器的输出端与第三输出缓存器控制端连接,第一输出缓存器的输出端连接FPGA的第一输出引脚、第二输出缓存器的输出端连接FPGA的第二输出引脚、第三输出缓存器的输出端连接FPGA的第三输出引脚。
[0008] 所述的基于FPGA的容错异步串行收发器装置,所述的接收器包括有数据第一引脚、数据第二引脚、数据第三引脚分别连接串行接收器TMR的输入端,串行接收器TMR的输出端通过第一解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;串行接收器TMR的输出端通过第二解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;串行接收器TMR的输出端通过第三解码器连接第一接收多数表决器的输入端、第二接收多数表决器的输入端、第三接收多数表决器的输入端;第一接收多数表决器的输出端、第二接收多数表决器的输出端、第三接收多数表决器的输出端分别连接数据处理单元。
[0009] 所述的基于FPGA的容错异步串行收发器装置,所述的FPGA的第一输出引脚、第二输出引脚、第三输出引脚相连接,将信号传输到下一级进行数据处理。
[0010] 所述的基于FPGA的容错异步串行收发器装置,还包括有所述的第一编码器、第二编码器、第三编码器为扩展汉明码编码器;第一解码器、第二解码器、第三解码器为扩展汉明码解码器。
[0011] 所述的基于FPGA的容错异步串行收发器装置,所述的第一发送多数表决器、第二发送多数表决器、第三发送多数表决器为三个两输入与门和一个三输入或门组成。
[0012] 所述的基于FPGA的容错异步串行收发器装置,所述的第一少数表决器,第二少数表决器、第三少数表决器为二个三输入与门和一个两输入或门组成。
[0013] 所述的基于FPGA的容错异步串行收发器装置,所述的串行接收器TMR包括有电路相同的并联的第一串行接收器、第二串行接收器、第三串行接收器,所述的第一串行接收器包括有同步器经滤波器与串并转换器的输入端和起始信号检测的输入端连接;波特率发生器的输出端与起始信号检测的输出端分别与接收控制状态机的输入端连接,第一串行接收器的接收控制状态机的输出端、第二串行接收器的接收控制状态机的输出端、第三串行接收器的接收控制状态机的输出端分别连接第一多数表决器组的输入端,第一多数表决器组的输出端分别连接第一串行接收器的接收控制状态机的输入端、第二串行接收器的接收控制状态机的输入端、第三串行接收器的接收控制状态机的输入端;接收控制状态机的输出端连接串并转换器的输入端,第一串行接收器的串并转换器的输出端、第二串行接收器串并转换器的输出端、第三串行接收器的串并转换器的输出端分别连接第二多数表决器组的输入端,第二多数表决器组的输出端向解码器连接。
[0014] 所述的基于FPGA的容错异步串行收发器装置,所述的发送多数表决器的数量或所述的接收多数表决器的数量由数据的位宽决定。
[0015] 所述的基于FPGA的容错异步串行收发器装置,所述的串行发送器TMR包括有电路相同的并联的第一串行发送器、第二串行发送器、第三串行发送器,所述的第一串行发送器包括有数据锁存与并串转换器的输入端连接;波特率发生器的输出端与发送控制状态机的输入端连接,第一串行发送器的发送控制状态机的输出端、第二串行发送器的发送控制状态机的输出端、第三串行发送器的发送控制状态机的输出端分别连接第一多数表决器组的输入端,第一多数表决器组的输出端分别连接第一串行发送器的发送控制状态机的输入端、第二串行发送器的发送控制状态机的输入端、第三串行发送器的发送控制状态机的输入端;发送控制状态机的输出端连接并串转换器的输入端,第一串行发送器的并串转换器的输出端、第二串行发送器并串转换器的输出端、第三串行发送器的并串转换器的输出端分别连接第二多数表决器组的输入端,第二多数表决器组的输出端向少数表决器输出。
[0016] 本发明的有益效果在于:
[0017] 1 通过分别对接收器和发生器进行三模冗余(TMR)实现,使得接收器和发生器能够抗SEU。
[0018] 2 对原始的信息数据进行信道编码,能够对信道有更高的容忍度,同时对编码和解码模块分别做TMR加固。
[0019] 整个设计在FPGA中实现,能够很方便地应用到高可靠数据传输系统中。有效解决了收发器的抗单粒子效应和减小数据传输中受到信道干扰的影响。是一种极具吸引力的数据传输技术。

附图说明

[0020] 图1为本发明的容错异步串行收发器框图示意图;
[0021] 图2多数表决器实现电路;
[0022] 图3少数表决器实现电路;
[0023] 图4为本发明的串行发送器接收器TMR框图示意图;
[0024] 图5为本发明的多数表决器组的结构示意图;
[0025] 图6为本发明的串行接收器TMR框图示意图。

具体实施方式

[0026] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0027] 本发明以FPGA为实现器件,以UART为参考模型,用硬件描述语言(HDL)实现。包括扩展汉明码编解码、扩展汉明码解码器、串行接收器、串行发送器、多数表决器、少数表决器,以及整个的设计的三模冗余的实现。
[0028] 实施例:见图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。
[0029] 见图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。
[0030] 见图1,本发明分为数据发送器和数据接收器两部分。对于发送器,首先数据处理单元将要发送的同一数据分为一式三份分别送入扩展汉明码编码器,编码器将编码后的码字分别送入多数表决器,将多数表决器得到表决后的码字送入串行发送器中,串行发送器将并行数据转换成串行数据,通过少数表决器控制输出缓存器将串行数据通过FPGA引脚发送发生出去。在电路板上需要将输出的三个引脚连接在一起,将信号传输到下一级进行数据处理。
[0031] 对于接收器,将串行输入的同一信号分别通过三个引脚输入到FPGA中,在FPGA中通过串行接收器实现接收数据的串并转换,其中对串行接收器是做了三模冗余,因此串行接收器也是三路相同的串行输入数据和三路相同的并行输出数据。串行接收器将串行数据转换成并行数据之后,分别送入三个解码器,解码器不仅可以对接收到码字做译码得到正确的信息数据,而且如果在传输过程中,由于信道受到的干扰或发送数据本身受到SEU发送翻转,解码器可以对错误数据进行纠正,同时得到错误信息。
[0032] 所述的FPGA的第一输出引脚7-1、第二输出引脚7-2、第三输出引脚7-3相连接,将信号传输到下一级进行数据处理。
[0033] 所述的第一编码器2-1、第二编码器2-2、第三编码器2-3为扩展汉明码编码器;第一解码器10-1、第二解码器10-2、第三解码器10-3为扩展汉明码解码器。
[0034] 见图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输出。
[0035] 见图5,所述的发送多数表决器3的数量或所述的接收多数表决器11的数量由数据的位宽决定。
[0036] 见图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的输出端向解码器连接。
[0037] 多数表决器的实现:
[0038] 所述的基于FPGA的容错异步串行收发器装置,所述的第一发送多数表决器3-1、第二发送多数表决器3-2、第三发送多数表决器3-3由三个两输入与门和一个三输入或门组成。
[0039] 多数表决器通常用于三模冗余(TMR)数据的容错,即将三路信号变为一路,去除错误数据的影响。如表1多数表决器采用三取二判决算法对运算结果进行TMR处理:
[0040] 表1 多数表决器的真值表:
[0041]AB CV
00 00
00 10
01 00
01 11
10 00
10 11
11 01
11 11
[0042] A、B、C是单比特的数据位宽,如真值表所示V输出结果是A、B、C多数选择。真值表如表1,具体实现电路如图2,表决器个数取决于数据的位宽,即表决器的个数为输出数据的位宽。
[0043] 少数表决器实现:
[0044] 所述的基于FPGA的容错异步串行收发器装置,所述的第一少数表决器5-1,第二少数表决器5-2、第三少数表决器5-3由二个三输入与门和一个两输入或门组成。
[0045] 输出是整个TMR策略的关键,由于全部的电路做TMR,必须要一种方法使得所有的三模冗余逻辑路径会聚到一条路径,并且不能出现单点失效,这才能完成TMR的输出。本发明采用少数表决器的方式实现。
[0046] 一个TMR输出构建采用了输出缓存器(OBUFT)。每个冗余逻辑路径的输出通过OBUFT。每个OBUFT则由少数表决器控制。少数表决器表明是否主路径与其他两条路径相同。如果主路径至少与其中一条冗余路径相同,则认为主路径是属于多数。如果主路径与两条冗余路径都不同则认为主路径是少数。少数表决器真值表如表2,具体实现电路如图3所示,如果主路径是多数,则少数表决器相应地使能OBUFT,允许数据通过主路径驱动引脚。如果主路径不是多数,则不使能OBUFT,使路径呈高阻状态,从而允许冗余路径输出驱动正确的数据。在FPGA的外部三个输出口在电路板上用引线连接在一起,这种结构不会引起任何冲突。
[0047] 表2少数表决器的真值表:
[0048]P R1 R2Y
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
[0049] 汉明编码器
[0050] 所述的基于FPGA的容错异步串行收发器装置,还包括有所述的第一编码器2-1、第二编码器2-2、第三编码器2-3为扩展汉明码编码器;第一解码器10-1、第二解码器10-2、第三解码器10-3为扩展汉明码解码器。
[0051] 本发明中每次发送的数据为一个字节,所以编码器采用(13,8)扩展汉明码,信息数据为8位,校验位为5位。编码器由异或运算构成,若添加一个可选的流水线级数,可进一步改进性能。其生成码字格式为A=[p4,d7,d6,d5,d4,p3,d3,d2,d1,p2,d0,p1,p0],校验位计算公式如下:
[0052]
[0053]
[0054]
[0055]
[0056]
[0057] 汉明解码器
[0058] 解码器单元由三个模块组成:
[0059] 1.校正子(Syndrome)生成模块。
[0060] 2.掩码(Mask)生成模块。
[0061] 3.数据校正(Data correction)模块。
[0062] 设由串行接收器接收到的码字为R=[b4,r7,r6,r5,r4,b3,r3,r2,r1,b2,r0,b1,b0],把数据存入寄存器中,数据为8位,校验位为5位。校正子S=[s4,s3,s2,s1,s0]。校正子计算公式如下:
[0063]
[0064]
[0065]
[0066]
[0067]
[0068] 可得到其监督矩阵如下:
[0069]
[0070] 由监督矩阵H可以得到(13,8)扩展汉明码校正子与误码位置的关系如下:
[0071] 表3:(13,8)扩展汉明码校正子与误码位置的关系
[0072]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 无误码
[0073] 根据监督矩阵得到误码位置,由此得到相应的掩码,再把接收到的数据和掩码做异或运算便可纠正错误数据。由于本发明采用扩展汉明码,所以对接收到的数据纠一检二。
[0074] 传输协议数据单元:
[0075] 为了能使发送器和接收器相互通信,本发明设计了如表4所示的传输协议数据单元。
[0076] 表4传输协议数据单元:
[0077]
[0078] 本协议参考UART协议,在空闲时,数据总线为高电平。传输协议数据单元包括:一个起始位,编码后的码字和停止位。
[0079] 起始位:总线在空闲时,总线为高电平,当数据传输时,首先发送一个“起始位”,起始位为一个低电平。
[0080] 编码后的码字:包括数据位和校验位,总共为13比特。在起始位之后,紧接着发送编码后的码字,码字的发送顺序如表4所示,数据发送从左到右。
[0081] 停止位:当数据发送结束时,以停止位作为停止标志,停止位为高电平。
[0082] 串行接收器和发送器都采用此传输协议数据单元。
[0083] 串行发送器TMR的设计:
[0084] 图4首先将要发送的并行数据锁存,波特率发送器产生发送数据时钟。通过发送控制状态机实现数据并串转换。串行发送器的每个模块都做TMR,特别发送控制状态机通过多数表决器组实现TMR,在状态转换过程中触发器发送翻转时可以纠正其结果。波特率由波特率发送器决定,在数据传输过程中发送器和接收器的波特率要设置一致。
[0085] 图5多数表决器组的结构,多数表决器组是为了防止控制状态机在状态转换时,寄存器发生SEU,导致整个设备不能工作。
[0086] 串行接收器TMR的设计
[0087] 见图6,首先对异步输入信号用两级D触发器做同步处理,使得输入信号同步化,减少系统的亚稳态。再经过数字滤波器。数字滤波是用高频时钟信号采样输入信号,对采样的三个点中的数据,如果其中两个点的数据是1则判断输入信号为1。通过滤波后的信号分别送入串并转换器和起始信号检测器中,如果信号由高电平变为低电平,则判断数据开始传输,启动状态机实现串并转换。将得到的并行数据送入多数表决器组,再送入解码器中。串行接收器的每个模块都做TMR,特别接收控制状态机要通过多数表决器组实现TMR,可以在状态转换过程中触发器发送翻转时纠正其结果。
[0088] 使用时,发送器和接收器同时使用,波特率设定一致。
[0089] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用