第4章CAN总线控制器SJA1000_第1页
第4章CAN总线控制器SJA1000_第2页
第4章CAN总线控制器SJA1000_第3页
第4章CAN总线控制器SJA1000_第4页
第4章CAN总线控制器SJA1000_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

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

文档简介

1、4.2 CAN控制器控制器SJA1000第一节第一节 CAN控制器的作用控制器的作用第二节第二节 SJA1000概述概述第三节第三节 SJA1000内部结构及引脚定义内部结构及引脚定义第四节第四节 SJA1000在系统中的位置在系统中的位置第五节第五节 CAN的控制模块的控制模块第六节第六节 SJA1000详细介绍详细介绍第一节第一节 CAN控制器的作用控制器的作用在在CAN的网络层次结构中,数据链路层和物理层是保证通信的网络层次结构中,数据链路层和物理层是保证通信质量直观重要、不可缺少的部分,也是网络协议中最复杂的质量直观重要、不可缺少的部分,也是网络协议中最复杂的部分。部分。CAN控制器就

2、是扮演这个角色,它是一块可编程电路控制器就是扮演这个角色,它是一块可编程电路的组合来实现这些功能,对外它提供了与微处理器的物理线的组合来实现这些功能,对外它提供了与微处理器的物理线路的接口。通过它的编程,路的接口。通过它的编程,CPU可以设置它的工作方式,控可以设置它的工作方式,控制它的工作状态,进行数据的发送和接收,把应用层建立在制它的工作状态,进行数据的发送和接收,把应用层建立在它的基础之上。它的基础之上。目前,许多知名的半导体厂家都生产了目前,许多知名的半导体厂家都生产了CAN控制芯片。其类控制芯片。其类型一种是独立的,一种是与微处理器集成在一起的,就在前型一种是独立的,一种是与微处理器

3、集成在一起的,就在前面一章已经进行过描述。由于在实际应用中我们只要掌握了面一章已经进行过描述。由于在实际应用中我们只要掌握了其中的一种,其余的就可以触类旁通,这也是其中的一种,其余的就可以触类旁通,这也是CAN能够迅速能够迅速推广的原因。推广的原因。返回第二节第二节 SJA1000概述概述SJA1000是一种独立的是一种独立的CAN控制器,它在汽车和普通的工控制器,它在汽车和普通的工业应用上有先进的特征。它是业应用上有先进的特征。它是Philips半导体公司半导体公司PCA82C200 CAN控制器的替代产品,而且它增加了一种控制器的替代产品,而且它增加了一种新的工作模式新的工作模式PeliC

4、AN,这种模式支持具有很多新特征,这种模式支持具有很多新特征CAN 2.0B协议协议SJA1000的基本特征如下:的基本特征如下:(1)与)与PCA82C200独立的独立的CAN控制器引脚兼容。控制器引脚兼容。(2)与)与PCA82C200独立的独立的CAN控制器电器兼容。控制器电器兼容。(3)具有)具有PCA82C200模式。模式。(4)扩展的接收缓冲器。)扩展的接收缓冲器。(5)支持)支持CAN2. 0A和和CAN2.0B协议协议下一页返回第二节第二节 SJA1000概述概述(6)同时支持)同时支持11位和位和29位识别码。位识别码。(7)位速率可达)位速率可达1Mb/s。(8)PeliC

5、AN模式扩展功能有:模式扩展功能有:可读可读/写访问的错误计数器;写访问的错误计数器;可编程的错误报警限制;可编程的错误报警限制;最近一次错误代码寄存器;最近一次错误代码寄存器;对每一个对每一个CAN总线错误的中断;总线错误的中断;具体控制位控制的仲裁丢失中断;具体控制位控制的仲裁丢失中断;单次发送(无重发);单次发送(无重发);只听模式(无确认无活动的出错标志);只听模式(无确认无活动的出错标志);上一页 下一页返回第二节第二节 SJA1000概述概述支持热插拔(软件位速率检测);支持热插拔(软件位速率检测);验收滤波器扩展(验收滤波器扩展(4字节的验收代码,字节的验收代码,4字节的屏蔽);

6、字节的屏蔽);10)自身报文接收(自接收请求)。)自身报文接收(自接收请求)。(9)24MHz时钟频率。时钟频率。(10)对不同微处理器的接口。)对不同微处理器的接口。(11)可编程的)可编程的CAN输出驱动器配置。输出驱动器配置。(12)增强的温度适应。)增强的温度适应。上一页返回第三节第三节 SJA1000内部结构及引脚定义内部结构及引脚定义一、一、SJA1000的内部结构的内部结构SJA1000的内部结构如图的内部结构如图4-1所示。所示。二、引脚定义二、引脚定义SJA1000的引脚定义如表的引脚定义如表4-1所示。所示。SJA1000的芯片两种不同封装型式的引脚排列与名称如图的芯片两种

7、不同封装型式的引脚排列与名称如图4-2所示。所示。返回第四节第四节 SJA1000在系统中的位置在系统中的位置通常,每个通常,每个CAN模块能够被分成不同的功能块。模块能够被分成不同的功能块。SJA1000用使应用最优化的用使应用最优化的CAN收发器连接到收发器连接到CAN总线。收发器控总线。收发器控制从制从CAN控制器到总线物理层或相反的逻辑电平信号。控制器到总线物理层或相反的逻辑电平信号。上面一层是一个上面一层是一个CAN控制器,它执行在控制器,它执行在CAN规范里规定的规范里规定的完整是完整是CAN协议。它通常用于报文缓冲和验收滤波。而所有协议。它通常用于报文缓冲和验收滤波。而所有这些这

8、些CAN功能都有一个模块控制器控制,它负责执行应用的功能都有一个模块控制器控制,它负责执行应用的功能。功能。如图如图4-3所示,所示,SJA1000独立的独立的CAN控制器通常位于单片控制器通常位于单片机和收发器之间,大多数情况下这个控制器是一个集成电路。机和收发器之间,大多数情况下这个控制器是一个集成电路。返回第五节第五节 CAN的控制模块的控制模块本节以本节以SJA1000为例,说明为例,说明CAN的控制模块。图的控制模块。图4-4是是SJA1000的模块结构,其功能如下:的模块结构,其功能如下:1.CAN核心模块核心模块根据根据CAN规范,规范,CAN核心模块控制核心模块控制CAN帧的发

9、送和接收。帧的发送和接收。2.接口管理编辑接口管理编辑接口管理逻辑解释来自接口管理逻辑解释来自CPU的命令,控制的命令,控制CAN寄存器的寻寄存器的寻址,向主控制器提供中断信息和状态信息。址,向主控制器提供中断信息和状态信息。3.发送缓冲器发送缓冲器发送缓冲器是发送缓冲器是CPU和和BSP之间的接口,能够存储发送到之间的接口,能够存储发送到CAN网络上的完整报文。缓冲器长网络上的完整报文。缓冲器长13个字节,由个字节,由CPU写入、写入、BSP读出。读出。下一页返回第五节第五节 CAN的控制模块的控制模块4.接收缓冲器接收缓冲器接收缓冲器是接收缓冲器是ACF和和CPU之间的接口,用来储存从之间

10、的接口,用来储存从CAN总总线上接收并被确认的报文。接收缓冲器作为接收线上接收并被确认的报文。接收缓冲器作为接收FIFO的一的一个窗口,可被个窗口,可被CPU访问。访问。CPU在此在此FIFO的支持下可以在处的支持下可以在处理报文的时候接收其他报文。理报文的时候接收其他报文。5.验收滤波器验收滤波器验收滤波器把它其中的数据和接收的识别码的内容相比较,验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接收报文。在纯粹的接收测试中,所有的报文都以决定是否接收报文。在纯粹的接收测试中,所有的报文都保存在保存在RXFIFO中。中。6.位流处理器位流处理器位流处理器是一个在发送缓冲器、接收缓

11、冲器和位流处理器是一个在发送缓冲器、接收缓冲器和CAN总线之总线之间控制数据流的程序装置。它还在间控制数据流的程序装置。它还在CAN总线上执行错误检测、总线上执行错误检测、仲裁、填充和错误处理。仲裁、填充和错误处理。上一页 下一页返回第五节第五节 CAN的控制模块的控制模块7.位时序逻辑位时序逻辑位时序逻辑监视串口的位时序逻辑监视串口的CAN总线和处理与总线有关的位时序。总线和处理与总线有关的位时序。它在报文传输出现从隐性到显性时同步于它在报文传输出现从隐性到显性时同步于CAN总线位流,接总线位流,接收报文时再次同步下一次传送。位时序逻辑还提供了可编程收报文时再次同步下一次传送。位时序逻辑还提

12、供了可编程的时间段来补充传播延迟时间、相位转换和定义采样点和一的时间段来补充传播延迟时间、相位转换和定义采样点和一位时间内的采样次数。位时间内的采样次数。8.错误管理逻辑错误管理逻辑错误管理逻辑负责传送层模块的错误管制。它接收错误管理逻辑负责传送层模块的错误管制。它接收BSP的出的出错报告,通知错报告,通知BSP和和IML进行错误统计。进行错误统计。上一页返回第六节第六节 SJA1000详细介绍详细介绍一、与一、与PCA82C200兼容性兼容性在在Basic CAN模式中,模式中,SJA1000模仿模仿PCA82C200独立独立控制器所有已知的寄存器。在如下描述的特性不同于控制器所有已知的寄存

13、器。在如下描述的特性不同于PCA82C200,这主要是为了软件上的兼容性。,这主要是为了软件上的兼容性。1.同步模式同步模式在在SJA1000的控制寄存器中没有的控制寄存器中没有SYNC位。同步只有在位。同步只有在CAN总线上总线上“隐性隐性显性显性”的转换是才有可能发生。因此,的转换是才有可能发生。因此,写这一位是没有任何影响的。为了与现有软件兼容,读取这写这一位是没有任何影响的。为了与现有软件兼容,读取这一位时是可以把以前写入的值读出的。一位时是可以把以前写入的值读出的。2.时钟分频寄存器时钟分频寄存器时钟分频寄存器用来选择时钟分频寄存器用来选择CAN工作模式。它使用从工作模式。它使用从P

14、CA82C200保留下来的一位。象在保留下来的一位。象在PCA82C200中一样,中一样,写一个写一个07之间的值,就将进入之间的值,就将进入Basic CAN模式。默认状模式。默认状态是态是12分频的分频的Motorola模式和模式和2分频的分频的Intel模式。保留模式。保留的另一位补充了一些附加功能。的另一位补充了一些附加功能。下一页返回第六节第六节 SJA1000详细介绍详细介绍PCA82C200中双接收缓冲器的概念被中双接收缓冲器的概念被PeliCAN中的接收中的接收FIFO所代替。这对软件除了会增加数据溢出的可能性外,所代替。这对软件除了会增加数据溢出的可能性外,不会产生应用上的影

15、响。在数据溢出之前,缓冲器可以接收不会产生应用上的影响。在数据溢出之前,缓冲器可以接收两条以上报文。两条以上报文。4.支持支持CAN 2.0B协议协议SJA1000被设计为全面支持被设计为全面支持CAN 2.0B协议,这就意味着协议,这就意味着在处理扩展帧报文的同时,扩展振荡器的误差被修正了。在在处理扩展帧报文的同时,扩展振荡器的误差被修正了。在BasicCAN模式下只可以发送和接收标准振报文。如果此时模式下只可以发送和接收标准振报文。如果此时检测到检测到CAN总线上有扩展帧报文,如果报文正确,也会被允总线上有扩展帧报文,如果报文正确,也会被允许且给出一个确认信号,但没有接收中断产生。许且给出

16、一个确认信号,但没有接收中断产生。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍二、二、BasicCAN和和PeliCAN模式的区别模式的区别在在PeliCAN模式下,模式下,SJA1000有一个含很多新功能的重组有一个含很多新功能的重组寄存器。寄存器。SJA1000包含了设计在包含了设计在PCA82C200中的所有位中的所有位及一些新功能位。及一些新功能位。 PeliCAN模式支持模式支持CAN2.0B协议规定协议规定的所有功能。的所有功能。SJA1000的主要新功能有:的主要新功能有:标准帧格式和扩展帧格式报文的接收和发送;标准帧格式和扩展帧格式报文的接收和发送;接收接收F

17、IFO;在标准和扩展格式中都有单在标准和扩展格式中都有单/双验收滤波器;双验收滤波器;读读/写访问的错误计数器;写访问的错误计数器;可编程的错误限制报警;可编程的错误限制报警;上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍最近一次的误码寄存器;最近一次的误码寄存器;对每一个对每一个CAN总线错误的错误中断;总线错误的错误中断;仲裁丢失中断以及详细的位位置;仲裁丢失中断以及详细的位位置;一次性发送(当错误或仲裁丢失时不重发);一次性发送(当错误或仲裁丢失时不重发);(10)只听模式()只听模式(CAN总线监听,无应答,无错误标志);总线监听,无应答,无错误标志);(11)支持热插

18、(无干扰软件驱动位速检测);)支持热插(无干扰软件驱动位速检测);(12)硬件禁止)硬件禁止CLKOUT输出。输出。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍三、三、BasicCAN的寄存器及其功能描述的寄存器及其功能描述1. BasicCAN分配地址表分配地址表BasicCAN分配地址表如表分配地址表如表4-2所示。所示。2.寄存器复位值寄存器复位值检测到有复位请求后将中止当前接收检测到有复位请求后将中止当前接收/发送的报文而进入复发送的报文而进入复位模式。当想复位位传送了位模式。当想复位位传送了“1-0”的下降沿,的下降沿,CAN控制器控制器将返回工作模式。寄存器复位值

19、如表将返回工作模式。寄存器复位值如表4-3所示。所示。3.控制寄存器控制寄存器CR控制寄存器的内容是用于改变控制寄存器的内容是用于改变CAN控制器的行为的。这些位控制器的行为的。这些位可以被单片机设置或复位,单片机可以对控制寄存器进行读可以被单片机设置或复位,单片机可以对控制寄存器进行读/写操作。控制寄存器各位说明如表写操作。控制寄存器各位说明如表4-4所示。所示。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍4.命令寄存器(命令寄存器(CMR)命令位初始化命令位初始化SJA1000传输层上的动作。命令寄存器对单传输层上的动作。命令寄存器对单片机来说是只写存储器。如果去读这个地

20、址,返回值是片机来说是只写存储器。如果去读这个地址,返回值是“1111 1111”。两条命令之间至少有一个内部时钟周期,。两条命令之间至少有一个内部时钟周期,内部时钟的频率是外部振荡频率的内部时钟的频率是外部振荡频率的1/2.命令寄存器各位功能命令寄存器各位功能如表如表4-5所示。所示。5.状态寄存器(状态寄存器(SR)状态寄存器的内容反映了状态寄存器的内容反映了SJA1000的状态。状态寄存器对的状态。状态寄存器对单片机来说是制度存储器。状态寄存器各位的功能说明如表单片机来说是制度存储器。状态寄存器各位的功能说明如表4-6所示。所示。上一页 下一页返回第六节第六节 SJA1000详细介绍详细

21、介绍6.中断寄存器(中断寄存器(IR)中断寄存器允许中断源的识别。当寄存器的一位或多位被置中断寄存器允许中断源的识别。当寄存器的一位或多位被置位时,位时, (低电平有效)引脚就被激活了。寄存器被单片(低电平有效)引脚就被激活了。寄存器被单片读过之后,所有位复位。这导致了读过之后,所有位复位。这导致了 引脚上的电平飘移。引脚上的电平飘移。中断寄存器对单片机来说是只读存储器。中断寄存器各位的中断寄存器对单片机来说是只读存储器。中断寄存器各位的功能说明如表功能说明如表4-7所示。所示。7.发送缓冲区列表发送缓冲区列表发送缓冲区的全部内容列表如表发送缓冲区的全部内容列表如表4-8。缓冲器是用来存储单。

22、缓冲器是用来存储单片机要片机要SJA1000发送的信息的。它被分为描述符区和数据发送的信息的。它被分为描述符区和数据区。发送缓冲器的读区。发送缓冲器的读/写只能由单片机在工作模式下完成。写只能由单片机在工作模式下完成。在复位模式下读出的值总是在复位模式下读出的值总是“FFH”。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍(1)识别码()识别码(ID)。识别码有)。识别码有11位(位(ID.0ID.10)。)。ID.10是最高位,在仲裁过程中是最先被发送到总线上。识是最高位,在仲裁过程中是最先被发送到总线上。识别码的值越低,其优先级越高。别码的值越低,其优先级越高。(2)远程发

23、送请求()远程发送请求(RTR)。如果此位置)。如果此位置1,总线将以远,总线将以远程帧发送数据。这意味着此段中没有数据字节。程帧发送数据。这意味着此段中没有数据字节。(3)数据长度码()数据长度码(DLC)。报文的数据区的字节数根据数)。报文的数据区的字节数根据数据长度码编制。在远程帧传送中,因为据长度码编制。在远程帧传送中,因为RTR被置位,数据长被置位,数据长度码是不被考虑的。这就迫使发送度码是不被考虑的。这就迫使发送/接收数据字节数为接收数据字节数为0,总,总之,数据长度码必须正确设置以避免两个之,数据长度码必须正确设置以避免两个CAN控制器用同样控制器用同样的识别机制启动远程帧传送而

24、发生总线错误。的识别机制启动远程帧传送而发生总线错误。(4)数据域。传送的数据字节数由数据长度码决定。发送)数据域。传送的数据字节数由数据长度码决定。发送的第一位是地址的第一位是地址12单元的数据字节单元的数据字节1的最高位。的最高位。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍8.接收缓冲器接收缓冲器接收缓冲器的全部列表和发送缓冲器类似。接收缓冲器是接收缓冲器的全部列表和发送缓冲器类似。接收缓冲器是RXFIFO中可访问的部分。位于中可访问的部分。位于CAN地址的地址的2029之间。之间。识别码、远程发送请求位和数据长度码同发送缓冲器的相同,识别码、远程发送请求位和数据长度码

25、同发送缓冲器的相同,只不过是在地址只不过是在地址2029.9.验收滤波器验收滤波器在验收滤波器的帮助下,在验收滤波器的帮助下,CAN控制器能够运行控制器能够运行RXFIFO只接只接收同识别码的验收滤波器中预设值相一致的信息。验收滤波收同识别码的验收滤波器中预设值相一致的信息。验收滤波器通过验收代码寄存器和验收屏蔽寄存器来定义。器通过验收代码寄存器和验收屏蔽寄存器来定义。(1)验收代码寄存器()验收代码寄存器(ACR)。验收代码寄存器的位分配)。验收代码寄存器的位分配如表如表4-9所示。所示。(2)验收屏蔽寄存器()验收屏蔽寄存器(AMR)。验收屏蔽寄存器的位配置)。验收屏蔽寄存器的位配置如表如

26、表4-10所示。所示。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍四、四、PeliCAN模式模式1. PeliCAN地址列表地址列表PeliCAN地址分配如表地址分配如表4-11所示。所示。2.模式寄存器(模式寄存器(MOD)模式寄存器(模式寄存器(MOD)的内容是用来改变)的内容是用来改变CAN控制器的行为控制器的行为方式。方式。(1)工作模式中的模式寄存器。模式寄存器各位的功能说)工作模式中的模式寄存器。模式寄存器各位的功能说明如表明如表4-12。(2)模式寄存器的复位值。模式寄存器的复位值如表)模式寄存器的复位值。模式寄存器的复位值如表4-13所示。所示。上一页 下一页

27、返回第六节第六节 SJA1000详细介绍详细介绍3.命令寄存器(命令寄存器(CMR)(1)工作模式中的)工作模式中的CMR各位的功能。命令寄存器各位的功各位的功能。命令寄存器各位的功能如表能如表4-14所示。所示。(2)命令寄存器的复位值。命令寄存器的复位值如表)命令寄存器的复位值。命令寄存器的复位值如表4-15所示。所示。4.状态寄存器状态寄存器SR状态寄存器反映状态寄存器反映CAN控制器的状态。状态寄存器对控制器的状态。状态寄存器对CPU来来说是只读内存。说是只读内存。(1)工作模式中状态寄存器各位的功能。工作模式中状态)工作模式中状态寄存器各位的功能。工作模式中状态寄存器各位的功能如表寄

28、存器各位的功能如表4-16所示。所示。(2)状态寄存器的复位值与含义。状态寄存器的复位值与)状态寄存器的复位值与含义。状态寄存器的复位值与含义如表含义如表4-17所示。所示。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍5.中断寄存器中断寄存器中断寄存器(中断寄存器(IR)用做中断源的识别。)用做中断源的识别。(1)工作模式中的中断寄存器的位功能。工作模式中中断)工作模式中的中断寄存器的位功能。工作模式中中断寄存器的位功能如表寄存器的位功能如表4-18所示。所示。(2)中断寄存器的复位值及含义。)中断寄存器的复位值及含义。EI出错报警中断位:在出错报警中断位:在中断使能寄存器的

29、出错报警中断使能位中断使能寄存器的出错报警中断使能位EIE置位置位1时,若出时,若出现总线关闭则出错报警中断位置现总线关闭则出错报警中断位置1.其余其余IR各位无论是由于硬件还是软件各位无论是由于硬件还是软件MOD.0=1,或总线关,或总线关闭时的值都为闭时的值都为0.6.中断使能寄存器(中断使能寄存器(IER)这个寄存器能使不同类型的中断源对这个寄存器能使不同类型的中断源对CPU有效。这个寄存器有效。这个寄存器对对CPU来说是可读来说是可读/写存储器。各位功能如表写存储器。各位功能如表4-19所示。所示。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍7.仲裁丢失捕捉寄存器(仲

30、裁丢失捕捉寄存器(ALC)(1)工作模式中的仲裁丢失捕捉寄存器功能。仲裁丢失寄)工作模式中的仲裁丢失捕捉寄存器功能。仲裁丢失寄存器包括了仲裁丢失的位置信息(见图存器包括了仲裁丢失的位置信息(见图4-6)。仲裁丢失捕)。仲裁丢失捕捉寄存器对捉寄存器对CPU来说是只读存储器。保留位的读值为来说是只读存储器。保留位的读值为0.仲裁仲裁丢失寄存器各位的功能如表丢失寄存器各位的功能如表4-20所示。所示。(2)仲裁丢失捕捉寄存器的复位值。硬件复位后寄存器各)仲裁丢失捕捉寄存器的复位值。硬件复位后寄存器各位为位为0;软件设置;软件设置MOD.0=1或总线关闭对各位无影响。或总线关闭对各位无影响。上一页 下

31、一页返回第六节第六节 SJA1000详细介绍详细介绍8.错误代码捕捉寄存器(错误代码捕捉寄存器(ECC)工作模式中的错误代码捕捉寄存器见表工作模式中的错误代码捕捉寄存器见表4-21,表,表4-22是各是各位的设置说明,这反映了当前结构段的不同错误事件。位的设置说明,这反映了当前结构段的不同错误事件。这个寄存器包含了总线错误的类型和位置信息。错误代码捕这个寄存器包含了总线错误的类型和位置信息。错误代码捕捉寄存器对捉寄存器对CPU来说是只读寄存器。来说是只读寄存器。9.错误报警限制寄存器(错误报警限制寄存器(EMLR)错误报警限制在这个寄存器中被定义。默认值是错误报警限制在这个寄存器中被定义。默认

32、值是96.复位模复位模式中,此寄存器对式中,此寄存器对CPU来说是可读来说是可读/写的。工作模式中是只写的。工作模式中是只读的。错误报警限制寄存器各位的说明如表读的。错误报警限制寄存器各位的说明如表4-23所示。所示。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍10.RX错误计数寄存器(错误计数寄存器(RXERR)RX错误计数寄存器(见表错误计数寄存器(见表4-24)反应了接收错误计数器的)反应了接收错误计数器的当前值。硬件复位后寄存器被初始化为当前值。硬件复位后寄存器被初始化为0.工作模式中,对工作模式中,对CPU来说是只读的。只有在复位模式中才可以写访问此寄存来说是只读的

33、。只有在复位模式中才可以写访问此寄存器。器。如果发生总线关闭,如果发生总线关闭,RX错误计数器就被初始化为错误计数器就被初始化为0.总线关总线关闭期间,写这个寄存器是无效的。闭期间,写这个寄存器是无效的。11.TX错误计数器寄存器(错误计数器寄存器(TXERR)TX错误计数寄存器(见表错误计数寄存器(见表4-25)反映了发送错误计数器的)反映了发送错误计数器的当前值。工作模式中,这个寄存器对当前值。工作模式中,这个寄存器对CPU是只读内存。复位是只读内存。复位模式中才可以写访问这个寄存器。硬件复位后,寄存器被初模式中才可以写访问这个寄存器。硬件复位后,寄存器被初始化为始化为0.如果总线关闭,如

34、果总线关闭,TX错误计数器被初始化为错误计数器被初始化为127来来计算总线定义的最小时间。这段时间里读计算总线定义的最小时间。这段时间里读TX错误计数器将反错误计数器将反映出总线关闭恢复的状态信息。映出总线关闭恢复的状态信息。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍12.发送缓冲器(发送缓冲器(TXB)发送缓冲器的整体布局见图发送缓冲器的整体布局见图4-8.务必分清标准帧格式(务必分清标准帧格式(SFF)和扩展帧格式(和扩展帧格式(EFF)配置。发送缓冲器允许定义长达)配置。发送缓冲器允许定义长达8个个数据字节发送信息。数据字节发送信息。(1)发送缓冲器列表。发送缓冲器被

35、分为描述符区和数据)发送缓冲器列表。发送缓冲器被分为描述符区和数据区,描述符区的第一个字节是帧信息字节。它说明了帧格式、区,描述符区的第一个字节是帧信息字节。它说明了帧格式、远程或数据帧和数据长度。远程或数据帧和数据长度。SFF有两个字节的识别码,有两个字节的识别码,EFF有四个字节的识别码。数据区最多长有四个字节的识别码。数据区最多长8个数据字节。发送缓个数据字节。发送缓冲器长冲器长13个字节,在个字节,在CAN地址的地址的1628.(2)发送缓冲器的描述符区。发送缓冲器位的列表见表)发送缓冲器的描述符区。发送缓冲器位的列表见表4-26表表4-28(SFF)、表)、表4-29表表4-33(E

36、FF)。给出)。给出的配置是和接收缓冲器列表相一致的。表的配置是和接收缓冲器列表相一致的。表4-34是帧格式是帧格式FF和远程发送请求和远程发送请求RTR位设置功能。位设置功能。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍(3)数据长度代码()数据长度代码(DLC)。一条报文的数据区的字节数)。一条报文的数据区的字节数目由数据长度代码(目由数据长度代码(DLC)表示。在远程帧发送开始时由于)表示。在远程帧发送开始时由于RTR位被置位(远程),数据长度代码是不被考虑的。这使位被置位(远程),数据长度代码是不被考虑的。这使接收接收/发送的数据字节数目为发送的数据字节数目为0.如果

37、有两个如果有两个CAN控制器使用控制器使用同一个识别码同时启动远程帧传送,数据长度代码必须正确同一个识别码同时启动远程帧传送,数据长度代码必须正确说明以避免总线错误。说明以避免总线错误。数据字节长度范围是数据字节长度范围是08编码形式如下:编码形式如下:数据字节数数据字节数=8DLC.3+4DLC.2+2DLC.1+DLC.0 (4-3)上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍(4)识别码()识别码(ID)。标准帧格式()。标准帧格式(SFF)的识别码有)的识别码有11位位(ID.28ID.18),扩展帧格式的识别码有),扩展帧格式的识别码有29位位( ID.28ID.0

38、)。)。ID.28是最高位,在总线仲裁过程中是最高位,在总线仲裁过程中最先发送到总线上。识别码的二进制越低优先权越高。这是最先发送到总线上。识别码的二进制越低优先权越高。这是由于仲裁时有大量的前导支配位。由于仲裁时有大量的前导支配位。(5)数据区。发送的字节数取决于数据长度代码。最先发)数据区。发送的字节数取决于数据长度代码。最先发送的是在送的是在CAN地址地址19(SFF)或)或21(EFF)的数据字节)的数据字节1的最高位。的最高位。(6)TXB的复位值。当硬件复位或由于软件设置的复位值。当硬件复位或由于软件设置MOD.0=0或总线关闭引起的复位时,发送缓冲器的值不受或总线关闭引起的复位时

39、,发送缓冲器的值不受影响。影响。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍13.接收缓冲器接收缓冲器接收缓冲器的布局与前面一节讲述的发送缓冲器很相似。接接收缓冲器的布局与前面一节讲述的发送缓冲器很相似。接收缓冲器是收缓冲器是RXFIFO的可访问部分,位于的可访问部分,位于CAN地址的地址的16和和28.每条信息都分为描述符和数据区(见图每条信息都分为描述符和数据区(见图4-9)。)。(1)描述符区。接收缓冲器的位列表见表)描述符区。接收缓冲器的位列表见表4-35表表4-37(SFF)和表)和表4-38表表4-42(EFF)。所选配置是与接收)。所选配置是与接收缓冲器列表相一

40、致的。缓冲器列表相一致的。(2)数据区。在帧信息字节中的接收字节长度代码()数据区。在帧信息字节中的接收字节长度代码(DLC)代表实际发送的数据长度码,它有可能大于代表实际发送的数据长度码,它有可能大于8.但是实际上,但是实际上,最大接收数据字节数只能是最大接收数据字节数只能是8.这一点在读接收缓冲器报文时这一点在读接收缓冲器报文时应当注意。应当注意。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍(3)RXB的复位值。的复位值。RXFIFO的内部读的内部读/写指针复位到初写指针复位到初始化值。连续的读始化值。连续的读RXB将会得到一些不确定的值。如果有报将会得到一些不确定的值。

41、如果有报文被发送,就被并行写入接收缓冲器。只有当这次传送石自文被发送,就被并行写入接收缓冲器。只有当这次传送石自接收请求引起的才会产生接收中断。所以,即使接收缓冲器接收请求引起的才会产生接收中断。所以,即使接收缓冲器是空的,最后一次发送的报文也可以从接收缓冲器中读出,是空的,最后一次发送的报文也可以从接收缓冲器中读出,除非它被下一条要发送或接收的报文覆盖。硬件复位时,除非它被下一条要发送或接收的报文覆盖。硬件复位时,RXFIFO的指针指向物理的指针指向物理RAM地址地址“0”。通过软件设置。通过软件设置MOD.0=1或总线关闭会使或总线关闭会使RXFIFO的指针指向当前有效的指针指向当前有效F

42、IFO的其实地址,这个地址不同于第一次释放接收缓冲器的其实地址,这个地址不同于第一次释放接收缓冲器命令后的命令后的RAM地址地址“0”。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍14.验收滤波器验收滤波器验收滤波器有验收代码寄存器(验收滤波器有验收代码寄存器(ACRn)和验收屏蔽寄存器)和验收屏蔽寄存器(AMRn)定义。要接收的信息的位模式在验收代码寄存器)定义。要接收的信息的位模式在验收代码寄存器中定义。相应的验收屏蔽寄存器允许定义某些位为中定义。相应的验收屏蔽寄存器允许定义某些位为“无关无关”。有两种不同的过滤模式可在模式寄存器中选择(有两种不同的过滤模式可在模式寄存器

43、中选择(MOD.3,AFM):单滤波器模式():单滤波器模式(AFM位是位是1)和双滤波器模式)和双滤波器模式(AFM位是位是0)。)。(1)单滤波器配置。这种滤波器配置可以定义一个长滤波)单滤波器配置。这种滤波器配置可以定义一个长滤波器。滤波器字节和信息字节之间问的对应关系取决于当前接器。滤波器字节和信息字节之间问的对应关系取决于当前接收帧格式。收帧格式。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍标准帧:如果接收的是标准帧格式的信息,在验收滤波中只标准帧:如果接收的是标准帧格式的信息,在验收滤波中只使用前两个数据字节来存放包括使用前两个数据字节来存放包括RTR位的完整的识

44、别码。对位的完整的识别码。对于一个成功接收的信息,所有单个位的比较后都必须发出接于一个成功接收的信息,所有单个位的比较后都必须发出接受信号(见图受信号(见图4-10)。)。扩展帧扩展帧:如果接收的信息是扩展帧格式的,包括如果接收的信息是扩展帧格式的,包括RTR位的全位的全部识别码将被接受过滤使用。为了成功接收信息,每个位的部识别码将被接受过滤使用。为了成功接收信息,每个位的比较后都必须发出接受信号(见图比较后都必须发出接受信号(见图4-11)。)。(2)双滤波器的配置。这种配置可以定义两个短滤波器。)双滤波器的配置。这种配置可以定义两个短滤波器。一条接收的信号要和两个滤波器比较来决定是否放入接

45、收缓一条接收的信号要和两个滤波器比较来决定是否放入接收缓冲器中。至少有一个滤波器发出接受信号,接收的信息才有冲器中。至少有一个滤波器发出接受信号,接收的信息才有效。滤波器字节和信息字节之间位的对应关系取决于当前接效。滤波器字节和信息字节之间位的对应关系取决于当前接收的帧格式。收的帧格式。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍标准帧:如果接收的是标准帧信息,被定义的两个滤波器是标准帧:如果接收的是标准帧信息,被定义的两个滤波器是不一样的。第一个滤波器比较包括不一样的。第一个滤波器比较包括RTR位的整个标准识别码位的整个标准识别码和信息的第一个数据字节。第二个滤波器只比较包

46、括和信息的第一个数据字节。第二个滤波器只比较包括RTR位位的整个标准识别码(见图的整个标准识别码(见图4-12)。)。扩展帧:如果接收到扩展帧信息,定义的两个滤波器是相同扩展帧:如果接收到扩展帧信息,定义的两个滤波器是相同的。两个滤波器都只比较扩展识别码的前两个字节(见图的。两个滤波器都只比较扩展识别码的前两个字节(见图4-13)。)。15.RX信息计数器(信息计数器(RMC)RMC寄存器(见表寄存器(见表4-43)反映了)反映了RXFIFO中可用的信息数中可用的信息数目。其值每次接收时加目。其值每次接收时加1,每次释放接收缓冲器减,每次释放接收缓冲器减1.每次复每次复位后,该寄存器清位后,该

47、寄存器清0.上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍16.RX缓冲器地址寄存器(缓冲器地址寄存器(RBSA)RBSA寄存器(见表寄存器(见表4-44)反映了当前可用来存储位于接)反映了当前可用来存储位于接收缓冲器窗口中的信息的内部收缓冲器窗口中的信息的内部RAM地址。这条信息可以帮助地址。这条信息可以帮助说明内部说明内部RAM的内容。起始于的内容。起始于CAN地址地址32的内部的内部RAM地地址区可以被址区可以被CPU读读/写访问(复位模式只能写)。写访问(复位模式只能写)。五、命令寄存器五、命令寄存器1.总线定时寄存器总线定时寄存器0(BTR0)总线定时寄存器总线定时寄

48、存器0(见表(见表4-45)定义了波特率预设值()定义了波特率预设值(BRP)和同步跳转宽度(和同步跳转宽度(SJW)值。复位模式有效时这个寄存器是)值。复位模式有效时这个寄存器是可以被访问(读可以被访问(读/写)的。如果选择的是写)的。如果选择的是PeliCAN模式,此模式,此寄存器在工作模式中是只读的。在寄存器在工作模式中是只读的。在BasicCAN模式中总是模式中总是“FFH”。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍(1)波特率预设值()波特率预设值(BRP)BRP=32BRP.5+16BRP.4+8BRP.3+4BRP.2+2BRP.1+BRP.0CAN系统时钟

49、系统时钟tSCL的周期是可编程的,而且决定了相应的位的周期是可编程的,而且决定了相应的位时序。时序。CAN系统时钟由如下公式计算:系统时钟由如下公式计算:tSCL=2tCLK(BRP+1)式中:式中:tCLK=XTAL的频率周期的频率周期=1/fXTAL。(2)同步跳转宽度()同步跳转宽度(SJW)。为了补偿在不同总线控制器)。为了补偿在不同总线控制器的时钟振荡器之间的相位偏移,任何总线控制器必须在当前的时钟振荡器之间的相位偏移,任何总线控制器必须在当前传送的相关符号边沿重新同步。同步跳转宽度传送的相关符号边沿重新同步。同步跳转宽度tSJW定义了每定义了每一位周期可以被重新同步缩短或延长的时钟

50、周期的最大数目。一位周期可以被重新同步缩短或延长的时钟周期的最大数目。tSJW=tSCL(2SJW.1+SJW.0+1)上一页 下一页返回(4-4)(4-5)(4-6)第六节第六节 SJA1000详细介绍详细介绍2.总线定时寄存器总线定时寄存器1(BTR1)总线定时寄存器总线定时寄存器1(见表(见表4-46)定义了每个位周期的长度、)定义了每个位周期的长度、采样点的位置和在每个采样点的采样数目。在复位模式中,采样点的位置和在每个采样点的采样数目。在复位模式中,这个寄存器可以被读这个寄存器可以被读/写访问。在写访问。在PeliCAN模式的工作模式模式的工作模式中,这个寄存器是只读的。在中,这个寄

51、存器是只读的。在BasicCAN模式中总是模式中总是“FFH”。系统中所有的节点对于这两个总线定时器的设置。系统中所有的节点对于这两个总线定时器的设置必须设为相同的值,否则系统可能无法通讯。这两个寄存器必须设为相同的值,否则系统可能无法通讯。这两个寄存器只能在复位模式下访问。只能在复位模式下访问。(1)采样位()采样位(SAM)。采样位的功能说明见表)。采样位的功能说明见表4-47.(2)时间段)时间段1(TSEG1)和时间段()和时间段(TSEG2)。)。TSEG1和和TSEG2决定了每一位的时钟数目和采样点的位置(见图决定了每一位的时钟数目和采样点的位置(见图4-14),这里),这里上一页

52、 下一页返回第六节第六节 SJA1000详细介绍详细介绍3.SJA1000系统中波特率的计算系统中波特率的计算1个系统时钟(个系统时钟(tSCL)=2(BRP+1)/晶体频率晶体频率1个位周期(个位周期(tBIT)=tSYNCSEG+tTSEG1+tTSEG2则波特率则波特率=1/tBIT设置设置BTR0和和BTR1参数后,实际传输的波特率的范围:参数后,实际传输的波特率的范围:最大波特率最大波特率=1/tBIT-tSJW最小波特率最小波特率=1/tBIT+tSJW表表4.54概括地描述了概括地描述了CAN段设置和相关参数。段设置和相关参数。上一页 下一页返回(4-8)(4-9)(4-10)(

53、4-11)第六节第六节 SJA1000详细介绍详细介绍4.输出控制寄存器(输出控制寄存器(OCR)输出控制寄存器(见表输出控制寄存器(见表4-48)实现了由软件控制建立不同)实现了由软件控制建立不同输出驱动的配置(见图输出驱动的配置(见图4-15)。在复位模式中此寄存器可)。在复位模式中此寄存器可被读被读/写访问。在写访问。在PeliCAN模式的工作模式中,这个寄存器模式的工作模式中,这个寄存器是只读的。在是只读的。在BasicCAN模式中总是模式中总是“FFH”。(1)正常输出模式。正常模式中位序列()正常输出模式。正常模式中位序列(TXD)通过)通过TX0和和TX1送出。输出驱动引脚送出。

54、输出驱动引脚TX0和和TX2的电平取决于被的电平取决于被OCTPx、OCTNx编程的驱动器的特性和被编程的驱动器的特性和被OCPOLx编程编程的输出端特性。的输出端特性。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍(2)时钟输出模式。)时钟输出模式。TX0引脚在这个模式中和正常模式中引脚在这个模式中和正常模式中是相同的。但是,是相同的。但是,TX1上的数据流被发送时钟(上的数据流被发送时钟(TXCLK)代替了。发送时钟的上升沿标志着一位的开始。时钟脉冲宽代替了。发送时钟的上升沿标志着一位的开始。时钟脉冲宽度是度是1tSCL。(3)双相输出模式。相对于正常输出模式,这里的位代表

55、)双相输出模式。相对于正常输出模式,这里的位代表着时间的变化和触发。如果总线控制器被发送器从总线上电着时间的变化和触发。如果总线控制器被发送器从总线上电流退耦,则位流不允许含有直流成分。流退耦,则位流不允许含有直流成分。(4)测试输出模式。在测试输出模式中)测试输出模式。在测试输出模式中RX上的电平在下一上的电平在下一个系统时钟的上升沿映射到个系统时钟的上升沿映射到TXn上,系统时钟与输出控制寄上,系统时钟与输出控制寄存器中定义的极性一致。存器中定义的极性一致。输出控制寄存器的位和输出引脚输出控制寄存器的位和输出引脚TX0和和TX1的关系如表的关系如表4-50所示。所示。上一页 下一页返回第六

56、节第六节 SJA1000详细介绍详细介绍5.时钟分频寄存器(时钟分频寄存器(CDR)时钟分频寄存器控制输出给单片机的时钟分频寄存器控制输出给单片机的CLKOUT频率,它可以频率,它可以使使CLKOUT引脚失效。引脚失效。CDR各位的说明见表各位的说明见表4-51.(1)位域)位域CD.2CD.0的定义。复位模式和工作模式中一的定义。复位模式和工作模式中一样,样,CD.2CD.0可以随意访问。这些位是用来定义外部可以随意访问。这些位是用来定义外部CLKOUT引脚上的频率的。可选频率一览表见表引脚上的频率的。可选频率一览表见表4-52.(2)时钟关闭。设置这一位可禁能)时钟关闭。设置这一位可禁能S

57、JA1000的外部的外部CLKOUT引脚。只有在复位模式中才可以写访问。引脚。只有在复位模式中才可以写访问。(3)RXINTEN。此位允许。此位允许TX1输出用来做专用接收中断输出用来做专用接收中断输出。输出。(4)位)位CBP。置位。置位CDR.6可以旁路可以旁路CAN输入比较器,但输入比较器,但这只可在复位模式中设置。这只可在复位模式中设置。(5)位)位CAN模式。模式。CDR.7定义了定义了CAN模式。如果模式。如果CDR.7=0,CAN控制器工作于控制器工作于BasicCAN模式。否则,模式。否则,CAN控制器工作于控制器工作于PeliCAN模式。只有在复位模式中是可模式。只有在复位模

58、式中是可以写的。以写的。上一页 下一页返回第六节第六节 SJA1000详细介绍详细介绍六、主要参数限额六、主要参数限额SJA1000的主要参数限额符合的主要参数限额符合AMR系统规定,所有电压都系统规定,所有电压都是以是以VSS为参考的(见表为参考的(见表4-53)。)。七、七、SJA1000应用应用SJA1000可以与不同类型的单片机接口,再加上收发器组可以与不同类型的单片机接口,再加上收发器组成了一个成了一个CAN应用系统的核心。在详细介绍了应用系统的核心。在详细介绍了SAJ1000的的结构和功能后,本节将简单地列举它的一些典型外围接口电结构和功能后,本节将简单地列举它的一些典型外围接口电

59、路,见图路,见图4-18图图4-20.为了更形象地说明为了更形象地说明SJA1000在在PeliCAN模式中各类寄存器模式中各类寄存器和接收、发送缓冲器的地址空间的分布和相互关系,可以参和接收、发送缓冲器的地址空间的分布和相互关系,可以参考图考图4-21帮助理解。帮助理解。上一页返回图图4-1 SJA1000的内部结构方框图的内部结构方框图返回表表4-1 SJA1000的引脚描述的引脚描述返回图图4-2 SJA1000的芯片的芯片 引脚排列和引脚排列和名称名称返回图图4-3 SJA1000在在CAN系统中的位置系统中的位置返回图图4-4 SJA1000的模块结构的模块结构返回表表4-2 Bas

60、icCAN地址分配地址分配返回表表4-3 复位模式的配置复位模式的配置下一页表表4-3 复位模式的配置复位模式的配置下一页上一页表表4-3 复位模式的配置复位模式的配置下一页上一页表表4-3 复位模式的配置复位模式的配置返回上一页表表4-4 控制寄存器各位的说明控制寄存器各位的说明(CAN地址地址0)下一页表表4-4 控制寄存器各位的说明控制寄存器各位的说明(CAN地址地址0)返回上一页表表4-5 命令寄存器(命令寄存器(CMR)各位的)各位的功能说明(功能说明(CAN地址地址1)下一页表表4-5 命令寄存器(命令寄存器(CMR)各位的)各位的功能说明(功能说明(CAN地址地址1)返回上一页表

温馨提示

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

评论

0/150

提交评论