引言
装备器材科技含量和性能的提高,使它对温度、湿度和压力等保管条件的要求也越来越严格,为了保证装备器材的可靠性和装备器材库的安全性,必须加强对装备器材库的管理与监控。目前,对装备器材库的温度、湿度、压力以及烟雾的监控,很大程度上依靠管理人员巡检和相对简单的监控系统,这已经不能满足装备管理发展的需要。尤其在环境急剧变化的情况下,如果管理人员不能及时发现并实时解决问题,大量装备器材特别是武器备件、化学防护器材和弹药就会腐蚀、锈蚀、失效,甚至爆炸,造成难以预料的后果。针对以上问题,设计了基于CAN总线的智能监控系统,它能有效地监测各装备器材库温度、湿度的变化情况、压力情况以及有无火灾发生等情况,可实时报警并通过人机交互界面进行显示,具有成本低、应用广、使用方便且可靠性高等优点。
系统总体结构
CAN总线是一种多主机控制局域网标准,具有物理层和数据链路层的网络协议、多主节点、无损仲裁,它可靠性高、扩充性能好。CAN总线能有效支持分布式控制系统的串行通信网络,一方面,其通信方式灵活,可实现多主方式工作,还可实现点对点、点对多点等多种数据收发方式;另一方面,它能在相对较大的距离范围间进行较高位速率的数据通信。本系统是由上位机对多个并列的装备器材库监控单元进行控制管理,各监控单元之间要进行快速的数据传输,CAN总线能很好地满足该系统的要求。
如图1所示,本系统由上位监控机、CAN节点0与其它CAN节点组成。其中,上位监控机为PC机,各C AN节点的微控器为TC89LE54RD+, STC89LE54RD+外接CAN控制器SJA1000,外部设备主要为SHT11数字温度、湿度传感器、PPT-R压力传感器和KG8005A烟雾传感器。
图1 系统总体结构图(略)
上位监控机(PC机)采用IBM-PC兼容机,主要负责对系统各节点的监控数据的接收与管理、控制命令的发送以及各控制单元动态参数和设备状态的实时显示。
CAN节点0是一个至关重要的节点,它主要有两个功能:一是作为上位机(PC机)与CAN总线的接口,完成CAN总线数据与RS-232接口的数据转换,对智能节点传送过来的数据信息进行缓存,对告警信号进行告警以通知维护人员进行处理;二是负责协调上位机与各个CAN节点的通信,以确保各个节点的监控数据能够快速、准确地传给上位机。
监控CAN节点为智能型的监控模块,以单片机为核心,主要负责对现场的环境参数和设备状态进行监测,对采集来的数据进行打包处理并将处理过的数字信号通过CAN通信控制器SJA1000送入CAN总线,实现对系统中各个装备器材库的压力、温度、湿度和烟雾的测量。一般情况下,智能监控节点会把监控数据进行存储,定期上传给上位机,并可接受上位机的轮询。若超出正常工作范围则进行告警,同时向上位机实时报告数据。
硬件结构的设计
如图2所示,监控CAN节点以STC89LE54RD+为微控制器,外围模块包 括CAN总线接口模块、温湿度采集模块、压力采集模块、烟雾采集模块以及报警模块等。为充分利用STC89LE54RD+的接口资源,除CAN接口模块外其余均采用串行接口器件,这样就减小了电路体积,降低了电路的硬件成本。STC89LE54RD+是高速/低功耗且兼容Philips公司51MX内核的新一代单片机,12时钟/机器周期和6时钟/机器周期可反复设置,内部集成有MX810专用复位电路。执行指令的速度为标准8051的12倍,支持在系统编程ISP、在应用编程IAP。
图2 监控CAN节点结构图(略)
CAN总线接口模块
在本模块中,我们选用SJA1000作为CAN控制器,PCA82C25作为CAN控制器接口芯片。SJA1000集成了CAN协议的物理层和数据链路层功能,可处理通信数据帧处理
;
PCA82C250是CAN协议控制器和物理总线之间的接口,此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力,增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰,实现热防护。把STC89LE54RD+的ALE、RD、WR和 SJA1000的ALE、RD、WR相连就构成一个最小系统节点,通过读、写外部数据存储器的形式来访问 SJA1000。将SJA1000的TX1脚悬空,RX1引脚接地,形成CAN协议所要求的电平逻辑。
图3 CAN总线接口模块原理图(略)
为进一步提高系统抗干扰能力,在CAN控制器SJA1000和CAN控制器接口PCA82C250之间加接6N137光电隔离芯片,并采用DC/DC变换器隔离电源;通信信号传输到导线的端点时会发生反射,反射信号会干扰正常信号的传输,因而总线两端两个124W的电阻对匹配总线阻抗起着相当重要的作用,如果忽略它们,会使数据通信的抗干扰性和可靠性大大降低,甚至无法通信;PCA82C250第8脚与地之间的电阻RS称为斜率电阻,它的取值决定了系统处于高速工作方式还是斜率控制方式,把该引脚直接与地相连,系统将处于高速工作方式。在这种方式下,为避免射频干扰,使用屏蔽电缆作总线;而在波特率较低、总线较短时,一般采用斜率控制方式,上升和下降的斜率取决于RS的阻值。通常情况下,15kW~200kW为RS较理想的取值范围,在这种方式下,使用平行线或双绞线作总线。
温湿度采集模块
温湿度采集模块采用瑞士Scnsirion公司生产的SHT11数字温湿度传感器,该传感器具有响应速度快、抗干扰能力强、精度高、功耗低以及不需要外部元件等特点。
SHT11芯片内部高度集成,如图4所示,有相对湿度传感器、温度传感器、放大器、14位A/D转换器、校准存储器、易失存储器(RAM)、状态寄存器、循环冗余校验码(CRC)寄存 器、二线串行接口、控制单元、加热器及低电压检测电路。其测量原理是:首先利用两只传感器分别产生相对湿度、温度的信号,然后经过放大,分别送至A/D转换器进行模/数 转换、校准和纠错,最后通过二线串行接口将相对湿度及温度的数据送至主控机。
图4 SHT11内部结构图(略)
压力测量模块
压力测量模块采用精密智能压力传感器PPT-R,PPT-R是霍尼威尔公司生产的高品质压力传感器,带有不绣钢隔膜,适用于对高温、腐蚀性介质的测量。
PPT-R智能压力传感器性能优良、组态灵活,它可对每次测量的压力信号进行积分,积分时间可在8mS~12S之间选择,这样可以 提高数 字控制系统在不同环境条件下的适应性和抗干扰能力。PPT传感器具有良好的重复性和稳定性,其压力信号可由单片机设置为数字输出模式或模拟输出模式,在本系统中将其设置为数字输出模式。
烟雾测量模块
烟雾测量模块采用国产的KG8005A型烟雾传感器,属于国内首创,达到了国际先进水平,具有抗腐蚀能力强的敏感元件、高灵敏度的检测电路、二级烟尘粉尘淘析结构和不锈钢外壳结构,能对烟雾进行就地监测、遥测和集中监视,输出标准的开关信号,长时自动监测到火灾初期各类燃烧物质阴燃阶段产生的不可见及可见烟雾,对各种火灾进行准确、及时地预报,且能有效地防止粉尘干扰所引起的非火灾误报。
软件的设计
系统软件的设计采用模块化,主要分为上位机程序模块、数据采集处理模块和CAN通信模块等。在此主要介绍上位机软件模块与CAN通信模块的设计。
上位机软件的设计
上位机软件以Borland公司推出的C++Builder6为开发平台,具有系统参数设置、监控状态设置、数据发送和接收、节点状态查询以及中断接收数据管理等功能。上位机首先对CAN总线及其自身初始化,然后发送命令通知特定的节点向CAN总线上发送数据,通过CAN总线上传到上位机,再由上位机处理。上位机采用定时轮循方式向各个节点发命令,采用中断方式接收数据。
相关编程如下:
首先用CreateFile( )打开通信串口,函数引用格式为:
CreateFile(lpFileName,dwDesiredAccess,dwShareMode,
lpSecurityAttributes, ,dwCreationDistribution,
dwFlagsAndAttributes,
hTemplateFile);
然后用BuildCommDCB( )和SetCommState( )函数,通过通信设备控制块DCB(Device Control Block)设置串口通信参数(如波特率、停止位、数据位、校验位等);
当有通信事件产生时,就可用函数ReadFile( )和WriteFile ( )直接对串口缓冲区进行读写操作。其引用格式分别为:
WriteFile(hFile,lpBuffer,nNumberOfBytesToWrite,lpNumberOfBytesWritten,lpOverlapped);
ReadFile(hFile,lpBuffer,nNumberOfBytesToRead,lpNumberOfBytesRead,lpOverlapped).
上位机软件的其它功能的实现,可通过调用相应组件的属性进行编程。
CAN通信模块设计
CAN通信程序负责将采集到的数据发送到CAN控制器,再由其负责发送到CAN总线。
对于接收数据,本系统采用中断方式实现。一旦中断发生,即将接收的数据自动装载到相应的报文寄存器中,此时还可采用屏蔽滤波方式,利用屏蔽滤波寄存器对接收报文的标识符和预先在接收缓冲器初始化时设定的标识符进行有选择地逐位比较,只有标识符匹配的报文才能进入接收缓冲器,那些不符合要求的报文则将被屏蔽于接收缓冲器之外,从而减轻CPU处理报文的负担。此外,不同数据应放入不同的报文寄存器中,其程序流程图如图5所示。
图5 CAN模块通信流程图(略)
结束语
本系统基于CAN总线,采用了IBM-PC兼容机、单片机和SJA1000组成二级控制系统,实现了一体化的操作,可以实现部队装备器材库智能化监控。本系统结构简单,操作方便,安全可靠,造价低廉且运行稳定。
|