2 CAN总线通信硬件实现
通常,1个完整的CAN节点应该包括以下3个部分:微控制器(MCU)、CAN控制器、CAN收发器。在本系统中,由于XC2200单片机内部集成了CAN控制器,因此在外围电路设计上只需考虑CAN收发器[3]。
本系统CAN收发器采用PCA82C250,PCA82C250与CAN总线的接口部分采用了安全和抗干扰措施。CANH和CANL与地之间并联了2个30 pF的小电容,可以滤除总线的高频干扰。另外,在2根CAN总线接入端与地之间分别反接1个保护二极管,当CAN总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。PCA82C250的Rs脚上接有1个斜率电阻,电阻大小可根据总线通信速度适当调整,一般在16~140 kΩ之间。
用光电隔离芯片6N137将CAN控制器和收发器PCA82C250隔离, 以便有效地增加通信距离和抗干扰能力。CAN 总线物理层接口电路如图2所示,隔离器把单片机的TXD、RXD与PCA82C250的TXD、RXD分别连接,然后把PCA82C250的CANH和CANL脚分别接到CAN 总线的CANH和CANL上。
3 MultiCAN模块及网关功能实现
3.1 MultiCAN模块[4]
本方案采用XC2267单片机,该单片机MultiCAN模块拥有5个CAN节点和128个信息对象。本方案只使用其中4个CAN节点,每个节点都连接独立的CAN收发器,构成CAN通道。在MultiCAN模块中,每个CAN节点可以被独立地配置,且每个节点所在的CAN总线波特率可以不同。
利用该模块的Gateway模式可方便地实现CAN网关功能,完成不同CAN总线上的数据交换[5]。这个过程无需CPU参与,有效减轻了CPU负荷,而使硬件承接了更多的工作量,改进了CAN网关设备的实时性能。
网关模式以信息对象为基础,在该模式下,数据在2个信息对象之间传递,从而实现信息对象所隶属的CAN节点之间的数据交换。利用信息对象之间的交换机制可以在任意2个CAN节点之间建立起网关,通常需要指明信息对象的具体传输方向(接收或发送)。
该单片机MultiCAN模块拥有多达128个信息对象,所有的CAN节点共享有这些信息对象,每个对象都可独立地分配给MultiCAN模块内任1个CAN节点。每个CAN节点都有1个相应的双向信息对象列表,通过这个列表来管理该节点的信息对象,每个CAN节点只能把CAN信息储存在位于自身列表中的信息对象中。
3.2 CAN网关软件设计
3.2.1 PC端网关配置软件
利用MFC编写PC端网关配置软件。PC机通过异步串行通信接口连接到网关设备,对其进行配置,配置即时生效。其配置界面如图3所示。
本文关键字:单片机 综合-其它,单片机-工控设备 - 综合-其它
上一篇:单片机掉电保护电路设计方案