CAN-bus应用方案


1 概述
    作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-bus已被广泛应用到各个自动化控制系统中。例如,在汽车电子、自动控制、智能大厦、电力系统、安防监控等各领域,CAN-bus都具有不可比拟的优越性。
    根据各个不同应用领域的设计特点,本文提出了几种CAN-bus应用系统的硬件方案。
    2 基本CAN-bus节点
    2.1 应用范围
    ● 各种自动控制网络,比如楼宇自动化、仪表自动控制、数据远程传输、电机控制等
    ● 可实现远距离传输(≤ 10KM),工作速率可调(1Mbps≥ 通讯速率≥ 5Kbps)
    ● 升级原有的RS-485网络
    ● 2线式通讯
    2.2 基本电路
    图1 基本CAN节点原理图
    2.3 电路特点
    可与应用广泛的80C51系列单片机直接接口,电路简单,使用方便;
    采用DC-DC模块与光电隔离器件,可抑制电磁干扰,保护系统电路不受网络影响;
    2线式通讯,各总线节点需自备电源供应;
    根据通讯速率调整斜率电阻R33的值,一般在16K~140K之间。
    2.4 元件选型
    ● CAN控制器采用PHILIPSSJA1000,工作于BasicCAN模式或PeliCAN模式下,可直接与INTEL的80C51核MCU或MOTOROLA的MCU接口。
    ● CAN收发器采用PHILIPS的P82C250/251,可以在低至5Kbps的传输速率下工作,满足远距离传输数据时的低速率要求。
    ● 采用高速光耦来实现收发器与控制器之间的电气隔离,保护控制系统电路。光耦选择高速器件,推荐型号:6N137或TLP113,以满足在最高速率1Mbps下的电气响应。
    ● 为了保证系统能够可靠工作,并提高抗干扰能力,电路中采用隔离型DC/DC模块向收发器电路供电。推荐采用定电压输入隔离非稳压单输出型DC/DC模块,隔离电压≥1000VDC,推荐型号: B0505S-1WB0505LS-1W,可以向收发器电路提供≤200mA的电流;也可以选择IB0505LS-W75,可向收发器电路提供稳定、低噪声的5VDC,输出电流≤150mA,并带有输出短路保护,且引脚与B0505LS-1W完全兼容。
    ● 微处理器可以选用PHILIPSP87C51X2,6 Clock下的最高时钟频率可达30MHz,具有3个定时/计数器,双DPTR,足以满足CAN-BUS在最高速率1Mbps下的应用。
    2.5 软件流程
    对于图1所示的基本CAN节点,其控制软件应按模块化设计,一般由以下几个部分组成:
    SJA1000初始化模块
    SJA1000接收数据模块
    SJA1000发送任务模块
    SJA1000错误处理模块
    其他系统任务模块
    
    根据所处理任务的不同,“其他系统任务模块”也有所不同。在这里,关于SJA1000的控制模块程序设计,应是系统的重点之一。各模块之间的衔接关系如下图所示:
    
    
    
     图2 基本CAN节点软件流程
    
    对于具有复杂功能的项目开发,建议采用RTOS(实时操作系统)作为任务调度的核心程序,以节约开发时间,提高系统的实时性。例如,可以采用KEIL C51中内嵌的实时多任务操作系统RTX51,或者采用uCOSII操作系统。其中,RTX51支持
    
    图3 DeviceNet中的向网络供电节点功能框图
    
    5线式通讯(信号线CAN_H、CAN_L;屏蔽线DRAIN、电源线CAN_V+、CAN_V-)
    主干线/分支线结构
    最多可支持64个节点
    同时支持网络供电(传感器)和自供电(执行器)设备
    可选数据通讯速率(125Kbps、250Kbps、500Kbps)
    可调整的电源结构,大电流容量,以满足各分类应用的需要
    
    3.4 元件选型
    
    3.5 软件开发流程框图
    
    ● CAN控制器采用
PHILIPS的独立CAN控制器SJA1000芯片。如果仅作为小型传感器或实现简单功能电路,可以采用集成CAN控制器的PHILIPS P87C591微处理器芯片。
    
    ● CAN收发器选用PHILIPS的高速CAN收发器TJA1040TJA1050,具有速率高、低功耗、电磁性能优越等特点,自检错能力强,还可工作于睡眠模式。
    
    ● 采用高速光耦来实现收发器与控制器之间的电气隔离,保护系统电路。光耦选择高速器件,推荐型号:6N137或TLP113,以满足在最高速率500Kbps下的电气响应。
    
    ● 根据应用系统消耗电流的大小、DeviceNet网络电源标准来选择电源模块电路。第1组+5V电源,如消耗电流≤50mA时,可采用线性稳压器,比如LM7805等;如电路消耗电流≥50mA时,采用开关电源作为电源供应部件,比如LM2575MC34063等。第2组+5V电源,可采用DC-DC模块实现。系统电源与网络电源之间还应该考虑采取合理的电气隔离措施。根据以上因素,整个电源模块电路可选用一体式的DC-DC模块,例如:宽压输入定压输出隔离模块WRD242405等
    
    用户也可在输出电流满足DeviceNet协议要求的前提下自行选择DC-DC电源。为了确保该系统的安全,建议在DC/DC模块及系统的输入和输出端接TVS、共模扼流圈、极性保护,以防止雷击、浪涌、极性反接,起良好的保护效果。
    
    ● 微处理器可以选用PHILIPSP89C668芯片,内含64K FLASH、8K RAM,可工作于6 Clock模式,晶振频率可达30MHz,足以满足在DeviceNet最高波特率500Kbps下大量的数据传输、数据采集、DeviceNet协议解析等复杂功能的应用要求。
    
    基于DeviceNet协议的控制软件开发,主要难点在于编写符合DeviceNet协议的程序软件。为提高开发效率,可以选择购买DeviceNet控制软件模块;这些软件模块由C语言编写,易于理解,移植方便。
    
    需要注意:DeviceNet节点中主节点、从节点的设计模型并不相同。一般来说,DeviceNet软件开发流程如下所示:
    
    
    
    图4 DeviceNet节点软件开发流程
    
    4 由网络供电的DeviceNet节点
    
    4.1 应用范围
    
    DeviceNet中由网络供电的节点
    5线通讯
    高速数据通讯
    无需独立输入电源
    可用作为通用CAN-BUS节点
    适合于传感器设备、微型执行器设备
    
    4.2 基本电路框图
    
    
    
    图5 DeviceNet中的由网络供电节点功能框图
    
    4.3 元件选型
    
    CAN控制器采用PHILIPSSJA1000芯片。如果针对小型应用系统的设计要求,可以采用集成CAN控制器的PHILIPS P87C591微处理器芯片。
    
    CAN收发器选用PHILIPS的高速CAN收发器TJA1040TJA1050,具有速率高、低功耗、电磁性能优越等特点,自检错能力强,可工作于睡眠模式。
    
    采用高速光耦来实现收发器与控制器之间的电气隔离,保护系统电路。光耦选择高速器件,推荐型号:6N137或TLP113,以满足在最高速率500Kbps下的电气响应。
    
    采用DC-DC模块向应用系统供应电源,可有效抑制干扰,提高可靠性。由于网络电源存在电压波动大(电压波动>±30%)、干扰信号多等缺点,因此,应该选择宽电压输入隔离(隔离电压≥1000VDC)稳压单输出型DC/DC模块给系统供电。推荐型号:金升阳的PH2405S-01(Vin:9~27VDC,Vout:5VDC,Iout :100~200mA);或者,根据具体应用系统内核所需功率不同,也可选用PH2405D-03(Vin:9~27VDC,Vout:5VDC,Iout :≤500mA)。为确保该系统的安全,建议在DC/DC模块及系统的前端接TVS、共模扼流圈、极性保护,以防止雷击、浪涌、极性反接,起良好的保护效果。
    
     微处理器可以选用PHILIPSP87C58X2芯片,内含32K EPROM,可工作于6 Clock模式,晶振频率可达30MHz,满足DeviceNet的通讯任务编程要求。
    
    4.4 软件开发流程框图
    
    软件开发流程与图4相同。
    
    5 推荐开发工具
    
    仿真器: 采用HOOKS技术的TKS系列仿真器 等
    调试工具 DP-51下载实验仪、DP-668下载实验仪 等
    调试环境: Keil C51、TKStudio 等
    实时多任务操作系统: Keil RTX51、uCOSII 等
    CAN分析工具: ZLGCAN接口卡、ZLGCANTEST通用测试软件
    分析软件: CANalyst 分析软件
    
    
    
    
    
    附录C:
    
    建议采用16MHz作为
SJA1000的工作晶振。用户也可以根据SJA1000器件配套的参考资料自行计算合适的寄存器BTR0、BTR1设置值。
    
    P87C591的CAN通讯波特率采用同SJA1000一致的计算方法。
    
    参考资料:
    
    《SJA1000独立的CAN控制器》
    《SJA1000独立的CAN控制器应用指南》
    《确定SJA1000 CAN控制器的位定时参数》
    

COPYRIGHT(C) 2011 厦门永宏亚得机电科技有限公司版权所有(闽ICP备05025945号) ALL RIGHTS RESERVED?

电话: 0592-5190891 传真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 厦门市海沧区兴港六里17号2607室 邮编:361009 联系人:翟先生