基于CAN总线分布式网架健康状态监测系统

发布者:数据迷航者最新更新时间:2012-02-20 来源: dzsc关键字:CAN总线  分布式网架  状态监测系统 手机看文章 扫描二维码
随时随地手机看文章
  在某大网架结构的建筑中,由于网架结构的特殊性及其所处地理位置在沿海台风多发地带,因此需要设计高速数据采集系统对网架结构的健康状况进行实时监测,并对数据进行实时分析和评估。由于需要对网架上受力情况进行多点监测,考虑到硬件集中控制扩展能力差且在现场施工有较大的布线困难,因此本系统采用目前广泛应用的分布式系统设计方案,将各个控制单元分布在现场各采集点上。为了实现分布式系统的监测与控制功能,需要建立良好的通讯方式,以完成系统主机与各智能单元之间的信息交换与通信。根据本数据采集系统的特点,其通信系统应具有良好的可靠性、适应性、可扩展性和简单的连接方式,并能满足长距离传输的需要。由于此数据采集系统节点数多(100路)、对信号传输速度要求高且误码率低,利用485总线搭建数据采集系统的传统方式,其最大控制结点只能有32个,在超过lkm的布线结构中传输速度只有lOOkbps,且“数据碰撞”和“死锁”等问题不易解决,因此采用485总线显然达不到设计要求。

  相对于传统的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和SJA1000的复位端,以满足本次设计的要求。 [page]

2 软件设计

  本健康监测系统要求软件部分具有现场数字信号显示、检测并驱动现场信号设备等功能。在本设计中主要完成两部分任务:第一是PC机部分的上位机显示,主要通过集成开发环境软件设计出上位机监视显示界面,其重点在于PC机与现场节点间的通信;第二是现场节点控制设计,即设备驱动功能的实现,目的是能接收上位机的控制信号,使现场节点按既定的工作方式工作。

  根据系统的工作要求,工作重点包括CAN总线通信程序、看门狗的初始化、A/D采样控制程序、执行机构控制程序和控制算法等,主要流程如图4所示。限于篇幅,这里着重介绍SJA1000初始化程序设计、发送程序设计、接收程序设计以及A/D转换程序的设计。

2.1 SJA1000初始化设计

  初始化流程图如图5所示。AT89C51上电或复位后,调用复位程序给SJA1000的复位端(RST)提供复位信号,使SJA1000进入复位模式。SJA1000的初始化只有在复位模式下才可以进行。初始化程序主要完成以下寄存器的设计:(1)通过对SJA1000的时钟分频寄存器定义,判断是使用BassicCAN模式还是使用PeliCAN模式;是否使能CLOCKOUT及输出时钟频率;是否使用旁路CAN输入比较器;TX1输出是否采用专门的接收中断。(2)通过写验收码寄存器和验收屏蔽寄存器定义接收报文的验收码,以及对报文和验收码进行比较的相关位定义验收屏蔽码。(3)通过写总线定时寄存器定义总线的位速率、位周期内的采样点和一个位周期内的采样数量。(4)通过写输出寄存器定义CAN总线输出管脚TX0、TX1的输出模式和输出配置。(5)清除SJA1000的复位请求标志,进入正常工作模式,这样SJA1000方可进行报文的发送和接收。

2.2 发送和接收程序设计

  单片机将要发送的报文送到SJA1000的发送缓冲区,然后将SJA1000命令寄存器的发送请求标志位(TR)置位,发送过程由SJA1000独立完成。在新报文写入发送缓冲区之前,必须检查状态寄存器的发送缓冲器的状态标志位(TBS),若为“1”,则发送缓冲器被释放,可将新的报文写入发送缓冲器;否则,发送缓冲器被锁定,新的报文不能被写入,发送程序可以采用中断方式和查询方式。在本次设计中,采用的是查询方式。

  报文的接收也是由SJA1000独立完成的。收到的报文通过接收滤波器存放在FIFO中,第一条报文进入接收缓冲器,由状态寄存器的接收缓冲器状态标志位(RBS)和接收中断标志位(RI)标出。单片机从接收缓冲器取走一条报文后,要通过置位SJA1000的命令寄存器来释放接收缓冲器。在本次设计中,接收程序的设计采用的是中断方式。

2.3 A/D转换设计

  在本次设计中采用的是12位逐次逼近型A/D转换器AD574。以查询方式设计程序,通过连续查询A/D转换结束标志位判断转换是否结束。当转换结束时,将数据送人CPU中进行处理,并将处理后的数据保存至6264芯片。

  基于CAN总线设计的高速分布式数据采集系统具有一定的使用价值,而且价格低廉、可靠性高。同时系统还具有可扩展性,在需要多通道采集的情况下只需添加少量的采样保持芯片即可。通过对该总线系统的通信能力进行测试,并将上述系统置于强干扰环境中进行连续实验,发现使用的通信速率完全可以保证数据的实时可靠传输,其通信效果完全满足要求,同时上位机和底层节点也能够保证相互间的协调工作。

关键字:CAN总线  分布式网架  状态监测系统 引用地址:基于CAN总线分布式网架健康状态监测系统

上一篇:现场总线技术在油库监控中的应用
下一篇:基于现场总线技术的网络建设

推荐阅读最新更新时间:2024-05-02 21:55

基于CAN总线分布式水下航行器控制器的设计方法
本文提出了一种基于 CAN 总线的分布式水下航行器控制器的设计方法,主要描述了其硬件总体设计方案和实现办法。控制器作为分布式控制系统的一个节点,与其他节点之间以CAN总线连接并形成网络,相互传输数据和控制命令,每个节点都有主控计算机,以实现计算任务的分散化。控制器以基于ARM架构的MCU为控制计算机,搭载隔离模块、CAN控制器和收发器、数据存储模块、I/O接口模块、RS232模块等 电路 。该控制器的特点是体积和功耗小,通讯功能强,可实现智能控制、数据采集处理,故障发现等控制功能。 水下自主航行器是可移动水下探测和水下作业工程装备的统称,是进行海洋考察与开发的重要工具。它能够完成水下地形勘探、侦测、水下危险环境作业等任务。
[单片机]
基于<font color='red'>CAN总线</font>的<font color='red'>分布式</font>水下航行器控制器的设计方法
汽车CAN总线概述及其故障诊断
 1. 汽车CAN总线技术简介    CAN总线技术是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。    汽车CAN总线技术通过遍布车身的传感器,汽车的各种行驶数据会被发送到“总线”上,这些数据不会指定
[嵌入式]
CAN总线在混合动力汽车中的应用研究
引言     上世纪90年代以来,随着对汽车功能要求的不断提高和汽车控制技术的发展,在汽车设计领域,CAN总线几乎成为一种必须采用的技术手段,不仅在一些高级轿车,而且在经济型轿车中进入了实用化阶段。CAN总线规范是目前唯一有国际标准的现场总线,并得到Intel、Motorola、Philips、TI、Infineon等许多半导体制造厂商的支持,推出各种集成有CAN协议的产品。     CAN总线不仅用于汽车电气系统的现场总线,而且由于网络控制的发展以及它所具有的优秀性能和高可靠性而越来越受到工业界的重视。 1 CAN总线的特点及通信协议     CAN总线是一种串行数据通信协议。在CAN总线接口中集成了CAN协议的
[嵌入式]
基于ARM的CAN总线智能节点的设计
CAN(Controller Area Network)即控制器局域网,CAN总线是国际上应用最广泛的现场总线之一。它最早是由德国Bosch公司推出的,CAN通信协议是一种用于汽车内部测量与执行部件之间的数据通信协议。 作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN总线已被广泛应用于各个自动化控制系统中。例如,在汽车电子、自动控制、智能大厦、电子系统、安防监控等各领域中,CAN总线具有不可比拟的优越性。本设计给出CAN总线节点方案。它采用内置多路CAN总线控制器PLC2294作为主控制器,使得该节点体积小、功耗低、抗干扰性好,因而特别适用于汽车、工业控制以及医疗系统和容错维护总线中。 1 硬件
[网络通信]
CAN总线详细教程,精心编制,不可错过(上)
                                                                                       
[嵌入式]
CAN总线轿车车窗智能控制系统实现的原理
现在各中高档轿车都安装有电动车窗,按钮控制车窗玻璃的升降。如果车窗无智能,司机在没有注意到乘客的手或物体伸出窗口的情况下按下按钮,乘客容易被车窗夹伤。为了安全,很多乘车都采用电动防夹车窗。在充分研究有关CAN总线在汽车电子系统中的应用和电动车窗防夹方案的基础上,提出一种基于CAN总线的轿车车窗智能控制系统的设计方案,实现车窗在正常工作模式下防夹控制功能和紧急情况下(异常工作模式)快速升降车窗控制功能。 目前,以微控制器为代表的汽车电子在整车电子系统中应用广泛,汽车控制正由机电控制系统转向以分布式网络为基础的智能化系统。CAN总线是一种支持分布式和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域广泛应用。作为目前最具应用
[嵌入式]
CAN总线镍氢电池管理解决方案
1 前言   蓄电池剩余容量的准确测量在电动汽车的发展中一直是一个非常关键的问题。有效的电池管理系统有利于电池的寿命提高。所以对蓄电池SOC的准确估计成为电动车电池能量管理系统的中心问题。如果能够正确估计蓄电池的SOC,就能合理利用蓄电池提供的电能,延长电池组的使用寿命。   方案采用总线式方式组网,应用现场总线完成各个节点之间的数据交换。在分布式方案中,多能源控制器为主控ECU,它通过现场总线和多个下位ECU通信。工作过程中,每个控制器的通信子模块以定时器或者中断的方式在后台运行,完成数据的收发工作,节省主流程资源开支。如图1所示。 script language=JavaScript type=text/java
[嵌入式]
基于CAN总线的温度检测节点设计(图)
  在对电子点火模块的测试中,为了模拟电子点火系统的真实工况,电子点火模块往往被置于高于常温的环境下进行电子点火实验,以获得最接近真实汽车运行工况的点火参数数据。由于电子点火模块自身的发热,其核心元件的温度成为影响电子模块性能的重要因素;另外,还要考虑环境温度是否达到模拟真实工况的要求等。   本文介绍了一种应用LM35温度传感器和PICMicro的温度检测节点的设计方案,用于检测在模拟汽车电子点火的过程中,电子点火模块的核心模块温度和环境温度,将阐明模块结构、工作原理及采样值量化的方法。    节点原理与结构   该温度检测节点由传感器电路、信号调理电路、单片机应用系统、CAN总线接口等构成。电路基本工作原理是:传感器电路
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved