引言
在煤矿瓦斯 监控 系统中,井下监控分站担负着非常重要的作用。本设计研制的安全监控分站,以微处理机AT89S52为核心,配置8路频率量入口,与矿用 传感器 连接,以采集各种 测量 数据。监控分站的8路 开关 量输出口与执行器连接可实行自动断电控制。监控分站通过 CAN 总线与中心站 计算机 进行数据通讯,克服了传统煤矿监测监控系统总线的缺陷,能够满足矿井监控系统对监控分站的要求。
监控系统结构
整个煤矿安全监控系统设计由地面中心站、网关节点站、分支中继器、井下监控分站和各种传感器,以及通信介质六部分组成。其中中心站负责接收、 存储 和显示从井下监控分站传来的各种井下生产环境安全监控数据,并通过各个井下分站发送各种配置命令和对现场设备的控制命令;网关节点站实现现场总线协议和中心站计算机标准 接口 协议的相互转换;分支中继器在需要的地方完成通信线路的分支、中继和介质信号的转换;传感器负责收集各种现场环境安全监控数据和设备运行状态数据;通信介质负责安全监控系统各设备的连接和信息的传递。整个监控系统分三级结构:中心站—井下分站—传感器。传输介质根据传输距离不同,可分段采用不同线缆,长距离用 光纤 不加中继器,或用 电缆 加中继器,短距离则可只用电缆不加中继器。如果连接的节点总数大于110个,则也需加中继器。图1是带有中继器的煤矿安全监控系统组成原理图。
图1 煤矿安全监控系统组成框图
图2监控分站硬件框图
图3 安全监控分站软件流程图
安全监控分站硬件结构
井下安全监控分站是安全监控监测系统的核心,负责采集和处理现场生产环境和设备状态等方面的安全监控数据,并能实时地控制设备。同时它也是传输系统的关键设施,各种数据都要通过它与地面中心站进行通讯。图2是监控分站的原理图。
在图2中,二线制输入 电路 和三线制输入电路负责对来自传感器的8路频率信号(200Hz~1000Hz)进行整形,从而得到波形、电平规范的方波信号。 光耦 电路则主要负责信号的隔离,消除共模电压的影响并遏制过程通道上的一些脉冲干扰,从而提高系统的信噪比。 单片机 通过多路选择器(8选1开关)定时巡检8路信号,对得到的数字量进行判断和运算,进而用得到的控制量,去自动控制 继电器 的状态,从而实现对井下设备的控制。利用CH451L芯片驱动数码管循环显示8路信号的频率、通道号、通道类型以及线路状态等。CAN总线和 RS -232总线把单片机根据主站命令采集的安全监控监测数据传给上位机。74HC373除了扩展片外 RAM ,以用来存储历史数据外,还进行了P0口扩展,从而使分站能够根据主站发来的命令允许对继电器的状态进行手动控制。系统中的 红外 接口,主要用来实现对分站的就地遥控、更改分站通道号,以及对单片机进行复位等。
安全监控分站软件设计
系统总体软件结构如图3所示。在整个软件流程中,测频中断的优先级最高,以保证测频的精度。CAN通信的中断优先级次之,RS-232中断的优先级最低。
为保证主站与分站通信的实效性,本设计完成测频中断服务仅需13个机器周期,而信号的周期比机器周期大数千倍,从而大大减小了主站在测频中断服务期间与分站进行通信的概率。
在本设计中,已知来自传感器的信号的频率范围为200Hz~1000Hz,信号的周期为1ms~5ms,而机器周期为0.0005ms,故主站与分站在测频中断响应期间进行通信的概率为0.12~0.60%,即主站与分站进行通信的实效率为99.40~99.88%,完全能够满足安全生产的要求。
关键技术及其实现
测频技术
通常使用的单片机的测频方法有两种:直接测频法和测周期的方法。本设计中选用了测周期的方法,因为本设计中被测信号的频率较低,用测周期的方法精度较高,而且实时性强、测频时间短,即使主站与分站每隔400ms通信一次,也能够完成测频的功能。
根据频率计算公式得到周期法测频公式,式中,TO为 定时器 /计数器的计数脉冲周期时间,由单片机主脉冲经12分频得到,N为计数器在测周期期间的计数脉冲。当 晶振 振荡频率为24MHz时,定时器的计数脉冲周期时间为0.5s,测量最大绝对误差为信号前后边界之差共1s。对于周期为1ms~5ms(频率200Hz~1000Hz)的信号,最大误差折算成频率约为0.002Hz~0.01Hz,所以,频率测量精度可达到0.001Hz~0.01 Hz。
CAN总线通讯技术
CAN 总线通信是整个软件设计的重要部分。通信过程主要包括发送和接收部分,本设计中两部分都设置成了中断方式而不是查询方式,可以把它们做成模块,采用调用子程序的方式来访问。
发送子程序负责节点报文的发送,发送时用户只需将待发送的数据按特定格式组 合成 一帧报文送入SJA1000发送缓存区中,然后启动SJA1000发送即可。但在往SJA1000发送缓冲区送报文之前,必须先作一些判断。程序如下:
MOV DPTR,#CAN_SR ;状态 寄存器
WS0: MOVX A,@DPTR ;从SJA1000读出状态寄存器值
JNB ACC.3,WS0 ;判断上次发送是否完成
WS1: MOVX A,@DPTR ;
JNB ACC.2,WS1 ;判断发送区是否 锁 定
CAN总线通讯的发送模块根据用户制定的应用层协议,将要发送的数据分类、拆解、合并,确定发送对象,然后根据CAN的数据链路层协议填写到CAN数据帧的各个场,并发送出去。发送程序分为发送远程帧和数据帧两种,远程帧无数据场。
接收子程序负责节点报文的接收以及其它情况。接收子程序比发送子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如总线脱离、错误报警、接收溢出等情况进行处理。SJA1000报文的接收主要有两种方式:中断接收和查询接收,考虑到对通信的实时性要求很强,本设计采用中断接收方式。
接收模块的工作与发送模块相反,首先进行接收滤波,确认该帧数据是否接收。如果接收,先按照数据链路层协议拆解数据包,将数据场的数据提取出来,再根据应用层协议确定数据的具体含义,进行相应的处理。CAN信息帧共有4种:数据帧、远程帧、出错帧和超载帧。其中,数据帧将数据由发送器传至接收器。一个数据帧由7个不同场构成。其中仲裁场由标识符ID和RTR构成。
结语
本文以微处理器AT89S52为核心,设计的KJ122型煤矿安全监控分站,通过CAN总线、RS-232总线,在定制的KJ122型煤矿监控系统协议下与中心站计算机进行通讯,具有实时性强、可靠性高、结构简单、互操作性好、价格低廉等特点,目前已投入实用。
责任编辑:gt