天线|RF射频
直播中

宋明星

7年用户 144经验值
私信 关注
[问答]

求大神分享几种CAN-bus应用系统的硬件方案

本文提出了几种CAN-bus应用系统的硬件方案。

回帖(1)

李桂英

2021-5-28 10:21:06
  1 概述
  作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN-bus已被广泛应用到各个自动化控制系统中。例如,在汽车电子、自动控制、智能大厦、电力系统、安防监控等各领域,CAN-bus都具有不可比拟的优越性。
  根据各个不同应用领域的设计特点,本文提出了几种CAN-bus应用系统的硬件方案。
  2 基本CAN-bus节点
  2.1 应用范围
  ● 各种自动控制网络,比如楼宇自动化、仪表自动控制、数据远程传输、电机控制等
  &n bsp; ● 可实现远距离传输(≤ 10KM),工作速率可调(1Mbps≥ 通讯速率≥ 5Kbps)
  ● 升级原有的RS-485网络
  ● 2线式通讯
  2.2 基本电路
  
  图1 基本CAN节点原理图
  2.3 电路特点
  可与应用广泛的80C51系列单片机直接接口,电路简单,使用方便;
  采用DC-DC模块与光电隔离器件,可抑制电磁干扰,保护系统电路不受网络影响;
  2线式通讯,各总线节点需自备电源供应;
  根据通讯速率调整斜率电阻R33的值,一般在16K~140K之间。
  2.4 元件选型
  ● CAN控制器采用PHILIPS的SJA1000,工作于BasicCAN模式或PeliCAN模式下,可直接与INTEL的80C51核MCU或Motorola的MCU接口。
  ● CAN收发器采用PHILIPS的P82C250/251,可以在低至5Kbps的传输速率下工作,满足远距离传输数据时的低速率要求。
  ● 采用高速光耦来实现收发器与控制器之间的电气隔离,保护控制系统电路。光耦选择高速器件,推荐型号:6N137或TLP113,以满足在最高速率1Mbps下的电气响应。
  ● 为了保证系统能够可靠工作,并提高抗干扰能力,电路中采用隔离型DC/DC模块向收发器电路供电。推荐采用定电压输入隔离非稳压单输出型DC/DC模块,隔离电压≥1000VDC,推荐型号: B0505S-1W或B0505LS-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收发器TJA1040或TJA1050,具有速率高、低功耗、电磁性能优越等特点,自检错能力强,还可工作于睡眠模式。
  ● 采用高速光耦来实现收发器与控制器之间的电气隔离,保护系统电路。光耦选择高速器件,推荐型号:6N137或TLP113,以满足在最高速率500Kbps下的电气响应。
  ● 根据应用系统消耗电流的大小、DeviceNet网络电源标准来选择电源模块电路。第1组+5V电源,如消耗电流≤50mA时,可采用线性稳压器,比如LM7805等;如电路消耗电流≥50mA时,采用开关电源作为电源供应部件,比如LM2575、MC34063等。第2组+5V电源,可采用DC-DC模块实现。系统电源与网络电源之间还应该考虑采取合理的电气隔离措施。根据以上因素,整个电源模块电路可选用一体式的DC-DC模块,例如:宽压输入定压输出隔离模块WRD242405等。用户也可在输出电流满足DeviceNet协议要求的前提下自行选择DC-DC电源。为了确保该系统的安全,建议在DC/DC模块及系统的输入和输出端接TVS、共模扼流圈、极性保护,以防止雷击、浪涌、极性反接,起良好的保护效果。
  ● 微处理器可以选用PHILIPS的P89C668芯片,内含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控制器采用PHILIPS的SJA1000芯片。如果针对小型应用系统的设计要求,可以采用集成CAN控制器的PHILIPS P87C591微处理器芯片。
  CAN收发器选用PHILIPS的高速CAN收发器TJA1040或TJA1050,具有速率高、低功耗、电磁性能优越等特点,自检错能力强,可工作于睡眠模式。
  采用高速光耦来实现收发器与控制器之间的电气隔离,保护系统电路。光耦选择高速器件,推荐型号: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一致的计算方法。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分