首页 理论教育现场总线应用技术:SJA1000使用说明

现场总线应用技术:SJA1000使用说明

【摘要】:SJA1000在软件和引脚上都是与它的前一款———PCA82C200独立控制器兼容的。在SJA1000的控制寄存器中没有SYNC位。像在PCA82C200中一样,写一个0~7之间的值,就将进入BasicCAN模式。SJA1000被设计为全面支持CAN 2.0B协议,这说明在处理扩展帧的同时,亦实现了扩展振荡器容差。SJA1000的主要新功能:1)接收、发送标准帧和扩展帧格式信息。

SJA1000在软件和引脚上都是与它的前一款———PCA82C200独立控制器兼容的。在此基础上它增加了很多新的功能。为了实现软件兼容,SJA1000增加修改了两种模式:

1)BasicCAN模式:PCA82C200兼容模式。

2)PeliCAN模式:扩展特性。

工作模式通过时钟分频寄存器中的CAN模式位来选择。复位默认模式是BasicCAN模式。

1.与PCA82C200兼容性

在BasicCAN模式中,SJA1000模仿PCA82C200独立控制器所有已知的寄存器。下面所描述的特性不同于PCA82C200,这主要是为了软件上的兼容性。

1)同步模式。在SJA1000的控制寄存器中没有SYNC位(在PCA82C200中是CR.6位)。同步只有在CAN总线上隐性至显性的转换时才有可能发生。写这一位是没有任何影响的。为了与现有软件兼容,读取这一位时将得到上次写入的值(对触发电路无影响)。

2)时钟分频寄存器。时钟分频寄存器用来选择CAN工作模式(BasicCAN/PeliCAN)。它使用从PCA82C200保留下来的一位。像在PCA82C200中一样,写一个0~7之间的值,就将进入BasicCAN模式。默认状态是12分频的Motorola模式和2分频的Intel模式。保留的另一位补充了一些附加的功能。CBP位的置位使内部RX输入比较器被忽略,这样在使用外部传送电路时可以减少内部延时。

3)接收缓冲器。PCA82C200中双接收缓冲器的概念被PeliCAN中的接收FIFO所代替。这对软件除了会增加数据溢出的可能性之外,不会产生应用上的影响。在数据溢出之前,缓冲器可以接收两条以上报文(最多64个字节)。

4)CAN 2.0B。SJA1000被设计为全面支持CAN 2.0B协议,这说明在处理扩展帧的同时,亦实现了扩展振荡器容差。在BasicCAN模式下只可以发送和接收标准帧(11位标识符)。如果此时检测到CAN总线上有扩展帧(29位标识符),并且报文正确,则该报文也会被允许且给出一个确认信号,但没有接收中断产生。

2.BasicCAN和PeliCAN模式的区别

在PeliCAN模式下,SJA1000有一个含很多新功能的重组寄存器。SJA1000包含了设计在PCA82C200中的所有位及一些新功能位,PeliCAN模式支持CAN 2.0B协议规定的所有功能(29位标识符)。

SJA1000的主要新功能:(www.chuimin.cn)

1)接收、发送标准帧和扩展帧格式信息。

2)接收FIFO(64个字节)。

3)用于标准帧和扩展帧的单/双接收过滤器(含屏蔽和代码寄存器)。

4)读/写访问的错误计数器。

5)可编程的错误限制报警。

6)最近一次的误码寄存器。

7)对每一个CAN总线错误的错误中断。

8)具有详细位号的仲裁丢失中断。

9)一次性发送(当错误或仲裁丢失时不重发)。

10)只听模式(CAN总线监听,无应答,无错误标志)。

11)支持热插拔(无干扰软件驱动的位速率检测)。

12)硬件禁止CLKOUT输出。