IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> CAN总线协议以及概念 -> 正文阅读

[嵌入式]CAN总线协议以及概念

1 CAN总线概念

CAN 总线有两个 ISO 国际标准: ISO11898 ISO11519 。其中:
? ISO11898? 定义了通信速率为 125 kbps 1 Mbps 的高速 CAN 通信标准,属于闭环总线,传输速率可达 1Mbps ,总线长度 ≤ 40 米。
? ISO11519 定义了通信速率为 10 125 kbps 的低速 CAN 通信标准,属于开环总线,传输速率为 40kbps 时,总线长度可达 1000 米。
? CAN 总线上,利用 CAN_H CAN_L 两根线上的电位差来表示 CAN 信号。 CAN 总线上的电位差分为 显性电平 隐性电平 。其中 显性电平 为逻辑 0 隐性电平 为逻辑 1
CAN 信号的表示分别如下所示:

??发送过程:CAN控制器将CPU传来的信号转换为逻辑电平(即逻辑0-显性电平或者逻辑1-隐性电平)。CAN发射器接收逻辑电平之后,再将其转换为差分电平输出到CAN总线上。

? 接收过程: CAN 接收器将 CAN_H CAN_L 线上传来的差分电平转换为逻辑电平输出到 CAN 控制器, CAN 控制器再把该逻辑电平转化为相应的信号发送到 CPU 上。

?

2?CAN通信的特点

? ?

多主工作方式:
? 所谓多主工作方式,指的是:总线上的所有节点没有主从之分,在总线空闲状态,任意节点都可以向总线上发送消息。
? < 总线空闲状态 > :当总线上的上出现连续的 11 位隐性电平,那么总线就处于空闲状态。也就是说对于任意一个节点而言,只要它监听到总线上连续出现了 11 位隐性电平,那么该节点就会认为总线当前处于空闲状态,它就会立即向总线上发送自己的报文。
? 在多主工作方式下:最先向总线发送消息的节点获得总线的发送权;当多个节点同时向总线发送消息时,所发送消息的优先权高的那个节点获得总线的发送权。例如: Node_A Node_B 同时向总线发送各自的消息 Msg_1 Msg_2 ,如果 Msg_1 的优先级比 Msg_2 高,那么 Node_A 就获得了总线的发送权。

? ? ?非破坏性位仲裁机制:

? ??CAN协议中,所有的消息都以固定的帧格式发送。当多个节点同时向总线发送消息时,对各 个消息的标识符(即ID号)进行逐位仲裁,如果某个节点发送的消息仲裁获胜,那么这个节点将获取总线的发送权,仲裁失败的节点则立即停止发送并转变为监听(接收)状态。?? 例如:Node_ANode_B同时向总线发送各自的消息Msg_1Msg_2,那么对Msg_1IDID_1Msg_2IDID_2进行逐位仲裁,如果仲裁结果是:ID_1的优先级比ID_2高,那么Msg_1在仲裁中获胜,于是发出Msg_1这条报文的节点Node_A就获得了总线的发送权。同时,Msg_2在仲裁中失败,于是Node_B就转换到监听总线电平的状态。这种仲裁机制既不会造成已发送数据的延迟,也不会破坏已经发送的数据,所以称为非破坏性仲裁机制。

? 系统的柔性:
? CAN 总线上的节点 没有“地址”的概念 ,因此在总线上增加节点时,不会对总线上已有节点的软硬件及应用层造成影响。
? 通信速度:
? 通信速度在同一条 CAN 线上,所有节点的通信速度(位速率)必须相同,如果两条不同通信速度总线上的节点想要实现信息交互,必须通过网关。? 例如:汽车上一般有两条 CAN 总线: 500kbps 的驱动系统 CAN 总线和 125kbps 的舒适系统 CAN 总线,如果驱动系统 CAN 总线上的发动机节点要把自己的转速信息发送给舒适系统 CAN 总线上的转速表节点,那么这两条总线必须通过网关相连。

3??CAN通信网络结构

???实际上,CAN总线网络底层只采用了OSI基本参照模型中的数据链路层、传输层。而在CAN网络高层仅采用了OSI基本参照模型的应用层 .

?4 CAN 报文协议

?CAN协议中,ISO标准只对数据链路层和物理层做了规定。对于数据链路层和物理层的一部分,ISO11898ISO11519-2的规定是相同,但是在物理层的PMD子层和MDI子层是不同的。

?

5?CAN总线的结构应用

? ?? 高速CAN和低速CAN通信需要通过网关进行转换。

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:03:47  更:2022-01-24 11:04:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/9 1:32:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码