CAN总线智能节点设计
时间:2009-02-20 阅读:724
CAN 总线系统智能节点采用89C51 作为节点的微处理器,在CAN 总线通信接口中采用PHILIPS 公司的SJA1000 和82C250 芯片。SJA1000 是独立CAN 通信控制器,82C250 为高性能CAN 总线收发器。
电路主要由四部分所构成:微控制器89C51、 独立CAN 通信控制器SJA1000 、CAN 总线收发器82C250 和高速光电耦合器6N137 。微处理器89C51 负责SJA1000 的初始化,通过控制SJA1000 实现数据的接收和发送等通信任务。SJA1000 的AD0~ AD7 连接到89C51 的P0 口,CS 连接到89C51 的P2.0, P2.0 为0 的CPU 片外存贮器地址可选中SJA1000, CPU 通过这些地址可对SJA1000 执行相应的读写操作。SJA1000 的/RD、/ WR、ALE 分别与89C51 的对应引脚相连,/INT 接89C51 的/INT0。 89C51 也可通过中断方式访问SJA1000。
为了增强CAN 总线节点的抗*力,SJA1000 的TX0 和RXO 并不是直接与82C250 的TXD 和RXD 相连,而是通过高速光耦6N137 后与82C250 相连,这样就很好的实现了总线上各CAN 节点间的电气隔离。不过应该特别说明的一点是光耦部分电路所采用的两个电源VCC 和VDD 必须*隔离,否则采用光耦也就失去了意义。电源的*隔离可采用小功率电源隔离模块或带多5V 隔离输出的开关电源模块实现。这些部分虽然增加了节点的复杂,但是却提高了节点的稳定性和安全性。
82C250 与CAN 总线的接口部分也采用了一定的安全和抗干扰措施。82C250 的CANH 和CANL 引脚各自通过一个5 的电阻与CAN 总线相连,电阻可起到一定的限流作用,保护82C250 免受过流的冲击。CANH 和CANL 与地之间并联了两个30P 的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。另外在两根CAN 总线接入端与地之间分别反接了一个保护二极管,当CAN 总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。82C250 的Rs 脚上接有一个斜率电阻,电阻大小可根据总线通讯速度适当调整一般在16K 140K 之间。
1.CAN-bus 网络采用总线式拓朴结构,在一个网络上至少需要有2个CAN-bus 节点 存在。在总线的2 个终端,各需要安装1 个120&\#8486; 终端电阻;如果节点数目大于2, 中间节点就不要求安装120&\#8486; 终端电阻。CAN 总线的连接电缆一般使用双绞线,对抗干扰要求较高可以使用屏蔽双绞线或者光纤。
2.can总线不需要HUB,理论上总线上的节点数zui多可达110个。扩展can总线的设备有中继器、网桥等。
由于CAN总线具有通讯速率高、可靠性高、连接方便和性能价格比高等诸多特点, CAN的应用范围遍及从高速网络到低成本的多线路网络。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统、工业自动化、建筑物环境控制、机床或电梯控制、医疗设备等领域得到了较为广泛的应用。
CAN 的信号传输采用短帧结构,每一帧的有效字节数为 8个,因而传输时间短、受干扰的概率低。当节点严重错误时,具有自动关闭的功能以切断该节点与总线的,使总线上的其它节点极其通信不受影响,具有较强的抗*力和检错能力。CAN控制器支持四种不同的CAN协议类型:数据帧、远程帧、出错帧和超载帧。
CAN 支持多主方式工作,网络上任何节点均可在任意时刻主动向其它节点发送信息,支持点对点、一点对多点和全局广播方式接收/发送数据。它采用总线仲裁技术,当出现几个节点同时在网络上传输信息时,优先级高的节点可继续传输数据,而优先级低的节点则主动停止发送,从而避免了总线冲突。