微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > openSAFETY基础引导(一)

openSAFETY基础引导(一)

时间:12-16 来源:互联网 点击:

该表列出错误已知传输错误和openSAFETY可用的故障识别机制。

2. 故障原因
数据传输错误中的很大比例是网关转发时出的错。假若两个网络之间有两个网关,传输了相同的数据,那么数据重复便可能发生。另一方面,如果网关没有转发数据,或者转发到其他网络上,那么数据包就丢失了。如果数据包可以根据长度需要,以一个部分包序列传输,那么因路径不同、网关各式各样,造成数据包的一些段的顺序错误和混淆。网关的数据转发也会因其负载过高而延迟。
另一个数据出错源头是电磁干扰。它可能导致数据位翻转,甚至破坏真个信息段。再者,在传输标准数据和安全数据的网络上,还会出现“数据伪装”(masquerades),即因错序和混淆导致标准信息被错当成安全信息。这会造成严重故障。
3. 错误辨识和防止
OpenSAFETY的一项关键机制是时间戳,它可以防止数据重复、混淆和延迟。每个数据包都被标记以当前时间,使接收端可以避免读重数据,并判断时序和延迟。
OpenSAFETY不依靠分布时钟,而是通过一个特殊方法为所有节点进行同步。同时采用时间监视方式防止因数据丢失或过长延迟导致的错误,即实时、连续地监视节点。
另外,从提示信息中用户可以知道数据链路层的连接状态。OpenSAFETY使用 “看门狗”这样一种软件上的机制。在接收端,标识符可以排除一切混淆:OpenSAFETY帧有一个独特的8位或16位ID标识,包含地址域信息、报文类型和帧类型的信息。最可靠的辨明原始信息发生变化的方法是通过CRC。它通过一个key为每组数据生产校验和,连同key本身以位序列的形式加入数据组中。该校验和本身可以看作数据的一个独特的编码。通过位序列和key,接收端可以计算出原始数据组,并与实际接受到的数据比较。如果检查出任何不同,该条信息就会被忽略。
4. OpenSAFETY的帧结构
OpenSAFETY复制要传输的帧,然后将它们联合为1个OpenSAFETY帧。因此,OpenSAFETY帧包含两个有着相同内容的子帧。
每个子帧都有一个独立的校验和作为保障。接收端比较两个子帧的内容。这样的两个子帧中相同数据被改变或破坏的可能性是极低的,并且帧长度增加会让它进一步降低。假使发生最极端的特例,校验和也会起到纠正作用。OpenSAFETY的这种特殊格式,即两个相同子帧、每个带有独自的校验和的形式,同样使“伪装”也不会出现,排除伪装的标准信息的可能性。

安全帧被包含在标准帧的负载数据域;它由两个相同子帧组成,各自有校验和。
5. OpenSAFETY网络
一个OpenSAFETY网络可以包含多达1023个安全域,每个域又可以包含1023个节点或设备。
安全域可以跨越不同网络,并且可以将分散在不同网络上的安全节点整合为一个域。安全和非安全谁被可以共处于一个域。通过网关可以使不同安全域之间的通信成为可能。通过OpenSAFETY,用户可以强制按层级式划分网络,也可以建立各自独立的安全域。比如,可以建立这样的网络:一个域内实施安装,而另一个域中的生产毫不受影响地进行。每个域中,有一个安全配置管理器(SCM)负责连续监视所有安全节点。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top