SJA1000 独立CAN控制器
概述
SJA1000 是一种独立控制器用于移动目标和一般工业环境中的区域网络控制CAN 它是PHILIPS半导体PCA82C200 CAN 控制器BasicCAN 的替代产品而且它增加了一种新的工作模式PeliCAN, 这种模式支持具有很多新特性的CAN 2.0B 协议.
CAN 控制模块的说明:
1.接口管理逻辑IML接口管理逻辑解释来自CPU 的命令控制CAN 寄存器的寻址向主控制器提供中断信息和状态信息。
2.发送缓冲器TXB发送缓冲器是CPU 和BSP 位流处理器之间的接口能够存储发送到CAN 网络上的完整信息缓冲器长13 个字节由CPU 写入BSP 读出。
3.接收缓冲器RXB RXFIFO接收缓冲器是验收滤波器和CPU 之间的接口用来储存从CAN 总线上接收和接收的信息接收缓冲器RXB 13 个字节作为接收FIFO RXFIFO 长64 字节的一个窗口可被CPU 访问CPU 在此FIFO 的支持下可以在处理信息的时候接收其它信息
4.验收滤波器ACF验收滤波器把它其中的数据和接收的识别码的内容相比较以决定是否接收信息在纯粹的接收测试中所有的信息都保存在RXFIFO 中
5. 位流处理器BSP位流处理器是一个在发送缓冲器RXFIFO 和CAN 总线之间控制数据流的程序装置它还在CAN 总线上执行错误检测仲裁填充和错误处理
6.位时序逻辑BTL位时序逻辑监视串口的CAN 总线和处理与总线有关的位时序它在信息开头弱势-支配的总线传输时同步CAN 总线位流硬同步接收信息时再次同步下一次传送软同步BTL 还提供了可编程的时间段来补偿传播延迟时间相位转换例如由于振荡漂移和定义采样点和一位时间内的采样次数
7. 错误管理逻辑EMLEML 负责传送层模块的错误管制它接收BSP 的出错报告通知BSP 和IML 进行错误统计
CAN 控制器的详细说明
SJA1000 在软件和引脚上都是与它的前一款PCA82C200 独立控制器兼容的在此基础上它增加了很多新的功能为了实现软件兼容SJA1000 增加修改了两种模式:
1 BasicCAN 模式与PCA82C200 兼容
2 PeliCAN 模式扩展特性工作模式通过时钟分频寄存器中的 CAN 模式位来选择复位默认模式是Basic CAN 模式
1. 与PCA82C200 兼容性在Basic CAN 模式中SJA1000 模仿PCA82C200 独立控制器所有已知的寄存器在6.2.1.1 到6.2.1.4
节中所描述的特性不同于PCA82C200 这主要是为了软件上的兼容性
1.1 同步模式在SJA1000 的控制寄存器中没有SYNC 位在PCA82C200 中是CR.6 位同步只有在CAN 总线上弱势-支配控制的转换时才有可能发生写这一位是没有任何影响的为了与现有软件兼容读取这一位时是可以把以前写入的值读出的对触发电路无影响
1.2 时钟分频寄存器时钟分频寄存器用来选择CAN 工作模式Basic CAN /Peli CAN 它使用从PCA82C200 保留下来的一位象在PCA82C200 中一样写一个0-7 之间的值就将进入Basic CAN 模式默认状态是12 分频的Motorola 模式和2 分频的Intel 模式保留的另一位补充了一些附加的功能CBP 位见表49 的置位使内部RX 输入比较器旁路这样在使用外部传送电路时可以减少内部延时
1.3 接收缓冲器PCA82C200 中双接收缓冲器的概念被Peli CAN 中的接收FIFO 所代替这对软件除了会增加数据溢出的可能性之外不会产生应用上的影响在数据溢出之前缓冲器可以接收两条以上信息最多64 字节
1.4 CAN 2.0BSJA1000 被设计为全面支持CAN 2.0B 协议这就意味着在处理扩展帧信息的同时扩展振荡器的误差被修正了在Basic CAN 模式下只可以发送和接收标准帧信息11 字节长的识别码如果此时检测到CAN 总线上有扩展帧的信息如果信息正确也会被允许且给出一个确认信号但没有接收中断产生
2 Basic CAN 和Peli CAN 模式的区别在Peli CAN 模式下SJA1000 有一个含很多新功能的重组寄存器SJA1000 包含了设计在PCA82C200中的所有位及一些新功能位Peli CAN 模式支持CAN 2.0B 协议规定的所有功能29 字节的识别码
SJA1000 的主要新功能
标准帧和扩展帧信息的接收和传送接收FIFO 64 字节在标准和扩展格式中都有单/双验收滤波器含屏蔽和代码寄存器读/写访问的错误计数器可编程的错误限制报警