CN204390224U - 一种基于fpga的容错主从同步串行通讯系统 - Google Patents
一种基于fpga的容错主从同步串行通讯系统 Download PDFInfo
- Publication number
- CN204390224U CN204390224U CN201420858884.XU CN201420858884U CN204390224U CN 204390224 U CN204390224 U CN 204390224U CN 201420858884 U CN201420858884 U CN 201420858884U CN 204390224 U CN204390224 U CN 204390224U
- Authority
- CN
- China
- Prior art keywords
- serial communication
- module
- communication link
- data
- fault
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本实用新型提供一种基于FPGA的容错主从同步串行通讯系统,包括一个主站模块、一个或多个从站模块以及两条串行通讯链路,每个串行通讯链路包括同步时钟通道与数据通道,主站模块与从站模块利用同步时钟通道传输的同步时钟,实现数据通道传输的串行化数据的同步接收和同步发送。本实用新型提供的基于FPGA的容错主从同步串行通讯系统,采用双链路容错通讯,提高串行通讯系统的可靠性;采用同步时钟实现串行化数据的同步接收和同步发送,提高了串行通讯系统的传输效率;通道选择模块选择一个串行通讯链路用于接收数据,同时实时检测另一串行通讯链路的通讯状态,从而实现了串行通讯链路的通讯状态的实时检测,串行通讯链路的故障无扰切换。
Description
技术领域
本实用新型涉及工业现场应用中的容错通讯,尤其涉及一种基于FPGA芯片的容错主从同步串行通讯系统。
背景技术
在工业控制领域,随着技术水平的不断提高,各种现场总线技术被开发出来,如PROFIBUS、CAN等,但基于RS485的主从总线因其简单成熟而仍然被广泛采用。
RS485两根线,采用差分信号负逻辑,+2V~+6V表示“0”,-6V~-2V表示“1”。基于主从总线技术的串行通讯链路设计通常采用图1所示菊花链形式的拓扑结构,该拓扑结构中有一个主节点与多个从节点,从节点个数取决于传输距离、传输速率、电缆品质以及电磁兼容环境等因素。
主从协议与ISO/OSI七层协议的对应关系如图1所示,图1主从协议与ISO/OSI七层协议的关系图在物理层使用EIA/TIA 485协议。数据链路层由串行数据链路协议定义,串行数据链路协议为主从协议。
自定义应用层协议位于ISO/OSI的第7层,提供连接在总线上的各个设备之间的C/S通信。客户对应主节点,服务器对应从节点。主从协议串行数据链路协议为主从协议,只有一个主节点与一个或多个从节点同时连接在一条总线上,主节点负责命令的发起,从节点接收命令并响应,从节点只有收到主节点命令时才会做出响应,从节点之间不能相互通信。
如图2所示的典型应用中,其特点是采用单通讯链路进行异步串行通讯,该拓扑结构优点是简单易于实现,缺点是可靠性低、传输效率低。
在工业现场应用中,可靠性和实时性是非常重要的一个指标,如何提高采用RS485串行通讯链路的可靠性和实时性,是需要研究的重要内容。
图3是异步串行通讯数据传输示意图,主站发送数据与接收从站的响应数据之间的时间间隔t是包括多个时钟周期,该时间间隔t为毫秒级。如果发生超时,时间间隔t将更长,因而造成异步串行通讯的数据传输效率非常低。
本领域技术人员致力于提供一种采用RS485串行通讯链路的通讯系统,该串行通讯系统可靠性高,且传输效率高。
发明内容
针对常用的基于RS485单通讯链路具有可靠性低、传输效率低的缺点,本实用新型提出了一种基于FPGA的容错主从同步串行通讯系统,其突出特点是:具有容错双链路,双链路自动检测、自动切换,提高串行通讯系统的可靠性;采用同步串行通讯,提高串行通讯系统的传输效率。
图4是同步串行通讯数据传输示意图,主站发送的数据与接收从站的响应的数据之间的时间间隔t是一个时钟周期,可以做到几个微妙,与图3中的异步串行通讯数据传输的毫秒级时间间隔相比,能够有效地提高通讯系统的传输效率。
本实用新型的基于FPGA的容错主从同步串行通讯系统中,每个链路包括两个通道,一个用于传输同步时钟,一个用于传输数据,每个通道的物理层采用RS485,数据链路层采用串行数据传输。
本实用新型的基于FPGA的容错主从同步串行通讯系统另一个突出特点是采用逻辑芯片FPGA实现上述所有功能。
FPGA内部设计通道选择模块对两个串行通讯链路进行选择,选择一个串行通讯链路用于接收数据,同时实时检测另一串行通讯链路的通讯状态。一旦用于接收数据的串行通讯链路出现故障,而另一串行通讯链路通信正常,自动进行串行通讯链路切换,从而实现了串行通讯链路的通讯状态的实时检测,串行通讯链路的故障无扰切换。
本实用新型提供一种基于FPGA的容错主从同步串行通讯系统,基于FPGA的容错主从同步串行通讯系统包括一个主站模块、一个或多个从站模块以及两条串行通讯链路,主站模块与从站模块分别与两条串行通讯链路连接,每个串行通讯链路包括同步时钟通道与数据通道,主站模块与从站模块利用同步时钟通道传输的同步时钟,实现数据通道传输的串行化数据的同步接收和同步发送。
进一步地,从站模块包括通道选择模块,通道选择模块用于选择两条串行通讯链路中的一条,同步接收串行化数据和/或同步发送串行化数据。
通道选择模块初始时默认选择第一串行通讯链路,如果第一串行通讯链路接收正常,选择第一串行通讯链路进行接收;如果第一串行通讯链路接收不正常,根据第一串行通讯链路的通讯状态检测结果,确定是否需要切换。
进一步地,从站模块包括第一接收模块与第二接收模块,第一接收模块用于接收、校验与存储主站模块发送的数据,第二接收模块用于检测串行通讯链路的通讯状态。
进一步地,第一接收模块与通道选择模块选中的串行通讯链路的数据通道连接,以便接收、校验与存储主站模块发送的数据。
进一步地,第二接收模块与通道选择模块未选中的串行通讯链路的数据通道连接,以便检测通道选择模块未选中的串行通讯链路的通讯状态。
本实用新型提供的基于FPGA的容错主从同步串行通讯系统,第二接收模块接收通道选择模块未选中的串行通讯链路的数据通道传输的数据,并对接收的数据进行CRC校验,如果校验通过,认为通道选择模块未选中的串行通讯链路通讯正常,否则认为通道选择模块未选中的串行通讯链路通讯异常。
进一步地,第一接收模块在设定的时间内未收到有效数据,如果第二接收模块检测通道选择模块未选中的串行通讯链路的通讯状态为正常时,通道选择模块进行串行通讯链路切换。
本实用新型提供的基于FPGA的容错主从同步串行通讯系统,当第一接收模块在设定的时间内收不到有效数据,表示当前串行通讯链路通讯异常,这时如果第二接收模块检测到另一个串行通讯链路通讯正常,也就是通道选择模块未选中的串行通讯链路通讯正常时,通道选择模块选择的串行通讯链路改变为另一串行通讯链路,即进行链路切换,从而保证通讯正常进行,提高了本实施例的容错主从同步串行通讯系统的可靠性。
进一步地,第一接收模块与通道选择模块切换后选中的串行通讯链路的数据通道连接,第二接收模块与通道选择模块切换后未选中的串行通讯链路的数据通道连接。
进一步地,从站模块还包括地址偏移计算模块,用于数据存储区域的偏移地址计算。
进一步地,从站模块还包括发送模块,用于同步发送串行化数据。
与现有技术相比,本实用新型提供的基于FPGA的容错主从同步串行通讯系统具有以下有益效果:
(1)主站模块与从站模块分别与两条串行通讯链路连接,采用双链路容错通讯,提高串行通讯系统的可靠性;
(2)通道选择模块对两个串行通讯链路进行选择,选择一个串行通讯链路用于接收数据,同时实时检测另一串行通讯链路的通讯状态。一旦用于接收数据的串行通讯链路出现故障,而另一串行通讯链路通信正常,自动进行串行通讯链路切换,从而实现了串行通讯链路的通讯状态的实时检测,串行通讯链路的故障无扰切换;
(3)采用同步时钟实现串行化数据的同步接收和同步发送,提高了串行通讯系统的传输效率。
附图说明
图1是主从协议与ISO/OSI七层协议的关系图;
图2是现有技术中串行通讯系统菊花链形式的拓扑结构图;
图3是异步串行通讯数据传输示意图;
图4是同步串行通讯数据传输示意图;
图5是本实用新型的一个实施例的容错主从同步串行通讯系统的拓扑结构图;
图6是图5所示的容错主从同步串行通讯系统的主站模块的功能框图;
图7是图5所示的容错主从同步串行通讯系统的从站模块的功能框图;
图8是图5所示的容错主从同步串行通讯系统的从站模块的接收状态机;
图9是图5所示的容错主从同步串行通讯系统的从站模块的第一接收模块的功能框图;
图10是图5所示的容错主从同步串行通讯系统的从站模块的第二接收模块的功能框图;
图11是图5所示的容错主从同步串行通讯系统的从站模块发送模块的功能框图;
图12是图5所示的容错主从同步串行通讯系统的从站模块的发送状态机;
图13是图5所示的容错主从同步串行通讯系统的从站模块的地址偏移计算模块的功能框图。
具体实施方式
如图5所示,本实用新型的一个实施例的基于FPGA的容错主从同步串行通讯系统,包括一个主站模块、一个或多个从站模块以及两条串行通讯链路,主站模块与从站模块分别与两条串行通讯链路连接,每个串行通讯链路包括同步时钟通道与数据通道,主站模块与从站模块利用同步时钟通道传输的同步时钟,实现数据通道传输的串行化数据的同步接收和同步发送。
采用主从通讯方式,主站模块和从站模块分别与两条通讯链路连接,每条通讯链路的物理层是基于RS485,主站模块和从站模块的串行传输数据链路层都采用FPGA实现。
主站模块配置冗余串行通讯链路,每个串行通讯链路包含两个通道,一个通道是同步时钟通道,用于传输同步时钟,另一个通道是串行化数据通道。
如图6所示,每个串行通讯链路从功能上来说,包括1个发送模块、1个接收模块、读写控制模块以及同步信号发生器,读/写控制模块实现对双口RAM的读写操作;同步时钟发生器用于为数据的串行化传输提供同步时钟,该同步时钟信号被所有的从站模块接收并使用。
由于对于所有从站模块来说,使用一个同步时钟,并且依靠同步时钟进行串行化数据的接收和发送,减小了串行化数据异步接收和发送的时间间隔,提高了通讯的效率。
从站模块的设计是本实用新型的核心,因为链路诊断、同步数据发送和接收、数据校验、链路切换等功能都是在该模块上实现。
如图7所示,从站模块与两个串行通讯链路连接,包含第一接收模块、第二接收模块、发送模块、通道选择模块、同步信号接收模块、RAM模块以及地址偏移计算模块等。
从站模块的第一接收模块用于接收、校验与存储通道选择模块选择的串行通讯链路的数据通道传送的数据。
从站模块的第二接收模块用于检测另一串行通讯链路的通讯状态,判断在另一个通讯链路是否有有效的数据通讯正在发生,如果有有效数据通讯正在发生,那么表示另外一个通讯链路结构完整,功能正常。
从站模块的通道选择模块用于选择两条串行通讯链路中的一条,同步接收串行化数据和/或同步发送串行化数据。利用接收到的主站的同步时钟信号,接收串行化数据并存储在双口RAM中,把双口RAM中的数据读出并进行同步串行化发送。
同步信号接收模块用于接收同步时钟通道传输的同步时钟,以供各模块使用,其连接关系未在图7中示出。
图8是本实施例的容错主从同步串行通讯系统的从站模块的接收状态机,包括8个状态:
(1)当第一接收模块/第二接收模块未检测到起始位时,处于“空闲”状态,当第一接收模块检测到起始位时,由“空闲”状态变为“接受状态1”;
(2)第一接收模块/第二接收模块在“接受状态1”接收8位数据,当接收满1个字节,“接受状态1”变为“检查状态0”;
(3)第一接收模块/第二接收模块在“检查状态0”检查停止位,检查到停止位后,由“检查状态0”变为“起始状态1”;
(4)第一接收模块/第二接收模块在“起始状态1”,检查起始位,检查到起始位后,由“起始状态1”变为“接收状态1”;
(5)第一接收模块/第二接收模块在“接收状态1”接收8位数据,当接收满1个字节,由“接收状态1”变为“检查状态1”;
(6)第一接收模块/第二接收模块在“检查状态1”检查停止位,检查到停止位后,由“检查状态1”变为“起始状态0”;
(7)第一接收模块/第二接收模块在“起始状态0”,检测起始位,当起始位正确时,由“起始状态0”变为“接收状态0”;当未检测到起始位或先前状态中有错误时,由“起始状态0”变为“等待”状态;
(8)第一接收模块/第二接收模块在“等待”状态,等待一个时钟周期,变为“空闲”状态。
第一接收模块如图9所示,在图8所示的接收状态机的调度下,完成从数据通道接收的数据的功能解码、CRC校验、数据接收、地址偏移计算以及数据的RAM存取等功能;功能解码输出功能数据,传送到地址偏移计算模块,用于地址偏移计算;CRC校验模块输出数据有效标志位,传送到通道选择模块,用于穿行通讯链路的选择。
第二接收模块如图10所示,在图8所示的接收状态机的调度下,完成从校验通道接收的数据的功能解码与CRC校验,输出数据有效标志位。
当第一接收模块在一定的时间内收不到有效数据,表示当前通讯链路异常,这时如果第二接收模块检测到另一个通讯链路正常,进行链路切换,从而保证通讯正常进行,提高了本实施例的容错主从同步串行通讯系统的可靠性。
从站模块的发送模块如图11所示,其在图12所示发送状态机的调度下运行。
图12是本实施例的容错主从同步串行通讯系统的从站模块的发送状态机,包括8个状态:
(1)当发送模块未检测到发送使能有效时,处于“空闲”状态,当发送模块检测到发送使能有效时,由“空闲”状态变为“等待”;
(2)发送模块在“等待”状态,延时一个时钟周期,变为“起始状态0”;
(3)发送模块在“起始状态0”,发送起始位并载入数据,由“起始状态0”变为“发送状态0”状态;
(4)发送模块在“发送状态0”发送8位数据,当发送完1个字节,“发送状态0”变为“停止状态0”;
(5)发送模块在“停止状态0”发送停止位,由“停止状态0”变为“起始状态1”;
(6)发送模块在“起始状态1”发送起始位,由“起始状态1”变为“发送状态1”;
(7)发送模块在“发送状态1”发送8位数据,当发送完1个字节,由“接收状态1”变为“停止状态1”;
(8)发送模块在“停止状态1”发送停止位,如果一帧数据发送完毕,由“停止状态1”变为“空闲”;如果继续发送当前帧的剩余数据,由“停止状态1”变为“起始状态1”。
第一接收模块在设定的时间内未收到有效数据,认为通讯链路的通讯状态为异常,如果第二接收模块检测另一串行通讯链路的通讯状态为正常时,通道选择模块选择的串行通讯链路改变为另一串行通讯链路。
从站模块的从站模块还包括地址偏移计算模块,如图13所示,用于数据存储区域的偏移地址计算。
由于不同的功能数据具有不同的数据结构与长度,地址偏移计算模块首先将功能数据缓存,然后组合译码模块根据功能数据的类型,计算出功能数据的首地址偏移。
本实用新型提供的基于FPGA的容错主从同步串行通讯系统,主站模块与从站模块分别与两条串行通讯链路连接,采用双链路容错通讯,提高串行通讯系统的可靠性;通道选择模块对两个串行通讯链路进行选择,选择一个串行通讯链路用于接收数据,同时实时检测另一串行通讯链路的通讯状态。一旦用于接收数据的串行通讯链路出现故障,而另一串行通讯链路通信正常,自动进行串行通讯链路切换,从而实现了串行通讯链路的通讯状态的实时检测,串行通讯链路的故障无扰切换;采用同步时钟实现串行化数据的同步接收和同步发送,提高了串行通讯系统的传输效率。
以上详细描述了本实用新型的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本本实用新型的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本本实用新型的构思在现有技术的基础上通过逻辑分析、推理或者有限以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (9)
1.一种基于FPGA的容错主从同步串行通讯系统,其特征在于,所述基于FPGA的容错主从同步串行通讯系统包括一个主站模块、一个或多个从站模块以及两条串行通讯链路,所述主站模块与所述从站模块分别与两条所述串行通讯链路连接,每个所述串行通讯链路包括同步时钟通道与数据通道,所述主站模块与所述从站模块利用所述同步时钟通道传输的同步时钟,实现所述数据通道传输的串行化数据的同步接收和同步发送。
2.如权利要求1所述的基于FPGA的容错主从同步串行通讯系统,其特征在于,所述从站模块包括通道选择模块,所述通道选择模块用于选择两条所述串行通讯链路中的一条,同步接收串行化数据和/或同步发送串行化数据。
3.如权利要求2所述的基于FPGA的容错主从同步串行通讯系统,其特征在于,所述从站模块包括第一接收模块与第二接收模块,所述第一接收模块用于接收、校验与存储所述主站模块发送的数据,所述第二接收模块用于检测串行通讯链路的通讯状态。
4.如权利要求3所述的基于FPGA的容错主从同步串行通讯系统,其特征在于,所述第一接收模块与所述通道选择模块选中的串行通讯链路的数据通道连接,以便接收、校验与存储所述主站模块发送的数据。
5.如权利要求4所述的基于FPGA的容错主从同步串行通讯系统,其特征在于,所述第二接收模块与所述通道选择模块未选中的串行通讯链路的数据通道连接,以便检测所述通道选择模块未选中的串行通讯链路的通讯状态。
6.如权利要求5所述的基于FPGA的容错主从同步串行通讯系统,其特征在于,所述第一接收模块在设定的时间内未收到有效数据,如果所述第二接收模块检测所述通道选择模块未选中的串行通讯链路的通讯状态为正常时,所述通道选择模块进行串行通讯链路切换。
7.如权利要求6所述的基于FPGA的容错主从同步串行通讯系统,其特征在于,所述第一接收模块与所述通道选择模块切换后选中的串行通讯链路的数据通道连接,所述第二接收模块与所述通道选择模块切换后未选中的串行通讯链路的数据通道连接。
8.如权利要求1所述的基于FPGA的容错主从同步串行通讯系统,其特征在于,所述从站模块还包括地址偏移计算模块,用于数据存储区域的偏移地址计算。
9.如权利要求1所述的基于FPGA的容错主从同步串行通讯系统,其特征在于,所述从站模块还包括发送模块,用于同步发送串行化数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201420858884.XU CN204390224U (zh) | 2014-12-29 | 2014-12-29 | 一种基于fpga的容错主从同步串行通讯系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201420858884.XU CN204390224U (zh) | 2014-12-29 | 2014-12-29 | 一种基于fpga的容错主从同步串行通讯系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN204390224U true CN204390224U (zh) | 2015-06-10 |
Family
ID=53362926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201420858884.XU Active CN204390224U (zh) | 2014-12-29 | 2014-12-29 | 一种基于fpga的容错主从同步串行通讯系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN204390224U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107331185A (zh) * | 2017-08-16 | 2017-11-07 | 青岛海信网络科技股份有限公司 | 一种交通信号灯机的异常状态处理方法、主机及从机 |
CN108153701A (zh) * | 2017-12-26 | 2018-06-12 | 北京航空航天大学 | 一种面向智能物联的同步串行大数据可靠传输方法 |
-
2014
- 2014-12-29 CN CN201420858884.XU patent/CN204390224U/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107331185A (zh) * | 2017-08-16 | 2017-11-07 | 青岛海信网络科技股份有限公司 | 一种交通信号灯机的异常状态处理方法、主机及从机 |
CN107331185B (zh) * | 2017-08-16 | 2019-12-06 | 青岛海信网络科技股份有限公司 | 一种交通信号灯机的异常状态处理方法、主机及从机 |
CN108153701A (zh) * | 2017-12-26 | 2018-06-12 | 北京航空航天大学 | 一种面向智能物联的同步串行大数据可靠传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102984059B (zh) | 千兆以太网冗余网卡及其链路切换条件判定结果控制方法 | |
CN106647613B (zh) | 基于mac的plc双机冗余方法及系统 | |
CN105573239A (zh) | 一种高速背板总线通讯控制装置及方法 | |
CN102386970B (zh) | Epon系统的光网络单元onu装置及其保护倒换方法 | |
CN100479361C (zh) | 同步媒介访问控制器 | |
CN103248526A (zh) | 实现带外监控管理的通信设备、方法及主从切换方法 | |
CN108259127B (zh) | Pcie双冗余万兆网ip核 | |
CN102035688B (zh) | 一种快速控制网络链路访问设计方法 | |
CN103715766B (zh) | 一种环网分布式母线保护同步方法 | |
CN102355507A (zh) | 一种新型的带自检和冲突检测的串行通信接口 | |
CN104866399B (zh) | Um-bus总线通道故障检测控制器及检测方法 | |
CN103490959A (zh) | 一种双冗余can总线故障检测方法 | |
CN104199795A (zh) | 一种总线架构 | |
CN101753284A (zh) | 一种基于载波检测的10/100m以太网双网口切换方法及装置 | |
CN102830647A (zh) | 一种故障安全的二乘二取二装置 | |
CN103428114A (zh) | 一种atca万兆交换板及系统 | |
CN104767665A (zh) | 一种环形通信网络主站冗余的方法、装置及系统 | |
CN204390224U (zh) | 一种基于fpga的容错主从同步串行通讯系统 | |
CN101958888A (zh) | 端口协商能力的配置方法、通信端口和通信设备 | |
CN105681131A (zh) | 主备系统及其并行输出方法 | |
US10055322B2 (en) | Interpreting signals received from redundant buses | |
CN101547131A (zh) | Eaps环网单通故障定位和保护方法 | |
CN104796287A (zh) | 一种epon环网故障检测方法 | |
CN104951385A (zh) | 动态可重构总线监听系统中的通道健康状态记录装置 | |
CN204463106U (zh) | Um-bus总线通道故障检测控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |