饶 涛,郑 伟,吴 艳,黄 静,袁红梅
(贵州广播电视台,贵州 贵阳 550025)
广播电视行业电视播出系统最主要的设备都部署在专门的设备机房。如何保证设备的正常运行,对于安全播出来说非常重要。这需要对设备机房的不间断电源(Uninterrupted Power Supply,UPS)、精密空调及环境温度等参数进行实时监控。本文设计的机房环境检测系统能够及时准确地检测UPS、空调及环境温度等指标,能够有效降低播控值班人员的工作强度。在节省人力的情况下,提高安全播出的能力。
该系统以STM32 单片机作为信号处理的核心,周边包括电源模块、按键指示灯模块、温度传感器模块、浸水传感器模块、上位机、语音处理模块、GPI 声光报警模块以及看门狗模块等。STM32 单片机接收到来自温度传感器、浸水传感器以及GPI 声光报警模块的信号后,通过一定的逻辑判断输出控制码给语音模块。根据不同的控制码,语音模块触发不同的语音进行播放,同时GPI 信号也会触发声光报警器进行声光报警,从而提示工作人员进行相应的应急处置。看门狗模块是为了防止单片机程序跑飞而专门设计的。STM32 单片机采集到的温度数据[1-3]和报警信息也可以通过串口发送给上位机来实时显示。系统基本架构如图1 所示。
图1 环境检测报警系统原理框图
本文采用的微控制单元(Micro Control Unit,MCU)芯片型号为STM32F103ZET6。该芯片有64 kB 静态随机存取存储器(Static Random-Access Memory,SRAM)、512 kB FLASH 存储器、11 个定时器、5 个串口以及112 个通用IO(输入输出)口。所有IO 口均可以映射到16 个外部中断,几乎所有IO 口均可以容忍5 V 信号。这些硬件资源完全能够满足系统的需求。
语音报警采用的是WT588D 语音芯片[4,7]。该芯片内置高速语音数字信号处理器(Digital Signal Process,DSP)和13 位DA(数模)处理器,处理速度快,音质好;支持DAC 输出,可加载WAV 音频格式;支持220 个语音地址位,每个地址最多可加载128 段语音;支持按键控制、并口控制、一线控制等多种播放控制模式。基于应用的需求,系统采用一线串口的播放模式。MCU 通过发送固定指令给WT588D,控制WT588D 语音芯片播放指定地址的语音文件,实现精准的语音播放[5]。语音报警电路如图2 所示。
图2 语音报警电路原理图
GPI 是一种通用接口标准,英文全称为General Purpose Interface。该接口标准对引脚和信号格式做了定义。GPI 有两个引脚,其中一个引脚接入信号,另一个引脚接地;信号格式可以是一个脉冲信号或者上升沿、下降沿信号。这个GPI 信号由STM32 单片机给出,接入声光报警器的IN1 端口。当IN1 端口的GPI 信号有电平变化,光电耦合器输出端就会闭合,从而使三极管导通,最终控制继电器开合[6],完成声光报警的开关控制。GPI 声光报警电路是在系统发出语音报警的同时,触发蜂鸣器和LED 灯进行同步报警,从而增强报警的效果。声光报警原理如图3 所示。
图3 声光报警电路原理图
看门狗电路采用的是DS1232 芯片。该芯片是一个具有看门狗功能的电源监测芯片,稳定性好,在电源通断电、电压下降和死机时都会输出一个复位脉冲。芯片在工作时,需要不间断地给引脚7 输入一个“喂狗”脉冲,这个脉冲的时间间隔由引脚2决定。如果脉冲间隔大于引脚2 的设定时间,芯片将输出一个复位脉冲使MCU 复位。这个功能可以有效防止MCU 系统死机。系统中引脚2 接电源,因此“喂狗”脉冲的时间间隔必须小于1.2 s。看门狗电路如图4 所示。
图4 看门狗电路原理图
本系统设计使用了大量的IO 口。IO 口所关联的对象是5 V 信号,所以首先要选取可以容忍5 V电平的端口。若声光报警和语音报警需要同时触发,那么就需要通过判断语音报警电路的BUSY 信号的电平,然后采用外部中断的方式来触发声光报警。在温度读写的环节需要注意,由于采用的是DS18B20 温度采集器,所以温度的读写需要在中断函数中完成。本文采用的是定时器中断方式,这样可以避免因为外部中断或者其他中断导致对DS18B20 读写时发生错误。语音报警程序流程如图5 所示,中断函数流程如图6 所示。
图5 语音报警程序流程图
图6 中断函数流程图
语音报警的语音文件可以采用语音录制的方式获得,也可以采用文字转换语音的转换软件进行转换获得。语音文件通过WT558D 语音编译软件进行编译。语音文件编译软件界面如图7 所示。
图7 语音文件编译器界面
机房环境检测系统有测试按键和停止按键两个按键。测试按键用来测试报警器是否工作正常,停止按键的作用是当发生语音报警时可以将停止按键按下,停止语音报警。测试按键同时也是一个具有状态指示功能的复位按键。该系统的实物如图8所示。
图8 机房环境检测系统硬件实物图
报警器的后面板采用DB9接口,与温度传感器、浸水传感器以及UPS 的GPI-OUT 接口连接。图9为报警器后面板的两个DB9 接口引脚定义。TEMPi(i=1,2,3,…,8)表示8个温度采集点,UPSi(i=1,2,3,4)表示4 台UPS 故障时输出的GPI,WATERi(i=1,2,3,4)表示4 台精密空调漏水传感器的数据线。
图9 机房环境检测系统DB9 接口引脚定义
串口调试软件可以实时显示机房温度数据。当温度超过设定值(如29 ℃)时发出语音和声光报警,并把报警信息发给串口调试软件;当空调漏水或UPS 发生故障,也会将相应的报警信息发送给串口调试软件并发出语音和声光报警。如图10 所示:TEMPi(i=1,2,3,…,8)代表8 个温度采集点,A,B,C,D 代表第几排机柜,A,B,C,D后面的数字代表该排机柜的机柜序号,机柜序号后面的数字代表该温度采集点的实时温度数据。此时D21 机柜上的温度传感器采集的温度超过设定值(29 ℃),串口调试软件就会提示“D21 机柜温度过高”。同样地,如果1 号空调发生漏水,串口调试软件也会显示“1 号空调漏水”的提示。UPS 发生故障时,串口调试软件也会显示“UPS 故障”的提示。
图10 串口调试软件信息显示
在贵州广播电视台设备机房应用此系统,对系统进行功能测试。当任何一个测温点的温度高于设定值(29 ℃),系统都会发出相应的语音报警并触发声光报警,同时也会将相应的报警信息发送到串口调试软件。当任何一台UPS 故障或者空调漏水,系统都会发出相应的语音报警并触发声光报警,同时也会将相应的报警信息发送到串口调试软件。
本文设计的环境检测报警系统采用的MCU 芯片型号为STM32F103ZET6,其丰富的IO 口、定时器以及外部中断,大大简化了硬件设计,节约了成本。本系统具有高可靠性和低功耗的特点。系统能够对UPS 故障、空调漏水、温度过高等情况做出准确、及时的语音和声光报警提示,并将报警信息发送到串口调试软件,从而提高对安全播出的保障能力。同时,该系统也可以对任何可以输出GPI 信号的设备进行语音报警提示。随着国家广播电视总局对安全播出要求的进一步提升,该系统在广电系统具有广泛的应用价值。