您好,欢迎访问三七文档
第十章CAN总线第10章CAN总线10.1CAN总线的性能特点10.2CAN的技术规范10.2.1CAN的物理层10.2.2CAN的数据链路层10.2.3报文的传送及其帧结构10.3典型CAN总线器件及应用10.1CAN总线的性能特点1.多主方式工作2.网络上的节点信息分成不同的优先级,可满足不同的实时要求。3.非破坏性总线仲裁技术10.1CAN总线的性能特点4.报文滤波5.节点数主要取决于总线驱动电路6.短帧结构7.CRC校验及其他检错措施10.2CAN的技术规范CAN技术规范(Version2.0)A和B:2.0A:CAN报文标准格式2.0B:标准和扩展两种格式CAN只采用了ISO/OSI模型中的物理层和数据链路层。物理层:物理信令(PLS,PhysicalSignalling)物理媒体附件(PMA,PhysicalMediumAttachment)媒体接口(MDI,MediumDependentInterface)数据链路层:逻辑链路控制子层(LLC)媒体访问控制子层(MAC)CAN协议的分层结构图10-110.2.1CAN的物理层定义信号怎样进行发送,因而涉及电气连接、驱动器/接收器的特性、位编码/解码、位定时及同步等内容。对总线媒体装置,诸如驱动器/接收器特性未作规定,以便在具体应用中进行优化设计。CAN物理层选择灵活,没有特殊的要求,可以采用共地的单线制、双线制、同轴电缆、双绞线、光缆等。总线的两种逻辑状态:隐性或显性1993年形成的国际标准ISOll898基于双绞线的CAN总线媒体装置建议的电气连接10.2.2CAN的数据链路层数据链路层子层的服务和功能:逻辑链路控制子层(LLC):“目标层”媒体访问控制子层(MAC)“传送层”1.LLC子层的主要功能①为数据传送和远程数据请求提供服务②确认要发送的信息③确认接收到的信息④为恢复管理和通知超载提供信息⑤为应用层提供接口在定义目标处理时,存在许多灵活性2.MAC子层的功能①传送规则:即控制帧结构、执行总线仲裁、错误检测、出错标定和故障界定。②确定:为开始一次新的发送,总线是否开放或者是否马上接收。MAC子层是CAN协议的核心,该子层特性不存在修改的灵活性。CAN数据链路层:由一个CAN控制器实现,采用了CSMA/CD方式,但不同于普通Ethernet,采用非破坏性总线仲裁技术,网络上节点(信息)有高低优先级之分以满足不同的实时需要。当总线上有两个节点同时向网上输送信息时,优先级高的节点继续传输数据,优先级低的节点主动停止发送,有效地避免了总线冲突以及负载过重导致网络瘫痪的情况。CAN可以实现点对点、一点对多点(成组)以及全局广播等几种方式传送和接收数据。(报文滤波)CAN采用短帧结构,每帧有效字节数为0~8个,因此传输时间短,受干扰概率低,重新发送时间短。数据帧的CRC校验以及其他检查措施保证了数据出错率极低。10.2.3报文的传送及其帧结构在进行数据传送时,发出报文的单元成为该报文的发送器。该单元在总线空闲或丢失仲裁前始终为发送器。如果一个单元不是报文发送器,并且总线不处于空闲状态,则该单元就是接收器。构成一帧的帧起始、仲裁场、控制场、数据场和CRC序列均借助位填充规则进行编码。当发送器在发送的位流中检测到5位连续的相同数值时,将自动地在实际发送的位流中插入一个补码位。数据帧和远程帧的其余位场采用固定格式,不进行填充。报文中的位流按照非归零码(NRZ)方法编码。报文传送由4种不同类型的帧表示和控制:数据帧:携带数据由发送器至接收器;远程帧:通过总线单元发送,以请求发送具有相同标识符的数据帧;出错帧:由检测出总线错误的任何单元发送;超载帧:用于提供当前的和后续的数据帧的附加延迟。10.3典型CAN总线器件及应用10.3.1SJA1000CAN控制器SJA1000是一个独立的CAN控制器,它在汽车和普通的工业应用上有先进的特征。由于它和PCA82C200在硬件和软件都兼容,因此它将会替代PCA82C200,SJA1000有一系列先进的功能,适合于多种应用特别在系统优化诊断和维护方面非常重要。SJA1000在软件和引脚上都是与它的前一款PCA82C200独立控制器兼容的。在此基础上它增加了很多新的功能,为了实现软件兼容,SJA1000独立的CAN控制器有2个不同的操作模式:1BasicCAN模式:和PCA82C200兼容。BasicCAN模式是上电后默认的操作模式,因此用PCA82C200开发的已有硬件和软件,可以直接在SJA1000上使用而不用作任何修改。2PeliCAN模式:是新的操作模式。它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能,使SJA1000能应用于更宽的领域。工作模式通过时钟分频寄存器中的CAN模式位来选择,复位时默认模式是BasicCAN模式。SJA1000控制器结构SJA1000控制器可以分为CAN核心模块、接口管理逻辑、发送缓冲器、验收滤波器、接收FIFO等五个功能模块,SJA1000控制器结构图如图9.16所示。由主控制器进行管理控制、将欲收发的信息(报文),转换为CAN规范的CAN帧,通过CAN收发器,在CANBUS上交换信息。CANBUSCAN核心模块发送缓冲器接口管理逻辑接收FIFO验收滤波器主控制器CAN收发器图10.16SJA1000控制器结构图CAN核心模块:根据CAN规范控制CAN帧的发送和接收。收到一个报文时,CAN核心模块将串行位流转换成用于的并行数据,发送一个报文时则相反。接口管理逻辑:用于连接外部主控制器。外部可以是微型控制器或任何其他器件,SJA1000通过复用的地址/数据总线,与主控制器联系。发送缓冲器:用于存储一个完整的扩展的或标准的报文。当主控制器初始发送时,接口管理逻辑会使CAN核心模块从发送缓冲器读CAN报文。验收滤波器:通过这个可编程的滤波器能确定主控制器要接收哪些报文。接收FIFO:用于存储所有收到的报文,储存报文的多少由工作模式决定,最多能存储32个报文。因为数据超载可能性被大大降低,这使用户能更灵活地指定中断服务和中断优先级。SJA1000控制器功能框图CAN控制模块SJA1000功能框图如图9.17所示,由以下部分组成图10.17SJA1000控制器功能框图(1)接口管理逻辑(IML)接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。由8位并行地址/数据总线和片选、读、写、时钟、使能等控制信号线与主控制CPU相连接。(2)发送缓冲器(TXB)发送缓冲器是CPU和BSP(位流处理器)之间的接口,能够存储发送到CAN网络上的完整信息,缓冲器长13个字节,由CPU写入、BSP读出。(3)接收缓冲器(RXB,RXFIFO)接收缓冲器是验收滤波器和CPU之间的接口,用来储存从CAN总线上接收的信息,接收缓冲器(RXB,13个字节)作为接收FIFO(RXFIFO,长64个字节)的一个窗口,可被CPU访问,CPU在此FIFO的支持下可以在处理信息的时候接收其它信息。(4)验收滤波器(ACF)验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接收信息。在纯粹的接收测试中,所有的信息都保存在RXFIFO中。(5)位流处理器(BSP)位流处理器是一个在发送缓冲器、RXFIFO和CAN总线之间,控制数据流的程序装置,它还在CAN总线上执行错误检测、仲裁填充和错误处理。(6)位时序逻辑(BTL)位时序逻辑监视串口的CAN总线和处理与总线有关的位时序。它在信息开头的总线传输时同步CAN总线位流(硬同步),接收信息时再次同步下一次传送(软同步)BTL还提供了可编程的间段来补偿传播延迟时间、相位转换(例如:由于振荡漂移)和定义采样点和一位时间内的采样次数。(7)错误管理逻辑(EML)EML负责传送层模块的错误管制。它接收BSP的出错报告。通知BSP和IML进行错误统计。图10.18SJA1000DIP28引脚图SJA1000控制器引脚SJA1000控制器有DIP28(塑质双列直插封装)和SO28(塑质小型外线封装)两种形式,DIP28引脚图如图9.18所示。SJA1000引脚排列与引脚功能见表10.2。表10.2SJA1000引脚排列与引脚功能表符号引脚说明AD7-AD02,1,28-23多路地址/数据总线ALE/AS3ALE输入信号Intel模式AS输入信号Motorola模式/CS4片选输入低电平允许访问SJA1000/RD/E5微控制器(CPU)的/RD信号Intel模式或E使能信号Motorola模式/WR6微控制器(CPU)的/WR信号Intel模式或RD//WR信号Motorola模式CLKOUT7SJA1000产生的提供给微控制器(CPU)的时钟输出信号时钟信号来源于内部振荡器且通过编程驱动时钟控制寄存器的时钟关闭位可禁止该引脚VSS18接地XTAL19输入到振荡器放大电路外部振荡信号由此输入注1XTAL210振荡放大电路输出使用外部振荡信号时左开路输出注1MODE11模式选择输入1=Intel模式0=Motorola模式VDD312输出驱动的5V电压源TX013从CAN输出驱动器0输出到物理线路上TX114从CAN输出驱动器1输出到物理线路上VSS315输出驱动器接地/INT16中断输出用于中断微控制器(CPU)/INT在内部中断寄存器各位都被置位时低电平有效/INT是开漏输出且与系统中的其它/INT是线或的此引脚上的低电平可以把IC从睡眠模式中激活/RST17如C=1F;R=50kVDD218输入比较器的5V电压源RX0,RX119,20从物理的CAN总线输入到SJA1000的输入比较器;支配控制电平将会唤醒SJA1000的睡眠模式;如果RX1比RX0的电平高,就读支配控制电平,反之读弱势电平,如果时钟分频寄存器的CBP位被置位就旁路CAN输入比较器以减少内部延时(此时连有外部收发电路)这种情况下只有RX0是激活的;弱势电平被认为是高,而支配电平被认为是低。VSS221输入比较器的接地端VDD122逻辑电路的5V电压源表10.2SJA1000引脚排列与引脚功能表4.SJA1000的特征SJA1000的特征可以分成3组:⑴与PCA82C200完全兼容的功能。特征有:灵活的微处理器接口---允许接口大多数微型处理器或微型控制器。可编程的CAN输出驱动器----对各种物理层的分界面。CAN位频率高达1Mbit/s----SJA1000覆盖了位频率的所有范围,包括高速应用。⑵改良的PCA82C200功能,这组功能的部份已经在PCA82C200里实现,但是在SJA1000里这些功能在速度大小和性能方面得到了改良。特征有:CAN2.0B(passive)----SJA1000的CAN2.0Bpassive特征允许CAN控制器接收有29位标识符的报文。64个字节接收FIFO----接收FIFO,可以存储高达21个报文,这延长了最大中断服务时间,避免了数据超载。24MHz时钟频率----微处理器的访问更快和CAN的位定时选择更多。接收比较器旁路----减少内部延迟,由于改进的位定时编程,使CAN总线长度更长。⑶PeliCAN模式的增强功能,在PeliCAN模式里SJA1000支持一些错误分析功能,支持系统诊断,系统维护,系统优化。而且这个模式里也加入了对一般CPU的支持和系统自身测试的功能。特征有:CAN2.0Bactive----CAN2.0Bactive支持带有29位标识符的网络扩展应用。发送缓冲器----有11位或29位标识符的报文的单报文发送缓冲器。增强的验收滤波器-----两个验收滤波器模式,支持11位和29位标识符的滤波。可读的错误计数器、可编程的出错警告界限、错误代码捕捉寄存器、出错中断-----支持错误分析,在原型阶段和在正常操作期间可用于:诊断、系统维护、系统优化。仲裁丢失捕捉中断----支持系统优化
本文标题:CAN总线技术
链接地址:https://www.777doc.com/doc-6127394 .html