文档介绍:SJA1000 简介 2010-3-17 5:57:00 PCA82C250 提供对总线的差动发送和对 CAN 控制器的差动接收功能,也增大了通信距离,提高了系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI) ,实现了热防护等功能。发送子程序负责节点报文的发送,由 CAN 控制器 SJA1000 独立完成,将命令寄存器里的发送请求标志置位,即可发送 SJA10 00发送缓冲区中的报文。 CAN 总线及 CAN 控制器 SJA1000 简介 CAN总线最初是德国Bosc h公司在1986 年为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种支持分布式实时控制系统的串行数据通讯总线。 CAN 总线与其它通信网的显著不同之处在于: (1) 报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不收的弃用。其好处是可线上网下网、即插即用和多站接收。(2) 特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。另外 CAN 总线采用短帧结构,借助接收滤波的多地址帧传送, 受干扰概率低,每帧信息都有 CRC 校验及其它检错措施。响应远程数据请求,配置灵活,具有全系统的数据相容性。节点数主要取决于总线驱动电路,目前最多可达 110 个节点。CAN 总线符合 ISO11898 标准,通信速率高, 最大传输速率可达1Mbit/S ,最大传输距离为 10km ,传输介质可为双绞线。基于 CAN 总线以上的特点,把它应用于系统分布比较分散且需要在同一总线上挂接多个节点的场合是非常适合的。目前广泛流行的 CAN 总线器件有两大类:一类是独立的 CAN 控制器,如 PhilipS 公司的 PCA82C200 ,SJA1000 及Intel82256/82257 等;另一类是带有在片 CAN 的微控制器,如 P8XC582 等。其中 Philips 公司的 PCA82C20 0 是符合 CAN2. 0A协议的总线控制器, SJA1000 是它的替代产品,它是应用于汽车和一般工业环境的独立 CAN 总线控制器。具有完成 CAN 通信协议所要求的全部特性。经过简单总线连接的 SJA1000 可完成 CAN 总线的物理层和数据链路层的所有功能。其硬件与软件设计和 PCA82C200 的基本 CAN 模式(AN) 兼容。同时, 新增加的增强 CAN 模式(PeliCAN) 还可支持 CAN2. 0B协议。根据当前市场开发工具和课题的实际需要,选用 SJA1000 作为 CAN 控制器,同时使用了 CAN 控制器接口芯片 PCA82C250 。SJA1000 有两种工作模式: 基本模式和增强模式。在基本模式下, SJA1000 只可收发标准数据帧(标准数据帧的标识符为 11位),且错误报警的极限值不能修改;在增强模式下, SJA1000 既可接收标准数据帧,也可接收扩展数据帧(扩展数据帧的标识符为 29位),可修改错误报警的极限值,并且 SJA1000 具有更加灵活的滤波方式,能够根据数据帧的标识符有选择地接收一些数据帧。另外,增强模式下的 SJA1000 能够进行自检,即可通过自发自收一组报文来判断该控制节点是否正常地挂在 CAN 总线上。使用者所要做的主要工作是 S JA1000 的初始化,收发报