当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]CAN总线是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制 应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN,主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元等汽车部件,CAN总线具有可靠,实时以及灵活的特性.

CAN总线是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制

应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN,主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元等汽车部件,CAN总线具有可靠,实时以及灵活的特性.

CAN总线以广播的形式发送报文.当CAN总线上的某个节点需要给其他节点发送消息时,会以广播的形式发送给总线上所有的节点,因为总线上的节点不适用地址来进行配置CAN系统,而是根据报文的开头的11位标识符决定是否要接受其他节点发来的报文.

每个节点都有自己的处理器和CAN总线接口控制器;当一个节点需要发送数据到另一个节点时,自身节点的处理器需要将要发送的数据和自己的标识符传给自身的总线控制接口,处于准备状态;当获取到总线的使用权后,将数据和标识符组装成报文,将报文以一定格式发出,此时其他的节点处于接收状态.至于其他节点是否接收,由其他节点决定,是都会对某些报文进行过滤.当新增的节点仅仅是纯粹的数据接收设备时,只需要该设备直接从总线上接收数据即可.

首先 CAN 数据总线有两条导线,一条是黄色的,一条是绿色的 ------ 分别是 CAN_High 线和 CAN_Low 线,当静止状态时,这两条导线上的电平一样,这个电平称为静电平,大约为 2.5 伏。

这个静电平状态就是隐形状态,也称隐性电平,也就是没有任何干扰的时候的状态称为隐性状态。当有信号修改时,CAN_High 线上的电压值变高了,一般来说会升高至少 1V;而 CAN_Low 线上的电压值会降低一个同样值,也是 1v。那么这时候,CAN_High 就是 2.5v+1v=3.5v,它就处于激活状态了。而 CAN_Low 降为 2.5v-1v=1.5v。

由此我们得到,在隐性状态下CAN_High 线与 CAN_Low 没有电压差,这样我们看到没有任何变化也就检测不到信号。但是在显性状态时,改值最低为 2V,我们就可以利用这种变化才传输数据了。所以出现了那些帧,那些帧中的场,那些场中的位等等。

在总线上通常逻辑 1 表示隐性。而 0 表示显性。这些 1 啊,0 啊,就可以利用起来为我们传数据了。利用这种电压差,我们可以接收信号。

一般来说,控制单元通过收发器连接到 CAN 驱动总线上,这个收发器(顾名思义,可发送,可接收)内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。然后,这个放大器很自然地就放大了 CAN_High 和 CAN_Low 线的电平差,然后传到接收区。

CAN 的报文格式有两种,不同之处其实就是识别符长度不同,具有 11 位识别符的帧称为标准帧,而还有 29 位识别符的帧为扩展帧,CAN 报文有以下 4 个不同的帧类型。分别是:

(1) 数据帧:数据帧将数据从发送器传输到接收器;

(2) 远程帧:总线节点发出远程帧,请求发送具有同一标识符的数据帧;

(3) 错误帧:任何节点检测到总线错误就发出错误帧;

(4) 过载帧:过载帧用已在先行的后续的数据帧(或远程帧)之间提供一附加的延时。

下面详细介绍一下数据帧,用于CAN传送数据,包括帧起始、仲裁场、控制场、数据场和CRC场。

帧起始:标志一个数据帧的开始,仅由一个显性位构成,只有在总线空闲期间才能够发送。

仲裁场:在标准帧中,仲裁场由11位标识符和RTR位组成;在扩展帧中,仲裁场由29位标识符、SRR位、IDE位和RTR位组成。

ID(标识符)是用来确定一条报文,表明报文含义及优先级,如上面举例的0x100。

RTR(远程传送请求位),数据帧RTR位必须为显性电平(RTR=0),远程帧RTR位必须为隐性电平(RTR=1)。

IDE(标识符扩展位)在标准帧属于控制场,在扩展帧中属于仲裁场。在标准帧中IDE为显性电平(IDE=0),在扩展帧中IDE为隐性电平(IDE=1)

SRR(远程代替请求位)在扩展帧中始终为隐性电平(SRR=1)

控制场:由6位组成。在标准帧中,控制场包括IDE(此时为显性电平0)、保留位r(此时为显性电平0)以及占4个bit的数据场长度码DLC。在扩展帧中,控制场没有IDE位,而是两个保留位r0和r1,此时同样均为显性电平0。

数据场:包含CAN数据帧发送的数据,0~8个byte,如上面举例的主要信息就是围绕数据场来说明的,这也是整车电子工程师讨论得最多的一部分内容,如果你不是专门的CAN设计工程师,其他的格式内容仅作了解即可。

CRC场:包括CRC序列CRC界定符DEL,CRC校验是为了通信双方的安全可靠性制定的”暗号“,只有发送方根据发送信息计算的CRC值与接收方根据接收信息计算的CRC值对上,才能判断这次通信成功了,否则就会报错。

CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电子干扰性,并且能够检测出产生的任何错误。CAN总线可以应用于汽车电控制系统、电梯控制系统、安全监测系统、医疗仪器、纺织机械、船舶运输等领域。


声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。

关键字: can总线 通信 电子控制

CAN总线和485总线都是常见的串行通信协议,它们在工业自动化、机器人控制等领域被广泛应用。本文将从物理层、数据传输方式、网络拓扑结构、通信速率和应用范围等方面比较CAN总线和485总线的区别。

关键字: can总线 485总线

CAN总线在设计之初,就规定了物理层CAN_H和CAN_L采用双绞线差分传输,这样做的目的是提高抗干扰能力,因为当总线上CAN_H与CAN_L遇到干扰可以“同上同下”变化,从而差分值保持不变。

关键字: can总线

CAN是Controller Area Network 的缩写,目前CAN总线被广泛的应用在汽车电子领域和工业的现场总线中。

关键字: can总线 电路设计

目前视频领域所采用的压缩技术大都是属于类似 MPEG系列的技术。虽然MPEG-4或H.264/AVC已经获得较高的压缩比,但想在2.5G甚至2G移动通信网路上采用这种压缩方式实现视频传送还是比较困难,

关键字: can总线 sae

随着电子控制系统单元(ecu)在汽车上广泛应用,汽车电子化程度越来越高。电控系统的增加虽然提高了汽车的动力性、经济性和舒适性,但随之增加的复杂电路,必然导致车身布线庞大而且复杂,安装空间短缺。同时,为

关键字: can总线 电子控制

引言   随着信息科学的快速发展, 人们对数据采集后的信号形式的要求越来越多, 单一的信号形式已经没有办法满足实际工程的需要。网络信号、USB总线信号、RS232总线信号以及CAN总线信

关键字: can总线 co2128

  本文主要论述了基于CAN 总线的电动汽车电源管理中的通信系统设计与实现技术。 电动汽车的电源管理方案,涉及到了发动机、电动机、蓄电池的工作状况、车辆行驶速度、行驶阻力以及驾驶员的操作等诸多参

关键字: 电动汽车 can总线 电源管理 通信系统

  引言   现代汽车电子技术的发展使汽车的电子化程度越来越高。电控系统虽然提高了汽车的动力性和经济性,但随之增加的复杂电路必然导致车身布线庞大而复杂。因此提高控制单元间通信的可靠性、实

关键字: can总线 eps通信

  1、引言   随着工业控制系统逐步的自动化,现代化,现场总线控制系统得到越来越多的重视和应用,CAN总线是目前开发简单,性能价格比高的一种现场总线 。相对其他现场总线而言,CAN通信

关键字: can总线 arm920t 总线控制器
关闭