本发明属于计算机通信1553总线技术领域,具体涉及一种1553总线的功能安全通信方法。
背景技术:
目前以太网功能安全在工业以太网中研究的热度较高,用于保障以太网在电磁、高温、潮湿、噪声、振动等多种恶劣环境干扰下的适应性、可靠性和可维护性。例如profisafe安全协议、cipsafety安全协议和epasafety安全协议等均面向以太网研发。
1553总线物理层采用曼彻斯特编码,与以太网(10base-t)物理层采用编码算法相同;1553总线逻辑链路层基本单元(字)采用奇偶校验方法,只能实现单比特纠错,远弱于以太网逻辑链路层基本单元(帧)采用的crc32校验方法。因此,从协议编码设计上,1553总线的安全性要弱于以太网。
目前,针对1553总线安全协议的研究尚属空白。因此,迫切地需要一种方法简单的、高效的,提高1553总线功能安全的通信方法。
技术实现要素:
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种方法简单的、高效的,提高1553总线功能安全的通信方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种1553总线的功能安全通信方法,所述方法用于实现bc到rt和rt到bc的功能安全通信,其中,1553总线bc到rt的功能安全通信方法包含以下步骤:
s1:bc向rt发送1553接收命令字、规定数目的1553数据字和消息数据校验字;
s2:rt接收1553接收命令字、规定数目的1553数据字和消息数据校验字,进行消息数据校验;
s3:rt向bc发送携带rt状态字序号的1553状态字;
s4:bc接收携带rt状态字序号的1553状态字,进行响应时间校验和状态字序号校验。
优选地,1553总线bc到rt的功能安全通信方法中,步骤s1具体包括:
s101:对要发送的数据进行crc-16计算;
s102:将crc-16的计算结果按1553数据字的格式生成消息数据校验字;
s103:发送1553接收命令字,发送规定数目的1553数据字,以没有字间隔的方式继续发送消息数据校验字;
s104:命令与响应消息间隔计时开始。
优选地,1553总线bc到rt的功能安全通信方法中,步骤s2具体包括:
s201:接收1553接收命令字,接收规定数目的1553数据字,以没有字间隔的方式继续接收消息数据校验字;
s202:对接收的有效数据进行crc-16计算,并与消息数据校验字中crc-16数据进行比较,如果一致,则消息数据校验成功,否则消息数据校验失败。
优选地,1553总线bc到rt的功能安全通信方法中,步骤s3具体包括:
s301:如果消息数据校验成功,则执行s302,否则,执行s303;
s302:将1553状态字中消息出错比特置位;
s303:将rt状态字序号写入状态字的保留比特;
s304:发送1553状态字;
s305:rt状态字序号加1。
优选地,1553总线bc到rt的功能安全通信方法中,步骤s4具体包括:
s401:接收1553状态字;
s402:命令与响应消息间隔计时停止,如果计时值在命令与响应消息间隔时间允许值范围内,响应时间校验成功,否则响应时间校验失败;
s403:提取状态字保留比特作为rt状态字序号;
s404:与rt状态字序号期望值比较,如果相等,则认为状态字序号校验成功,继续执行步骤s405,否则,认为状态字序号校验失败,直接执行步骤s406;
s405:rt状态字序号期望值加1;
s406:bc到rt功能安全通信结束。
优选地,其特征在于,其中,1553总线rt到bc的功能安全通信方法,包含以下步骤:
s1’:bc向rt发送1553发送命令字;
s2’:rt接收1553发送命令字;
s3’:rt向bc发送携带rt状态字序号的1553状态字、规定数目的1553数据字和消息数据校验字;
s4’:bc接收携带rt状态字序号的1553状态字、规定数目的1553数据字和消息数据校验字,进行响应时间校验、状态字序号校验和消息数据校验。
优选地,1553总线rt到bc的功能安全通信方法中,步骤s1’具体包括:
s101’:发送1553发送命令字;
s102’:命令与响应消息间隔计时开始;
优选地,1553总线rt到bc的功能安全通信方法中,步骤s3’具体包括:
s301’:对要发送的数据进行crc-16计算;
s302’:将crc-16的计算结果按1553数据字的格式生成消息数据校验字;
s303’:将rt状态字序号写入状态字的保留比特;
s304’:发送1553状态字、发送规定数目的1553数据字、以没有字间隔的方式继续发送消息数据校验字;
s305’:rt状态字序号加1。
优选地,1553总线rt到bc的功能安全通信方法中,步骤s4’的具体包括:
s401’:接收1553状态字、接收规定数目的1553数据字、以没有字间隔的方式继续接收消息数据校验字;
s402’:命令与响应消息间隔计时停止,如果计时值在命令与响应消息间隔时间允许值范围内,响应时间校验成功,否则响应时间校验失败;
s403’:提取状态字保留比特作为rt状态字序号;
s404’:与rt状态字序号期望值比较,如果相等,状态字序号校验成功,执行步骤s405’,否则,状态字序号校验失败,执行步骤s407’;
s405’:rt状态字序号期望值加1;
s406’:对接收的有效数据进行crc-16计算与消息数据校验字中crc-16数据进行比较,如果一致,则消息数据校验成功,否则消息数据校验失败;
s407’:rt到bc功能安全通信结束。
(三)有益效果
本发明公开的一种1553总线的功能安全通信方法,通过状态字序号校验功能实现状态字丢失、乱序等故障检测,通过消息数据安全校验功能实现错数、伪装等故障检测,通过响应时间校验功能实现响应超时故障检测,提高了1553总线的功能安全等级,使其尤其适应于恶劣环境的应用。
附图说明
图1为本发明中设计的方法消息格式示意图;
图2为本发明中bc到rt功能安全通信流程示意图;
图3为本发明中rt到bc功能安全通信流程示意图;
图4为本发明采用的状态字格式示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供的一种1553总线的功能安全通信方法,可以实现bc到rt和rt到bc的功能安全通信。
如图1至图4所示,1553总线bc到rt的功能安全通信方法,包含以下步骤:
s1:bc向rt发送1553接收命令字、规定数目的1553数据字和消息数据校验字;
其中,步骤s1具体包括:
s101:对要发送的数据进行crc-16计算;
s102:将crc-16的计算结果按1553数据字的格式生成消息数据校验字;
s103:发送1553接收命令字,发送规定数目的1553数据字,以没有字间隔的方式继续发送消息数据校验字;
s104:命令与响应消息间隔计时开始;
s2:rt接收1553接收命令字、规定数目的1553数据字和消息数据校验字,进行消息数据校验;
其中,步骤s2具体包括:
s201:接收1553接收命令字,接收规定数目的1553数据字,以没有字间隔的方式继续接收消息数据校验字;
s202:对接收的有效数据进行crc-16计算,并与消息数据校验字中crc-16数据进行比较,如果一致,则消息数据校验成功,否则消息数据校验失败;
s3:rt向bc发送携带rt状态字序号的1553状态字;
其中,步骤s3具体包括:
s301:如果消息数据校验成功,则执行s302,否则,执行s303;
s302:将1553状态字中消息出错比特(比特9)置位;
s303:将rt状态字序号(初始值为0)写入状态字的保留比特(比特12至14);
s304:发送1553状态字;
s305:rt状态字序号加1;
s4:bc接收携带rt状态字序号的1553状态字,进行响应时间校验和状态字序号校验;
其中,步骤s4具体包括:
s401:接收1553状态字;
s402:命令与响应消息间隔计时停止,如果计时值在命令与响应消息间隔时间允许值范围内,响应时间校验成功,否则响应时间校验失败;
s403:提取状态字保留比特(比特12至14)作为rt状态字序号;
s404:与rt状态字序号期望值(初始值为0)比较,如果相等,则认为状态字序号校验成功,执行步骤s405(然后再执行步骤406),否则,认为状态字序号校验失败,直接执行步骤s406;
s405:rt状态字序号期望值加1;
s406:bc到rt功能安全通信结束(然后可重新返回步骤s1执行下一轮操作);
1553总线rt到bc的功能安全通信方法,包含以下步骤:
s1’:bc向rt发送1553发送命令字;
其中,步骤s1’具体包括:
s101’:发送1553发送命令字;
s102’:命令与响应消息间隔计时开始;
s2’:rt接收1553发送命令字;
s3’:rt向bc发送携带rt状态字序号的1553状态字、规定数目的1553数据字和消息数据校验字;
其中,步骤s3’具体包括:
s301’:对要发送的数据进行crc-16计算;
s302’:将crc-16的计算结果按1553数据字的格式生成消息数据校验字;
s303’:将rt状态字序号(初始值为0)写入状态字的保留比特(比特12至14);
s304:发送1553状态字、发送规定数目的1553数据字、以没有字间隔的方式继续发送消息数据校验字;
s305’:rt状态字序号加1;
s4’:bc接收携带rt状态字序号的1553状态字、规定数目的1553数据字和消息数据校验字,进行响应时间校验、状态字序号校验和消息数据校验;
其中,步骤s4’具体包括:
s401’:接收1553状态字、接收规定数目的1553数据字、以没有字间隔的方式继续接收消息数据校验字;
s402’:命令与响应消息间隔计时停止,如果计时值在命令与响应消息间隔时间允许值范围内,响应时间校验成功,否则响应时间校验失败;
s403’:提取状态字保留比特(比特12至14)作为rt状态字序号;
s404’:与rt状态字序号期望值(初始值为0)比较,如果相等,状态字序号校验成功,继续执行步骤s405’,否则,状态字序号校验失败,直接执行步骤s407’;
s405’:rt状态字序号期望值加1;
s406’:对接收的有效数据进行crc-16计算与消息数据校验字中crc-16数据进行比较,如果一致,则消息数据校验成功,否则消息数据校验失败;
s407’:rt到bc功能安全通信结束(然后可重新返回步骤s1’执行下一轮操作)。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。