CAN的基本简介(1)

1.CAN总线发展历史
1986年发布CAN1.0。
1991年博世发布CAN2.0规范,分为CAN2.0A(11位标识符)和CAN2.0B(11+18=29位标识符)。
1993年ISO组织发布ISO11898规范:
ISO11898-1 涵盖数据链路层。
ISO 11898-2 涵盖高速CAN的CAN物理层(经典CAN速度1Mbps,CAN FD 5Mbps)。
ISO 11898-3 涵盖低速、容错CAN的物理层(速度125kbps)。
后续推出ISO 11898-4 -5 和-6标准。
2012年博世发布CAN FD 1.0(速度2Mbps,使用加强版CAN PHY的CAN FD-SiC可以做到5-8Mbps)。
2015年:CAN FD协议标准化(ISO 11898-1)
2016年:CAN物理层,数据速率高达5 Mbit/s,已通过ISO 11898-2标准化
2018年发布第三代CAN数据链路层协议CAN XL,速度提升至10Mbps,兼容CAN FD。
(先辑HPM5300 CAN 符合ISO11898-1 :2015)
2.CAN总线结构
CAN总线是一种广播类型的总线,可支持线形拓扑、星形拓扑、树形拓扑和环形拓扑等。CAN网络中至少需要两个节点设备才可进行通信,无法仅向某一个特定节点设备发送消息,发送数据时所有节点都不可避免地接收所有流量。但是,CAN总线硬件支持本地过滤,过滤器过滤id,因此每个节点可以设置对有效的消息做出反应。
ISO 11898-2中定义了通信速率为125Kbps~1Mbps的高速闭环CAN通信标准 ,当通信总线长度≤40米,最大通信速率可达到1Mbps,高速闭环CAN(高速CAN):
ISO 11898-3中定义了通信速率为10~125Kbps的低速开环CAN通信标准,当传输速率为40Kbps时,总线距离可达到1000米通信如下图所示
在这里插入图片描述
高速CAN总线(ISO 11898-2,通信速率为125Kbps~1Mbps)在传输显性(0)信号时,会将 CAN_H端抬向5V高电平,将CAN_L拉向0V低电平。当传输隐性(1)信号时,并不会驱动 CAN_H 或者 CAN_L 端。 显性信号 CAN_H 和 CAN_L 两端差分标称电压为 2V。 终端电阻在没有驱动时,将差分标称电压降回 0V。显性信号(0)的共模电压需要在 1.5V 到 3.5V 之间。隐性信号(1)的共模电压需要在+/-12V。
在这里插入图片描述
低速/容错CAN(ISO 11898-3,通信速率为10~125Kbps)在传输显性信号(0)时,驱动CANH端抬向5V,将CANL端降向0V。在传输隐性信号(1)时并不驱动CAN 总线的任何一端。在电源电压VCC为5V时,显性信号差分电压需要大于2.3V,隐性信号的差分电压需要小于0.6V。CAN总线两端未被驱动时,终端电阻使CAN L端回归到RTH电压(当电源电压VCC为5V时,RTH电压至少为Vcc-0.3V=4.7V),同时使CAN H端回归至RTL电压(RTL电压最大为0.3V)。两根线需要能够承受-27V至40V的电压而不被损坏。
在这里插入图片描述

3.CAN总线特点

  1. 多主工作方式:总线上的所有节点没有主从之分,大家都处于平等的地位。反应在数据传输上,即是:在总线空闲状态,任意节点都可以向总线上发送消息。
    2.当总线上的上出现连续的11位隐性电平,那么总线就处于空闲状态。也就是说对于任意一个节点而言,只要它监听到总线上连续出现了11位隐性电平,那么该节点就会认为总线当前处于空闲状态,它就会立即向总线上发送自己的报文。至于为什么连续出现11位隐性电平,就可以判定+总线处于空闲状态,这个问题可以结合CAN协议的帧结构来进行理解。
    3.最先向总线发送消息的节点获得总线的发送权;·当多个节点同时向总线发送消息时,所发送消息的优先权高的那个节点获得总线的发送权。例如:Node_A和Node_B同时向总线发送各自的消息Msg_1和Msg_2,如果Msg_1的优先级比Msg_2高,那么Node_A就获得了总线的发送权。多个节点同时发送消息看节点id大小 id越小优先级越高 。例如id号01 和02同时发送消息 那么总线仲裁域会判断id大小 id号为01的获得总线的发送权,02会自动转换到监听状态等待总线空闲。
    4.CAN总线上的节点没有“地址”的概念,因此在总线上增加节点时,不会对总线上已有节点的软硬件及应用层造成影响。
    5.在同一条CAN线上,所有节点的通信速度(位速率)必须相同,如果两条不同通信速度总线上的节点想要实现信息交互,必须通过网关。
    例如:汽车上一般有两条CAN总线:500kbps的驱动系统CAN总线和125kbps的舒适系统CAN总线,如果驱动系统CAN总线上的发动机节点要把自己的转速信息发送给舒适系统CAN总线上的转速表节点,那么这两条总线必须通过网关相连。
    6.CAN总线可以实现一对一,一对多以及广播的数据传输方式,这依赖于验收滤波技术,过滤器可以过滤你不想接收的id号的消息定向接收你需要的节点消息
    下一章将将解can总线数据结构添加链接描述
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Canfestival中文手册是一种为了方便中国用户而制作的Canfestival软件的中文使用指南。Canfestival是一个开源的CANopen协议栈,用于在嵌入式系统中实现CANopen协议通信。这个手册详细介绍了Canfestival的安装、配置和使用方法,以及各个功能模块的使用说明。 首先,手册中会介绍Canfestival的基本概念和原理,包括CANopen协议的基本概念和通信模型,以及Canfestival的架构和工作原理。用户可以通过这些介绍了解Canfestival的基本原理,为后续的学习和使用打下基础。 然后,手册会详细介绍Canfestival的安装过程,包括软件环境的准备和依赖库的安装。通过按照手册的指导,用户可以轻松地在自己的嵌入式系统中安装和配置Canfestival软件。 接下来,手册会逐步介绍Canfestival的各个功能模块的使用方法,包括CAN总线通信的初始化、PDO和SDO对象的配置和管理,以及CANopen网络的建立和维护等。用户可以通过手册中的示例代码和详细说明,迅速上手并掌握Canfestival软件的各项功能。 此外,手册还会介绍一些常见的问题和解决方法,以及一些使用技巧和注意事项。这些内容可以帮助用户更好地理解和使用Canfestival,以及解决在使用过程中遇到的一些常见问题。 总之,Canfestival中文手册是一本详细介绍Canfestival软件的中文指南,通过学习这本手册,用户可以了解Canfestival的原理和使用方法,从而更好地应用Canfestival进行嵌入式系统的CANopen通信开发。 ### 回答2: CanFestival是一个开放源码的CANopen协议栈实现工具。它为CANopen通信协议提供了丰富的功能和灵活性,可以在各种嵌入式系统中使用。 CanFestival中文手册是对CanFestival工具的使用说明书,以中文形式详细介绍了CanFestival的安装、配置和使用方法。 手册首先介绍了CanFestival的基本概念和原理,包括CANopen通信协议的基本原理和工作方式。然后详细介绍了CanFestival的安装步骤,包括从官方网站下载CanFestival源码、编译和安装CanFestival库文件。 手册进一步介绍了CanFestival的配置文件,包括主节点和从节点的配置方法,以及各种通信参数的设置。它详细说明了如何配置节点的ID、波特率、通信对象字典等信息,以满足不同应用场景的需求。 手册还介绍了CanFestival的API接口,包括发送和接收CAN消息的方法、读写对象字典的方法,以及事件处理和错误处理的方法。这些接口的使用方法和调用示例都有详细的说明,并提供了一些常用的示例代码。 手册最后介绍了CanFestival的应用示例,包括如何使用CanFestival实现简单的CANopen通信、如何使用CanFestival实现远程控制和监控等功能。通过这些示例,读者可以更好地理解和掌握CanFestival的使用方法。 总之,CanFestival中文手册是一本详细介绍CanFestival工具的使用说明书,它帮助用户了解和掌握CanFestival的安装、配置和使用方法,为开发者提供了丰富的参考资料。 ### 回答3: Canfestival是一个用于开发CANopen协议的开源工具集。它提供了一套完整的软件库和丰富的API,方便开发人员快速实现CANopen通信。Canfestival具有跨平台的特性,可以在多种操作系统上运行,如Windows、Linux、FreeRTOS和嵌入式系统等。该工具集的中文手册为使用者提供了详细的指导和说明。 Canfestival中文手册主要包含以下内容: 1. Canfestival简介:介绍Canfestival的概述、特点和应用领域。 2. 安装和配置:详细介绍如何在不同的操作系统和开发环境中安装和配置Canfestival。 3. Canfestival的基本概念:介绍Canfestival的基本概念和术语,如节点、对象字典、SDO和PDO等。 4. Canfestival的API和函数库:详细介绍Canfestival提供的API和函数库,包括初始化、发送和接收数据、处理事件和调度等。 5. 示例和实例代码:提供一些示例和实例代码,方便开发人员理解和使用Canfestival。 6. 故障排除和常见问题:列举了一些常见问题和解决方法,帮助开发人员快速解决问题。 通过Canfestival中文手册,开发人员能够全面了解和学习利用Canfestival进行CANopen开发。它为开发人员提供了一个详尽的指南,帮助他们快速上手并高效地使用Canfestival进行开发工作。无论是初学者还是有经验的开发人员,都可以从中文手册中获得帮助和指导,从而加快开发进度,提高开发质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值