
CAN控制器局域网.doc
10页CAN总线简介 —— XX皓轩仪表自动化技术 专业 自动化工程 设计XX皓轩仪表自动化技术 2011-05-30 22:29:46 SystemMaster 来源: 文字大小:[大][中][小] XX皓轩仪表自动化技术 专业 自动化工程设计CAN[Control〔Controller Area Network]是控制<器>局域网的简称 它是德国Bosch公司在1986年为解决现代汽车中众多测量控制部件之间的数据交换而开发的一种串行数据通信总线 现已被列入ISO 国际标准,称为ISO11898 CAN最初是为汽车的监测、控制系统而设计的,现已在航天、电力、石化、冶金、纺织、造纸、仓储等行业广泛采用在火车、轮船、机器人、楼宇自控、医疗器械、数控机床、智能传感器、过程自动化仪表等自控设备中,都广泛采用CAN技术CAN的主要技术特点 CAN网络上的节点不分主从,任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活,利用这一特点可方便地构成多机备份系统 CAN网络上的节点信息具有不同的优先级,可满足对实时性的不同要求,高优先级的数据最多可在134微秒内得到传输 CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而节省了总线冲突的仲裁时间。
CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的"调度" CAN的直接通信距离最远可达10km〔速率5kbps以下;通信速率最高可达1Mbps<此时通信距离最长为40m CAN上的节点数主要决定于总线驱动电路,目前可达110个;报文标识符可达2032种〔CAN2.0A,而扩展标准〔CAN2.0B的报文标识符几乎不受限制 采用短帧结构,传输时间短,受干扰概率低,具有良好的检错效果CAN节点中均有错误检测、标定和自检能力检错的措施包括:发送自检、循环冗余校验、位填充和报文格式检查等保证了低出错率CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响 CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活 CAN器件可被置于无任何内部活动的睡眠方式,相当于未连接到总线驱动器这样可降低系统功耗其睡眠状态可借助总线激活或者系统的内部条件被唤醒CAN在汽车电子系统中得到广泛应用 现代汽车越来越多地采用电子装置控制,如发动机控制、注油控制,加速、刹车控制〔ASC及复杂的防死锁刹车系统〔ABS等。
汽车内部所具有的控制器、执行器、监测仪器、传感器的数量很多,按模拟系统的接线方式,一个传统车辆的典型连线束展开后,其长度约为1600多米,有将近300个接头 这些控制需检测及交换大量数据,因而引入CAN通信技术,组成汽车内部网络,以适应控制与数据通信的需要 世界上一些著名汽车制造厂商如BENZ〔奔驰、BMW〔宝马、PORSCHE〔保时捷ROLLS-ROYCE〔罗斯莱斯JAGUAR〔美洲豹等都已开始采用CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信 基于CAN总线的数据通信与网络技术在汽车行业有良好的应用前景汽车内部网络的构成 汽车内部网络由一系列称之为ECU〔电控单元的不同功能部件作为网络节点而构成的 可分为动力、照明、操作、显示、安全、娱乐等多个子系统 Motorola公司提出的基于CAN的汽车内部网络的解决方案 动力系统采用传输速率大于250kbps的CAN网段,车身电子系统采用传输速率不小于125kbps的低速CAN网段,两个子网之间通过中央模块实现互连。
汽车内部网络的解决方案 〔 Motorola CAN通信技术 CAN的通信参考模型 CAN的通信模型的分层结构 数据链路层 包括逻辑链路控制子层LLC LLC的主要功能是:为数据传送和远程数据请求提供服务,确认由LLC子层接收的报文实际已被接收,并为恢复管理和通知超载提供信息 媒体访问控制子层MAC MAC子层主要规定传输规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定 物理层 物理层规定了节点的全部电气特性 CAN节点网络的连接CAN总线的显位与隐位 显位<0> VCANH: 3.5v VCANL 1 1.5v 隐位<1> VCANH 2.5v VCANL 2.5vCAN的帧类型 4种不同类型的帧:数据帧、远程帧、出错帧或超载帧 数据帧携带数据由发送器至接收器 远程帧用以请求总线上的相关单元发送具有相同标识符的数据帧 出错帧由检测出总线错误的单元发送 超载帧用于提供当前的和后续的数据帧的附加延迟CAN的帧结构 数据帧由7个不同的位场〔域组成: 帧起始〔1个显位,标志帧的起始 仲裁场、控制场、数据场、CRC场、应答场和帧结束〔7个隐位。
数据场长度可为零 CAN数据帧的组成CAN2.0A 与CAN2.0B CAN2.0A: 标识符的长度为11位,这些位从高位到低位的顺序发送,最低位为ID.0,其中最高7位〔ID.10-ID.4不能全为隐位 远程发送请求位〔RTR在数据帧中必须是显位,而在远程帧中必须为隐位 仲裁场由11位标识符和远程发送请求位RTR组成 CAN 2.0B: 存在两种不同的帧格式,具有11位标识符的标准帧,29位标识符的扩展帧 标准帧与CAN2.0A相同 扩展帧的仲裁场由29位标识符和替代远程请求SRR位、标识位和远程发送请求位组成,标识符位为ID.28至ID.0CAN数据帧的组成 远程帧 远程帧由6个场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束远程帧不存在数据场 远程帧的RTR位必须是隐位 DLC的数据值是独立的,它可以是0~8中的任何数值,为对应数据帧的数据长度出错帧 出错帧由两个不同场组成,第一个场由来自各站的错误标志叠加得到,第二个场是出错界定符 错误标志具有两种形式: 活动错误标志
对于不同型号的CAN总线通信控制器,实现CAN协议的电路,其结构和功能大体相同;与微控制器接口,其结构及方式存在一些差异 CAN控制器芯片完成CAN总线协议的物理层和数据链路层的所有功能,应用层功能由微控制器完成 芯片工作的温度范围为: -40℃~+125℃,汽车及某些军用领域, -40℃~+80℃,一般工业领域CAN通信控制器82C200的功能框图 接口管理逻辑:接收来自微控制器的命令,控制信息缓存器,为微控制器提供中断和状态信息 发送缓存器:它有10个字节存储单元组成,存储由微控制器写入,将被发送到CAN的报文 接收缓存器0和1:接收缓存器0和1均由10个字节组成,交替存储由总线接收到的报文,当一个缓存器被分配给CPU时,位流处理器可以对另一个进行写操作 位流处理器:控制发送缓存器和接收缓存器〔并行数据与CAN总线〔串行数据之间数据流的序列 位定时逻辑:它将82C200同步于CAN总线上的位流 收发逻辑:用来控制输出驱动器 错误管理逻辑:按照CAN协议完成错误界定。
控制器接口逻辑:与外部微控制器的接口,82C200可直接与多种微控制器接口82C200的寄存器地址分配1 控制段的10个寄存器 控制寄存器〔CR 控制寄存器的内容用于改变82C200的状态,使82C200 进入测试或正常工作模式,中断开放或禁止等, 控制寄存器的控制位可被微控制器置位或复位,微控制器将控制寄存器作为读写存储器 命令寄存器〔CMR:用于初始化一种作用使82C200进入睡眠、唤醒状态;清除超载;释放接收缓存器;请求发送报文 状态寄存器〔SR〕 状态寄存器的内容受总线控制器状态的影响 它表明了82C200的总线状态、错误状态、发送状态、接收状态、接收状态、发送完成状态、接收缓存器状态、数据超载状态等 状态寄存器对于微控制器作为只读存贮器出现 中断寄存器〔IR 可用于识别中断源,如唤醒中断、超载中断、发送中断、接收中断等 当一个或多个位被置位时,INT引脚被激活 在该寄存器被微控制器读出后,所有位被82C200复位。
该寄存器对于微控制器作为只读存储器出现 接收码寄存器〔ACR 它是82C200的接收滤波器的一部分,该寄存器可被访问 接收码位〔AC.7~AC.0;报文标识符的最高8位
