SJA1000 独立CAN控制器
SJA1000 是一种独立控制器,用于移动目标和一般工业环境中的区域网络控制(CAN),它是PHILIPS半导体PCA82C200 CAN 控制器BasicCAN 的替代产品而且它增加了一种新的工作模式PeliCAN, 这种模式支持具有很多新特性的CAN 2.0B 协议.
中文名称 | SJA1000 | 类型 | 独立控制器 |
---|---|---|---|
用于 | CAN | 特点 | 一种新的工作模式PeliCAN |
接口 | 8位并行接口 |
标准帧和扩展帧信息的接收和传送
接收FIFO 64 字节
在标准和扩展格式中都有单/双验收滤波器含屏蔽和代码寄存器
读/写访问的错误计数器
可编程的错误限制报警
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. 错误管理逻辑EML
EML 负责传送层模块的错误管制,它接收BSP 的出错报告,通知BSP 和IML 进行错误统计
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.0B
SJA1000 被设计为全面支持CAN 2.0B 协议这就意味着在处理扩展帧信息的同时扩展振荡器的误
差被修正了在Basic CAN 模式下只可以发送和接收标准帧信息11 字节长的识别码如果此时检测到
CAN 总线上有扩展帧的信息如果信息正确也会被允许且给出一个确认信号但没有接收中断产生
2 Basic CAN 和Peli CAN 模式的区别
在Peli CAN 模式下SJA1000 有一个含很多新功能的重组寄存器SJA1000 包含了设计在PCA82C200
中的所有位及一些新功能位Peli CAN 模式支持CAN 2.0B 协议规定的所有功能29 位的识别码
长宽高
你好:因为分不清楚宽度和长度,只能按b、h边来说话1000*1000*1000代表的含义是,b*h*深度
这就类似马凳筋的三种形式,第二三种表示方法c8-1000;第一种表示c8@1000*1000 。。这样在区分就好区分了,c8-1000是线性,第二种是面性
分析了CAN控制器SJA1000的特点及CAN协议通信格式。设计了控制器SJA1000的IP软核,能为应用提供一个性能优良的、易于移植的控制器SJA1000,实现了对步进电机的控制。
CAN(Controller Area Network)总线是一种现场总线,由于其具有可靠性高、抗干扰能力强和实时性强的特点,而被广泛应用于工业控制领域。本文介绍了一种基于SJA1000的高可靠CAN总线智能单元的设计方案。该总线智能单元可以独立或者配合AT96总线和主控制器协同工作,易于系统扩展、优化和改进,利用微处理器完成数据发送/接受和错误诊断处理,降低主控制器的信息处理负担。测试表明,该高可靠CAN总线智能单元的设计是可行的。
传统方案
传统CAN总线解决方案中通常采用PHILIPS公司的独立CAN控制器SJA 1000。SJA1000同时兼容CAN 2.0A和CAN 2.0B两种技术规范,它有两种滤波模式:单滤波模式和双滤波模式。无论哪一种模式,都只有当接收信息中的识别位和验收滤波器预定义的值相同时,CAN控制器才允许将该信息存入接收缓冲区。
SJA1000中,验收滤波器由验收代码寄存器(ACR)和验收屏蔽寄存器(AMR)来定义,这两个8位的寄存器相配合工作,AMR为0的位,ACR与之对应的位必须和CAN报文标识符的对应位完全相同才予以接收,而AMR为1的位,则屏蔽掉ACR与之对应的位,即CAN报文中对应的位可为0也可为1。实际上,这种验收滤波方案只能满足一些规律性较高的或个数较少的标识符的过滤,无法对更为复杂的任意标识符进行过滤,这无疑会增加系统软件设计及运行时的负担。
LPC2000的滤波原理及过程分析
PHILIPS公司的LPC2000系列ARM微控制器内嵌2或4个CAN控制器,都有先进的验收滤波器。概括性地描述LPC2000对CA N报文的验收滤波流程:CAN控制器监听所有来自CAN总线上的报文,当一个报文到达时,CAN控制器执行快速的硬件搜索算法,将收到的CAN报文标识符与验收过滤RAM中存储的标识符进行匹配。如果没有匹配,则丢弃该报文,这个过程不会对CAN控制器产生中断,应用代码仍然正常执行;如果有匹配的标识符,CAN控制器将通过置位集中接收状态寄存器中的相应位产生中断,中断服务程序将该报文从CAN控制器的寄存器复制到RAM中,并通过置位CAN命令寄存器的相应位来释放CAN控制器的接收寄存器。
本书的立足点是基础化、实用化、前沿性。首先重点介绍常用的SJA1000 CAN独立控制器开发CAN总线系统的方法;然后用较少的篇幅介绍CAN总线的协议;接着用较大的篇幅介绍基于32位微处理器和MCP2510控制器开发CAN最小系统节点,以及多种CAN智能节点的方法,主要包括模拟量输入CAN节点模块、数字量输入CAN节点模块、模拟量输出CAN节点模块、数字量输出CAN节点模块,以及相关的智能CAN总线网关的开发方法;其次介绍了CAN应用层协议;最后介绍使用文中设计的各种CAN总线节点模块开发实时工业网络控制系统的方法及步骤。
本书是国内首次介绍嵌入式领域中最常用的SPI接口CAN控制器MCP2510相关知识的书籍,填补了这一领域的空白,书中所有的CAN总线系统开发实例都是基于此控制器的。本书也是国内首次将32位嵌入式处理器与MCP2510结合开发CAN总线系统的书籍,从而将工程师从"51"时代带入到嵌入式时代,使工程技术人员利用嵌入式系统更容易开发CAN总线系统。
本书可作为大专、本科院校自动化、机电、仪器仪表、自动控制等专业工业控制网络等相关课程的教材或教学参考书,也可供从事工业控制网络系统设计和产品研发的工程技术人员参考。
《CAN总线技术与应用系统设计》根据作者龙志强、李晓龙、窦峰山、郝阿明多年来从事CAN总线教学和科研实践经验编写而成。在介绍CAN总线基本概念、技术规范基础上,介绍了CAN总线控制器SJA1000和典型CAN总线驱动器的应用,详细介绍了3种典型的具有CAN总线接口的微处理器及应用,重点对CAN总线与计算机的接口进行了分析与设计,论述了CAN总线的工程应用,给出了CAN总线的应用层协议,最后介绍了CAN总线的工程应用案例。书中所给出的相关原理图和示例程序可供读者应用时参考,这些资料已通过了实践验证。每章配有习题,以指导读者进行深入的学习。
《CAN总线技术与应用系统设计》不仅可供有关工程技术人员参考,也可作为自动化专业高年级本科生、相关专业控制类研究生的教材。