第4章2(CAN控制器1,2014)_第1页
第4章2(CAN控制器1,2014)_第2页
第4章2(CAN控制器1,2014)_第3页
第4章2(CAN控制器1,2014)_第4页
第4章2(CAN控制器1,2014)_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、4.2 控制芯片控制芯片SJA10004.2.1 简介 SJA1000是用于汽车和一般工业环境的独立CAN总线控制器,它具有完成CAN高性能通信协议所要求的全部必要特性。 SJA1000可完成物理层和数据链路层的所有功能。 其硬件与软件设计和PCA82C200的基本CAN模式(BasicCAN)兼容,同时它新增加的增强CAN模式(PeliCAN)可以支持CAN2.0A及CAN2.0B协议。 1.SJAl000的特性 和它的前款芯片PCA82C200独立CAN控制器引脚兼容、电气兼容、软件兼容; BasicCAN模式(与PCA82C200兼容); 扩展的功能PeliCAN模式(增强CAN模式):

2、 (a)可读/写访问的错误计数器, (b)可编程的错误报警限制, (c)最近一次错误代码寄存, (d)对每一个CAN总线错误的中断, (e)具体控制位控制的仲裁丢失中断, (f)单次发送无重发, (g)只听模式无确认无活动的出错标志, (h)支持热插拔软件位速率检测, (i)验收滤波器扩展4B代码4B屏蔽, (j)自身信息接收自接收请求; 扩展的接收缓冲器64B先进先出FIFO; 和CAN 2.0B协议兼容; 同时支持11位和29位识别码; 传输速率可达1Mbs; 24MHz时钟频率; 对不同微处理器的接口; 可编程的CAN输出驱动器配置。 2SJAl000的内部结构及功能的内部结构及功能 S

3、JAl000的内部结构及对外接口的原理如图4.3所示。 (1)接口管理逻辑IML 接口管理逻辑和CPU连接,解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息。 (2)发送缓冲器TXB 发送缓冲器是CPU和BSP (位流处理器)之间的接口,能够存储发送到CAN网络上的完整信息。缓冲器长13B,由CPU写入,BSP读出。 (3)接收缓冲器RXB RXFIFO 接收缓冲器是验收滤波器和CPU之间的接口,用来储存从CAN总线上发送和接收的信息。接收缓冲器(RXB 13B)作为接收FIFO(RXFIFO 64B)的一个窗口,可被CPU访问。 CPU在FIFO支持下,可在处理

4、信息的时候接收其他信息。 (4)验收滤波器ACF 验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接收信息。 (5)位流处理器BSP 位流处理器是一个在发送缓冲器,是RXFIFO和CAN总线之间控制数据流的程序装置。 它还在CAN总线上执行错误检测、仲裁、填充和错误处理。 (6)位时序逻辑BTL 位时序逻辑监视串行的CAN总线和处理与总线有关的位时序。 它在信息开头为“隐性显性”的总线传输时同步同步CAN总线位流(硬同步),接收信息时再次同步下一次传送 (软同步)。 还提供可编程的时间段来补偿传播延迟时间、相位转换、定义采样点和一位时间内的采样次数。 (7)错误管理逻辑EML E

5、ML负责传送层模块的错误管制。它接收位流处理器BSP的出错报告,通知BSP和接口管理逻辑IML进行错误统计。 3SJAl000的引脚及封装 4.2 控制芯片SJA10004.2.2 Basic CAN模式 Basic CAN模式是和PCA82C200兼容的模式。 SJA1000内部的地址区包括控制段和信息缓冲区。 在初始化载入时,微控制器通过对控制段的编程以配置通信参数。 发送信息应写入发送缓冲器。 成功接收信息后,微控制器从接收缓冲器中读取接收信息,然后释放空间,供之后的接收使用。 微控制器和SJA1000之间状态、控制和命令信号的交换都是在控制段中完成的。 初始载入后,寄存器的验收代码、验

6、收屏蔽、总线定时寄存器0和1以及输出控制器的内容就不能改变了。只有控制寄存器的复位位被置高时,这些寄存器又可被访问。 在复位模式和工作模式中访问寄存器是不同的。 当硬件复位或控制器掉线时会自动进入复位模式。 工作模式是通过置位控制寄存器的复位请求位激活的。 对Basic CAN模式,只作上面这些简单的介绍,下面主要介绍比较常用的SJA1000的Peri CAN模式。 Basic CAN模式下的SJA1000主要寄存器和PeliCAN模式下的寄存器工作原理相同。4.2 独立的控制芯片SJA1000及其使用4.2.3 Peli CAN模式 1. Peli CAN地址列表 因为CAN控制器可以工作于

7、工作/复位两种不同的模式,所以必须区分各个不同的CAN控制寄存器在工作及复位两种不同模式下的定义。 Peli CAN模式下的SJA1000内部各寄存器的地址及功能如下表所示(先浏览,用到时具体解释)。(CAN地址9)(CAN地址16)CAN地址27,28(CAN地址31) 2. Peli CAN复位模式配置(控制段) 检测到模式寄存器(前表中CAN地址0)的MOD.0=1(复位模式位置位)后,CAN控制器中止当前发送/接收信息而进入复位模式。 复位模式位由“1”变“0”时,CAN控制器回到模式寄存器所定义的工作模式。 CAN控制器在复位模式时配置的主要寄存器如表4.4所示(浏览,表后祥讲重点)

8、。(具体解释见后面有关寄存器的说明) 其中的主要寄存器说明如下。 3. 模式寄存器MOD 模式寄存器(CAN地址0)的内容是用来改变CAN控制器的行为的。 CPU把该寄存器作为读/写寄存器,其各位的功能如表4.5所示,可以设置这些位,保留位读取时的值为逻辑0。自学 4. 命令寄存器CMR 命令寄存器(CAN地址1)中的命令位用于初始化CAN控制器传输层上的动作。这个寄存器是只写的(所有位的读出值都是逻辑1)。因处理的需要,两条命令之间至少有一个内部时钟周期(内部时钟周期的频率是外部振荡器的一半)。命令寄存器各位的功能如表4.6所示。SR.5(详见状态寄存器的介绍)自学CMR.3 5状态寄存器S

9、R 状态寄存器(CAN地址2)反映CAN控制器的状态,其各位功能如表4.7所示。 状态寄存器是只读的。自学 6中断寄存器IR 中断寄存器(CAN地址3)允许中断源的识别,各位功能如下表所示。当该寄存器有一位以上置位时,CAN中断将反映到CPU。 中断寄存器是只读的,CPU读此寄存器后,除了接收中断外的所有位都被复位。 7中断使能寄存器IER(CAN地址4) 该寄存器是可读/写的。 能使不同类型的中断源是否使能。 各位功能如表4.9所示。 8.仲裁丢失捕捉寄存器ALC(CAN地址11) 该寄存器包括了仲裁丢失的位置的信息,对CPU来说是只读寄存器,读其到的留位的值为0。仲裁丢失捕捉寄存器的位分配

10、如下: BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 保留 保留 保留 ALC.4 ALC.3 ALC.2 ALC.1 ALC.0 仲裁丢失具体发生在第几位由ALC.4 ALC.0指示:00000(十进制01)表示ID.28丢失,详细情况由下图说明。ALC.4ALC.0的值(十进制):ALC.4ALC.0=01000(十进制:08) 仲裁丢失时,会产生相应的仲裁丢失中断(中断寄存器的IR.6(中断允许时,即中断使能寄存器的IER.6=1时))。 同时,位流处理器的当前位位置被捕捉送入仲裁丢失捕捉寄存器。寄存器中的内容一直保持到用户通过软件读这个值。读操作后,捕

11、捉机制又被激活了。 读中断寄存器时,中断寄存器中相应的中断标志位被清除。直到仲裁丢失捕捉寄存器被读一次之后,新的仲裁丢失中断才有效。 9. 错误代码捕捉寄存器(ALC) CAN地址12,这个寄存器包含了总线错误的类型和位置信息,如下表所示。位符 号名 称值功 能ECC.71ERRC1错误代码1-ECC.61ERRC0错误代码0-ECC.5DIR方向1接收时发生错0发送时发生错ECC.42SEG4段4-ECC.32SEG4段4-ECC.22SEG4段4-ECC.12SEG4段4-ECC.02SEG4段4- 上表中ECC.7和ECC.6功能的解释见下表。 前表中ECC.4ECC.0功能的解释见下表

12、。ECC.7ECC.6功 能00位错误01格式错误10填充错误1l其他错误ECC.4ECC.3ECC.2ECC.1ECC.0功 能00011帧开始00010ID.28ID.2l00110ID.20ID.1800l00SRTR位00l0lIDE位001llID.17ID.1301l11ID.12ID.501011ID.4ID.001101保留位l01001保留位00l01l数据长度码010l0数据区ECC.4ECC.3ECC.2ECC.1ECC.0功 能01000CRC序列11000CRC界定符l1001应答间隙110ll应答界定符l1010帧结束100l0间歇10001活动错误标志l0l10消

13、极错误标志10011显位容差10l1l错误界定符11100过载标志 总线发生错误时被迫产生相应的错误中断IR.7(中断允许时),同时位流处理器的当前位置被捕捉送入错误代码捕捉寄存器,其内容直到用户通过软件读出时才发生变化,读出后捕捉机制又被激活。访问中断寄存器(详见表4.8)期间,中断寄存器中相应的中断标志位被清除,新的中断直到捕捉寄存器被读出一次才有效。 10. 发送缓冲器 发送缓冲器分为描述符区和数据区。描述符区的第一个字节是帧信息,它说明了帧格式(标准帧SFF或扩展帧EFF)、远程或数据帧及数据长度。SFF有2个字节的识别码,EFF有4个字节的识别码。数据区最长为8个数据字节,发送缓冲器

14、长13个字节,CAN地址为1628。发送缓冲器列表如图3.6所示。 TX帧信息字节(CAN地址16)配置如下表所示: 注: 1帧格式,1=EFF(扩展帧),0=SFF(标准帧)。 2远程发送请求位,1=远程帧,0=数据帧。 3不影响。推荐在使用自接收设备(自检测)时和接收缓冲器(0)兼容。 4数据长度码位,编码范围为18。BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0FF1RTR2X3X3DLC.34DLC.24DLC.14DLC.04 TX识别码如表334所示。CAN地址帧格式位BIT7BIT6BIT5BIT4BIT3BIT2BITlB1T017SFFID.28ID.27I

15、D.26ID.25ID.24ID.23ID.22ID.21EFFID.28ID.27ID.26ID.25ID.24ID.23ID.22ID.2l18SFFID.20ID.19ID.18XlX2X2X2X2EFFID.20ID.19ID.18ID.17ID.16ID.15ID.14ID.1319SFF未使用(数据字节1)EFFID.12ID.1lID.10ID.9ID.8ID.7ID.6ID.520SFF未使用(数据字节2)EFFID.4ID.3ID.2ID.1ID.0X1X2X2注:1不影响。推荐在使用自接收设备(自检测)时和接收缓冲器(RTR)兼容。 2不影响。推荐在使用自接收设备(自检测)时和接收缓冲器(0)兼容。 11. 接收缓冲器RXB 接收缓冲器与前面的发送缓冲器很相似,每条信息也都分为描述符区和数据区。 接收缓冲器(13B)是RXFIFO(64B)的可访问部分,也位于CAN地址的1628(对这些CAN地址,读操作访问的是接收缓冲器

温馨提示

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

评论

0/150

提交评论