CN101771554B - 一种余度管理电路及其管理方法 - Google Patents
一种余度管理电路及其管理方法 Download PDFInfo
- Publication number
- CN101771554B CN101771554B CN200810098899XA CN200810098899A CN101771554B CN 101771554 B CN101771554 B CN 101771554B CN 200810098899X A CN200810098899X A CN 200810098899XA CN 200810098899 A CN200810098899 A CN 200810098899A CN 101771554 B CN101771554 B CN 101771554B
- Authority
- CN
- China
- Prior art keywords
- frame
- receiving
- sequence number
- remaining
- queue
- 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.)
- Active
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种余度管理电路及其管理方法,解决了现有技术中的以太网无法满足在可靠性要求很高的场合要求的技术问题。包括,控制寄存器、发送缓冲存储器、余度发送电路、余度接收电路、接收缓冲存储器、接收标记FIFO,其中包括队列头指针寄存器,队列尾指针寄存器、接收控制寄存器和发送控制寄存器;控制寄存器、发送缓冲存储器分别与余度发送电路连接,接收缓冲存储器、接收标记FIFO分别与余度接收电路连接。本发明能够满足很高可靠性要求。
Description
技术领域
本发明涉及一种余度管理电路及其管理方法。
背景技术
以太网技术具有低成本、通用性等特点,目前也逐步应用到一些实时控制领域,以取代原有的专用网络。
以太网本身具有较高的可靠性,其通信误码率为10-10。但是在可靠性要求很高的场合,或者环境恶劣的场合,或者由于传输错误、部分设备故障、网络连接故障导致的通信失效,也会导致系统的不可靠。因此,在一些特定的场合,需要进一步地提高网络的可靠性。
发明内容
本发明的目的为提供一种能够满足很高可靠性要求的余度管理电路及其管理方法,其解决了现有技术中的以太网无法满足在可靠性要求很高的场合要求的技术问题。
本发明的技术解决方案为:
一种余度管理电路,其特殊之处是:包括,
控制寄存器,包括队列头指针寄存器,队列尾指针寄存器、接收控制寄存器和发送控制寄存器,用于发送和接收的控制;
发送缓冲存储器,用于存放待发送数据帧,按照环形队列形式组织;
余度发送电路,用于从虚链路环形队列读取数据帧提交两路网口发送;
余度接收电路,用于从两路网口中按照“先有效先赢”的策略选取数据帧提交主机接收;
接收缓冲存储器,用于接收、保存数据帧并进行完整性检查;
接收标记FIFO,用于保存接收缓冲存储器的先有效帧的起始地址和长度;
其中,控制寄存器、发送缓冲存储器分别与余度发送电路连接,接收缓冲存储器、接收标记FIFO分别与余度接收电路连接。
一种余度管理电路的管理方法,其特殊之处是:
发送数据时,
1]主机向环形队列放入数据帧,余度发送电路从虚链路环形队列读取数据帧组织发送;
2]主机比较队列头、尾指针判断队列是否满,如果尾指针的下一个位置等于头指针,则表示队列满,主机丢弃数据帧;否则主机根据尾指针计算地址,并将数据帧写入发送缓冲存储器的相应位置,调整尾指针指向下一个位置;
3]余度发送电路根据队列头指针、尾指针判断队列是否有数据帧需要发送,如果头指针、尾指针相等则表示没有数据要发送;否则表示有数据帧需要发送,再通过队列头指针计算地址,从发送缓冲存储器的相应位置读取数据帧并提交两路网口发送,然后调整队列头指针指向下一个位置;
4]发送控制寄存器中包含有发送网络的选择,以确定是通过某一个网络接口,还是两个网络接口同时发送;余度发送电路发送数据帧时按照以太网的帧格式进行,并将CRC之前的一个字节做为帧序号的单元,取值范围0~255;余度发送电路在复位后发送第一帧时,帧序号取值0,之后逐个累加直到255,再下一帧取值1,之后循环取值1~255;
接收数据时,
a]完整性检查:两个网络接口分别独立进行接收操作,将收到的数据帧保存到各自的接收缓冲存储器,并分别进行完整性检查;
b]余度接收:将两个接收缓冲存储器中的两个数据帧的序号与余度接收电路中数据帧的序号RCSN进行比较,将先有效的数据帧在接收缓冲存储器保存的起始地址和长度组织成索引信息,并将该索引信息写入接收标记FIFO;主机从该接收标记FIFO获得索引信息,解析出在接收缓冲存储器的保存起始地址和长度,再从接收缓冲存储器的相应位置取帧内容。
上述步骤a]中的完整性检查,包含CRC校验以及检查帧序号;其中,帧序号应在上次收到帧的序号的基础上累加;如收到帧的序号为正确累加,则表示为正确的数据帧,开始接收;序号相同则表示该帧已经接收过,为重复帧,丢弃;序号为0则表示是发送方复位后的第一帧,必须接收。
上述收到帧的序号为正确累加,指两个网络接口各自独立接收到的数据帧的序号SN1和SN2,分别与其前一数据帧的序号加1或加2进行比较;即SN1在[IC1SN+1,IC1SN+2]中,SN2在[IC2SN+1,IC2SN+2]中,则为正确累加;其中IC1SN、IC2SN分别为两个网络接口接收到的前一数据帧的序号。
上述步骤b]中的两个数据帧的序号与余度接收电路中数据帧的序号RCSN进行比较,是指通过完整性检查的数据帧的序号SN1和SN2,如其在[RCSN+1,RCSN+2]之间,则表示为有效的数据帧;向主机提交先有效的数据帧,并将先有效的数据帧替换掉RCSN,以先有效的数据帧作为新的RCSN。
本发明具有高可靠性的优点。通过双余度的网络和对应的余度管理策略,提高网络的可靠性。有效避免某一台交换机、某一个端口或者链路连接故障引起的系统网络通信失效,提高系统的可靠性。
附图说明
图1为本发明余度管理电路应用环境示意图;
图2为本发明主机接收时的电路原理框图。
图3为本发明主机发送时的电路原理框图。
具体实施方式
本发明余度管理电路的应用环境如图1所示。余度管理电路在网络终端上,通过两个网络接口分别连接到互为备份的交换机,构成余度网络。
本方法发明分别通过发送和接收两个阶段实现的,参见图2和图3。
1、发送过程,参见图3:
控制寄存器中与发送和接收相关的寄存器包括:队列头指针寄存器、队列尾指针寄存器、发送控制寄存器和接收控制寄存器。发送缓冲存储器采用双端口存储器,用于存放待发送数据帧,按照环形队列形式组织。主机控制尾指针,余度发送电路控制头指针。
发送时,主机负责向环形队列放入数据帧,余度发送电路负责从虚链路环形队列读取数据帧组织发送。
主机写入数据帧之前,先比较队列头、尾指针判断队列是否满,如果:尾指针的下一个位置等于头指针,表示队列满,主机丢弃数据帧;否则主机根据尾指针计算地址,并将数据帧写入发送缓冲存储器的相应位置,调整尾指针指向下一个位置。
余度发送电路根据队列头指针、尾指针判断队列是否有数据帧需要发送,如果头指针、尾指针相等则表示没有数据要发送;否则表示有数据帧需要发送,再通过队列头指针计算地址,从发送缓冲存储器的相应位置读取消息帧并发送,然后调整队列头指针指向下一个位置。
发送控制寄存器中包含了发送网络的选择,表明是通过某一个网络接口,还是两个网络接口同时发送。余度发送电路根据发送控制寄存器确定发送的网络接口。
余度发送电路发送数据帧时按照以太网的帧格式进行。由于在数据帧接收时需要检查帧序号,所以为保证数据帧的正确接收,将CRC之前的一个字节做为帧序号的单元,取值范围0~255。余度发送电路在复位后发送第一帧时,帧序号取值0,之后帧序号逐个加1,直至累加直到255,其后再下一帧取值1,然后循环取值1~255。
2、接收过程,参见图2:
两个网络接口分别独立进行接收操作,将收到的数据帧保存到各自的接收缓冲存储器,并分别进行完整性检查。完整性检查,先进行CRC校验即循环冗余校验外即校验数据帧内容是否正确,然后还检查帧序号即检查数据帧顺序是否正确。
在检查帧序号中,帧序号应在上次收到帧的序号的基础上累加,如收到帧的序号为正确累加,则表示为正确的数据帧,开始接收。所谓正确累加,指两个网络接口各自独立接收到的数据帧的序号SN1和SN2,分别与其前一数据帧的序号加1或加2进行比较;即SN1在[IC1SN+1,IC1SN+2]中,SN2在[IC2SN+1,IC2SN+2]中,则为正确累加;其中IC1SN、IC2SN分别为两个网络接口接收到的前一数据帧的序号。
序号相同则表示该帧已经接收过,丢弃该重复帧。所谓重复帧,指两个网络接口各自独立接收到的数据帧的序号SN1和SN2,经过完整性检查,其值分别与IC2SN和IC2SN相同,即为重复帧。
序号为0则表示是发送方复位后的第一帧,必须接收。因此,完整性检查有效的帧必须CRC校验正确,此外,该帧应当是自身复位后收到的第一个帧,或者是发送方复位后发出的第一个帧,或者帧序号在上次收到帧的序号的基础上累加。
经过完整性检查的两个网络接收的帧再进行余度接收管理。接收余度管理是将两个接收缓冲存储器中的两个数据帧的序号与余度接收电路中数据帧的序号RCSN进行比较,此比较是指通过完整性检查的数据帧的序号SN1和SN2,如其在[RCSN+1,RCSN+2]之间,则表示为有效的数据帧;向主机提交先有效的数据帧,并将先有效的数据帧替换掉RCSN,以先有效的数据帧作为新的RCSN。按照“先有效先赢”的策略进行取舍,将先有效(先符合完整性检查,即先通过CRC校验和检查帧序号)的帧在接收缓冲存储器保存的起始地址和长度组织成索引信息,并将该索引信息写入接收标记FIFO。主机从该FIFO获得索引信息,解析出在接收缓冲存储器的保存起始地址和长度,再从接收缓冲存储器的相应位置取帧内容。若两个网络接收的帧同时“有效”,则任意选取其中之一。
本发明原理为:
本发明在以太网的物理层和链路层采用双余度的接口,使用余度管理电路对两个以太网端口进行余度管理。发送操作时,主机仅提供一份数据,接收操作时对主机也仅提供一份数据。因此,余度对于上层是透明的。
本发明应用的环境是各个网络终端都具有两个网络接口,分别连接到两个互为备份的网络交换机,构成双余度的网络。
本发明的余度管理电路在发送操作时,在帧中自动插入一个字节的帧序号,并选择通过某一个网络接口或者两个网络接口同时发送数据帧。接收操作时,两个网络各自接收数据帧,并进行完整性检查。之后通过对比两个网络的数据帧的序号,来选择其中一个网络接收到的数据帧提交给主机。
Claims (4)
1.一种余度管理电路,其特征在于:包括
控制寄存器,包括队列头指针寄存器,队列尾指针寄存器、接收控制寄存器和发送控制寄存器,用于发送和接收的控制;
发送缓冲存储器,用于存放待发送数据帧,按照环形队列形式组织;
余度发送电路,用于从虚链路环形队列读取数据帧提交两路网口发送;
余度接收电路,用于从两路网口中按照“先有效先赢”的策略选取数据帧提交主机接收;
接收缓冲存储器,用于接收、保存数据帧并进行完整性检查;
接收标记FIFO,用于保存接收缓冲存储器的先有效帧的起始地址和长度;
其中,控制寄存器、发送缓冲存储器分别与余度发送电路连接,接收缓冲存储器、接收标记FIFO分别与余度接收电路连接。
2.根据权利要求1所述的余度管理电路的管理方法,其特征在于:
发送数据时,
1]主机向环形队列放入数据帧,余度发送电路从虚链路环形队列读取数据帧组织发送;
2]主机比较队列头、尾指针判断队列是否满,如果尾指针的下一个位置等于头指针,则表示队列满,主机丢弃数据帧;否则主机根据尾指针计算地址,并将数据帧写入发送缓冲存储器的相应位置,调整尾指针指向下一个位置;
3]余度发送电路根据队列头指针、尾指针判断队列是否有数据帧需要发送,如果头指针、尾指针相等则表示没有数据要发送;否则表示有数据帧需要发送,再通过队列头指针计算地址,从发送缓冲存储器的相应位置读取数据帧并提交两路网口发送,然后调整队列头指针指向下一个位置;
4]发送控制寄存器中包含有发送网络的选择,以确定是通过某一个网络接口,还是两个网络接口同时发送;余度发送电路发送数据帧时按照以太网的帧格式进行,并将CRC之前的一个字节做为帧序号的单元,取值范围0~255;余度发送电路在复位后发送第一帧时,帧序号取值0,之后逐个累加直到255,再下一帧取值1,之后循环取值1~255;
接收数据时,
a]完整性检查:两个网络接口分别独立进行接收操作,将收到的数据帧保存到各自的接收缓冲存储器,并分别进行完整性检查;
b]余度接收:将两个接收缓冲存储器中的两个数据帧的序号与余度接收电路中数据帧的序号RCSN进行比较,将先有效的数据帧在接收缓冲存储器中保存的起始地址和长度组织成索引信息,并将该索引信息写入接收标记FIFO;主机从该接收标记FIFO获得索引信息,解析出在接收缓冲存储器中保存的起始地址和长度,再从接收缓冲存储器的相应位置取帧内容。
3.根据权利要求2所述的管理方法,其特征在于:
所述步骤a]中的完整性检查,包含CRC校验以及检查帧序号;其中,帧序号应在上次收到帧的序号的基础上累加;如收到帧的序号为正确累加,则表示为正确的数据帧,开始接收;序号相同则表示该帧已经接收过,为重复帧,丢弃;序号为0则表示是发送方复位后的第一帧,必须接收;
所述收到帧的序号为正确累加,指两个网络接口各自独立接收到的数据帧的序号SN1和SN2,分别与其前一数据帧的序号加1或加2进行比较;即SN1在[IC1SN+1,IC1SN+2]中,SN2在[IC2SN+1,IC2SN+2]中,则为正确累加;其中IC1SN、IC2SN分别为两个网络接口接收到的前一数据帧的序号。
4.根据权利要求2所述的管理方法,其特征在于:
所述步骤b]中的两个数据帧的序号与余度接收电路中数据帧的序号RCSN进行比较,是指通过完整性检查的数据帧的序号SN1和SN2,如其在[RCSN+1,RCSN+2]之间,则表示为有效的数据帧;向主机提交先有效的数据帧,并用先有效的数据帧的序号替换当前的RCSN,以先有效的数据帧的序号作为新的RCSN。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810098899XA CN101771554B (zh) | 2008-12-31 | 2008-12-31 | 一种余度管理电路及其管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810098899XA CN101771554B (zh) | 2008-12-31 | 2008-12-31 | 一种余度管理电路及其管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101771554A CN101771554A (zh) | 2010-07-07 |
CN101771554B true CN101771554B (zh) | 2012-01-11 |
Family
ID=42504172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810098899XA Active CN101771554B (zh) | 2008-12-31 | 2008-12-31 | 一种余度管理电路及其管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101771554B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902249A (zh) * | 2012-12-26 | 2014-07-02 | 中国航空工业集团公司第六三一研究所 | 集约式数据帧队列控制器及控制方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166873B (zh) * | 2011-12-12 | 2018-02-27 | 中兴通讯股份有限公司 | 核间通信的方法及核处理器 |
CN105515856B (zh) * | 2015-12-07 | 2018-12-25 | 中国航空工业集团公司西安航空计算技术研究所 | 基于通道的fc网络余度设计方法 |
CN107040784B (zh) * | 2017-03-22 | 2020-12-15 | 深圳市中航世星科技有限公司 | 一种视频缓冲处理方法、系统和装置 |
CN107342954B (zh) * | 2017-06-29 | 2019-11-22 | 北京东土军悦科技有限公司 | 一种报文的调度方法及装置 |
CN112564863A (zh) * | 2020-12-24 | 2021-03-26 | 中国兵器装备集团自动化研究所 | 一种通信时效性错误检测系统及检测方法 |
-
2008
- 2008-12-31 CN CN200810098899XA patent/CN101771554B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902249A (zh) * | 2012-12-26 | 2014-07-02 | 中国航空工业集团公司第六三一研究所 | 集约式数据帧队列控制器及控制方法 |
CN103902249B (zh) * | 2012-12-26 | 2015-08-19 | 中国航空工业集团公司第六三一研究所 | 集约式数据帧队列控制器及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101771554A (zh) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101771554B (zh) | 一种余度管理电路及其管理方法 | |
CN111641474A (zh) | 基于flit的并行前向纠错和奇偶校验 | |
US11907140B2 (en) | Serial interface for semiconductor package | |
US9106570B2 (en) | 50 Gb/s Ethernet using serializer/deserializer lanes | |
US7792014B2 (en) | Method of skipping nullified packets during mass replay from replay buffer | |
US7428689B2 (en) | Data memory system and method for transferring data into a data memory | |
EP2297641B1 (en) | Efficient in-band reliability with separate cyclic redundancy code frames | |
CN111638992A (zh) | 基于微片的分组化 | |
US7810013B2 (en) | Memory device that reflects back error detection signals | |
US20060047891A1 (en) | System and method for transmitting data packets in a computer system having a memory hub architecture | |
CN104866454B (zh) | 面向板级高速总线的写报文前瞻处理方法及装置 | |
CN106603420B (zh) | 一种具有实时和容错特性的片上网络路由器 | |
KR20080021794A (ko) | 패킷 프로세싱 방법 및 패킷 프로세싱 장치를 포함하는장치 | |
CN103106163A (zh) | 基于数据帧异步传输协议的fpga芯片在线升级结构及方法 | |
CN113489570B (zh) | 一种PCIe链路的数据传输方法、装置及设备 | |
CN106487673B (zh) | 一种基于三模冗余的检错重传容错路由单元 | |
CN102333210B (zh) | 一种视频数据存储方法及其设备 | |
US10178018B2 (en) | Transmission and reception devices | |
CN103685060A (zh) | 数据包发送方法及装置 | |
CN104579605B (zh) | 一种数据传输方法及装置 | |
CN101304362B (zh) | 重传缓冲装置及传输数据的方法 | |
CN104486036B (zh) | 一种满足1394协议要求消息容错处理电路及方法 | |
CN102231141B (zh) | 一种数据读、写方法及系统 | |
CN102523145A (zh) | 一种本地总线桥接和数据传输的方法 | |
CN1917519B (zh) | 高级数据链路控制协议串行数据的并行传输方法及其系统 |
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 |