CAN总线协议学习笔记

发布者:TranquilSmile最新更新时间:2016-01-18 来源: eefocus关键字:CAN  总线协议  学习笔记 手机看文章 扫描二维码
随时随地手机看文章
1,基本概念:


(1),报文:总线上的信息以不同格式的报文发送,但长度有限。当总线开放时,任何连接的单元均可开始发送一个新报文。
(2),信息路由:在CAN系统中,一个CAN节点不使用有关系统结构的任何信息,这里包含一些重要的概念:系统灵活性——节点可以在不要求所有节点及其应用层改变任何软件或硬件的情况下,被接于CAN网络。报文通信——一个报文的内容由其标示符ID命名,ID并不指出报文的目的,但描述数据的含义,以便网络中的所有节点有可能借助报文滤波决定该数据是否使它们激活。成组——由于采用了报文滤波,所有节点均可接受报文,并同时被相同的报文激活。数据相容性——在CAN网络中,可以确保报文同时被所有的节点或者没有节点接受,因此,系统的数据相容性是借助于成组和出错处理达到的。
(3),位速率:CAN的数据传输率在不同的系统中是不同的,而在一个系统中是固定的速率。
(4),优先权:在总线访问期间,标示符定义了一个报文静态的优先权。
(5),远程数据请求:通过发送一个远程帧,需要数据的节点可以请求另一个节点发送相应的数据帧,该数据帧与对应的远程帧以相同的标示符ID命名。
(6),多主站:当总线开放时,任何单元均可以开始发送报文,发送具有最高优先权报文的单元会赢得总线的访问权。
(7),仲裁:当总线开放时,任何单元均可以开始发送报文,若同时有两个或者更多的单元开始发送,总线访问冲突运用逐位仲裁规则,借助标示符ID解决,这种仲裁规则可以使信息和时间均无损失,若具有相同标示符的一个数据帧和一个远程帧同时发送,数据帧优先于远程帧,仲裁期间,每个发送器都对发送位电平与总线上检测到的电平进行比较,若相同则该单元可以继续发送,当发送一个隐性电平,而在总线上检测为显性电平时,该单元退出仲裁,并不再传送后继位了。
(8),安全性:为了获得尽可能高的数据传输安全性,在每个CAN节点中均设有错误检测,标定和自检的强有力措施。检测措施包括:发送自检,循环冗余校验,位填充,和报文格式检查。
(9),出错标注和恢复时间:已损坏的报文由检验出错的节点进行标注。这样的报文将失效,并自动进行重发送。如果不存在新的错误,从检出错误到下一个报文开始发送的恢复实践最多为29个位时间。
(10),故障界定:CAN节点又能力识别永久性的故障和暂时扰动,可自动关闭故障节点。
(11),连接:CAN串行通信链路是一条众多单元均可被连接的总线,理论上单元数目是无限的,实际上,单元总数受限于延迟时间和总线的电器负载。
(12),应答:所有接收器均对接收报文的相容性进行检查,回答一个相容的报文,并标注一个不相容的报文。

2,CAN的特点:属于串行通信网络,(1),通信方式灵活。多主从方式工作,网络上任何节点均可以在任何时刻主动的向其他节点发送信息,不分主从。无需站地址等节点信息。可以构成多机备份系统。
(2),CAN网络上的节点信息分成不同的优先级,可以满足不同的实时要求。
(3),CAN采取非破坏性的总线仲裁技术,多个节点同时发送信息时,优先级低的节点会主动退出发送。
(4),CAN只需通过报文滤波就可以实现点对点,1点对多点及全局广播等几种方式传送接收,无需调度。
(5),CAN的直接通信距离最远可达10KM(5Kb/s),通信速率最高可达1Mb/s(40M)。
(6),CAN上的节点数目前可达110个;报文标示符可达2032种(CAN2.0A ),而CAN2.0B报文标示符几乎不受限制。
(7),CAN通信采用短帧格式,传输时间短,抗干扰强,极好的验错效果,每帧最多8B足以满足控制要求,不会占用过长总线时间,实时性强。
(8),CAN每帧都有CRC校验及其他验错措施。
(9),接口中集成了CAN协议的物理层和数据链路层。
(10),CAN的通信介质可为双绞线或同轴电缆,光纤。
(11),CAN节点在错误严重情况下具有自动关闭输出功能。

3,CAN总线基本规则:
(1),总线访问:采用载波监听多路访问,CAN控制器之恩能够在总线空闲时,就是节点侦听到网络上至少存在3个空闲位(隐性位)时开始发送,采用硬同步,所有的控制器同步都为与帧的起始的前沿。过了一定时间,并在一定条件后,重同步。
(2),仲裁:各节点向总线发电平时,也对总线上电平进行读取,并于自身发送的电平进行比较,相同则发下一位,直至全部发完。不同则说明网络上有更高优先级的信息帧正在发送,即停止发送,退出竞争。
(3),编码/解码:帧起始域,仲裁域,控制域,数据域和CRC序列均使用位填充技术进行编码,就是5个连续的同状态电平插入一位与它相补的电平,还原时每5个同状态的电平后的相补电平被删除。
(4),出错标注:当检测到位错误,填充错误,形式错误或应答错误时,检测出错条件的CAN控制器将发送一个出错标志。
(5),超载标注,一些控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送

关键字:CAN  总线协议  学习笔记 引用地址:CAN总线协议学习笔记

上一篇:基于CAN总线的分布式监控系统智能节点设计
下一篇:ISA总线接口定义

推荐阅读最新更新时间:2024-05-03 00:11

我的12864学习笔记_3---控制12864液晶显示曲线
三,液晶显示曲线 要想使用12864实现曲线的显示,必须先实现能够自由控制12864中的任意一个像素点的亮灭,而不能影响到相邻其他点的状态。 因为对12874液晶进行写操作的话,写入数据的最小单位也是一个16进制数,是8位的,能够控制8个像素点,所以,对液晶进行操作时,能够一次控制液晶的最少像素点数为8个。 所以要想控制液晶中的某一个点的亮灭,必须找到一种办法,使这一个点的数据的写入由写入这个16进制数来实现,而基本原则是不能影响其他7位数据的状态。所以要想实现控制某一个像素点,必须先知道目前液晶中在这个像素点左右其他7位的目前数据,然后把该点的数据按位加到这个数据上,而不能影响其他7位数据的状态。 实现知道目前显示的
[单片机]
SIT1043Q国产汽车级CAN-FD芯片,可完美替代TJA1043
杭州东沃电子(DOWOSEMI)专业代理的SIT1043Q是一款应用于CAN协议控制器和物理总线之间的接口芯片。SIT1043Q支持5 Mbps灵活数据速率(Flexible Data-Rate),具有在总线与CAN协议控制器之间进行差分信号传输的能力。SIT1043Q总线端口耐压可达-58V至+58V,接收器共模输入电压达到-30V至+30V,适用于12V或24V应用系统。SIT1043Q采用多电源供电,拥有多种系统保护和诊断功能以提高器件和CAN的稳定性。另外,SIT1043Q拥有五种工作模式:正常工作模式、静音模式、待机模式、睡眠等待模式和睡眠模式,在低功耗模式下支持本地唤醒与远程唤醒,所提供的低功耗模式管理可极大节省CAN
[嵌入式]
SIT1043Q国产汽车级<font color='red'>CAN</font>-FD芯片,可完美替代TJA1043
基于μPD780822单片机及其CAN总线模块实现车灯节点的设计
1、引言 CAN(Controller Area Network)是德国Bosch公司最先提出的,是目前汽车控制器局域网中最流行、最常用的总线。它的主要特点是:CAN总线为多主站总线,各节点均可在任意时刻主动向网络上的其他节点发送信息,不分主从,通信灵活;CAN总线采用独特的非破坏性总线仲裁技术,优先级高的节点先传送数据,能满足实时性要求;CAN总线具有点对点、一点对多点及全局广播传送数据的功能;CAN总线上每帧有效字节数最多为8个,并有CRC及其他校验措施,数据出错率极低,某个节点出现严重错误,可自动脱离总线,总线上的其他操作不受影响;CAN总线只有2条导线,系统扩充时可直接将新节点挂在总线上,因此走线少,系统容易扩充,改型灵活
[嵌入式]
基于μPD780822单片机及其<font color='red'>CAN</font>总线模块实现车灯节点的设计
STM32CubeMX学习笔记2:GPIO按键外部中断控制LED状态
MCU:STM32F103ZET6 IDE: MDK-ARM V5 +STM32CubeMX5.0.0 本次实现的功能是通过按键的外部中断,来改变对应LED的状态,需要将按键的I/O端口映射到外部中断线上。 需要初始化的按键I/O口分别对应PA0PE2PE3PE4,LEDI/O口分别为PC0PC1PC2PC3PC4。 一. 在 Pinout&Configuration---System Core中: 1. 首先设置时钟RCC的HSE(外部高速时钟)为晶振模式:Crystal/ceramic Resonator 2. 设置系统SYS的Debug为Serial Wire: 3. 设置GPIO中的LED
[单片机]
STM32CubeMX<font color='red'>学习</font><font color='red'>笔记</font>2:GPIO按键外部中断控制LED状态
基于AT89C51CC01单片机的CAN—LIN网关设计
引言 现场总线技术已经广泛的应用于工业控制中,尤其是CAN(Controler Area Nerwork)总线由于具有可靠性高、成本低、容易实现等优点,在现场总线的实际工程应用中占有了较大的份额。伴随着总线技术的发展,LIN(Local Interconnect Network)总线作为一种低成本的串行通信网络,其目标是为现有的现场总线控制网络提供辅助功能,特别是汽车控制网络中的总线应用,因此必然存在一个LIN总线和其它总线的通信接口实现,本文以CAN总线为例,提出了一种基于AT89C51CC03单片机的CAN-LIN网关设计方案。 LIN是一种低成本的串行通讯网络用于实现汽车中的分布式电子系统控制,LIN的目标是为现有汽车网络
[网络通信]
入门知识分享之CAN总线
  一、CAN总线的概述   CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,
[嵌入式]
基于CAN总线的非智能适配卡设计
引言 控制器局域网CAN (Controller Area Network)是目前被批准为国际标准的少数现场总线之一。CAN网络可采用多主方式工作。它采用非破坏性的总线仲裁技术,其信号传输和控制采用短帧结构,因而具有较强的抗干扰能力和低耦合性;CAH网络的通讯速率范围为5 kbs/10 km~lMbs//40m,驱动节点数可达110个。它的传输介质可以是双绞线、同轴电缆或光纤,选择十分灵活;每帧信息都有CRC校验及其它检错措施,因而数据出错率极低,可靠性很高;当其传输的信息出错严重时,节点可自动断开与总线的联系,以使总线上其它的操作不受影响。 虽然目前PCI、USB等总线技术得到了快速发展,但在大量应用的测试微机及工控
[应用]
stm32系统时钟学习笔记
HSE:高速外部时钟 来源:有源晶振(1-50M),无源晶振(4-26M) 控制:RCC_CR时钟控制寄存器的位16:HSEON控制 HSI:高速内部时钟 来源:芯片内部,大小为16M,当HSE故障时,系统自动切换到HSI,直到HSE启动成功 控制:RCC_CR时钟控制寄存器的位0:HSION控制 锁相环时钟:PLLCLK 来源:HSI、HSE。由PLLSRC位配置 HSE或者HSI先经过一个分频因子M进行分频,然后再经过倍频因子N,然后在经过分频因子P,最后成为锁相环时钟 VCOCLK_IN = PLLCLK_IN / M = HSE / 25 = 1M VCOCLK_OUT = VCOCLK_IN * N =1M * 336
[单片机]
stm32系统时钟<font color='red'>学习</font><font color='red'>笔记</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved