CAN控制器SJA1000及其应用

时间:2022-12-05 18:49:07 理工毕业论文 我要投稿
  • 相关推荐

CAN控制器SJA1000及其应用

摘要:介绍CAN控制器SJA1000的特点、内部结构以及SJA1000的寄存器结构及地址分配;CAN协议通信格式。并以独立CAN控制器SJA1000为例,结合CAN协议说明了一种通用型CAN总线的开发与设计。

1 SJA1000简介

SJA1000是PHILIPS公司早期CAN控制器PCA82C200的替代品,功能更强,具有如下特点:

①完全兼容PCA82C200及其工作模式,即BASICCAN模式;

②具有扩展的接收缓冲器,64字节的FIFO结构;

③支持CAN2.0B;

④支持11位和29位识别码;

⑤位速率可达1Mbit/s;

⑥支持peliCAN模式及其扩展功能;

⑦24MHz的时钟频率;

⑧支持与不同微处理器的接口;

⑨可编程的CAN输出驱动配置;

⑩增强了温度范围(-40℃~ 125℃)。

图1 SJA1000内部结构

2 SJA1000内部结构

SJA1000的内部结构如图1所示,主要由接口管理逻辑IML、信息缓冲器(含发送缓冲器TXB和接收缓冲器RXFIFO)、位流处理器BSP、接收过滤器ASP、位时序处理逻辑BTL、错误管理逻辑EML、内部振荡器及复位电路等构成。IML接收来自CPU的命令,控制CAN寄存器的寻址并向控制提供中断信息及状态信息。CPU的控制经IML把要发送的数据写入TXB,TXB中的数据由BSP处理后经BTL输出到CAN BUS。BTL始终监视CAN BUS,当检测到有效的信息头“隐性电平-控制电平”的转换时启动接收过程,接收的信息首先要由位流处理器BSP处理,并由ASP过滤,只有当接收的信息的识别码与ASP检验相符时,接收信息才最终被写入RXB或RXFIFO中。RXFIFO最多可以缓存64字节的数据,该数据可被CPU读取。EML负责传递层中调制器的错误管制,它接收BSP的出错报告,促使BSP和IML进行错误统计。

3 SJA1000的寄存器结构及地址分配

表1是工作在BASIC CAN模式下的SJA1000的寄存器结构及地址分配表。CAN控制器工作模式的设定、数据的发送和接收等都是通过这些寄存器来实现的。时钟分频寄存器OCR用于设定SJA1000工作于BASIC CAN还是PeliCAN,还用于CLKOUT引脚输出时钟频率的设定,在上电初始化控制器时必须首先设定;在工作模式下,控制寄存器CR用于控制CAN控制器的行为,可读可写;命令寄存器CMR只读写;状态寄存器SR只能读;而IR、ACR、AMR、BTR0、BTR1、OCR在工作模式下读写无意义。通常,在系统初始化时,先使CR.0=1,SJA1000进入复位模式。在此模式下IR、ACR、AMR、BTR0、BTR1及OCR均可读可写,此时设置相应的初值。当退出复位模式时,SJA1000即按复位时设定的相应情况工作于工作模式,除非再次使芯片复位,否则上次设定的值不变。当需要发送信息时,若发送缓冲器空闲,由CPU控制信息写入TXB,再由CMR控制发送;当接收缓冲器RXFIFO未满且接收信息通过ASP,则接收到的信息被写入RXFIFO。可通过两种方法读取接收到的信息。一种方法是,在中断被使能的情况下,由SJA1000向CPU发中断信号,CPU通过SR及IR可以识别该中断,并读取数据释放接收缓冲器;另一种方法是直接读取SR,查询RXFIFO的状态,当有信息接收时,读取该信号自并释放接收缓冲器。当接收缓冲器中多条信息时,当前的信息被读取后,接收缓冲器有效信号会再次有效,通过中断方式或查询方式可以再次读取信息,查到RXFIFO中的信息被全部读出止。当RXFIFO已满,如还有信息被接收,此接收信息不被保存,且发出相应的缓冲器溢出信号供CPU读取处理。

表1 SJA1000的寄存器结构及地址分配表

寄 存 器地 址寄存器名地 址寄存器名地 址控制寄存器CR0测试寄存器9





RDID020命令寄存器CMR1发TXID010RDID121状态寄存器SR2送TXID111RXDATA122中断寄存器IR3缓TXDATA112··接收代码寄存器ASR4冲····接收屏蔽寄存器AMR5器····位定时寄存器BTR06T··RXDATA929位定时寄存器BTR17XTXDATA819时钟分频寄存器OCR31输出控制寄存器OCR8B  

4 CAN协议通信格式

CAN协议通信格式中有四种帧格式:数据帧、远程帧、出错帧和超载帧。其中数据帧和远程帧的发送需要在CPU控制下进行,而出错帧和超载帧的发送则是在错误发生或超载发生时自动进行的。因此人们更关心前两个帧的结构。数据帧结构如图2所示。

一个完整的数据帧格式,除仲裁场、控制场、数据场外都是CAN控制器发送数据时自动加上去的,而仲裁场、控制场、数据场则必须由CPU控制给出。用SJA1000时,写出发送缓冲器的TXID0、TXID1即设定了相应的仲裁场和控制场。TXID0即为仲裁场的高8位,TXID1的高3位为仲裁场的低3位,仲裁场共11位。TXID1的第5位为RTR位,即远程请求位,在数据帧中为“0”;TXID1低四位标示数据场所含字节数的多少,称为DLC。RTR与DLC共同构成控制场。发送的数据组成数据场,最多不超过

【CAN控制器SJA1000及其应用】相关文章:

公钥密码原理及其应用05-13

目标规划及其在经济中的应用05-11

公允价值、预期现值法及其应用06-01

关于现代教育技术及其应用09-19

DS2438及其在单总线微网中的应用05-31

第三代移动通信技术及其应用论文04-29

机械设计制造及其自动化应用论文(精选9篇)08-12

谈智能决策支持系统及其在林业中的应用研究08-21

高性能数据采集系统芯片LM12H458及其应用05-28

光纤CAN总线自愈环网的研究06-01