CAN总线技术综述_第1页
CAN总线技术综述_第2页
CAN总线技术综述_第3页
CAN总线技术综述_第4页
CAN总线技术综述_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十章 CAN总线 第10章 CAN总线 w10.1 CAN总线的性能特点w10.2 CAN的技术规范 n10.2.1 CAN的物理层 n10.2.2 CAN的数据链路层 n10.2.3 报文的传送及其帧结构w10.3 典型CAN总线器件及应用10.1 CAN总线的性能特点w1. 多主方式多主方式工作w2. 网络上的节点信息分成不同的优先不同的优先级级,可满足不同的实时要求。w3. 非破坏性非破坏性总线仲裁技术10.1 CAN总线的性能特点w4. 报文滤波报文滤波w5.节点数主要取决于总线驱动电路总线驱动电路w6.短帧结构短帧结构w7.CRCCRC校验校验及其他检错措施其他检错措施10.2 C

2、AN的技术规范wCAN技术规范(Version2.0)A和B:w2.0 2.0 A A:CAN报文标准标准格式w2.0 2.0 B B:标准标准和扩展扩展两种格式wCAN只采用了ISO/OSI模型中的物理层物理层和数据链路层数据链路层。w 物理层:物理层:n物理信令物理信令(PLS,Physical Signalling)n物理媒体附件物理媒体附件(PMA,Physical Medium Attachment)n媒体接口媒体接口(MDI,Medium Dependent Interface)w 数据链路层:数据链路层:n逻辑链路控制逻辑链路控制子层(LLC)n媒体访问控制媒体访问控制子层(MA

3、C)w CANCAN协议的分协议的分层结构层结构图图10-110.2.1 CAN的物理层w 定义信号怎样进行发送信号怎样进行发送,因而涉及电气连接电气连接、驱动器驱动器/ /接收器接收器的特性、位编码位编码/ /解码解码、位定时位定时及同步及同步等内容。w 对总线媒体装置总线媒体装置,诸如驱动器/接收器特性未特性未作规定作规定,以便在具体应用中进行优化设计。w CAN物理层选择灵活,没有特殊的要求,可以采用共地的单线制共地的单线制、双线制双线制、同轴电缆同轴电缆、双绞双绞线线、光缆光缆等。总线的两种逻辑状态两种逻辑状态:隐性隐性或显性显性w 1993年形成的国际标准ISOll898ISOll8

4、98基于双绞双绞线线的CANCAN总总线媒体装线媒体装置置建议的建议的电气连接电气连接10.2.2 CAN的数据链路层w数据链路层子层的服务和功能:n逻辑链路控制子层逻辑链路控制子层(LLC): “目标层目标层”n媒体访问控制子层媒体访问控制子层(MAC) “传送层传送层”1.LLC子层的主要功能 为数据传送数据传送和远程数据请求远程数据请求提供服务 确认要发送的信息确认要发送的信息 确认接收到的信息确认接收到的信息 为恢复管理恢复管理和通知超载通知超载提供信息 为应用层提供接口应用层提供接口在定义目标处理时,存在许多灵活性在定义目标处理时,存在许多灵活性2.MAC子层的功能 传送规则:传送规

5、则:即控制帧结构控制帧结构、执行总线仲裁执行总线仲裁、错误错误检测检测、出错标定出错标定和故障界定故障界定。 确定:确定:为开始一次新的发送开始一次新的发送,总线是否开放总线是否开放或者是否马上接收是否马上接收。 MAC子层是CANCAN协议的核心协议的核心,该子层特性不存在修不存在修改的灵活性。改的灵活性。w CANCAN数据链路层:数据链路层:由一个CANCAN控制器控制器实现,采用了CSMA/CDCSMA/CD方式方式,但不同于普通Ethernet,采用非破坏性总线仲裁技术非破坏性总线仲裁技术,网络上节点(信息)有高低优先级高低优先级之分以满足不同的实时需要。w 当总线上有两个节点同时向

6、网上输送信息时,优先级高的节点继续传输数据,优先级低的节优先级低的节点主动停止发送点主动停止发送,有效地避免了总线冲突以及负载过重导致网络瘫痪的情况。w CAN可以实现点对点点对点、一点对多点一点对多点(成组)以及全局广播全局广播等几种方式传送和接收数据。 (报文滤波报文滤波)w CAN采用短帧结构短帧结构,每帧有效字节数为0 08 8个,因此传输时间短传输时间短,受干扰概率低受干扰概率低,重新发送时重新发送时间短间短。w 数据帧的CRCCRC校验校验以及其他检查措施其他检查措施保证了数据数据出错率极低出错率极低。10.2.3 报文的传送及其帧结构w 在进行数据传送时,发出报文的单元发出报文的

7、单元成为该报文的发送器发送器。w 该单元在总线空闲总线空闲或丢失仲裁前丢失仲裁前始终为发发送器送器。w 如果一个单元不是报文发送器不是报文发送器,并且总线总线不处于空闲状态不处于空闲状态,则该单元就是接收器接收器。w 构成一帧的帧起始帧起始、仲裁场仲裁场、控制场控制场、数据数据场场和CRCCRC序列序列均借助位填充规则位填充规则进行编码。w 当发送器在发送的位流中检测到5 5位连续的位连续的相同数值相同数值时,将自动地在实际发送的位流中自动地在实际发送的位流中插入一个补码位插入一个补码位。w 数据帧数据帧和远程帧远程帧的其余位场采用固定格式其余位场采用固定格式,不进行填充。w 报文中的位流按照

8、非归零码(非归零码(NRZNRZ)方法编码。w 报文传送报文传送由 4 4 种不同类型的帧种不同类型的帧表示和控制:n数据帧:数据帧:携带数据由发送器至接收器;n远程帧:远程帧:通过总线单元发送总线单元发送,以请求发送具有相同标识符的数据帧;n出错帧:出错帧:由检测出总线错误的任何单元检测出总线错误的任何单元发送;n超载帧:超载帧:用于提供当前的和后续的数据帧的附提供当前的和后续的数据帧的附加延迟。加延迟。10.3 典型典型CAN总线器件及应用总线器件及应用 10.3.1 SJA1000 CANSJA1000 CAN控制器控制器 SJA1000SJA1000是一个独立的是一个独立的CANCAN

9、控制器,它在汽车和普通的工业控制器,它在汽车和普通的工业应用上有先进的特征。由于它和应用上有先进的特征。由于它和PCA82C200PCA82C200在硬件和软件都兼在硬件和软件都兼容,因此它将会替代容,因此它将会替代PCA82C200PCA82C200,SJA1000SJA1000有一系列先进的功能,有一系列先进的功能,适合于多种应用特别在系统优化诊断和维护方面非常重要。适合于多种应用特别在系统优化诊断和维护方面非常重要。 SJA1000SJA1000在软件和引脚上都是与它的前一款在软件和引脚上都是与它的前一款PCA82C200PCA82C200独立独立控制器兼容的。在此基础上它增加了很多新的

10、功能,为了实现控制器兼容的。在此基础上它增加了很多新的功能,为了实现软件兼容,软件兼容,SJA1000SJA1000独立的独立的CANCAN控制器有控制器有2 2个不同的操作模式:个不同的操作模式:1 1 BasicCANBasicCAN模式:模式:和和PCA82C200PCA82C200兼容。兼容。BasicCANBasicCAN模式是上电后模式是上电后默认的操作模式,因此用默认的操作模式,因此用PCA82C200PCA82C200开发的已有硬件和软件,开发的已有硬件和软件,可以直接在可以直接在SJA1000SJA1000上使用而不用作任何修改。上使用而不用作任何修改。 2 PeliCANP

11、eliCAN模式:模式:是新的操作模式。它能够处理所有是新的操作模式。它能够处理所有CAN2.0B规范的帧类型。而且它还提供一些增强功能,使规范的帧类型。而且它还提供一些增强功能,使SJA1000能应用于更宽的领域。能应用于更宽的领域。 工作模式通过时钟分频寄存器中的工作模式通过时钟分频寄存器中的CANCAN模式位来选择,复模式位来选择,复位时默认模式是位时默认模式是Basic CANBasic CAN模式。模式。SJA1000控制器结构控制器结构 SJA1000SJA1000控制器可以分为控制器可以分为CANCAN核心模块、接口管理逻辑、核心模块、接口管理逻辑、发送缓冲器、验收滤波器、接收发

12、送缓冲器、验收滤波器、接收FIFOFIFO等五个功能模块,等五个功能模块,SJA1000SJA1000控制器结构图如图控制器结构图如图9.169.16所示。由主控制器进行管理控所示。由主控制器进行管理控制、将欲收发的信息(报文),转换为制、将欲收发的信息(报文),转换为CANCAN规范的规范的CANCAN帧,通帧,通过过CANCAN收发器,在收发器,在CAN BUSCAN BUS上交换信息。上交换信息。 CAN BUSCAN核心模块发送缓冲器接口管理逻辑接收FIFO验收滤波器主 控 制器CAN收发器图图10.16 SJA1000 10.16 SJA1000 控制器结构图控制器结构图 CANCA

13、N核心模块:核心模块:根据根据CANCAN规范控制规范控制CANCAN帧的发送和接收。收到一个帧的发送和接收。收到一个报文时,报文时,CANCAN核心模块将串行位流转换成用于的并行数据,发送一核心模块将串行位流转换成用于的并行数据,发送一个报文时则相反。个报文时则相反。 接口管理逻辑:接口管理逻辑:用于连接外部主控制器。外部可以是微型控制器用于连接外部主控制器。外部可以是微型控制器或任何其他器件,或任何其他器件,SJA1000SJA1000通过复用的地址通过复用的地址/ /数据总线,与主控制器数据总线,与主控制器联系。联系。 发送缓冲器:发送缓冲器:用于存储一个完整的扩展的或标准的报文。当主控

14、用于存储一个完整的扩展的或标准的报文。当主控制器初始发送时,接口管理逻辑会使制器初始发送时,接口管理逻辑会使CANCAN核心模块从发送缓冲器读核心模块从发送缓冲器读CANCAN报文。报文。 验收滤波器:验收滤波器:通过这个可编程的滤波器能确定主控制器要接收哪通过这个可编程的滤波器能确定主控制器要接收哪些报文。些报文。 接收接收FIFOFIFO:用于存储所有收到的报文,储存报文的多少由工作模用于存储所有收到的报文,储存报文的多少由工作模式决定,最多能存储式决定,最多能存储3232个报文。因为数据超载可能性被大大降低,个报文。因为数据超载可能性被大大降低,这使用户能更灵活地指定中断服务和中断优先级

15、。这使用户能更灵活地指定中断服务和中断优先级。 SJA1000SJA1000控制器功能框图控制器功能框图CAN CAN 控制模块控制模块SJA1000SJA1000功能框图如图功能框图如图9.179.17所示,由以下部分组成所示,由以下部分组成 图图10.17 SJA1000 10.17 SJA1000 控制器功能框图控制器功能框图 (1)1) 接口管理逻辑(接口管理逻辑(IMLIML)接口管理逻辑解释来自接口管理逻辑解释来自CPU CPU 的命令,的命令,控制控制CAN CAN 寄存器的寻址,向主控制器提供中断信息和状态信息。寄存器的寻址,向主控制器提供中断信息和状态信息。由由8 8位并行地

16、址位并行地址/ /数据总线和片选、读、写、时钟、使能等控制信数据总线和片选、读、写、时钟、使能等控制信号线与主控制号线与主控制CPUCPU相连接。相连接。 (2)2) 发送缓冲器(发送缓冲器(TXBTXB) 发送缓冲器是发送缓冲器是CPU CPU 和和BSPBSP(位流处理(位流处理器)之间的接口,能够存储发送到器)之间的接口,能够存储发送到CANCAN网络上的完整信息,缓冲器网络上的完整信息,缓冲器长长1313个字节,由个字节,由CPU CPU 写入、写入、BSP BSP 读出。读出。 (3)3)接收缓冲器(接收缓冲器(RXBRXB,RXFIFORXFIFO) 接收缓冲器是验收滤波器和接收缓

17、冲器是验收滤波器和CPUCPU之间的接口,用来储存从之间的接口,用来储存从CAN CAN 总线上接收的信息,接收缓冲器总线上接收的信息,接收缓冲器(RXBRXB,1313个字节)作为接收个字节)作为接收FIFOFIFO(RXFIFORXFIFO,长,长6464个字节)的一个字节)的一个窗口,可被个窗口,可被CPUCPU访问,访问,CPUCPU在此在此FIFOFIFO的支持下可以在处理信息的的支持下可以在处理信息的时候接收其它信息。时候接收其它信息。 (4)4) 验收滤波器(验收滤波器(ACFACF) 验收滤波器把它其中的数据和接收验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接

18、收信息。在纯粹的接收测的识别码的内容相比较,以决定是否接收信息。在纯粹的接收测试中,所有的信息都保存在试中,所有的信息都保存在RXFIFORXFIFO中。中。 (5)5)位流处理器(位流处理器(BSPBSP) 位流处理器是一个在发送缓冲器、位流处理器是一个在发送缓冲器、RXFIFO RXFIFO 和和CAN CAN 总线之间,控制数据流的程序装置,它还在总线之间,控制数据流的程序装置,它还在CAN CAN 总线上执行错误检测、仲裁填充和错误处理。总线上执行错误检测、仲裁填充和错误处理。 (6)6)位时序逻辑(位时序逻辑(BTLBTL) 位时序逻辑监视串口的位时序逻辑监视串口的CANCAN总线和

19、总线和处理与总线有关的位时序。它在信息开头的总线传输时同步处理与总线有关的位时序。它在信息开头的总线传输时同步CAN CAN 总线位流(硬同步),接收信息时再次同步下一次传送(软同总线位流(硬同步),接收信息时再次同步下一次传送(软同步)步)BTL BTL 还提供了可编程的间段来补偿传播延迟时间、相位转还提供了可编程的间段来补偿传播延迟时间、相位转换(例如:由于振荡漂移)和定义采样点和一位时间内的采样换(例如:由于振荡漂移)和定义采样点和一位时间内的采样次数。次数。 (7)7)错误管理逻辑(错误管理逻辑(EMLEML) EMLEML负责传送层模块的错误管制。负责传送层模块的错误管制。它接收它接

20、收BSP BSP 的出错报告。通知的出错报告。通知BSP BSP 和和IML IML 进行错误统计。进行错误统计。 图图10.18 SJA1000 DIP2810.18 SJA1000 DIP28引脚图引脚图SJA1000 控制器引脚控制器引脚 SJA1000 控制器有控制器有DIP28(塑质双列直插(塑质双列直插封装)和封装)和SO28(塑质小(塑质小型外线封装)两种形式,型外线封装)两种形式,DIP28引脚图如图引脚图如图9.18所所示。示。SJA1000引脚排列引脚排列与引脚功能见表与引脚功能见表10.2。 表10.2 SJA1000引脚排列与引脚功能表符号符号引脚引脚说明说明AD7-A

21、D02,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)的时钟输出信号时钟信号来源于)的时钟输出信号时钟信号来源

22、于内部振荡器且通过编程驱动时钟控制寄存器的时钟关闭位可禁止该引脚内部振荡器且通过编程驱动时钟控制寄存器的时钟关闭位可禁止该引脚VSS18接地接地XTAL19输入到振荡器放大电路外部振荡信号由此输入注输入到振荡器放大电路外部振荡信号由此输入注1XTAL210振荡放大电路输出使用外部振荡信号时左开路输出注振荡放大电路输出使用外部振荡信号时左开路输出注1MODE11模式选择输入模式选择输入1=Intel模式模式0=Motorola模式模式VDD312输出驱动的输出驱动的5V电压源电压源TX013从从CAN输出驱动器输出驱动器0输出到物理线路上输出到物理线路上TX114从从CAN输出驱动器输出驱动器1

23、输出到物理线路上输出到物理线路上VSS315输出驱动器接地输出驱动器接地/INT16中断输出用于中断微控制器(中断输出用于中断微控制器(CPU)/INT在内部中断寄存器在内部中断寄存器各位都被置位时低电平有效各位都被置位时低电平有效/INT是开漏输出且与系统中的是开漏输出且与系统中的其它其它/INT是线或的此引脚上的低电平可以把是线或的此引脚上的低电平可以把IC从睡眠模从睡眠模式中激活式中激活/RST17如如C=1F;R=50kVDD218输入比较器的输入比较器的5V电压源电压源RX0,RX119,20从物理的从物理的CAN总线输入到总线输入到SJA1000的输入比较器;支配控制的输入比较器;

24、支配控制电平将会唤醒电平将会唤醒SJA1000的睡眠模式;如果的睡眠模式;如果RX1比比RX0的电的电平高,就读支配控制电平,反之读弱势电平,如果时钟分平高,就读支配控制电平,反之读弱势电平,如果时钟分频寄存器的频寄存器的CBP位被置位就旁路位被置位就旁路CAN输入比较器以减少输入比较器以减少内部延时(此时连有外部收发电路)这种情况下只有内部延时(此时连有外部收发电路)这种情况下只有RX0是激活的;弱势电平被认为是高,而支配电平被认为是低。是激活的;弱势电平被认为是高,而支配电平被认为是低。VSS221输入比较器的接地端输入比较器的接地端VDD122逻辑电路的逻辑电路的5V电压源电压源表10.

25、2 SJA1000引脚排列与引脚功能表4. SJA1000的特征的特征 SJA1000的特征可以分成的特征可以分成3组:组: 与与PCA82C200完全兼容的功能。特征有:完全兼容的功能。特征有:w灵活的微处理器接口灵活的微处理器接口-允许接口大多数微型处理器或微型允许接口大多数微型处理器或微型控制器。控制器。w可编程的可编程的CAN输出驱动器输出驱动器-对各种物理层的分界面。对各种物理层的分界面。wCAN位频率高达位频率高达1Mbit/s-SJA1000覆盖了位频率的所有覆盖了位频率的所有范围,包括高速应用。范围,包括高速应用。 改良的改良的PCA82C200功能,这组功能的部份已经在功能,

26、这组功能的部份已经在PCA82C200里实现,但是在里实现,但是在SJA1000里这些功能在速度大里这些功能在速度大小和性能方面得到了改良。特征有:小和性能方面得到了改良。特征有:wCAN2.0B(passive)-SJA1000的的CAN2.0B passive特征允特征允许许CAN控制器接收有控制器接收有29位标识符的报文。位标识符的报文。w64个字节接收个字节接收FIFO-接收接收FIFO,可以存储高达,可以存储高达21个报文,个报文,这延长了最大中断服务时间,避免了数据超载。这延长了最大中断服务时间,避免了数据超载。w 24MHz时钟频率时钟频率-微处理器的访问更快和微处理器的访问更快

27、和CAN的位定时的位定时选择更多。选择更多。w 接收比较器旁路接收比较器旁路-减少内部延迟,由于改进的位定时编减少内部延迟,由于改进的位定时编程,使程,使CAN总线长度更长。总线长度更长。 PeliCAN模式的增强功能,在模式的增强功能,在PeliCAN模式里模式里SJA1000支支持一些错误分析功能,支持系统诊断,系统维护,系统优持一些错误分析功能,支持系统诊断,系统维护,系统优化。而且这个模式里也加入了对一般化。而且这个模式里也加入了对一般CPU的支持和系统自的支持和系统自身测试的功能。特征有:身测试的功能。特征有:w CAN2.0B active-CAN2.0B active支持带有支持

28、带有29位标识符的位标识符的网络扩展应用。网络扩展应用。w 发送缓冲器发送缓冲器-有有11位或位或29位标识符的报文的单报文发送位标识符的报文的单报文发送缓冲器。缓冲器。w 增强的验收滤波器增强的验收滤波器-两个验收滤波器模式,支持两个验收滤波器模式,支持11位和位和29位标识符的滤波。位标识符的滤波。w 可读的错误计数器、可编程的出错警告界限、错误代码捕可读的错误计数器、可编程的出错警告界限、错误代码捕捉寄存器、出错中断捉寄存器、出错中断-支持错误分析,在原型阶段和在支持错误分析,在原型阶段和在正常操作期间可用于:诊断、系统维护、系统优化。正常操作期间可用于:诊断、系统维护、系统优化。 w仲

29、裁丢失捕捉中断仲裁丢失捕捉中断-支持系统优化包括报文延迟时间的分支持系统优化包括报文延迟时间的分析。析。w单次发送单次发送-使软件命令最小化和允许快速重载发送缓冲器。使软件命令最小化和允许快速重载发送缓冲器。w仅听模式仅听模式-SJA1000能够作为一个认可的能够作为一个认可的CAN监控器操作,监控器操作,可以分析可以分析CAN总线通信或进行自动位速率检测。总线通信或进行自动位速率检测。w自测试模式自测试模式-支持全部支持全部CAN节点的功能自测试或在一个系节点的功能自测试或在一个系统内的自接收。统内的自接收。5. BasicCAN模式模式 SJA1000是一种是一种I/O设备基于内存编址的微

30、控制器,与设备基于内存编址的微控制器,与其它控制器(其它控制器(CPU)之间的操作是通过象)之间的操作是通过象RAM一样的片内一样的片内寄存器读写来实现的。示意图如图寄存器读写来实现的。示意图如图9.19所示。所示。 SJA1000的地址区包括控制段和信息缓冲区。信息缓冲区又的地址区包括控制段和信息缓冲区。信息缓冲区又分为发送缓冲器和接收缓冲器。分为发送缓冲器和接收缓冲器。 控制段在初始化时载入,是可以被编程来配置通讯参数的。控制段在初始化时载入,是可以被编程来配置通讯参数的。例如:位时序。例如:位时序。 微处理器 (CPU)CAN收发器控制寄存器SJA1000 CAN控制器命令寄存器状态寄存

31、器中断寄存器验收代码寄存器验收屏蔽寄存器.CAN BUS图图10.19 CAN10.19 CAN总线节点示意图总线节点示意图 微控制器(微控制器(CPUCPU)通过这个段来控制)通过这个段来控制CANCAN总线上的通讯的,总线上的通讯的,在初始化时,在初始化时,CLKOUTCLKOUT信号可以被微控制器(信号可以被微控制器(CPUCPU)编程指定一)编程指定一个值,应发送的信息会被写入发送缓冲器,成功接收信息后,个值,应发送的信息会被写入发送缓冲器,成功接收信息后,微控制器(微控制器(CPUCPU)从接收缓冲器中读取接收的信息,然后释放)从接收缓冲器中读取接收的信息,然后释放空间以做下一步应用

32、。空间以做下一步应用。 微控制器(微控制器(CPUCPU)和)和SJA1000SJA1000之间状态、控制和命令信号的之间状态、控制和命令信号的交换都是在控制段中完成的。表交换都是在控制段中完成的。表10.3 10.3 是是BasicCAN BasicCAN 各寄存器地各寄存器地址表。址表。 在以下两种不同的模式中访问寄存器是不同的。在以下两种不同的模式中访问寄存器是不同的。 复位模式:当硬件复位或控制器掉线总线状态位时会自复位模式:当硬件复位或控制器掉线总线状态位时会自动进入复位模式。动进入复位模式。 工作模式:是通过置位控制寄存器的复位请求位激活的。工作模式:是通过置位控制寄存器的复位请求

33、位激活的。段段CANCAN地址地址寄存器名称(符号)寄存器名称(符号)控制控制0 0控制寄存器控制寄存器1 1命令寄存器命令寄存器2 2状态寄存器状态寄存器3 3中断寄存器中断寄存器4 4验收代码寄存器验收代码寄存器5 5验收屏蔽寄存器验收屏蔽寄存器6 6总线定时寄存器总线定时寄存器0 07 7总线定时寄存器总线定时寄存器18 8输出控制寄存器输出控制寄存器9 9测试寄存器测试寄存器发送缓冲器发送缓冲器1010识别码识别码(ID10-3)(ID10-3)1111识别码识别码ID2-0)+RTRID2-0)+RTR和和DLCDLC12-1912-19数据字数据字1-1-节节8 8接收缓冲器接收缓

34、冲器2020识别码识别码(ID10-3ID10-3)2121识别码识别码ID2-0)+RTRID2-0)+RTR和和DLCDLC22-2922-29数据字节数据字节1-81-8 3030 3131时钟分频器时钟分频器表表10.3 BasicCAN 10.3 BasicCAN 地址表地址表 (1) (1) 控制寄存器控制寄存器(CR)(CR) 控制寄存器的各位内容(控制寄存器的各位内容(CR.0-CR.7CR.0-CR.7)是用于改变)是用于改变CANCAN控制控制器的行为的,这些位可以被微控制器(器的行为的,这些位可以被微控制器(CPUCPU)设置或复位,微)设置或复位,微控制器(控制器(CP

35、UCPU)可以对控制寄存器进行读)可以对控制寄存器进行读/ /写操作。写操作。(2) (2) 命令寄存器命令寄存器(CMR)(CMR) 命令寄存器的各命令位(命令寄存器的各命令位(CMR.0-CMR.7CMR.0-CMR.7)决定)决定SJA1000SJA1000传传输层上的动作,命令寄存器对微控制器(输层上的动作,命令寄存器对微控制器(CPUCPU)来说是只写存)来说是只写存储器。如果去读这个地址返回值是储器。如果去读这个地址返回值是1111111111111111,两条命令之间至,两条命令之间至少有一个内部时钟周期,内部时钟的频率是外部振荡频率的少有一个内部时钟周期,内部时钟的频率是外部振

36、荡频率的/ /。(3) (3) 状态寄存器状态寄存器(SR)(SR) 状态寄存器的各位内容(状态寄存器的各位内容(SR.0-SR.7SR.0-SR.7)内容反映了)内容反映了SJA1000SJA1000的状态。状态寄存器对微控制器(的状态。状态寄存器对微控制器(CPUCPU)来说是只读存储器。)来说是只读存储器。 (4) 中断寄存器中断寄存器(IR) 中断寄存器各位内容(中断寄存器各位内容(IR.0-IR.7IR.0-IR.7)能够识别中断源,当寄)能够识别中断源,当寄存器的一位或多位被置位时,存器的一位或多位被置位时,/INT/INT(低电平有效)引脚就被激(低电平有效)引脚就被激活了,寄存

37、器被微控制器(活了,寄存器被微控制器(CPUCPU)读过之后,所有导致)读过之后,所有导致/INT/INT引脚引脚上的电平漂移的位被复位,中断寄存器对微控制器(上的电平漂移的位被复位,中断寄存器对微控制器(CPUCPU)来说)来说是只读存储器。是只读存储器。 (5) (5) 发送缓冲器发送缓冲器 发送缓冲器是用来存储微控制器(发送缓冲器是用来存储微控制器(CPUCPU)要)要SJA1000SJA1000发送的发送的信息的。可以分为描述符区和数据区,发送缓冲器的读信息的。可以分为描述符区和数据区,发送缓冲器的读/ /写只能写只能由微控制器(由微控制器(CPUCPU)在工作模式下完成,在复位模式下

38、读出的值)在工作模式下完成,在复位模式下读出的值总是总是FFHFFH。 1)1)描述符区描述符区 识别码识别码 有有1111位(位(ID0-ID10ID0-ID10)。)。ID10ID10是最高位在仲裁过程中是最高位在仲裁过程中是最先被发送到总线上的识别码。就象信息的名字,它在接收是最先被发送到总线上的识别码。就象信息的名字,它在接收器的验收滤波器中被用到,也在仲裁过程中决定总线访问的优器的验收滤波器中被用到,也在仲裁过程中决定总线访问的优先级。识别码的值越低,其优先级越高。这是因为在仲裁时有先级。识别码的值越低,其优先级越高。这是因为在仲裁时有许多支配控制位开头的字节。许多支配控制位开头的字

39、节。 远程发送请求远程发送请求RTR RTR 如果此位置如果此位置1 1,总线将以远程帧发送数据,这,总线将以远程帧发送数据,这意味着此段中没有数据字节,尽管如此也需要同识别码相同的数据意味着此段中没有数据字节,尽管如此也需要同识别码相同的数据帧来识别正确的数据长度。帧来识别正确的数据长度。 如果如果RTRRTR位没有被置,位数据将以数据长度码规定的长度来传送。位没有被置,位数据将以数据长度码规定的长度来传送。 数据长度码数据长度码DLC DLC 信息数据区的字节数根据数据长度码编制。在信息数据区的字节数根据数据长度码编制。在远程帧传送中,因为远程帧传送中,因为RTRRTR被置位,数据长度码是

40、不被考虑的。这就被置位,数据长度码是不被考虑的。这就迫使发送迫使发送/ /接收数据字节数为接收数据字节数为0 0。总之,数据长度码必须正确设置,。总之,数据长度码必须正确设置,以避免两个以避免两个CANCAN控制器用同样的识别机制启动远程帧传送而发生总控制器用同样的识别机制启动远程帧传送而发生总线错误。数据字节数是线错误。数据字节数是0-80-8,是以如下方法计算的:,是以如下方法计算的:数据字节数数据字节数=8=8DLC.3+4DLC.3+4DLC.2+2DLC.2+2DLC.1+DLC.0DLC.1+DLC.0为了保持兼容性,数据长度码不超过为了保持兼容性,数据长度码不超过8 8。如果选择

41、的值超过。如果选择的值超过8 8,则按,则按照照DLCDLC规定的规定的8 8字节发送。字节发送。图图10.20 RXFIFO10.20 RXFIFO中信息存储示例中信息存储示例 2)数据区)数据区 传送的数据字节数由数据长度码决定。发送的第一位是地址传送的数据字节数由数据长度码决定。发送的第一位是地址1212单元的数据字节单元的数据字节1 1的最高位。的最高位。 (6) (6) 接收缓冲器接收缓冲器 图图10.20 RXFIFO10.20 RXFIFO中信息中信息存储示例存储示例 用来存储从总线上接收道用来存储从总线上接收道德信息。接收缓冲器与发德信息。接收缓冲器与发送缓冲器类似,接收缓冲送

42、缓冲器类似,接收缓冲器是器是RXFIFORXFIFO中可访问的部中可访问的部分,位于分,位于CANCAN地址的地址的20-2920-29之间。之间。识别码远程发送请求位和识别码远程发送请求位和数据长度码,同发送缓冲数据长度码,同发送缓冲器的相同,只不过是地址器的相同,只不过是地址不同。不同。 RXFIFORXFIFO共有共有6464字节的信息空间,图字节的信息空间,图9.20 9.20 是是 RXFIFORXFIFO中信息中信息存储示例,在任何情况下,存储示例,在任何情况下,FIFOFIFO中可以存储的信息数取决于各中可以存储的信息数取决于各条信息的长度,如果条信息的长度,如果RXFIFORX

43、FIFO中没有足够的空间来存储新的信息,中没有足够的空间来存储新的信息,CANCAN控制器会产生数据溢出。数据溢出发生时,已部分写入控制器会产生数据溢出。数据溢出发生时,已部分写入RXFIFORXFIFO的当前信息将被删除。这种情况将通过状态位或数据溢的当前信息将被删除。这种情况将通过状态位或数据溢出中断反应到微控制器(出中断反应到微控制器(CPUCPU)。)。 (7)(7)验收滤波器验收滤波器 在验收滤波器的帮助下,在验收滤波器的帮助下,CANCAN控制器能够允许控制器能够允许RXFIFORXFIFO只接收只接收同识别码和验收滤波器中预设值相一致的信息。验收滤波器通同识别码和验收滤波器中预设

44、值相一致的信息。验收滤波器通过验收代码寄存器过验收代码寄存器ACRACR和验收屏蔽寄存器和验收屏蔽寄存器AMRAMR来定义。来定义。 1 1)验收代码寄存器()验收代码寄存器(ACRACR) 复位请求位被置高(当前)时,这个寄存器是可以访问复位请求位被置高(当前)时,这个寄存器是可以访问(读(读/ /写)的,如果一条信息通过了验收滤波器,的测试而且接写)的,如果一条信息通过了验收滤波器,的测试而且接收缓冲器有空间,那么描述符和数据将被分别顺次写入收缓冲器有空间,那么描述符和数据将被分别顺次写入RXFIFORXFIFO,当信息被正确的接收完毕。就会:当信息被正确的接收完毕。就会: 接收状态位置高

45、(满)接收状态位置高(满) 接收中断使能位置高(使能)接收中断置高(产生中断)。接收中断使能位置高(使能)接收中断置高(产生中断)。验收代码位(验收代码位(AC.7-AC.0AC.7-AC.0)和信息识别码的高)和信息识别码的高8 8位(位(ID.10-ID.3ID.10-ID.3)相等,且与验收屏蔽位(相等,且与验收屏蔽位(AM.7-AM.0AM.7-AM.0)的相应位相或为)的相应位相或为1 1。即如。即如果满足以下方程的描述,则被接收。果满足以下方程的描述,则被接收。 (ID.10-ID.3ID.10-ID.3)()(AC.7-AC.0AC.7-AC.0)(AM.7-AM.0AM.7-A

46、M.0) 1111111111111111 2 2)验收屏蔽寄存器()验收屏蔽寄存器(AMRAMR) 如果复位请求位置高(当前),这个寄存器可以被访问如果复位请求位置高(当前),这个寄存器可以被访问(读(读/ /写)。验收屏蔽寄存器定义验收代码寄存器的相应位对写)。验收屏蔽寄存器定义验收代码寄存器的相应位对验收滤波器是验收滤波器是“相关的相关的”或或“无影响的无影响的”(即可为任意值)。(即可为任意值)。(8) (8) 总线定时寄存器总线定时寄存器0(BTR0)0(BTR0) 总线定时寄存器总线定时寄存器0 0,定义了波特率预设值(,定义了波特率预设值(BRPBRP)和同步)和同步跳转宽度(跳

47、转宽度(SJWSJW)的值。复位模式有效时这个寄存器是可以)的值。复位模式有效时这个寄存器是可以被访问(读被访问(读/ /写)的。在写)的。在BasicCANBasicCAN模式中总是模式中总是FFHFFH。 波特率预设值(波特率预设值(BRPBRP) CANCAN系统时钟系统时钟tSCLtSCL的周期是可编的周期是可编程的,而且决定了相应的位时序。程的,而且决定了相应的位时序。CANCAN系统时钟由如下公式系统时钟由如下公式计算:计算:tSCL=2tSCL=2tCLKtCLK(32(32BRP.5+16BRP.5+16BRP.4+8BRP.4+8BRP.3+4BRP.3+4BRP.2BRP.

48、2+2+2BRP.1+BRP.0+1)BRP.1+BRP.0+1) 这里这里tCLK=XTALtCLK=XTAL的频率周期的频率周期=1/fXTAL=1/fXTAL 同步跳转宽度同步跳转宽度(SJW) (SJW) 为了补偿在不同总线控制器的时钟振为了补偿在不同总线控制器的时钟振荡器之间的相位偏移,任何总线控制器必须在当前传送的相关荡器之间的相位偏移,任何总线控制器必须在当前传送的相关信号边沿重新同步。同步跳转宽度,定义了每一位周期可以被信号边沿重新同步。同步跳转宽度,定义了每一位周期可以被重新同步,缩短或延长的时钟周期的最大数目:重新同步,缩短或延长的时钟周期的最大数目: t tSJWSJW=

49、t=tSCSCL L(2(2SJW.1+SJW.0+1)SJW.1+SJW.0+1) (9) (9) 总线定时寄存器总线定时寄存器1 1(BTR1)BTR1)) 总线定时寄存器总线定时寄存器1 1定义了每个位周期的长度、采样点的位置定义了每个位周期的长度、采样点的位置和在每个采样点的采样数目。在复位模式中,这个寄存器可以和在每个采样点的采样数目。在复位模式中,这个寄存器可以被读被读/ /写访问,在写访问,在PeliCANPeliCAN模式的工作模式中,这个寄存器是只模式的工作模式中,这个寄存器是只读的,在读的,在BasicCANBasicCAN模式中总是模式中总是FFHFFH。 (10) (1

50、0) 时间段时间段1 1(TSEG1TSEG1)和时间段()和时间段(TSEG2TSEG2) TSEG1TSEG1和和TSEG2TSEG2决定了每一位的时钟数目和采样点的位置。决定了每一位的时钟数目和采样点的位置。 (11) (11) 输出控制寄存器输出控制寄存器(OCR)(OCR) 输出控制寄存器实现了由软件控制不同输出驱动配置的建立输出控制寄存器实现了由软件控制不同输出驱动配置的建立。在复位模式中此寄存器可被读。在复位模式中此寄存器可被读/ /写访问,在写访问,在PeliCANPeliCAN模式的工模式的工作模式中这个寄存器是只读的,在作模式中这个寄存器是只读的,在BasicCANBasi

51、cCAN模式中总是模式中总是FFHFFH。 当当SJA1000SJA1000在睡眠模式中时在睡眠模式中时TX0TX0和和TX1TX1引脚根据输出控制寄存引脚根据输出控制寄存器的内容输出隐性的电平在复位器的内容输出隐性的电平在复位 状态复位请求状态复位请求=1=1或外部复位引脚或外部复位引脚/RST/RST被拉低时输出被拉低时输出TX0TX0和和TX1TX1悬空。发送的输出阶段可以有不同的模式。悬空。发送的输出阶段可以有不同的模式。 SJA1000SJA1000有四种输出模式,由有四种输出模式,由OCROCR的的BIT0BIT0和和BIT1BIT1设置。设置。 1).1).正常输出模式正常输出模

52、式 正常模式中位序列(正常模式中位序列(TXDTXD)通过)通过TX0TX0和和TX1TX1送出输出驱动引脚送出输出驱动引脚TX0TX0和和TX1TX1的电平取决于被的电平取决于被OCTPxOCTPx,OCTNxOCTNx(悬(悬空、上拉、下拉、推挽)编程的驱动器的特性和被空、上拉、下拉、推挽)编程的驱动器的特性和被OCPOLxOCPOLx编程编程的输出端极性。的输出端极性。 2).时钟输出模式时钟输出模式 TX0引脚在这个模式中和正常模式中是相同的。但是引脚在这个模式中和正常模式中是相同的。但是,TX1上的数据流被发送时钟(上的数据流被发送时钟(TXCLK)代替了。发送)代替了。发送时钟(不

53、翻转)的上升沿标志着一位的开始。时钟脉冲宽时钟(不翻转)的上升沿标志着一位的开始。时钟脉冲宽度是度是1tscl。 3).双相输出模式双相输出模式 相对于正常输出模式,这里的位代表着时间的变化和相对于正常输出模式,这里的位代表着时间的变化和触发。如果总线控制器被发送器从总线上通电退耦,则位触发。如果总线控制器被发送器从总线上通电退耦,则位流不允许含有直流元件。流不允许含有直流元件。 用用TX0TX0或或TX1TX1电平发送例如第一位在电平发送例如第一位在TX0TX0上发送第二位上发送第二位在在TX1TX1上发送第三位在上发送第三位在TX0TX0上发送等等。上发送等等。4).测试输出模式测试输出模

54、式 在测试输出模式中,在测试输出模式中,RX上的电平在下一个系统时钟的上的电平在下一个系统时钟的上升沿映射到上升沿映射到TXn上,系统时钟(上,系统时钟(fOSC/2)与输出控制寄)与输出控制寄存器中定义的极性一致。存器中定义的极性一致。 1212时钟分频寄存器时钟分频寄存器(CDR)(CDR) 时钟分频寄存器为微控制器控制时钟分频寄存器为微控制器控制CLKOUTCLKOUT的频率以及屏蔽的频率以及屏蔽CLKOUTCLKOUT引脚,而且它还控制着引脚,而且它还控制着TX1TX1上的专用接收中断脉冲、接上的专用接收中断脉冲、接收比较通道和收比较通道和 BasicCANBasicCAN模式与模式与

55、PeliCANPeliCAN模式的选择。模式的选择。 硬件复位后寄存器的默认状态是硬件复位后寄存器的默认状态是MotorolaMotorola模式(模式(0000010100000101)是)是1212分频和分频和IntelIntel模式(模式(0000000000000000)是)是2 2分频。分频。 软件复位(复位请求软件复位(复位请求/ /复位模式)时,此寄存器不受影响。复位模式)时,此寄存器不受影响。保留位(保留位(CDR.4CDR.4)总是)总是0 0。应用软件总是向此位写。应用软件总是向此位写0 0以与将来可以与将来可能使用此能使用此位的特性兼容位的特性兼容. CD.2-CD.0

56、复位模式和工作模式中一样,复位模式和工作模式中一样,CD.2-CD.0是是可以无限制访问的。这些位是用来定义外部可以无限制访问的。这些位是用来定义外部CLKOUT引脚上的引脚上的频率的。频率的。 时钟关闭时钟关闭 设置这一位可禁能设置这一位可禁能SJA1000SJA1000的外部的外部CLKOUTCLKOUT引脚只有引脚只有在复位模式中才可以写访问如果置位此位在复位模式中才可以写访问如果置位此位CLKOUTCLKOUT引脚在睡眠模式引脚在睡眠模式中是低而其它情况下是高中是低而其它情况下是高 RXINTEN RXINTEN 此位允许此位允许TX1TX1输出用来做专用接收中断输出。当一条输出用来做

57、专用接收中断输出。当一条已接收的信息成功的通过验收滤波器,一位时间长度的接收中断已接收的信息成功的通过验收滤波器,一位时间长度的接收中断脉冲就会在脉冲就会在TX1TX1引脚输出。引脚输出。CBP CBP 置位置位CDR.6CDR.6可以中止可以中止CANCAN输入比较器,但这只可在复位模式输入比较器,但这只可在复位模式中。这主要用于中。这主要用于SJA1000SJA1000外接发送接收电路时。此时内部延时被外接发送接收电路时。此时内部延时被减少,这将会导致总线长度最大可能值的增加。如果减少,这将会导致总线长度最大可能值的增加。如果CBPCBP被置位,被置位,只有只有RX0RX0被激活。没有被使

58、用的被激活。没有被使用的RX1RX1输入应被连接到一个确定的电输入应被连接到一个确定的电平(例如平(例如VSSVSS)。)。 CANCAN模式模式 CDR.7CDR.7定义了定义了CANCAN模式。如果模式。如果CDR.7CDR.7是是0 0,CANCAN控制器控制器工作于工作于BasicCANBasicCAN模式,否则模式,否则CANCAN控制器工作于控制器工作于PeliCANPeliCAN模式,只有模式,只有在复位模式中是可以写的。在复位模式中是可以写的。 10.4.2 PCA82C250 CAN PCA82C250 CAN 收发器收发器 PCA82C250是是CAN协议控制器和物理总线的

59、接口协议控制器和物理总线的接口。此器。此器件对总线提供差动发送能力,对件对总线提供差动发送能力,对CANCAN控制器提供差动接收能力。控制器提供差动接收能力。又称为总线驱动器。又称为总线驱动器。 主要特性有:主要特性有:LL 完全符合完全符合ISO11898ISO11898标准;标准;l l 高速率(最高达高速率(最高达1Mbps1Mbps););l l 具有抗汽车环境中的瞬间干扰,保护总线能力;具有抗汽车环境中的瞬间干扰,保护总线能力;l l 斜率控制,降低射频干扰(斜率控制,降低射频干扰(RFIRFI););l l 差分接收器,抗宽范围的共模干扰,抗电磁干扰差分接收器,抗宽范围的共模干扰,

60、抗电磁干扰(EMIEMI)l l 热保护;热保护;l l 防止电池和地之间的发生短路;防止电池和地之间的发生短路;l l 低电流待机模式;低电流待机模式;l l 未上电的节点对总线无影响;未上电的节点对总线无影响;l l 可连接可连接110110个节点。个节点。1.1.硬件结构硬件结构 PCA82C250PCA82C250器件为器件为DIP8DIP8塑料双列直插封装,管脚图见图塑料双列直插封装,管脚图见图10.2110.21,管脚功能描述见表管脚功能描述见表10.410.4,功能框图见图,功能框图见图10.2210.22。片内管脚配置图。片内管脚配置图见图见图10.23 10.23 符号管脚功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论