CAN总线 远程帧理解和应用

简单的说:

如果A需要B节点向你发送数据!A可以用B节点的ID,发送一个remote frame,B收到A ID 的 Remote Frame 之后就发送数据给A!发送的数据就是数据帧!

远程帧就像命令,命令相应的节点返回一个数据包.

总结:

由于CAN总线发送帧时,仲裁方法只依靠帧ID号,当有两个相同ID号的帧同时竞争总线时,总线就无法判别出让哪个设备先发送帧,于是就造成总线冲突。

为了总线访问安全,每个发送器必须用独属于自己的ID号往外发送帧(多个接收器的过滤器ID可以重复),(可以让某种信号帧只使用特定的ID号,而每个设备都是某一种信号的检测源,这样就形成某一特定个设备都只是用特定的ID号往总线上发送数据)。

   设有设备A,B,且假设A发送信息的ID为A_ID=1,B发送信息时是用的ID为B_ID=2。
   A是收取温度信息的设备,B是采集温度信息的设备。

某一时刻,A需要请求B发送温度信息帧。那么A可有2中方法发送请求:
1)A发送一帧数据,ID号为B的ID号(B_ID),数据域内容为【请求温度信息】。
B的过滤器设置为接收B_ID帧。
则A发送后被B接收到,B在以B_ID发送温度信息帧。被A接收到。
这看似完美的过程,其实存在可能的总线冲突:如果A发送帧的同时,B也正要往总线上发送温度帧,则造成总线冲突。
当然也可以采用别的方法来解决此问题,如A发送请求温度帧的ID号改成别的,当然B的过滤器也要做相应的设置。
2)使用远程帧来做信息请求:由于A直接发送B_ID号的数据帧,可能造成总线冲突,但若是A发送远程帧:远程帧的ID号自然是B发送帧使用的ID号(B_ID )。
由于CAN总线仲裁时,数据帧发送的优先级高于远程帧,即使有别的节点设备也在发送以B_ID为ID号的远程帧,因为远程帧除了ID号不同,其他都相同。所以不会造成总线冲突。
当B(前提是以对过滤器设置接受B_ID类型的帧)接受到远程帧后,在软件(注意,是在软件的控制下,而不是硬件自动回应远程帧)控制下,往CAN总线上发送一温度信息帧,即使用B_ID作帧ID号往CAN总线上发送温度信息帧。该帧被A接受到(当然A的过滤器已在发送远程帧之前做了相应设置)。
由此可见,远程帧可以使请求更简单,但也非不可代替。

  • 13
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: CAN总线协议中文版PDF是一份包含了CAN总线通信协议的中文版本的PDF文件。CAN总线是一种常用于汽车和工业控制领域的通信协议,它允许多个设备在同一总线上进行高速、可靠的通信。 这份中文版PDF文件通常包含了CAN总线的标准规范、数据格式、通信速率以及错误处理等各个方面的详细说明。通过阅读这份文档,用户可以了解CAN总线的基本工作原理和通信机制,从而能够正确地设计和实现CAN总线应用。 在CAN总线协议的中文版PDF中,通常会包括以下内容: 1. CAN总线基础知识:包括CAN总线的定义、历史、特点以及优势等。 2. 数据格式:详细介绍标准CAN数据和扩展CAN数据的结构和格式,包括头的各个字段的含义和作用。 3. 通信速率:介绍CAN总线支持的通信速率范围,并说明不同通信速率对通信距离和数据传输可靠性的影响。 4. 错误处理:解释CAN总线上可能出现的错误类型,以及各种错误检测和纠正机制的工作原理。 5. 网络拓扑:介绍CAN总线的不同网络结构,如点对点、多主/多从和主/从结构,并讨论各种拓扑结构的适用场景。 6. 协议实现:介绍如何在硬件和软件层面实现CAN总线协议,包括硬件接口电路设计、通信控制器配置和通信协议栈的使用等。 通过阅读这份中文版PDF,用户可以更好地理解CAN总线协议,并能够在实际应用中正确地配置和使用CAN总线,从而实现高效、可靠的数据通信。 ### 回答2: CAN总线协议(Controller Area Network)是一种用于在车辆系统和工业控制领域中进行通信的串行通信协议。 CAN总线协议使用了一对差分信号线(CAN_H和CAN_L),通过这对差分线进行数据传输。CAN总线协议具有高可靠性和高抗干扰能力的特点,可以在恶劣的环境中进行可靠的数据传输。 CAN总线协议主要分为两种类型:CAN 2.0A和CAN 2.0B。其中,CAN 2.0A协议使用11位标识符,支持最多2048个节点进行通信;CAN 2.0B协议使用29位标识符,支持最多1亿个节点进行通信。 CAN总线协议具有多种通信模式,包括广播模式和点对点模式。在广播模式下,发送节点将消息发送给所有节点,而在点对点模式下,发送节点将消息发送给指定的接收节点CAN总线协议还定义了多种消息类型,包括数据远程和错误。数据用于传输实际数据,远程用于请求接收节点发送数据,而错误用于表示数据传输中的错误状态。 CAN总线协议中还定义了多种错误检测和错误处理机制,包括奇偶校验、位计数和CRC校验等。这些机制可以用来检测和纠正数据传输过程中的错误,提高通信的可靠性。 总之,CAN总线协议是一种可靠性和抗干扰能力较强的通信协议,广泛应用于车辆系统和工业控制领域。想要了解更多详细信息,可以查阅CAN总线协议中文版PDF文档。 ### 回答3: CAN总线协议(Controller Area Network)是一种常用于车辆电子系统以及其他工业应用中的通信协议。它使用串行通信方式,在数据传输上具有高可靠性和实时性。 CAN总线协议最早由德国的BOSCH公司在1987年开发出来,现已成为国际标准ISO 11898的一部分。它提供了高速传输和高度可靠性,适用于繁忙的环境中。 CAN总线协议通过两根不同的线(CAN_H和CAN_L)进行数据传输,这种差分传输方式可以抵抗噪音的干扰,并具有错误检测和纠正的能力。 CAN总线协议采用了“广播”方式进行通信,即发送的数据包可以被所有连接在总线上的设备接收。每个设备通过唯一的标识符(ID)来区分不同的数据包。 CAN总线协议的应用十分广泛,尤其是在汽车电子系统中。它可以用于传输各种信息,如车辆控制、传感器数据、仪表盘显示等,通过简单的结构和高效的通信速度来提高汽车系统的可靠性和性能。 若需要进一步了解CAN总线协议,可以在互联网上搜索“CAN总线协议中文版pdf”,可以找到相应的文档和资料进行学习和参考。这些文档通常包含了CAN总线的基本原理、通信方式、消息格式等详细信息,对于学习和应用CAN总线协议是非常有帮助的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值