历史上的今天
返回首页

历史上的今天

今天是:2024年10月08日(星期二)

正在发生

2019年10月08日 | STM32 CAN总线通信学习笔记(一)

2019-10-08 来源:eefocus

一、CAN总线简介

CAN 是控制器局域网络(Controller Area Network, CAN)的简称。CAN采用数据块编码的方式,数据块根据帧的类型,能够让挂载在总线上的不同节点接收到相同的数据,再根据每个节点的配置对信息进行选择性处理(处理or丢弃)。CAN总线具有以下特点:


1. 多主控制

在总线空闲时,所有的单元都可以发送消息;具有CSMA/CA机制,即最先访问总线的单元可获得发送权;多个单元同时发送消息时,优先级高的标志(ID)单元可获得发送权,其中ID并不是发送的目的地址,而是表示访问总线的消息的优先级,仲裁机制会对消息ID的每个位继续比较,仲裁为高优先级的单元可继续发送消息,仲裁失败的单元则停止发送而进行接收工作。此处对CAN组网编程十分重要!!!


2. 系统柔软性

由于与总线相连的单元没对应的地址信息,因此在编程时比较方便,增加总线上的单元,已连接的其他的单元的软硬件以及应用层都不需要改变。


3. 通信速度

在通信距离小于40m时,速度最高1Mbps,最远可达10km,此时速率小于5Kbps。同一个网络中,所有的单元必须设定为同一个通信速度,类似于串口中要设置为相同的波特率。


4. 错误检测功能、错误通知功能、错误恢复功能

(1)所有的单元都可以检测错误;

(2)检测出错误的单元会立即同时通知其他所有单元;

(3)正在发送消息的单元一旦检测出错误,会强制结束当前的发送。被强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止。


5. 故障封闭

CAN总线可以判断出错误的类型是总线上暂时的数据错误(如外部噪声干扰)还是持续的数据错误(如单元内部故障、断线等),由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。


6. 远程数据请求

可通过发送“遥控帧”,请求其他单元发送数据。


7. 连接节点

可连接的单元理论上没有限制,但连接单元数增加,应降低通信速度。


CAN 协议经ISO 标准化后有ISO11898 标准和ISO11519-2 标准两种。ISO11898 和ISO11519-2 标准对于数据链路层的定义相同,但物理层不同。

ISO11898、ISO11519-2 的物理层特征

图 1 ISO11898、ISO11519-2 的物理层特征


由上图可以看出,在ISO11898中,CAN_H与CAN_L之差约为2.5V,对应显性电平逻辑0,CAN_H与CAN_L之差为0V,隐性电平对应逻辑1。在ISO11519中,CAN_H与CAN_L之差约为3V,对应显性电平逻辑0,CAN_H与CAN_L之差为1.5V,隐性电平对应逻辑1。


二、CAN协议

1、帧的种类

CAN协议包括下列表格中的五种类型的帧,其中数据帧和遥控帧有标准格式和扩展格式,标准格式有11bit的ID,扩展格式有29bit的ID。

image.png?imageView2/2/w/550

2、帧的构成

(1)数据帧

格式如下:


数据帧的构成

图 2 数据帧的构成

image.png?imageView2/2/w/550

上图中D表示显性电平,R表示隐性电平。标准格式中标识符(ID)有11bit,从ID28到ID18被依次发送,禁止高7位都为隐性(禁止设定:ID = 1111 111X XXX);扩展格式的ID有29bit,基本ID从ID28到ID18,扩展ID由ID17到ID0表示,禁止高7位都为隐性(禁止设定:ID = 1111 111X XXX)。

RTR位用于标识是否是远程帧(0:数据帧;1:远程帧);IDE位用于标识符选择位(0:使用标准标识符;1:使用扩展标识符);SRR位代替远程请求位,为隐性位,代替了标准帧中的RTR位。


(2)遥控帧

接收单元向发送的单元请求发送数据使用的帧,与数据帧的区别在于没有数据段。其他帧在后面很少会用到,这里不作过多描述。遥控帧格式如下:

遥控帧的构成

图 3 遥控帧的构成


(3)优先级的决定

在总线空闲态,最先发送消息的单元获得优先发送权。当多个单元同时发送消息时,各个发送单元从仲裁段的第一位开始进行仲裁,连续输出显性电平最多的单元可继续发送。仲裁过程如下:

仲裁过程

数据帧和遥控帧的优先级,具有相同ID的数据帧和遥控帧在总线上竞争时,仲裁段的最后一位(RTR)为显性位的数据帧具有优先权可继续发送。仲裁过程如下:

数据帧与遥控帧的仲裁过程

标准格式与扩展格式的优先级,标准格式ID与具有相同ID的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的RTR 位为显性位的具有优先权可继续发送。仲裁过程如下:

标准格式与扩展格式的仲裁过程

以上介绍CAN通信的特点以及主要两个帧组成,仲裁过程等,对CAN通信有了大概的了解。以上如有不足之处,望有识之士给予指正!

推荐阅读

史海拾趣

德芯半导体(Doeshare)公司的发展小趣事

德芯半导体在成立之初就明确了其市场定位:以高性价比的特色传感器系列产品为目标市场。公司秉承“以德治企,创造精品”的经营理念,通过深入了解市场需求,不断推出符合市场需求的创新产品。在智能家居、智能制造等领域,德芯半导体的产品凭借其高性能、高品质和低价格,赢得了国内外知名公司的认证和合作。

HellermannTyton公司的发展小趣事

进入21世纪后,Heimann Optoelectronics Gmbh意识到全球化合作的重要性。公司积极寻求与国际知名企业的合作机会,与美国一家领先的半导体制造商共同研发了新一代的光电集成芯片。这一合作不仅提升了产品的技术水平和市场竞争力,还借助合作伙伴的全球销售网络,将Heimann的产品迅速推向国际市场。同时,公司也在亚洲设立了研发中心和生产基地,进一步提升了生产效率和供应链管理能力。

国炬(GOOGLL)公司的发展小趣事
由于OCL功放是全对称电路,因此电路中元器件参数也要求完全对称。如果元器件参数不对称,会导致功放输出中点电压偏离规定范围,影响音质和电路稳定性。
Artesyn Embedded Technologies公司的发展小趣事

随着5G技术的商用化,电子行业迎来了新的发展机遇。Artesyn Embedded Technologies敏锐地把握住了这一机遇,积极研发适应5G时代需求的电源和嵌入式计算解决方案。公司推出的新产品不仅满足了5G设备对高效、稳定电源的需求,也为公司在5G时代的发展奠定了坚实的基础。

广芯电子(BROADCHIP)公司的发展小趣事

随着5G技术的商用化,电子行业迎来了新的发展机遇。Artesyn Embedded Technologies敏锐地把握住了这一机遇,积极研发适应5G时代需求的电源和嵌入式计算解决方案。公司推出的新产品不仅满足了5G设备对高效、稳定电源的需求,也为公司在5G时代的发展奠定了坚实的基础。

德国ACAM公司的发展小趣事

2014年,ACAM公司迎来了一个重要的里程碑事件——被奥地利微电子股份有限公司收购。这次收购极大地增强了ACAM公司在时间数字转换器(TDC)技术领域的实力。奥地利微电子在半导体行业有着深厚的积累和丰富的经验,与ACAM公司的技术优势相结合,进一步提升了ACAM公司在市场上的竞争力。

问答坊 | AI 解惑

单片机学习教程!

学习单片机的教程。 [ 本帖最后由 wxdyqc 于 2009-4-7 15:22 编辑 ]…

查看全部问答>

[期刊/转]DSP混合编程研究

[期刊/转]DSP混合编程研究…

查看全部问答>

智能化RLC测量仪原理

本帖最后由 paulhyde 于 2014-9-15 03:17 编辑 ddddddddddddddddddddd  …

查看全部问答>

Wince6 修改HIVE 注册表出错了

我用 2416 的MCU 在修改 HIVE 注册表的时候 系统启动到 Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 16 2009 at 10:08:15 INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb DCache: 128 sets, 4 ways, 32 line size, 16384 si ...…

查看全部问答>

谁有ep9315的矩阵键盘驱动,我的键盘驱动有问题。谢谢大家了

我的键盘驱动没有行扫描,无论行连接到哪个接口都显示是一个接口的按键。所以只能打印一行的键值。谢谢大家!!…

查看全部问答>

wince6.0 视频软件

请问大家哪里有wince6.0上运行的具有摄像头功能的应用程序,只要有摄像功能就行。…

查看全部问答>

请教IE和PIE的区别?

一个是IEui,一个是PIEui,ui我知道是user interface, 它们二者(ie  和 pie)有什么区别吗?…

查看全部问答>

请大师们猜猜题

本帖最后由 paulhyde 于 2014-9-15 08:53 编辑 2010山东大学生电子设计竞赛主要仪器元件表 时间:2010-09-10 06:53来源:竞赛组委会 作者:竞赛组委会 点击: 6854次 2010 年山东省大学生高教社 XILINX 杯电子设计竞赛 主要仪器设备: 数字频 ...…

查看全部问答>

C8051F单片机应用解析

里面有C8051F单片机的应用笔记,由潘琢金教授翻译的。希望对大家的学习有帮助!…

查看全部问答>

《电机与拖动基础》李发海

第一个附件是我本科用的教材,现在重新学习,分享给大家。 另外再上传几个相关资料,可以对比学习。。呵呵~~  …

查看全部问答>