基于CAN总线分布式网架健康状态监测系统
相对于传统的485总线来讲,控制器局域网CAN(Controller Area Network)作为现场总线的一种,以其分时多主、非破坏性总线仲裁和自动检错重发等灵活、可靠的通信技术解决了485总线现场调试困难、开发周期长等问题[1]。尤其在较为艰苦的安装环境中,其高效的现场调试性能显得尤为实用。作为一种分散式、数字化、双向多点、具有高速率高可靠性特点的通信系统,CAN可以构建灵活的多主通讯机制,也可以建立主从式结构,而且这两种方式下的硬件物理联接完全相同。其自动进行数据编码、CRC冗余校验、出错自动重发的功能保证了数据的准确率,某一节点严重出错时能自动脱离总线保证了系统的稳定性,且其具有极强的带负载能力,可驱动多达110个节点,可满足本系统高速、精确、多负载的要求。
1 采集卡硬件电路的设计
1.1 CAN总线分布式系统结构设计
系统结构如图1所示。本系统由上位监控PC机、CAN总线适配卡和控制单元三部分组成。上位监控PCs机采用IBM-PC兼容机,主要负责对系统数据的接收与管理、控制命令的发送以及各控制单元动态参数和设备状态的实时显示;CAN总线适配卡可以使PC机方便地连接到CAN总线上;控制单元以单片机为核心,主要负责对现场的环境参数和设备状态进行监测,对采集来的数据进行打包处理并将处理过的数字信号通过CAN通信控制器SJA1000送入CAN总线。
1.2 控制单元模块设计及关键问题的解决
控制单元的主要功能是将现场采集的模拟信号转换成数字信号,通过CPU处理后再由CAN总线控制器打包送上CAN总线以便上位机接收处理;接收上位机控制信号,实现现场控制的具体操作。具体需要解决的问题为:①CAN模块设计;②A/D模块设计。
1.2.1 CAN模块设计
控制单元以8位单片机AT89C51为核心,选用器件SJA1000作为CAN控制器,并选用芯片82C250和6N137作为CAN控制器接口和光耦隔离。硬件电路如图2所示。
系统采用的CAN总线通信控制器SJA1000是PHILIPS公司生产的一种独立式CAN器件,其原理框图如图3所示。它与CAN2.OB相兼容[1],同时支持11位(BasicCAN模式)和29位(PeliCAN模式)识别码。
图2中AT89C51单片机的ALE、WR、RD端分别控制SJA1000的ALE/AS、WR、RD端,地址和数据线ADO~AD7由P0口分时复用实现。SJA1000的中断请求信号INT在中断允许且有中断发生时,由高电来此跳变到低电平,所以INT和AT89C51的INT0直接相连。片选信号CS由GAL译码电路控制,当CS接到低电平时,SJA1000被选中,CPU可对SJA1000进行读/写操作。为了增强控制节点的抗干扰能力,防止线路间串扰,SJA1000通过光耦6N137与82C250相连,从而使总线上各个CAN节点之间实现隔离,以保护CAN控制器正常工作。82C250是CAN总线收发器,是CAN控制器SJA1000正常工作与CAN总线的接口器件,对CAN总线以差分方式发送。其引脚RS用于选择82C250的工作模式(高速、斜率控制或等待)。RS脚接地,82C250工作于高速方式,RS脚串接一个电阻R后再接地,若82C250处于CAN总线的网络终端,总线接口部分必须加一个120Ω的匹配电阻,以保护82C250免受过流的冲击。
1.2.2 A/D模块设计
A/D芯片选用12位高速采集芯片AD574。在本设计中,A/D模块的功能是将外部模拟信号通过AD574转换成数字信号后并行输入到AT89C51,然后AT89C51将其打包,并行输出至CAN总线通信控制器SJA1000,经总线收发器至CAN总线。其监控电路采用DS1232,它具有电源监控、手动复位和看门狗功能,还能同时输出高低电平的两路复位信号,分别输出至AT89C51和SJA10
- 对TTCAN的分析(05-26)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)
- μC/OS-II的多任务信息流与CAN总线驱动(07-11)
- 采用CAN总线实现DSP芯片程序的受控加载(11-08)
- 基于DSP的电动汽车CAN总线通讯技术设计(10-08)
- 基于DSP的CANopen通讯协议的实现(01-18)