网络控制技术第5章-CAN总线技术(第2部分)课件_第1页
网络控制技术第5章-CAN总线技术(第2部分)课件_第2页
网络控制技术第5章-CAN总线技术(第2部分)课件_第3页
网络控制技术第5章-CAN总线技术(第2部分)课件_第4页
网络控制技术第5章-CAN总线技术(第2部分)课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、课程的主要内容SJA1000系统结构 SJA1000地址分配 寄存器功能和缓冲器工作原理 CAN节点设计 5.1 SJA1000系统结构 SJA1000是飞利浦公司半导体公司在1997年研制的一款独立CAN通信控制器它完整实现CAN2.0A和CAN2.0B标准,用于取代早期产品PCA82C200。由于其在系统优化、诊断、错误处理和维护方面进行性能提升,它在汽车制造和其它的工业领域得到十分广泛的应用。 5.1 SJA1000系统结构与PCA82C200 兼容性扩展的接收缓冲器同时支持11 位和29 位标识符位速率可达1Mbits/sPeliCAN 模式扩展功能增强的温度适应可编程的CAN 输出驱

2、动器配置对不同微处理器的接口5.2 SJA1000系统结构5.2 SJA1000系统结构CAN总线控制器SJA1000主要包含接口管理逻辑、发送、接收缓冲器、验收滤波器、错误管理逻辑、位时序逻辑和位流处理器。接口管理逻辑负责连接外部主控制器,该控制器可以是微型控制器或任何其它器件,它通过复用的地址/数据总线访问其内部寄存器和控制读/写选通信号。 发送缓冲器是主控制器和位流处理器之间的接口,能够存储发送到CAN 网络上的完整信息,缓冲器长13 个字节。 5.2 SJA1000系统结构接收缓冲器用来储存从CAN 总线上接收的信息,是验收滤波器和主控制器之间的接口。接收缓冲器是接收队列的接收窗口,共

3、13个字节。 位流处理器控制发送缓冲器、接收队列和CAN总线之间的数据流,执行CAN 总线上的错误检测、位仲裁、位填充和相应错误处理。 位时序逻辑检测与总线有关的位时序。在启动数据发送,总线由隐性位向显性位跳变时,它会启动硬同步,保持与总线位流的同步。在数据传输过程,如果总线再次出现由隐性位向显性位跳变时,位时序逻辑仍然需要负责同步即重同步,也称软同步。5.2 SJA1000系统结构错误管理逻辑负责数据传输错误的界定。它可以接收来自位流处理器的错误通知,并可向位流处理器和接口管理逻辑提供错误统计信息,从而决定CAN节点当前的错误活动状态 5.2 SJA1000系统结构5.3 SJA1000地址

4、分配它是一种存储器映射的I/O设备。与之相接的微处理器可以像操作自己内部的随机访问存储器RAM一样来使用SJA1000的寄存器。地址的分配有两种形式,一种是基本CAN模式,另一种是PeliCAN模式。不管哪种分配模式,它的地址区域均包含了控制段和报文缓冲区。 控制段可以在通信控制器初始化时配置通信参数。微处理器通过设置控制段或者读取控制段来管理SJA1000的通信活动。 报文缓冲区由发送缓冲器和接收缓冲队列RXFIFO组成。 5.3 SJA1000地址分配SJA1000的寄存器可以工作在复位和运行两种模式。CAN节点上电或者处理总线关闭状态的时候,SJA1000通信控制器自动进入复位模式。在完

5、成相关的通信参数配置后,可以使得控制器处于运行模式。 各种不同状态下,寄存器的含义是不相同的。5.3 SJA1000地址分配5.3 SJA1000地址分配5.3 SJA1000地址分配5.3 SJA1000地址分配5.3寄存器功能和缓冲器工作原理模式(MOD)寄存器 命令寄存器(CMR) 状态寄存器(SR) 中断寄存器和中断使能寄存器仲裁丢失捕捉寄存器和相关错误计数寄存器 发送缓冲器 接收缓冲器以及相关寄存器 验收码寄存器(ACR)和验收屏蔽寄存器(AMR) 总线定时寄存器 时钟分频寄存器(CDR) 模式(MOD)寄存器SM位,它置1表示复位模式,置0则是运行模式 LOM为1,则节点只能侦听总

6、线的状态,即使收到正确的总线报文后,也不能发出确认帧,同时错误计数器也要停止工作。自身测试位STM此位置1,则节点可以进入自测试状态。验收滤波模式位(AFM),置1是单滤波,为0是双滤波。睡眠模式位(SM),置1是睡眠状态,为0是唤醒状态。复位模式下,不能设置SM位。 命令寄存器CMR是只写寄存器,如果读它的话,则会读到0值。相邻的两次设置CMR,应至少间隔一个内部时钟周期,以便进行相应的处理。 TR位置1表明有数据需要发送,AT位置1表示等待发送的数据取消发送,RRB位置位说明接收缓冲队列释放空间,CDO位置位则清除数据溢出状态,SRR位写入1则进入自接收请求状态,即发送自身数据信息时同时也

7、开始接收。 状态寄存器(SR)b0位说明接收缓冲器状态,置1表示有数据报文存于缓冲区中,值为0则没有可用数据;b1位是数据溢出状态,置1时说明接收缓冲溢满;b2位是发送缓冲器状态,置1时发送缓冲器可以写入待发送的报文,否则微处理器不能访问发送缓冲器;b3位是发送完毕状态,置1是表明上次发送操作完成;b4、b5位分别代表接收和发送状态,它们各自置1时,说明CAN控制器正在接收或发送;b6来表示错误状态,置1时表示有错误计数器超过报警线;b7位用来说明总线状态,置位时总线关闭。 中断寄存器和中断使能寄存器当接收到报文或者发送缓冲器状态位有0到1的跳变时,中断寄存器中RI或TI就会置位,提醒微处理器

8、进行相应的接收数据或数据发送处理。EI位是错误报警中断,当CAN节点出现错误或总线状态发生变化时,此位置1。DOI、WUI分别是数据溢出中断和唤醒中断。EPI、ALI和BEI分别在CAN节点进入被动错误状态、丢失仲裁和总线出错时置位。中断使能寄存器可以通过对其一位或多位置1来选择中断功能,如果置0,则禁止相应的中断服务。 仲裁丢失捕捉和错误计数寄存器仲裁丢失时会产生相应的中断,且会根据仲裁丢失的位置送至ALU中相应的位。由于CAN扩展帧只有29位标示符,加上SRR、IDE和RTR位,共32位,故它只需用了低5位来描述仲裁的位置,位置范围为031 。软件读取ALU时,新的仲裁丢失捕捉才会有效。

9、错误计数由4个寄存器来共同完成:错误编码捕捉寄存器(ECC)、错误报警限制寄存器(EMLR)、接收错误计数寄存器(RXERR)和发送错误计数寄存器(TXERR)。 EMLR定义了报警的条件,硬件复位时它的值为96,此时也可以设置其它的数值,但是不能在运行模式时去修改该寄存器的数值。RXERR和TXERR反映了当前CAN控制器的接收和发送帧的错误统计状况,它们同样只能在复位模式修改它们的值,运行模式时它们是只读的。 仲裁丢失捕捉和错误计数寄存器ECC记录所有的错误类型和错误位置信息,它的位功能:ECC高2位可以表示位出错、格式出错、位填充出错和其它错误4种错误类型;它的b5位置1时为接收出错,为

10、0是发送出错;低5位CAN帧出错的位置信息。 发送缓冲器长13个字节,地址区是16到28。它由描述符区和数据区组成,发送数据帧时同样也要分标准帧(SFF)和扩展帧(EFF)。描述符区的第一字节是帧信息,说明了数据帧的帧格式、远程或数据帧和数据长度。帧信息的b7置1时是扩展帧,否则为标准帧;b6置1时是远程帧,否则是数据帧;b4和b5不会影响CAN帧的判断;b0至b3共4位,给出后面数据的长度。 接收缓冲器以及相关寄存器接收缓冲器以及相关寄存器 接收缓冲器是接收缓冲队列的访问窗口,位于CAN地址1628,结构与发送缓冲器类似,也是由描述符区和数据区组成 。接收缓冲队列共有64个字节的空间,一次可

11、以存储多少条报文取决于数据的长度。如果没有足够的空间来存储新的信息,CAN 控制器会产生数据溢出条件,部分写入 的信息将被删除。 RXFIFO中接收报文数量可以从接收报文计数寄存器(RMC)读取,每当接收一个报文时,RMC会自动增1,而释放一次缓冲器则减1。 发送缓冲器起始地址寄存器(RBSA)则给出当前存储接收缓冲器窗口中报文的内部RAM 地址。RBSA在运行模式中是只读的,在复位模式中是可读/写的。 验收码和验收屏蔽寄存器CAN总线的过滤机制是通过ACR和AMR共同完成的。只有通过ACR和AMR检测的报文,才能够存放到接收缓冲器中。其中ACR中定义了接收的位模式,AMR则规定了报文标识符是

12、否应和验收码匹配。ARM中某位为0,就说明此位必须要进行匹配过滤检测。CAN总线支持两种检测方式:单滤波器模式和双滤波器模式。 单滤波器模式单滤波器模式时,4个ACR和4个AMR构成32位的验收码和验收屏蔽码。如果接收是标准帧的话,那么标准帧的11位标识符、远程请求位以及数据帧的前2个字节参与过滤,ACR1和AMR1的低4位不会参与过滤。如果是扩展帧,那么就是29位标识符和远程请求位参与过滤,ACR3和AMR3的低2位保留。 单滤波器模式报文到达CAN节点时,会比较报文的位是否与ACR中的位相等(AMR中相应位置0),如果相应的位全部符合要求,则此报文可以接收到存储区中。 双滤波器模式滤波器模

13、式时,由两个16位的验收码和验收屏蔽码完成过滤,即ACR0、ACR1和AMR0、AMR1形成第一个16位的过滤器1,剩下的构成第2个过滤器2。一条接收的报文要和两个滤波器比较来决定是否放入接收缓冲器中,其中一个滤波器发出接收信号,即可接收报文。接收的是标准帧时,两个过滤器的高12位主要定义11标识符和远程请求位的过滤方法,过滤器1低4位定义第一个数据字节的高4位的过滤规则,低4位过滤由过滤器2的低4位完成。如果接收的是扩展帧时,则两个过滤器都是对标识符的高16位进行过滤。 总线定时寄存器-位定时 同步段用于同步总线上的各个节点,在此段内期望有一个跳变沿出现。如果跳变沿出现在同步段之外,那么它与

14、同步段之间的长度叫做跳变沿相位误差。 传播段用于补偿总线上信号传播时间和电子控制设备内部的延迟时间。因此,要实现与位流发送节点的同步,接收节点必须移相。CAN总线非破坏性仲裁规定,发送位流的总线节点必须能够收到同步于位流的CAN总线节点发送的显性位。它是总线上输入比较器延时和输出驱动器延时总和的两倍。 总线定时寄存器-位定时相位缓冲段1和相位缓冲段2用于补偿跳变沿相位误差,通过重新同步它们可能被延长或缩短。当总线发生从隐性位到显性位跳变时,会产生同步,其作用是控制跳变沿与采样点之间的距离。 采样点位于相位缓冲段1之后,是读总线电平并解释各位值的一个时间点,其后就是信息处理时间。每段由若干个的时

15、间份额组成,所谓时间份额是指于基于振荡器周期的固定时间单元,可由振荡器分频而得到,其表达式如下 时间份额= m最小时间份额 总线定时寄存器-同步 CAN 协议的通信编码为不归零NRZ方式。各个位的开头或者结尾都没有附加同步信号。由于总线出现连续相同位的最大数量是确定的,因此可以利用总线从一位值转换到另一位值的过渡过程将节点同步于位流。可用于重同步的两次跳变之间的最大长度为29个位时间。 但是,发送单元和接收单元存在的时钟频率误差及传输路径上的(电缆、驱动器等)相位延迟会引起同步偏差。因此接收单元通过硬件同步或者再同步的方法调整时序进行接收。在帧的起始位时,总线会进行一次硬同步。硬同步后,位时间

16、由每个位定时逻辑单元在同步段之后重新启动,强迫引起硬同步的跳变沿处于重新启动位时间的同步段内 总线定时寄存器-同步当引起重同步的跳变沿相位错误幅值小于或等于同步跳转宽度的数值时,重同步导致位时间的延长或缩短,使采样点处于适当的位置。当跳变沿相位误差幅值大于重同步跳转宽度时,如果相位误差为正,相位缓冲段1延长数值等于同步跳转宽度;如果相位误差为负,相位缓冲段2缩短数值等于同步跳转宽度。 除了噪声以外,绝大多数的同步都是由仲裁引起的,总线上的所有节点都要同步于最先开始发送的节点 。如果最先发送的节点没有赢得总线仲裁,那么所有的接收节点都要重新同步于获得总线仲裁的节点。确认场的情况也是如此,总线上的

17、接收节点都要同步于最先发送显性位的节点。但是当发送节点与接收节点的时钟周期不同并经过多次同步累加起来,振荡器容差会导致同步在仲裁场之后出现。 总线定时寄存器总线定时机制主要由总线定时寄存器0(BTR0)和总线定时寄存器1(BTR1)共同完成。总线定时寄存器0规定了波特率预设比例因子BRP(它由BRP.0 BRP.5共同组成)和同步跳转宽度SJW(SJW.0.和SJW.1组成)。 BRP用于决定控制器系统工作时钟周期tSCL,从而确定各个位时间,其计算方法如下: CAN总线上控制器的时钟晶振间会存在相位偏差,控制器需通过总线电平的边沿跳变来实现重同步,以补偿相位差。同步跳转宽度定义了位时间内重同

18、步而造成增加或减少的最大时钟周期,其计算方法如下。 总线定时寄存器1 SAM写入1时,总线在位时间会采集3次,常在低或中速网络使用,而写入0时,只会采样1次。TSEG1和TSEG2是位时间中的相位缓冲段1和相位缓冲段2,它们确定位时间的时钟周期数和采样点的具体位置。 时钟分频寄存器(CDR) 时钟分频寄存器控制着CLKOUT引脚 的输出频率、TX1引脚上的接收中断脉冲、接收比较器旁路和BasicCAN模式与PeliCAN模式的选择 。硬件复位后,寄存器的默认值在摩托罗拉模式下是12分频或Intel模式下为2分频。 时钟分频寄存器b3置位时则关闭CLKOUT引脚的输出;b5置位,那么接收到报文就会启动一个中断脉冲;b6置位就会旁路内部的输入比较器,减少报文内部的延迟;b7提供模式选择,为0就会工作在BasicCAN模式下,为1则工作在PeliCAN模式下。 CAN节点设计 SJA1000初始化的实现代码CLR EX0; MOV DPTR,#7F00H; /设置SJA1000起始地址MOV A,#09H;MOVX DPTR,A; /进入复位模式、选择单滤波方式MOV DPTR,#7F1FH; MOV A,#80H;MOVX DPTR,A; /选择增强CAN模式、时钟不输出MOV DPTR#

温馨提示

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

评论

0/150

提交评论