×
嵌入式 > 嵌入式开发 > 详情

Profibus和CAN现场总线的帧转换

发布时间:2020-06-15 发布时间:
|

1、概述

现场总线是一种用于智能化现场设备和自动化系统的开放式、数字化、双向串行、多节点的通信总线。

在实际的生产建设中,我们将会经常遇到将不同现场总线的设备集成在一起或者在某一现场总线中利用其他现场总线协议的设备的问题。这就涉及到了不同的现场总线协议的协议转化。数据键路层的帧转换是这些协议转化中的一个很关键的问题。
在这里,我们以Profibus-DP和CAN这两种当今使用广泛的现场总线来研究现场总线的协议帧转化。

2、CAN现场总线的传输层协议简介

传输层是CAN协议的核心。它把接收到的报文提供给对象层,以及接收来自对象层的报文。传输层负责位定时及同步、报文分帧、仲裁、应答、错误检测和标定、故障界定。

报文路由:报文的内容由识别符命名。识别符不指出报文的目的地,但解释数据的含义。因此,网络上所有的节点可以通过报文滤波确定是否应对该数据做出反应。

报文传输由以下4个不同的帧类型所表示和控制:

• 数据帧:数据帧携带数据从发送器至接收器。
• 远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。
• 错误帧:任何单元检测到一总线错误就发出错误帧。
• 过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。

数据帧(或远程帧)通过帧间空间与前述的各帧分开。

在这里我们以数据帧为例来分析CAN的帧结构。

2.1 数据帧

数据帧由7个不同的位场组成,如图1所示:


图1 数据帧的结构

(1)帧起始

它标志数据帧和远程帧的起始,由一个单独的“显性”位组成。

(2)仲裁域

仲裁域包括识别符(ID)和远程发送请求位(RTR)。

识别符(ID):识别符的长度为11位。这些位的发送顺序是从ID-10到ID-0。最低位是ID-0。最高的7位(ID-10到ID-4)必须不能全是“隐性”。

RTR位:该位在数据帧里必须为“显性”,而在远程帧里必须为“隐性”。


图2 仲载域


图3 控制域

(3)控制域

控制域由6个位组成,包括数据长度代码和两个将来作为扩展用的保留位。所发送的保留位必须为“显性”。数据长度代码指示了数据域中字节数量,长度为4个位。

(4)CRC域

CRC域包括CRC序列,其后是CRC界定符,它包含一个单独的“隐性”位。

(5)应答域

应答域长度为2位,包含应答间隙和应答界定符。在应答域里,发送站发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应答间隙期间发送ACK信号,向发送器发送一“显性”的位以示应答。

(6)帧结尾

每一个数据帧和远程帧均由一标志序列界定。这个标志序列由7个“隐性”位组成。

2.2 传输控制

(1)帧间空隙

对于不是“错误被动”的站,或者此站已作为前一报文的接收器,其帧间空隙如图4所示:


图4 帧间空隙(非错误被动)

对于已作为前——报文发送器的“错误被动”的站,其帧间空间如图5所示:


图5 帧间空间(错误被动)

其中,intermission是强制性的3个隐性位。

(2)位流编码

帧的部分,诸如帧起始、仲裁域、控制域、数据域以及CRC序列,均通过位填充的方法编码。无论何时,发送器只要检测到位流里有5个连续识别值的位,便自动在位流里插入——补码位。

数据帧或远程帧(CRC界定符、应答域和帧末尾)的剩余位域形式相同,不填充。错误帧和过载帧的形式也相同,但并不通过位填充的方法进行编码。其报文里的位流根据“不返回到零”之方法来编码。这就是说,在整个位时间里,位电平要么为“显性”,要么为“隐性”。

CAN协议范围只规定了“显性”和“隐性”两种逻辑值,而没有明确规定表示这些逻辑电平的物理状态。根据逻辑关系,我们可以设“显性”逻辑值为逻辑“0”,“隐性”逻辑值为逻辑1。

3、Profibus数据链路层帧格式及相关的地址规定

(1)帧字符(UART字符)

帧由帧字符组成

每个帧字符由11个位组成:1个开始位(ST);8个信息位;1个奇偶校验位(P);1个停止位。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
电子EDA技术的基础知识