您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第4.1章 车载网络系统现场总线技术__08CAN(汽车电子技术)
工业数据通信与控制网络阳宪惠清华大学自动化系第4讲CAN通信技术CAN简介•CAN[ControllerAreaNetwork]是控制器局域网的简称•它是德国Bosch公司在1986年为解决现代汽车中众多测量控制部件之间的数据交换而开发的一种串行数据通信总线•现已被列入ISO国际标准ISO11898•最初为汽车测控数据通信而设计的CAN,现已在多领域被广泛采用–航天、电力、石化、冶金、纺织、造纸、仓储等行业–火车、轮船、机器人、楼宇自控、医疗器械、数控机床、智能传感器、过程自动化仪表等CAN的主要技术特点•CAN网络上的节点不分主从–任一节点均可在任意时刻主动地向网络上其他节点发送信息,通信方式灵活•CAN采用非破坏性的总线仲裁技术•CAN网络上的节点具有不同的优先级,–当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而节省了总线冲突的仲裁时间。–可满足对实时性的不同要求–高优先级的数据可在134微秒内得到传输•通过报文滤波可实现点对点、一点对多点及全局广播等几种方式收发数据,无需专门的“调度”•CAN的直接通信距离–最远可达10km(速率5kbps以下);–通信速率最高可达1Mbps(此时通信距离最长为40m)。•CAN总线上的节点数决定于总线驱动电路,一般为–可达110个;•报文标识符:–CAN2.0A为2032种–CAN2.0B扩展帧的报文标识符几乎不受限制•CAN为短帧结构,传输时间短,受干扰概率低•CAN节点具有良好的检错功能,出错率低–节点中均有错误检测、标定和自检能力。•具有发送自检、循环冗余校验、位填充、报文格式检查等。•CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。•CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。•CAN器件可被置于无任何内部活动的睡眠方式–相当于未连接到总线驱动器–可降低系统功耗–其睡眠状态可借助总线激活或者系统的内部条件被唤醒。CAN通信技术•CAN的通信参考模型–CAN的通信模型的分层结构•数据链路层–包括逻辑链路控制子层LLC»LLC的主要功能是:为数据传送和远程数据请求提供服务,确认由LLC子层接收的报文实际已被接收,并为恢复管理和通知超载提供信息–媒体访问控制子层MAC»MAC子层主要规定传输规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定•物理层–物理层规定了节点的全部电气特性数据链路层逻辑链路子层接收滤波超载通知恢复管理媒体访问控制子层数据封装/拆装帧编码(填充/解除填充)媒体访问管理错误监测出错标定应答串行化/解除串行化物理层位编码/解码;位定时;同步;驱动器/接收器特性CAN节点的网络连接CAN总线信号的显位与隐位•显位(0)–VCANH:3.5v–VCANL11.5v•隐位(1)–VCANH2.5v–VCANL2.5v•显位可改写隐位CAN通信帧的类型•4种不同类型的帧:–数据帧、远程帧、出错帧、超载帧•数据帧携带数据,由发送器传送至接收器•远程帧用以请求总线上的相关单元发送具有相同标识符的数据帧•出错帧由检测出总线错误的单元发送•超载帧用于提供当前的和后续的数据帧的附加延迟CAN的帧结构•数据帧由7个不同的位场(域)组成:–帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束–帧起始位(1个显位),表示标志帧的开始–中间有仲裁场、控制场、数据场、CRC场、应答场–帧结束(7个隐位)–数据场长度可为零CAN数据帧的组成CAN2.0A与CAN2.0B•CAN2.0A与CAN2.0B是1991年颁布的CAN技术规范的两个部分–CAN2.0A只有标准帧一种帧格式–CAN2.0B包括标准帧与扩展帧两种•标准帧与扩展帧的区别主要在仲裁场与控制场–标准帧具有11位标识符–扩展帧具有29位标识符•标准帧的仲裁场由11位标识符和远程发送请求位RTR(RemoteTransmissionRequest)组成–仲裁场的11位标识符从高位到低位顺序发送,最低位为ID.0,最高位为ID.10,其中的高7位(ID.10-ID.3)不能全为隐位。–远程发送请求位(RTR)用于区分数据帧与远程帧•在数据帧中RTR位必须是显位•在远程帧中RTR位必须为隐位。•扩展帧仲裁场的组成–29位标识符位:ID.28至ID.0–远程请求替代位SRR(SubstituteRemoteRequest):•设置SRR为保持扩展帧与标准帧的格式兼容•扩展帧中的SRR为隐位–标识扩展位IDE(IdentifierExtension):•标识扩展位IDE在标准帧中为显位,在扩展帧中为隐位–远程发送请求位RTR组成•控制场由6位组成•在扩展格式中控制场包括4位数据长度码DLC和2位保留位,•在标准格式中控制场包括4位数据长度码DLC、1位保留位、1位标识扩展位IDE•数据场包含被传送的数据,可包括0-8个8位的字节,先发送最高有效位。•CRC场:15位的CRC序列,1个隐位的CRC界定符•应答场2位:1位应答间隙,1位应答界定符–发送器在应答间隙发送1位隐位,接收器在正确接收到报文后在应答间隙发送1位显位。–应答界定符为隐位远程帧•远程帧由6个场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。远程帧不存在数据场。•远程帧的RTR位必须是隐位。出错帧•出错帧由两个不同场组成,第一个场由来自各站的出错标志叠加得到,第二个场是出错界定符•错误标志具有两种形式:–活动出错标志(Activeerrorflag),由6个连续的显位组成–认可出错标志(Passiveerrorflag),由6个连续的隐位组成•出错界定符包括8个隐位超载帧•超载帧包括两个位场:超载标志和超载界定符•超载标志由6个显位组成•超载界定符由8个隐位组成•发送超载帧的超载条件:–接收器要求延迟下一个数据帧或远程帧实现CAN通信控制的几种ASIC芯片•CAN通信控制器82C200:实现CAN2.0A的标准格式通信帧的通信控制•CAN通信控制器SJA1000:实现CAN2.0B的两种格式通信帧的通信控制•带CAN通信控制器与8位微控制器的P8XC592•带CAN通信控制器与16位微控制器的87C196CA/CB•带32位ARM7处理器内核、可编程逻辑、存储子系统、CAN接口、以太网接口、I/O接口等的片上系统TA7V•带CAN通信控制器的CAN总线I/O器件82C150•CAN总线收发接口器件82C250CAN通信控制器•CAN通信控制器要实现CAN总线协议并具备与微控制器的接口–不同型号的CAN总线通信控制器,其结构和功能大体相同;–与微控制器接口部分的结构及方式存在一些差异•由CAN通信控制器芯片完成CAN总线协议中物理层和数据链路层的所有功能•应用层功能由微控制器完成•芯片工作的温度范围为:–-40℃~+125℃,汽车及某些军用领域,–-40℃~+80℃,一般工业领域CAN通信控制器82C200的功能框图82C200实现CAN2.0A协议CAN通信控制器SJA1000•SJA1000实现CAN2.0B协议•SJA1000CAN通信控制器由以下几部分构成:–接口管理逻辑IML:它接收微处理器的命令,控制CAN寄存器的地址,并为微处理器提供中断和状态信息。–发送缓冲器TXB:它是CPU和位流处理器(BSP)之间的接口,有13字节长。能存储一条将在CAN总线上发送的完整报文。报文由CPU写入,由位流处理器BSP读出。–接收缓冲器(RXB,RXFIFO):是CPU和接收滤波器之间的接口,用来存储从CAN总线收到并接收的报文。接收缓冲器FIFO共64字节长。其中有13字节的窗口可供CPU访问。在CPU处理一个报文的同时,由这个FIFO继续接收其它正在到来的报文CAN通信控制器SJA1000(续)•接收滤波器ACF:接收滤波器把收到的报文标识符和接收滤波寄存器中的内容进行比较,以判断该报文是否被接收。如果判断结果是肯定的,则报文被存入RXFIFO。•位流处理器BSP:位流处理器控制发送缓冲器FIFO和CAN总线之间数据序列,同时它也执行错误检测、仲裁、位填充和CAN总线错误处理功能。•位定时逻辑BTL:BTL监视总线上的串行序列,处理与CAN总线相关的位时间,按收到的报文头与CAN总线上的位流同步。BTL还为补偿传输迟延时间和相位跳变提供可编程的时间段。•错误管理逻辑EML:它按照CAN协议完成错误界定。它接受来自BSP的出错通知,并向BSP和IML提供出错统计SJA1000功能框图出错处理功能的增强•仲裁丢失捕捉寄存器(ALC):以找到丢失仲裁位的位置•出错代码捕捉寄存器(ECC):分析总线错误类型和位置•出错警告限寄存器(EWLR):定义出错警告极限值•接收出错计数寄存器(RXERR)•发送TX出错计数寄存器(TXERR)–记录发送和接收时出现的错误个数等。可根据从这两个寄存器读取的错误个数来判断目前CAN控制器的出错状态。•出错中断:–出错中断源:总线出错中断、错误警告限中断(可编程设置)和被动出错中断。由中断允许寄存器(IER)区分出以上各中断,也可直接从中断寄存器(IR)中直接读取中断寄存器的状态来判断出错类型。•出错代码捕捉寄存器(ECC):–当CAN总线发生错误时,产生相应的出错中断,同时,把对应的错误类型和产生位置写入出错代码捕捉寄存器(CAN相对地址为12)。这个代码一直保存到被主控制器读取出来后,ECC才重新被激活工作,捕捉下一个错误代码。–可以从ECC读取的数据来分析属于何种错误以及错误产生的位置,从而为调试工作提供了方便。SJA1000的应用电路•SJA1000与以下芯片或电路组合,构成CAN应用节点–微控制器CPU–总线收发器–晶振、电源、复位电路–其它测量控制电路•SJA1000的应用电路其它与CAN通信相关的器件•INTEL82527CAN通信控制器,支持CAN2.0B规范•带CAN通信控制器的8位微控制器–P8XC592–具有微控制器P8XC552和CAN通信控制器82C200的功能组合•带CAN通信控制器的16位微控制器–87C196CA/CB–P51XA-C3•CAN总线收发接口器件82C250•CAN总线I/O器件82C150CAN总线收发接口器件82C250•82C250是CAN通信控制器与物理总线之间的接口,器件可以提供对总线的差动发送和接收功能。82C250的主要特性如下:–与ISO/DIS11898标准全兼容–高速性(最高可达1Mbps)–具有抗汽车环境下瞬间干扰的能力–降低射频干扰的斜率控制–热保护–总线与电源及地之间的短路保护–低电流待机方式–掉电自动关闭输出–可支持多达110个节点相连接•对于CAN控制器及带有CAN总线接口的器件,82C250并不是必须使用的器件,因为多数CAN控制器均具有配置灵活的收发接口并允许总线故障,只是驱动能力一般只允许20~30个节点连接在一条总线上。•而82C250支持多达110个节点,并能以1Mbps的速率工作于恶劣电气环境CAN总线I/O器件82C150•82C150是一种具有CAN总线接口的模拟和数字I/O器件,可用于传感器、执行器接口。主要功能包括:CAN接口功能和I/O功能•CAN接口功能–符合具有严格的位定时的CAN技术规范2.0A和2.0B–全集成内部时钟振荡器(不需要晶振),位速率为20K~125Kbit/s–具有位速率自动检测和校正功能–由4个可编程标识符位,在一个CAN总线系统上最多可连接16个82C150–支持总线故障自动恢复–具有通过CAN总线唤醒功能的睡眠方式–带有CAN总线差分输入比较器和输出驱动器•I/O功能–16条可配置的数字及模拟I/O口线–每条I/O口线均可单独配置,包括I/O方向,口模式和输入跳变的检测功能–在用作数字输入时,可设置为由输入端变化引起CAN报文自动发送–两个分辨率为10位的准模拟量(分配脉冲调制PDM)输出–具有6路模拟输入通道的10位A/D转换器–两个通用比较器CAN总线I/O器件82C150的应
本文标题:第4.1章 车载网络系统现场总线技术__08CAN(汽车电子技术)
链接地址:https://www.777doc.com/doc-4341651 .html