CAN总线协议概念特征
关键字:CAN 总线协议 报文格式
引用地址:CAN总线协议
(1)报文(Message)总线上的数据以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。
(2)信息路由(Information Routing)在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。
(3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。
(4)数据一致性应确保报文在CAN里同时被所有节点接收或同时不接收,这是配合错误处理和再同步功能实现的。
(5)位传输速率不同的CAN系统速度不同,但在一个给定的系统里,位传输速率是唯一的,并且是固定的。
(6)优先权 由发送数据的报文中的标识符决定报文占用总线的优先权。标识符越小,优先权越高。
(7)远程数据请求(Remote Data Request) 通过发送远程帧,需要数据的节点请求另一节点发送相应的数据。回应节点传送的数据帧与请求数据的远程帧由相同的标识符命名。
(8)仲裁(Arbitration) 只要总线空闲,任何节点都可以向总线发送报文。如果有两个或两个以上的节点同时发送报文,就会引起总线访问碰撞。通过使用标识符的逐位仲裁可以解决这个碰撞。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送,如果发送的是“隐性”电平而监视到的是“显性”电平,那么这个单元就失去了仲裁,必须退出发送状态。
(9)总线状态 总线有“显性”和“隐性”两个状态,“显性”对应逻辑“0”,“隐性”对应逻辑“1”。“显性”状态和“隐性”状态与为“显性”状态,所以两个节点同时分别发送“0”和“1”时,总线上呈现“0”。CAN总线采用二进制不归零(NRZ)编码方式,所以总线上不是“0”,就是“1”。但是CAN协议并没有具体定义这两种状态的具体实现方式。
(10)故障界定(Confinement) CAN节点能区分瞬时扰动引起的故障和永久性故障。故障节点会被关闭。
(11)应答接收节点对正确接收的报文给出应答,对不一致报文进行标记。
(12)CAN通讯距离最大是10公里(设速率为5Kbps),或最大通信速率为1Mbps(设通信距离为40米)。
(13)CAN总线上的节点数可达110个。通信介质可在双绞线,同轴电缆,光纤中选择。
(14)报文是短帧结构,短的传送时间使其受干扰概率低,CAN有很好的校验机制,这些都保证了CAN通信的可靠性。
CAN总线协议内容
CAN总线的物理层是将ECU连接至总线的驱动电路。ECU的总数将受限于总线上的电气负荷。物理层定义了物理数据在总线上各节点间的传输过程,主要是连接介质、线路电气特性、数据的编码/解码、位定时和同步的实施标准。
总线竞争的原则
BOSCH CAN基本上没有对物理层进行定义,但基于CAN的ISO标准对物理层进行了定义。设计一个CAN系统时,物理层具有很大的选择余地,但必须保证CAN协议中媒体访问层非破坏性位仲裁的要求,即出现总线竞争时,具有较高优先权的报文获取总线竞争的原则,所以要求物理层必须支持CAN总线中隐性位和显性位的状态特征。在没有发送显性位时,总线处于隐性状态,空闲时,总线处于隐性状态;当有一个或多个节点发送显性位,显性位覆盖隐性位,使总线处于显性状态。
在此基础上,物理层主要取决于传输速度的要求。从物理结构上看,CAN节点的构成如图7-8所示。在CAN中,物理层从结构上可分为三层:分别是物理信号层(Physical Layer Signaling,PLS)、物理介质附件(Physical MediaAttachment,PMA)层和介质从属接口(Media Dependent:Inter-face,MDI)层。其中PLS连同数据链路层功能由CAN控制器完成,PMA层功能由CAN收发器完成,MDI层定义了电缆和连接器的特性。目前也有支持CAN的微处理器内部集成了CAN控制器和收发器电路,如MC68HC908GZl6。PMA和MDI两层有很多不同的国际或国家或行业标准,也可自行定义,比较流行的是ISOll898定义的高速CAN发送/接收器标准。
节点数量
理论上,CAN总线上的节点数几乎不受限制,可达到2000个,实际上受电气特性的限制,最多只能接100多个节点。
CAN的数据链路层
CAN的数据链路层是其核心内容,其中逻辑链路控制(Logical Link control,LLC)完成过滤、过载通知和管理恢复等功能,媒体访问控制(Medium Access control,MAC)子层完成数据打包/解包、帧编码、媒体访问管理、错误检测、错误信令、应答、串并转换等功能。这些功能都是围绕信息帧传送过程展开的。
报文传输
报文类型
在CAN2.0B的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有ll位标识符的帧称之为标准帧,而含有29位标识符的帧称为扩展帧。如CAN1.2版本协议所描述,两个版本的标准数据帧格式和远程帧格式分别是等效的,而扩展格式是CAN2.0B协议新增加的特性。为使控制器设计相对简单,并不要求执行完全的扩展格式,对于新型控制器而言,必须不加任何限制的支持标准格式。但无论是哪种帧格式,在报文传输时都有以下四种不同类型的帧:
帧类型
(1)数据帧(Data ) 数据帧将数据从发送器传输到接收器。
(2)远程帧(Remote ) 总线单元发出远程帧,请求发送具有同一标识符的数据帧。
(3)错误帧(Error ) 任何单元检测到总线错误就发出错误帧。
(4)过载帧(Overload ) 过载帧用在相邻数据帧或远程帧之间提供附加的延时。
数据帧或远程帧与前一个帧之间都会有一个隔离域,即帧间间隔。数据帧和远程帧可以使用标准帧及扩展帧两种格式。
CAN总线应用领域
CAN总线最初是德国BOSCH为汽车行业的监测,控制而设计的。现已应用到铁路、交通、国防、工程、工业机械、纺织、农用机械、数控、医疗器械机器人、楼宇、安防等方面。目前大多数CAN控制器只做到链路层,然而随着CAN的发展和应用,应用层的硬件设计也成为硬件厂商的考虑范畴。
上一篇:CAN总线优点
下一篇:CAN总线的通信错误及处理措施
推荐阅读最新更新时间:2024-05-02 23:39
汽车CAN总线数据无线收发汽车电子控制实验教学系统
汽车CAN总线和无线数据收发的一些具体案例,本文介绍了一套基于GPRS、CAN和GPS技术的车载汽车测试设备,系统的抗干扰能力强,测量精度高,而且由于采用GPRS传输数据,测试的实时性和灵活性都非常强大,整套系统是基于车载试验的和道路试验的特殊要求设计出来的,能够非常好的使用在汽车的车载试验上。
整套系统的基本流程是利用GPS和数据采集卡对汽车的参数进行测试,包括汽车的具体位置和行走过程中的各种参数,测试完后系统通过CAN总线自动的将数据存储到控制器件M-LOG上面去,当测试结束汽车停止行走的时候,M-LOG自动触发将数据上传到指定的FTP上面,如果出现意外情况,比如说服务器连接失败而不能够上传数据的时候,试验人员可以
[嵌入式]
基于ARM和CAN总线的嵌入式PLC设计
0 前言 可编程逻辑控制器(PLC),一种数字运算操作的电子系统,专为在工业环境应用而设计。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟输入/输出控制各种类型的机械或生产过程,是工业控制的核心部分。随着工业技术的发展以及规模的不断扩大,传统的PLC面临着IO点数增多、通讯功能需要增强等诸多方面的挑战,已无法满足个性化、差异化的需求。 现有的设计主要有工控机、单片机板等。工控机在互连、表达、算法等方面优势明显,但其实时性、稳定性难以满足连续控制的苛刻要求,通常用于监控。单片机系统在成本控制上更加灵活,可是没有操作系统使其只能应用于低端场合。具有嵌入式
[单片机]
奥林巴斯为OmniScan™ X3探伤仪更新软件,全面提升工作效率
拥有行业领先技术的光学科技企业奥林巴斯,为旗下的 OmniScan 系列探伤设备 OmniScan X3 探伤仪升级并发布了 MXU 5.3.0 和 OmniPC 5.3.0 两款软件。此次升级不仅能够全面提升设备在使用过程中的软件稳定性,也为用户带来了前所未有的轻松操作体验。 近年来,随着工业检测领域和难度的不断升级,用户对检测设备的要求也越来越高。备受用户青睐的奥林巴斯 OmniScan 系列探伤仪就因其性能强大、结果可靠、使用方便等特性,在全球范围内被公认为便携式相控阵超声检测(PAUT)的标杆性仪器,为各工业设备的生产安全提供了可靠保障。其中,OmniScan X3 探伤仪作为一款功能齐备的相控阵工具箱,所提供的独创全
[嵌入式]
自主研发车载网络产业化分析
随着国内汽车消费市场的飞速发展,与汽车相关的高新技术伴随着世界汽车巨头推崇的全球新车同步上市的浪潮不断地涌向中国市场,作为现代汽车关键技术的车载网络在合资品牌的轿车中已由过去仅服务中、高级轿车,逐渐渗透到数万人民币的家用轿车之中。这标志着车载网络不仅在技术上己成熟,而且在价格上己被家用轿车接受。 面对国外车载网络的冲击,我国在车载网络技术方面取得了地突破性的进展,自主研发车载网络产业化己提上议事日程。作者在从事车载网络研究的同时十分关注自主研发车载网络产业化的进程,以下是作者对自主研发车载网络产业化的分析。 1.自主研发车载网络在技术上走向成熟 2005年9月18日国家“十五”重大科技成就展在北京海淀展览馆向社会公众展示。在
[嵌入式]
基于无线传感器网络的CAN总线互联
1 引言 装甲车辆状态信息采集系统的信息采集单元通常采用CAN总线连接,某些情况下,车辆上装和下装之间的旋转连接器由于没有连线空间,需要无线通信模块为上装和下装的CAN总线提供一个透明的无线通道。本文基于无线传感器网络给出一种无线通道的设计,主要包括CAN总线无线接入控制模块电路设计以及无线传感器节点的通信协议设计等内容。 2 电路设计 以无线传感器网络为基础的CAN总线扩展系统总体结构如图1所示,其主要由两块CAN总线无线接入控制模块构成,每个模块的组成及各部分的作用是:无线传感器节点的微控制器及存储器模块,接收对端无线接人控制模块传来的数据并存储,然后将数据交CAN控制器待发,同时接收CAN控制器传来的数据并通
[工业控制]
CAN总线调整同步的规则是什么
硬件同步 接收单元在总线空闲状态检测出帧起始时进行的同步调整,在检测出边沿的地方不考虑SJW的值而认为是SS段。硬件同步的过程如下图所示 : 再同步 在接收过程中检测出总线上的电平变化时进行的同步调整。 每当检测出边沿时,根据 SJW 值通过加长 PBS1 段,或缩短 PBS2 段,以调整同步。但如果发生了超出 SJW值的误差时,最大调整量不能超过SJW 值。 调整同步的规则 硬件同步和再同步遵从如下规则。 (1) 1 个位中只进行一次同步调整。 (2) 只有当上次采样点的总线值和边沿后的总线值不同时,该边沿才能用于调整同步。 (3) 在总线空闲且存在隐性电平到显性电平的边沿时,则一定要进行硬件同步。 (4) 在总线非空闲时
[嵌入式]
AT89S52单片机模拟I2C总线协议读写AT24C04
I2C总线是2条线总线.数据线SDA,时钟线SCL.结构简单. AT24C04是具有I2C总线接口的EEPROM.大小为512*8bit.单片机AT89S52本身不具有I2C总线结口,所以可编写程序用并行端口模拟I2C总线协议读写AT24C04. 多个设备通信的重点(1.电平的区别,如串口通信中PC与单片机通信,PC机串口电平值为+12V~-12V,单片机为TTL电平0V~+5V.,所以要用电平转换芯片转电平.2,通信协议.(串口通信协议)) 具体的协议内容与数据格式可查资料. 代码如下: #include reg52.h #define WriteDeviceAddress 0xa0 #defin
[单片机]
基于LPC2131嵌入式系统的CAN模块设计与实现
摘要: 对于内部没有集成CAN控制器的处理器可通过外部扩展CAN接口来实现CAN通讯。以philips的ARM7处理器LPC2131为例,给出了较为通用的硬件设计和基于嵌入式实时操作系统μCOS-II实现CAN通信的关键软件代码。
关键词: LPC2131;CAN总线;ARM;μCOS-II;嵌入式系统
随着信息技术技术的飞速发展, ARM技术方案架构作为一种具备低功耗、高性能、以及小体积等特性的32位嵌入式微处理器,得到了众多的知识产权授权用户,其中包括世界顶级的半导体和系统公司。目前已被广泛的用于各类电子产品,汽车、消费娱乐、影像、工业控制、海量存储、网络、安保和无线等领域。被业界人士认为,基于ARM的技术方案是最具市场前
[单片机]