第7章CAN总线控制器SJA1000

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上一页 下一页 返回
第五节 CAN的控制模块

7.位时序逻辑 位时序逻辑监视串口的CAN总线和处理与总线有关的位时序。 它在报文传输出现从隐性到显性时同步于CAN总线位流,接 收报文时再次同步下一次传送。位时序逻辑还提供了可编程
的时间段来补充传播延迟时间、相位转换和定义采样点和一
位时间内的采样次数。

上一页 下一页 返回
第六节 SJA1000详细介绍

⑥最近一次的误码寄存器; ⑦对每一个CAN总线错误的错误中断; ⑧仲裁丢失中断以及详细的位位置; ⑨一次性发送(当错误或仲裁丢失时不重发); (10)只听模式(CAN总线监听,无应答,无错误标志); (11)支持热插(无干扰软件驱动位速检测); (12)硬件禁止CLKOUT输出。
下一页 返回
第二节 SJA1000概述



(6)同时支持11位和29位识别码。 (7)位速率可达1Mb/s。 (8)PeliCAN模式扩展功能有: ①可读/写访问的错误计数器; ②可编程的错误报警限制; ③最近一次错误代码寄存器; ④对每一个CAN总线错误的中断; ⑤具体控制位控制的仲裁丢失中断; ⑥单次发送(无重发); ⑦只听模式(无确认无活动的出错标志);

上一页 下一页 返回
第六节 SJA1000详细介绍


二、BasicCAN和PeliCAN模式的区别
在PeliCAN模式下,SJA1000有一个含很多新功能的重组 寄存器。SJA1000包含了设计在PCA82C200中的所有位 及一些新功能位。 PeliCAN模式支持CAN2.0B协议规定 的所有功能。 SJA1000的主要新功能有: ①标准帧格式和扩展帧格式报文的接收和发送; ②接收FIFO; ③在标准和扩展格式中都有单/双验收滤波器; ④读/写访问的错误计数器; ⑤可编程的错误限制报警;
返回
第二节 SJA1000概述





SJA1000是一种独立的CAN控制器,它在汽车和普通的工 业应用上有先进的特征。它是Philips半导体公司 PCA82C200 CAN控制器的替代产品,而且它增加了一种 新的工作模式——PeliCAN,这种模式支持具有很多新特征 CAN 2.0B协议 SJA1000的基本特征如下: (1)与PCA82C200独立的CAN控制器引脚兼容。 (2)与PCA82C200独立的CAN控制器电器兼容。 (3)具有PCA82C200模式。 (4)扩展的接收缓冲器。 (5)支持CAN2. 0A和CAN2.0B协议


返回
第五节 CAN的控制模块




本节以SJA1000为例,说明CAN的控制模块。图7-4是 SJA1000的模块结构,其功能如下: 1.CAN核心模块 根据CAN规范,CAN核心模块控制CAN帧的发送和接收。 2.接口管理编辑 接口管理逻辑解释来自CPU的命令,控制CAN寄存器的寻 址,向主控制器提供中断信息和状态信息。 3.发送缓冲器 发送缓冲器是CPU和BSP之间的接口,能够存储发送到 CAN网络上的完整报文。缓冲器长13个字节,由CPU写入、 BSP读出。

8.错误管理逻辑
错误管理逻辑负责传送层模块的错误管制。它接收BSP的出
错报告,通知BSP和IML进行错误统计。
上一页
返回
第六节 SJA1000详细介绍


一、与PCA82C200兼容性
在Basic CAN模式中,SJA1000模仿PCA82C200独立 控制器所有已知的寄存器。在如下描述的特性不同于 PCA82C200,这主要是为了软件上的兼容性。 1.同步模式 在SJA1000的控制寄存器中没有SYNC位。同步只有在 CAN总线上“隐性——显性”的转换是才有可能发生。因此, 写这一位是没有任何影响的。为了与现有软件兼容,读取这 一位时是可以把以前写入的值读出的。 2.时钟分频寄存器 时钟分频寄存器用来选择CAN工作模式。它使用从 PCA82C200保留下来的一位。象在PCA82C200中一样, 写一个0~7之间的值,就将进入Basic CAN模式。默认状 态是12分频的Motorola模式和2分频的Intel模式。保留 的另一位补充了一些附加功能。

上一页 下一页 返回
第六节 SJA1000详细介绍

4.命令寄存器(CMR)

命令位初始化SJA1000传输层上的动作。命令寄存器对单 片机来说是只写存储器。如果去读这个地址,返回值是 “1111 1111”。两条命令之间至少有一个内部时钟周期, 内部时钟的频率是外部振荡频率的1/2.命令寄存器各位功能 如表7-5所示。


上一页 下一页 返回
第六节 SJA1000详细介绍







3.命令寄存器(CMR) (1)工作模式中的CMR各位的功能。命令寄存器各位的功 能如表7-14所示。 (2)命令寄存器的复位值。命令寄存器的复位值如表7-15 所示。 4.状态寄存器SR 状态寄存器反映CAN控制器的状态。状态寄存器对CPU来 说是只读内存。 (1)工作模式中状态寄存器各位的功能。工作模式中状态 寄存器各位的功能如表7-16所示。 (2)状态寄存器的复位值与含义。状态寄存器的复位值与 含义如表7-17所示。
第七章 CAN控制器SJA1000

第一节 CAN控制器的作用 第二节 SJA1000概述 第三节 SJA1000内部结构及引脚定义 第四节 SJA1000在系统中的位置 第五节 CAN的控制模块

第六节 SJA1000详细介绍
第一节 CAN控制器的作用


在CAN的网络层次结构中,数据链路层和物理层是保证通信 质量直观重要、不可缺少的部分,也是网络协议中最复杂的 部分。CAN控制器就是扮演这个角色,它是一块可编程电路 的组合来实现这些功能,对外它提供了与微处理器的物理线 路的接口。通过它的编程,CPU可以设置它的工作方式,控 制它的工作状态,进行数据的发送和接收,把应用层建立在 它的基础之上。 目前,许多知名的半导体厂家都生产了CAN控制芯片。其类 型一种是独立的,一种是与微处理器集成在一起的,就在前 面一章已经进行过描述。由于在实际应用中我们只要掌握了 其中的一种,其余的就可以触类旁通,这也是CAN能够迅速 推广的原因。
上一页 下一页 返回
第六节 SJA1000详细介绍




8.接收缓冲器 接收缓冲器的全部列表和发送缓冲器类似。接收缓冲器是 RXFIFO中可访问的部分。位于CAN地址的20~29之间。 识别码、远程发送请求位和数据长度码同发送缓冲器的相同, 只不过是在地址20~29. 9.验收滤波器 在验收滤波器的帮助下,CAN控制器能够运行RXFIFO只接 收同识别码的验收滤波器中预设值相一致的信息。验收滤波 器通过验收代码寄存器和验收屏蔽寄存器来定义。 (1)验收代码寄存器(ACR)。验收代码寄存器的位分配 如表7-9所示。 (2)验收屏蔽寄存器(AMR)。验收屏蔽寄存器的位配置 如表7-10所示。
上一页
返回
第三节 SJA1000内部结构及引脚定义


一、SJA1000的内部结构
SJA1000的内部结构如图7-1所示。


二、引脚定义
SJA1000的引脚定义如表7-1所示。 SJA1000的芯片两种不同封装型式的引脚排列与名称如图
7-2所示。
返回
第四节 SJA1000在系统中的位置

通常,每个CAN模块能够被分成不同的功能块。SJA1000 用使应用最优化的CAN收发器连接到CAN总线。收发器控 制从CAN控制器到总线物理层或相反的逻辑电平信号。 上面一层是一个CAN控制器,它执行在CAN规范里规定的 完整是CAN协议。它通常用于报文缓冲和验收滤波。而所有 这些CAN功能都有一个模块控制器控制,它负责执行应用的 功能。 如图7-3所示,SJA1000独立的CAN控制器通常位于单片 机和收发器之间,大多数情况下这个控制器是一个集成电路。
5.状态寄存器(SR) 状态寄存器的内容反映了SJA1000的状态。状态寄存器对 单片机来说是制度存储器。状态寄存器各位的功能说明如表 7-6所示。

上一页 下一页 返回
第六节 SJA1000详细介绍

6.中断寄存器(IR)

中断寄存器允许中断源的识别。当寄存器的一位或多位被置 位时, (低电平有效)引脚就被激活了。寄存器被单片 读过之后,所有位复位。这导致了 引脚上的电平飘移。 中断寄存器对单片机来说是只读存储器。中断寄存器各位的 功能说明如表7-7所示。
7.发送缓冲区列表 发送缓冲区的全部内容列表如表7-8。缓冲器是用来存储单 片机要SJA1000发送的信息的。它被分为描述符区和数据 区。发送缓冲器的读/写只能由单片机在工作模式下完成。 在复位模式下读出的值总是“FFH”。

上一页 下一页 返回
第六节 SJA1000详细介绍



பைடு நூலகம்
(1)识别码(ID)。识别码有11位(ID.0~ID.10)。 ID.10是最高位,在仲裁过程中是最先被发送到总线上。识 别码的值越低,其优先级越高。 (2)远程发送请求(RTR)。如果此位置1,总线将以远 程帧发送数据。这意味着此段中没有数据字节。 (3)数据长度码(DLC)。报文的数据区的字节数根据数 据长度码编制。在远程帧传送中,因为RTR被置位,数据长 度码是不被考虑的。这就迫使发送/接收数据字节数为0,总 之,数据长度码必须正确设置以避免两个CAN控制器用同样 的识别机制启动远程帧传送而发生总线错误。 (4)数据域。传送的数据字节数由数据长度码决定。发送 的第一位是地址12单元的数据字节1的最高位。
上一页 下一页 返回
第二节 SJA1000概述

⑧支持热插拔(软件位速率检测); ⑨验收滤波器扩展(4字节的验收代码,4字节的屏蔽); 10)自身报文接收(自接收请求)。 (9)24MHz时钟频率。 (10)对不同微处理器的接口。 (11)可编程的CAN输出驱动器配置。
(12)增强的温度适应。
下一页 返回


第六节 SJA1000详细介绍

PCA82C200中双接收缓冲器的概念被PeliCAN中的接收 FIFO所代替。这对软件除了会增加数据溢出的可能性外, 不会产生应用上的影响。在数据溢出之前,缓冲器可以接收 两条以上报文。 4.支持CAN 2.0B协议 SJA1000被设计为全面支持CAN 2.0B协议,这就意味着 在处理扩展帧报文的同时,扩展振荡器的误差被修正了。在 BasicCAN模式下只可以发送和接收标准振报文。如果此时 检测到CAN总线上有扩展帧报文,如果报文正确,也会被允 许且给出一个确认信号,但没有接收中断产生。
下一页 返回
第五节 CAN的控制模块





4.接收缓冲器 接收缓冲器是ACF和CPU之间的接口,用来储存从CAN总 线上接收并被确认的报文。接收缓冲器作为接收FIFO的一 个窗口,可被CPU访问。CPU在此FIFO的支持下可以在处 理报文的时候接收其他报文。 5.验收滤波器 验收滤波器把它其中的数据和接收的识别码的内容相比较, 以决定是否接收报文。在纯粹的接收测试中,所有的报文都 保存在RXFIFO中。 6.位流处理器 位流处理器是一个在发送缓冲器、接收缓冲器和CAN总线之 间控制数据流的程序装置。它还在CAN总线上执行错误检测、 仲裁、填充和错误处理。
上一页 下一页 返回
第六节 SJA1000详细介绍


四、PeliCAN模式
1. PeliCAN地址列表 PeliCAN地址分配如表7-11所示。 2.模式寄存器(MOD)

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


三、BasicCAN的寄存器及其功能描述
1. BasicCAN分配地址表 BasicCAN分配地址表如表7-2所示。 2.寄存器复位值 检测到有复位请求后将中止当前接收/发送的报文而进入复 位模式。当想复位位传送了“1-0”的下降沿,CAN控制器 将返回工作模式。寄存器复位值如表7-3所示。 3.控制寄存器CR 控制寄存器的内容是用于改变CAN控制器的行为的。这些位 可以被单片机设置或复位,单片机可以对控制寄存器进行读 /写操作。控制寄存器各位说明如表7-4所示。
相关文档
最新文档