打造国内最大的IC交易平台
技术资料 行业资讯 PDF资料 IC价格 IC替换 缩略语 IC供应 IC采购
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完全兼容。

    ● 微处理器可以选用PHILIPS的P87C51x2,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支持SJA1000芯片和P97C591芯片的内联CAN驱动程序,免去了大量的芯片编程工作,可大大缩短项目的开发周期。

    

    3 向网络供电的DeviceNet节点

    

    3.1 应用范围

    

    DeviceNet中的供电节点

    采用5线通讯

    高速数据通讯

    可以向网络中的其他节点供电

    

    3.2 基本电路框图

    

    

    

    图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、共模扼流圈、极性保护,以防止雷击、浪涌、极性反接,起良好的保护效果。

    

     微处理器可以选用PHILIPS的P87C58x2芯片,内含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:SJA1000标准波特率

    

    SJA1000独立CAN控制器的CAN通讯波特率由寄存器BTR0、BTR1、晶振等参数共同决定。下表列出了一组推荐的BTR0、BTR1设置值,标注*符号的值是由CiA协会推荐的标准值。

    

    

    

    建议采用16MHz作为SJA1000的工作晶振。用户也可以根据SJA1000器件配套的参考资料自行计算合适的寄存器BTR0、BTR1设置值。

    

    P87C591的CAN通讯波特率采用同SJA1000一致的计算方法。

    

    参考资料:

    

    《SJA1000独立的CAN控制器》

    《SJA1000独立的CAN控制器应用指南》

    《确定SJA1000 CAN控制器的位定时参数》