CAN基础知识解析
- 格式:ppt
- 大小:1.60 MB
- 文档页数:40
1.CAN总线是什么?CAN(Controller Area Network)是ISO国际标准化的串行通信协议。
广泛应用于汽车、船舶等。
具有已经被大家认可的高性能和可靠性。
CAN控制器通过组成总线的2根线(CAN-H和CAN-L)的电位差来确定总线的电平,在任一时刻,总线上有2种电平:显性电平和隐性电平。
“显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平,并且,“隐性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。
(显性电平比隐性电平更强)。
总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
下图显示了一个典型的CAN拓扑连接图。
连接在总线上的所有单元都能够发送信息,如果有超过一个单元在同一时刻发送信息,有最高优先级的单元获得发送的资格,所有其它单元执行接收操作。
2.CAN总线的特点CAN总线协议具有下面的特点:1) 多主控制当总线空闲时,连接到总线上的所有单元都可以启动发送信息,这就是所谓的多主控制的概念。
先占有总线的设备获得在总线上进行发送信息的资格。
这就是所谓的CSMA/CR(Carrier Sense MultipleAccess/Collosion Avoidance)方法如果多个设备同时开始发送信息,那么发送最高优先级ID消息的设备获得发送资格。
2) 信息的发送在CAN协议中,所有发送的信息要满足预先定义的格式。
当总线没有被占用的时候,连接在总线上的任何设备都能起动新信息的传输,如果两个或更多个设备在同时刻启动信息的传输,通过ID来决定优先级。
ID并不是指明信息发送的目的地,而是指示信息的优先级。
如果2个或者更多的设备在同一时刻启动信息的传输,在总线上按照信息所包含的ID的每一位来竞争,赢得竞争的设备(也就是具有最高优先级的信息)能够继续发送,而失败者则立刻停止发送并进入接收操作。
因为总线上同一时刻只可能有一个发送者,而其它均处于接收状态,所以,并不需要在底层协议中定义地址的概念。
PART1——CAN1 CAN 基础知识CAN 总线是一种通用的串行通信协议,包含OSI 网络模型中的物理层和数据链路层,全部通过硬件来实现。
CAN 总线不分主从,每个节点只要需要,都可作为主站,向网络上其他节点发送信息。
物理层主要是通过CAN 收发器来实现。
1.1 CAN 收发器CAN 收发器安装在CAN 控制器内部,负责逻辑信号和电信号的转换,也即信息的收发。
将逻辑信号转为电信号,并将其送入传输线;或者,将传输线的电信号转为逻辑信号。
传输线跟电线一样,分一高一低,即CANH 和CANL 。
TIPS :电信号,指随着时间而变化的电压或电流CAN 收发器如图1.1所示。
由一个电路进行控制,也意味着控制单元的某个时间段只能进行一个操作,收或者发。
图1.1 收发器原理图开关闭合输出低电平,用逻辑“0”来表示,即显性电平; 开关断开输出高电平,用逻辑“1”来表示,即隐性电平。
当总线上连接有多个节点时,只要其中1个节点输出低电平,则总线激活,总线电平为低电平;总线上所有节点都输出高电平时,总线电平才为高电平,此时总线未激活。
原理如图1.2所示。
图1.2 多节点收发器原理图1.2 CAN 总线终端电阻CAN 网络中,网络的源端(起始节点)和末端需各安装一个终端电阻。
注:上图所示电阻并非终端电阻。
有两种接法,一般采用左图接法,如图1.3所示,左边高速,右边低速。
主要作用是:● 提高总线抗干扰能力 ● 提高信号质量。
通过终端电阻来消除在通信电缆中的信号反射,在通信过程中,有两种原因导致信号反射:阻抗不连续和阻抗不匹配。
阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。
数据收发器与传输电缆之间的阻抗不匹配,这种原因引起的反射,主要表现在通讯线路处在空闲方式时,整个网络数据混乱,为了提高网络节点的拓扑能力,CAN 总线两端需要接有120Ω的抑制反射的终端电阻。
图1.3 两种终端电阻接线方式1.3 CAN 报文CAN 总线的报文有5种类型,数据帧、远程帧、错误帧、过载帧和帧间隔。
CAN总线基础知识总结(建议收藏)CAN总线基础知识总结一、CAN总线简介1、CAN总线(Controller Area Network,控制器局域网)是由德国BOSCH(博世)公司在1986年为汽车而设计的,它是一种串行通信总线,只需两根线CAN_H和CAN_L。
2、隐性(逻辑1)与显性(逻辑0)的概念:CAN总线在数据传输过程中,实际上传输的是CAN_H和CAN_L 之间的电位差。
CAN_H只能是高电平(3.5V)或悬浮状态(2.5V),CAN_L只能是低电平(1.5V)或悬浮状态(2.5)V,当CAN_H和CAN_L 都为2.5V 时,是隐性,表示逻辑1,当CAN_H为3.5V、CAN_L都为2.5V时,是显性,表示逻辑0。
表示隐性和显性逻辑的能力是CAN总线仲裁方法的基本先决条件,即所有节点都为隐性时,总线才处于隐性状态;只要有一个节点发送了显性,总线就呈现为显性状态。
3、120?电阻:必须在总线的每一节点的CAN_H和CAN_L之间接一个120?左右的电阻,以避免出现信号反射。
4、CAN技术规范CAN2.0A和CAN2.0B:CAN2.0A只有标准帧(标识符(ID)有11位);CAN2.0B除了标准帧,还有扩展帧(标识符(ID)有29位)。
5、CAN的国际标准ISO11898和ISO11519:CAN 协议经ISO 标准化后有ISO11898和ISO11519两种标准,它们对于数据链路层的定义相同,但物理层不同。
ISO11898 是波特率为125kbps-1Mbps 的CAN高速通信标准。
ISO11519 是波特率为125kbps 以下的CAN低速通信标准。
高速通信标准和低速通信标准的硬件规格也不一样,所以需要选用不同的收发器。
在收发器的规格书上都会注明高速通信用还是低速通信用,或者是符合ISO11898标准还是ISO11519标准。
6、CAN总线协议只定义了物理层和数据链路层,要将CAN总线应用于工程项目中必须制定上层的应用协议。
CAN总线基础知识总结一、CAN总线简介1、CAN总线(Controller Area Network,控制器局域网)是由德国BOSCH(博世)公司在1986年为汽车而设计的,它是一种串行通信总线,只需两根线CAN_H和CAN_L。
2、隐性(逻辑1)与显性(逻辑0)的概念:CAN总线在数据传输过程中,实际上传输的是CAN_H和CAN_L之间的电位差。
CAN_H只能是高电平(3.5V)或悬浮状态(2.5V),CAN_L只能是低电平(1.5V)或悬浮状态(2.5)V,当CAN_H和CAN_L都为2.5V 时,是隐性,表示逻辑1,当 CAN_H为3.5V、CAN_L都为2.5V时,是显性,表示逻辑0。
表示隐性和显性逻辑的能力是CAN总线仲裁方法的基本先决条件,即所有节点都为隐性时,总线才处于隐性状态;只要有一个节点发送了显性,总线就呈现为显性状态。
3、120Ω电阻:必须在总线的每一节点的CAN_H和CAN_L之间接一个120Ω左右的电阻,以避免出现信号反射。
4、CAN技术规范CAN2.0A和CAN2.0B:CAN2.0A只有标准帧(标识符(ID)有11位);CAN2.0B除了标准帧,还有扩展帧(标识符(ID)有29位)。
5、CAN的国际标准ISO11898和ISO11519:CAN 协议经ISO 标准化后有ISO11898和ISO11519两种标准,它们对于数据链路层的定义相同,但物理层不同。
ISO11898 是波特率为125kbps-1Mbps 的CAN高速通信标准。
ISO11519 是波特率为125kbps 以下的CAN低速通信标准。
高速通信标准和低速通信标准的硬件规格也不一样,所以需要选用不同的收发器。
在收发器的规格书上都会注明高速通信用还是低速通信用,或者是符合ISO11898标准还是ISO11519标准。
6、CAN总线协议只定义了物理层和数据链路层,要将CAN总线应用于工程项目中必须制定上层的应用协议。
什么是CAN ?CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。
最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU 之间交换信息,形成汽车电子控制网络。
比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。
一个由CAN 总线构成的单一网络中,理论上可以挂接无数个节点。
实际应用中,节点数目受网络硬件的电气特性所限制。
例如,当使用Philips P82C250作为CAN收发器时,同一网络中允许挂接110个节点。
CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。
另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
CAN 是怎样发展起来的?CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。
当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线。
提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。
于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。
1993年,CAN 已成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。
CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。
当信号传输距离达到10Km时,CAN 仍可提供高达50Kbit/s的数据传输速率。
由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。
CAN 是怎样工作的?CAN通讯协议主要描述设备之间的信息传递方式。
CAN层的定义与开放系统互连模型(OSI)一致。
每一层与另一设备上相同的那一层通讯。
can通信基础知识讲解Can通信是一种常见的通信协议,广泛应用于汽车领域。
本文将从Can通信的基础知识入手,介绍Can通信的原理、特点以及应用。
一、Can通信的原理Can通信是Controller Area Network的缩写,即控制器局域网。
它是一种串行通信协议,主要用于在汽车电子系统中传输数据。
Can通信采用差分信号传输,通过两根线(Can_High和Can_Low)来实现数据的收发。
Can_High和Can_Low的电平差异表示二进制数据的0和1。
Can通信采用非归零编码,即数据在传输过程中不会回到零电平,从而减少了传输中的干扰。
二、Can通信的特点1. 高可靠性:Can通信采用冗余校验机制,即每个数据帧都包含有校验和。
接收端在接收到数据帧后会对校验和进行验证,从而保证数据的可靠性。
2. 高效性:Can通信采用了事件触发的方式,只有在需要发送数据时才进行通信,减少了通信的时间开销。
3. 可扩展性:Can通信支持多个节点之间的通信,节点数量可以灵活扩展。
4. 抗干扰性强:Can通信采用差分信号传输,能够有效抵抗电磁干扰和噪声干扰。
5. 实时性好:Can通信的传输速率较快,能够满足实时性的要求。
三、Can通信的应用Can通信广泛应用于汽车领域,主要用于实现汽车内部各个电子控制单元(ECU)之间的通信。
以下是Can通信在汽车领域的一些典型应用:1. 发动机控制单元(ECU)之间的通信:Can通信用于发动机控制单元与其他ECU之间的数据交换,如发动机转速、油耗等数据的传输。
2. 制动系统的控制:Can通信用于制动系统的各个部件之间的通信,如制动踏板、制动盘、制动液位等数据的传输。
3. 车身电子系统的控制:Can通信用于车身电子系统中各个部件之间的通信,如车门、车窗、天窗等设备的控制。
4. 安全系统的控制:Can通信用于安全系统中的各个部件之间的通信,如安全气囊、防抱死制动系统等设备的控制。
四、Can通信的发展趋势Can通信作为一种可靠、高效的通信协议,已经在汽车领域得到广泛应用。
CAN终端电阻CAN终端电阻,顾名思义就是加在总线末端的电阻。
此电阻虽小,但在CAN总线中却有十分重要的作用。
终端CAN总线终端电阻的作用有两个:一、提高抗干扰能力,确保总线快速进入隐性状态。
二、提高信号质量。
提高抗干扰能力CAN总线有“显性”和“隐性”两种状态,“显性”代表“0”,“隐性”代表“1”,由CAN 决定。
图1是一个CAN收发器的典型内部结构图,CANH、CANL连接总线。
图1总线显性时,收发器内部Q1、Q2导通,CANH、CANL之间压差;隐性时,Q1、Q2截止,CANH、CANL处于无源状态,压差为0。
总线若无负载,隐性时电阻阻值很大,外部的干扰只需要极小的能量即可令总线进入显性(一般的收发器显性门限最小电压仅500mV)。
为提升总线隐性时的抗干扰能力,可以增加一个差分负载电阻,且阻值尽可能小,以杜绝大部分能量的影响。
然而,为了避免需要过大的总线才能进入显性,阻值也不能过小。
确保快速进入隐性状态在显性状态期间,总线的寄生电容会被,而在恢复到隐性状态时,这些电容需要放电。
如果CANH、CANL之间没有放置任何阻性负载,电容只能通过收发器内部的差分电阻放电。
我们在收发器的CANH、CANL之间加入一个220PF的电容进行模拟试验,位速率为500kbit/s,波形如图2、图3。
图2图3从图3看出,显性恢复到隐性的时间长达1.44μS,在点较高的情况下勉强能够通信,若通信速率更高,或寄生电容更大,则很难保证通信正常。
为了让总线寄生电容快速放电,确保总线快速进入隐性状态,需要在CANH、CANL之间放置一个负载电阻。
增加一个60Ω的电阻后,波形如图4、图5。
从图中看出,显性恢复到隐性的时间缩减到128nS,与显性建立时间相当。
图4图5提高信号质量信号在较高的转换速率情况下,信号边沿能量遇到不匹配时,会产生信号反射;传输线缆横截面的几何结构发生变化,线缆的特征阻抗会随之变化,也会造成反射。
在总线线缆的末端,阻抗急剧变化导致信号边沿能量反射,总线信号上会产生,若振铃幅度过大,就会影响通信质量。
CAN线基础知识讲解1. 什么是CAN线?CAN(Controller Area Network)是一种串行通信协议,最初由德国公司Bosch 开发。
CAN总线主要用于车辆内部的通信系统,但现在也被广泛用于工业控制和汽车领域以及航空航天领域。
CAN线是CAN总线的物理连接线路,负责将CAN控制器、传感器、执行器等设备连接起来进行数据通信。
2. CAN线的特点•高可靠性:CAN线采用差分信号传输,抗干扰能力强,即使在噪音干扰较大的环境下,数据传输也可靠。
•实时性强:CAN线采用事件驱动的通信方式,具有较低的延迟,适用于要求实时性的应用场景。
•多路复用:CAN总线支持多个设备在同一根线上进行通信,节约了线路资源。
•灵活性:CAN总线可以动态连接和断开设备,方便系统调试和维护。
3. CAN线的工作原理CAN线采用双绞线作为传输介质,数据传输采用差分信号方式,即在CAN_H和CAN_L两根信号线上传输互补的电压信号。
CAN_H线上的电压高表示逻辑1,CAN_L线上的电压高表示逻辑0,通过CAN控制器的差分比较可以识别信号。
CAN线的通信帧由起始标志、控制字段、数据字段、CRC字段和结束字段组成,通信速率可根据需求配置。
CAN线具有发送器和接收器,通过在总线上抢占通信的方式实现多路复用。
4. CAN线的应用领域CAN线广泛应用于汽车电子控制系统、工业控制系统、医疗设备、航空航天等领域。
在汽车电子控制系统中,CAN线连接了发动机控制单元、传感器、仪表盘、空调控制器等各个设备,实现数据的快速传输和实时控制。
在工业控制系统中,CAN线连接了PLC、传感器、执行器等设备,实现设备之间的数据交换和协同工作。
CAN线也被广泛应用于航空航天领域,连接了航空电子设备、飞行控制系统等,确保了系统的可靠性和实时性。
5. CAN线的发展趋势随着物联网、智能制造等领域的快速发展,CAN线也在不断演进。
未来CAN线将更加智能化、高速化,支持更多的设备连接和更高的数据传输速率。
CAN基础知识CAN总线是一种数据通信协议,也叫做控制区域网络,它最早被用于汽车领域中的电子控制单元之间的通信。
CAN总线是一种串行通信协议,它具有高可靠性、实时性和高效性等优势。
在现代工业自动化、机器人、航空、航天、军事、医疗和智能家居等领域也有广泛应用。
CAN总线协议的特点:1. 帧结构:CAN总线采用的是分布式控制器结构,总线上的每个设备都可以发送和接收数据。
数据以帧为单位进行传输,一帧数据包括控制信息(例如优先级、长度、发送和接收地址等)和实际数据内容。
帧的结构简单、信息量丰富。
2. 速率:CAN总线的数据传输速率可以达到1Mbps,对于实时性要求高的应用具有很大的优势。
3. 冲突检测:CAN总线采用一种称之为“非破坏性位多投票”机制来解决冲突问题。
当总线上有两个或以上的设备同时发送数据时,位值不同的设备会获得主控权,而位值相同的设备需要继续发送,直到识别出哪个设备获得主控权。
4. 失败机制:当CAN总线上的某个节点出现故障或断开连接时,系统可以及时识别并且调整其它设备的优先级,保证整个系统的可靠性。
5. 远程帧:CAN总线还提供了远程帧的功能,允许设备主动请求数据或汇报错误,从而保障系统的高效性和可控性。
6. 兼容性:CAN总线的协议是开放标准,任何一个符合协议规范的设备可以接入总线,这样就可以保证系统的兼容性和扩展性。
目前,CAN总线的三个主要版本是CAN 2.0A、CAN 2.0B和CAN FD。
CAN 2.0A和2.0B是较早的版本,最大区别在于帧ID的长度和规定。
CAN FD(FlexRay数据链路)是一种新的高速CAN总线协议,可以提供更高的数据传输速率和更大的数据传输容量。
在汽车领域中,CAN总线已成为电子控制单元之间通信的标准协议,包括发动机控制模块(ECM)、变速器控制模块(TCM)、刹车系统、空调系统和仪表盘等。
此外,CAN总线还广泛用于工业自动化领域中的控制系统,如PLC、机器人控制系统、工业网络等。
CAN总线底层原理
CAN总线,全称为Controller Area Network,是一种串行通信总线系统,被广泛应用于汽车和工业自动化领域中。
其底层原理主要涉及到以下几个关键部分:
1.物理层:CAN总线的物理层主要包括信号的传输方式、信号的电压范围、电气特性以及物理
接口的规格等。
CAN总线采用差分信号传输方式,通过两条双绞线(通常被称为CAN_H和CAN_L)来传输信号。
这种差分信号传输方式可以有效地抵抗外界干扰,提高信号的稳定性。
2.数据链路层:数据链路层是CAN总线中最为核心的部分。
它定义了通信数据的结构和格式,
包括数据段的长度、数据段的数目、数据的优先级以及错误检测和纠正的机制等。
其中,错误检测和纠正的机制是CAN总线中非常重要的一个环节,它包括位错误检测、填充错误检测、格式错误检测以及应答错误检测等。
3.应用层:应用层是CAN总线中最上层的一层,它定义了设备和应用程序如何使用总线进行
通信。
应用层协议可以因应用需求而定制,因此不同的应用可以有不同的应用层协议。
CAN总线的底层原理是其稳定性和可靠性的基础,使得CAN总线能够实现多主控制、广播通信、自诊断和扩展功能等特点,从而在汽车和工业自动化领域中得到广泛应用。
can报文解析CAN(Controller Area Network)总线是一种串行通信协议,通常用于汽车和工业领域的网络通信。
CAN总线报文是CAN总线通讯的基础,它是传送数据的方式,信息的传递需要经过CAN总线的所有节点。
CAN总线的数据通信是通过CAN总线上的报文进行的,而CAN总线报文是数据的传输格式。
CAN总线报文分为标准帧和扩展帧两种类型,其中标准帧的数据长度为8字节,扩展帧的数据长度为8至64字节。
可用于 CAN 网络通信的报文数据结构非常简单,由标识符(标准帧 11Bits / 扩展帧29Bits)、数据域和数据长度码组成。
CAN总线上的每个节点都可以发送和接收CAN总线报文。
CAN报文解析的过程如下:一、标识符(Identifier)CAN报文中的标识符用于描述报文的内容和用途。
标识符是CAN总线报文的第一个字节(对于标准帧报文)或前四个字节(对于扩展帧报文),取决于所用的帧类型。
在标准帧中,标识符由一个11位二进制数表示,而在扩展帧中,标识符由一个29位二进制数表示。
二、数据域(Data field)数据域指的是CAN报文中携带的实际数据信息,这些数据信息可能是传感器所接收到的数据,也可以是控制指令等。
数据域的长度在标准帧中为8字节,在扩展帧中为8至64字节。
三、数据长度码(Data length code)数据长度码是CAN总线报文的一个字节,用于指示数据域的长度。
对于标准帧,数据长度码的取值范围为 0~8,表示数据域的长度在0~8 字节之间;对于扩展帧,则表示数据域长度在8~64字节之间。
四、控制位(Control field)控制位标志的是部分请求、远程帧和数据帧之间的区别。
它由一个二进制数字表示,其中最后一个比特用于标识位。
五、数据类型(Data type)数据类型控制数据域中的数据以什么样的形式和格式存储在CAN报文中。
数据类型可以是整数、浮点数、字符或其他可用的数据类型。
[导读]控制器局域网(CAN)标准不断发展,正用于车载和工业网络之外的许多新应用。
支持它的微处理器变得普遍且价格低廉,并且开源协议栈让其非常容易访问,同时也容易添加至新系统。
控制器局域网(CAN)标准不断发展,正用于车载和工业网络之外的许多新应用。
支持它的微处理器变得普遍且价格低廉,并且开源协议栈让其非常容易访问,同时也容易添加至新系统。
有许多CAN板可用于BeagleBone (Capes)、Stellaris (BoosterPacks)、Arduino (Shields)和其他微处理器开发平台。
当设计人员的系统上电却不能工作时,应该怎么办呢?本文为您介绍一种对CAN物理层进行调试的较好工程方法。
我们将介绍基础调试步骤,并说明一个CAN物理层应有的性能,以及找出问题的一些小技巧。
调试基础知识ISO11898-2和ISO11898-5规范详细说明了高速CAN物理层即收发器。
掌握CAN物理层的基础知识以后,利用简单的调试工具便可迅速地找出常见问题。
所需的基本实验室工具为示波镜、数字万用表(DMM)和一个电源。
如果想要深入了解问题,则需要更高精度和更复杂的工具。
这种问题已非本文讨论的范畴,但是这里介绍的基础知识可帮助确定问题所属类别,以及进一步调试所需的其他工具。
一个由 TI 组装的CAN演示系统以及TI的SN65NVD255D评估模块(EVM)1,用于演示硬件。
另外,我们还使用了其他一些东西,例如:CAN连接器外接头电缆和芯片钩(抓住收发器引脚,让其连接至电缆,以更加容易地连接示波器指针,如图1所示)。
图1:CAN物理层调试基本工具连接检查开始调试对话时,使用DMM确认印刷电路板(PCB)上连接如我们所预计的那样—系统未上电。
这看似很基础,但令人吃惊的是,这个简单的方法却解决了许多简单问题。
所有人都会认为原理图、布局和制造工艺没有问题,但不幸的是,它们有时却并不如人愿。
子插件板位置错误、虚焊和错误端接或者连接的电缆,都是一些常见问题。