第5章CAN器件及开发实例.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章CAN器件及开发实例

1 第五章 CAN 器件及开发实例 5.1独立CAN控制器SJA1000 SJA1000是适用于汽车和一般工业环境的独立CAN控制器。它是PHILIPS公司生产。 SJA1000有两种工作模式:BasicCAN模式, PeliCAN工作模式。 BasicCAN模式是PHILIPS公司生产的 PCA82C200的替代产品,引脚兼容,电气兼容。 PeliCAN工作模式支持CAN2.0B协议。 PeliCAN模式下,SJA1000具有与BasicCAN模式下完全不同的寄存器结构。 SJA1000的PeliCAN模式具有以下新增特性: 接收和发送标准和扩展格式报文; 达64字节的接收FIFO; 对于标准和扩展帧都有单/双接收过滤器; 可读/写访问的错误计数器; 可编程的错误报警限; 最近一次错误代码寄存器; 对于每一种CAN总线错误都能产生不同的出错中断; 仲裁丢失中断,并带有详细丢失仲裁位置的信息; 允许单次发送,当出错或丢失仲裁时不重发; 只听模式(监视CAN总线,无应答,无出错标志); 支持热插拔; 自身发送报文接收(自接收请求); 硬件禁止CLKOUT 输出。 CAN控制模块SJA1000功能框图 SJA1000CAN控制器由下述几部分组成: 1.接口管理逻辑(IML) 通过SJA1000复用的地址/数据总线 ,控制读/写选通信号等,完成对外部主控制器的连接。并向该控制器提供中断信息和状态信息。 解释来自CPU的命令,控制SJA1000内部寻址,向CPU提供中断信息和状态信息。 2.发送缓冲器(TXB) 发送缓冲器是CPU和位流处理器之间的接口。 能够存储发送到CAN总线上的完整报文,缓冲器长13字节,由CPU写入,位流处理器BSP读出。 3.接收缓冲器(RXB,RXFIFO) 是接收过滤器和CPU之间的接口,用于储存从CAN总线上接收并采用的报文。 RXB,长13字节,作为RXFIFO,长64字节,的一个窗口,可被CPU访问。 在RXFIFO的支持下,CPU可以在处理一个报文的同时接收其他报文。 4.接收过滤器(ACF) 接收过滤器把接收数据和接收识别码的内容相比较,以决定是否接收信息。如果比较的结果为真,则报文完整地存入RXFIFO中。 5.位流处理器: 位流处理器是一个序列发生器,控制发送缓冲器、RXFIFO和CAN总线之间的数据流。 完成CAN总线上的错误检测、仲裁、填充和错误处理等功能。 6.位定时逻辑: 位定时逻辑监视CAN总线并处理总线位定时。 它同步于帧起始的从隐性到显性电平的跳变(硬同步),并且在接收报文的过程中进行重同步(软同步)。 提供可编程的时间段用于补偿传播延时和相位变化, 定义采样时刻和一位时间内的采样次数。 7.错误管理逻辑: 负责错误界定。 接收来自位流处理器的出错报告,并将分析出的出错状态传达给位流处理器和接口管理逻辑。 CAN控制模块SJA1000管脚排列图: 振荡器和时钟:四种不同的振荡器连接方法。 5.2 SJA1000的BasicCAN模式 5.2.1 BasicCAN模式下的地址分配 SJA1000对于CPU而言,是可编程外围芯片。 SJA1000的地址区包括控制段、发送、接收信息缓冲区三大部分: ① 控制段:在初始化期间,控制段可被编程来配置通讯参数。同时CPU通过这个段来控制CAN总线上的通信。 复位模式:当硬件复位或控制器掉线时会自动进入复位模式; 工作模式:工作模式是通过置零控制寄存器的复位请求位激活的。 接收码寄存器、屏蔽码寄存器、总线定时寄存器0、总线定时寄存器1以及输出控制寄存器只有在控制寄存器中的复位请求位(CR.0)被置1才可访问。 ② 发送缓冲区:一个报文在发送之前必须写入发送缓冲器,再向总线上串行送出。 ③ 接收缓冲区:在成功接收一个报文后,CPU从接收缓冲器读取报文并释放这部分缓存,使其可继续用于存储后续收到的报文。 SJA1000有两种复位方式:硬件复位与软件复位。 硬件复位是指在芯片的复位脚上提供一定宽度低电平,硬件复位需要足够的时间才能使控制寄存器中的复位请求位置1; 软件复位是指通过软件设置CR.0为1或由脱离总线引起的复位。 SJA1000检测到复位请求位为1后,将中止当前报文的接收/发送而进入复位模式。 当CR.0复位请求位从1转变到0,SJA1000返回到工作模式。 5.2.3 控制寄存器 (CR,地址0) 发送缓冲器位于CAN地址的10~19。发送缓冲器的读/写只能由微控制器在工作模式下完成。在复位模式下读出的值总是“FFH”。 (1)识别码(ID) 识别码有11位(ID.0-ID.10)。ID.10是最高位.在仲裁过程中是最先被发送到总线上的。识别码的二进制值越低,其优先级越高。 在接收过

文档评论(0)

daoqqzhuan3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档