文|于晶晶 巢佳 张静 姜盼
铁路防灾安全监控作为安全生产重点行业和领域,对提高运营效率、保证行车安全具有重大意义。目前铁路防灾安全监控与减灾指挥调度系统领域正逐渐往信息化、自动化、集成化、智能化等方向发展。为此,本文设计开发了一款可用于检测铁路防灾设备的便携式传感器模拟测试仪。该测试仪由ARM 处理器、STM32 单片机、5G通信模块等部分组成,具有人机交互、数据输入、输出模拟等功能。此外,该测试仪还内置小型锂电池,在方便携带的同时还具备对外供电的功能,能更好地满足铁路线路上的故障诊断及数据传输模块供电需求。
铁路列车是日常生活中必不可少的公共交通设施,具有分布有序、覆盖广泛、速度快捷、便利生活等特点。作为安全生产重点行业和领域,安全稳定是铁路高质量发展的核心内容。据铁路局集团公司防灾系统运用管理部门调查显示,铁路防灾系统故障报警主要集中在UPS电源故障、数据采集设备故障、通信网络不通以及接口防护不到位导致线路受损等方面。因此,为了满足铁路路网规模快速扩充和高质量发展的要求,实现有效的铁路专线防灾监测是确保安全的关键环节。在此背景下,本文设计了一款便携式传感器模拟测试仪,该仪器具备对V200A、SHM30、WXT520等地铁防灾监控系统中常用传感器进行数据输入检测以及输出模拟的功能。软件部分为基于嵌入式Linux系统的UI交互程序编写和主程序逻辑编写,界面功能清晰,交互便捷。仪器内部还预留USB接口、TF卡槽等,可方便工作人员或用户扩展其他定制型应用。
本设计具有对高速线路防灾监控系统中常用传感器进行数据输入检测、输出模拟、远程数据传输记录等功能。具体功能描述如下:
1.可通过RS485或电流环接口接入常用传感器,借助传感器数据输入功能,通过液晶屏显示的数据来实时监测现场传感器状态;
2.将仪器接入现场远传设备,可模拟传感器数据以此来测试传输线路的通断与否,或通过设定传感器数值检测当前防灾系统数据传输实时性及报警功能的完整性。
3.通过仪器将现场的实时状态传输至基站,供工作人员异地查看设备与数据详情。
根据功能需求,本设计以移动应用处理器为核心,搭配STM32芯片,外围增加7寸可触摸液晶屏、远传输入通信模块、RS485通讯模块、5G模块等。用户可通过液晶屏上的功能键来实现数据模拟、收发等功能,同时设备内置大容量锂电池,方便用户随身携带的同时也便于户外长时间测试与使用。
本系统需要具备显示、存储及外接多模块的功能,所以在核心芯片上选用了F1C200S和STM32F042F6P6两种处理器来分工使用。
F1C200S基于ARM 9架构,支持高清视频解码,内置DDR1内存,是一款开发简单,性价比较高的处理器。其作为主控芯片,与常用ST系列单片机结构类似,包含复位电路、晶振电路等模块。其中复位电路采用软件复位模式;晶振电路则由一个24 MHz无源晶振和两个10PF匹配电容组成;并且引出TF卡引脚、USB、LCD、GPIO端口等以供后续使用。
本仪器的通信电路主要针对地铁防灾监控系统中的SHM30、WXT520等常用传感器进行设计。RS485通信选用SP3485芯片,供电电源为3.3V,具有8个引脚,一般将RE和DE接在一起。单片机向外发送数据时,将R3_UART_DIR置位1,单片机接收外界数据时,将R3_UART_DIR置位0。由于铁路配套设备多用于户外,受户外天气、线路状况等不确定因素影响较多,且通信类元件抗雷电过电压能力较差,所以在设计时需要考虑配备防浪涌保护措施,所选组合元件必须具备响应快和有一定的通流容量等特性。因此在RS485模块的设计电路中,接口输入端增加了EMC防护电路,气体放电管同流能力最强,被放置于防雷电路前端用于吸收大电流冲击,通过PTC去耦后连接TVS二极管,可以有效抑制气体放电管吸收后的残压。
电流环可以将电平信号转换为电流信号,以电流作为数据传输载体,此方法一方面可以增强信号在有噪声前提下的最大容限,另一方面可以提高信号的抗衰减能力。故通常被用于在恶劣的工业生产场景或户外环境下进行远距离信号传输。
为了保证现场数据与基站信号之间的传输,本仪器也提供了电流环通信接口。输入端通过EMC防护电路及光耦芯片隔离后接收串行数据RMT_PKG,数据再经过缓冲器整形后送入F1C200S处理器进行处理。
本设计中的5G模块采用中移MF309模组,模组提供两路通信接口,分别为主串口和调试串口。其中主串口支持默认波特率为115200 bps,用于数据传输和AT命令传送。调试串口支持波特率为115200 bps,用于部分日志输出。在电路上,因为模组串口电平为1.8 V,所以与单片机进行通信时需要进行电平转换。因此设计中采用TI公司的TXS0108EPWR芯片进行转换,以保证正常通信。
TF卡作为本系统的启动介质,集成了UBOOT引导功能以及Linux内核和基础文件系统。设计采用的TF卡为贴片式MicroSD卡(TF卡),其中SD0_CMD、SD0_CLK和四根数据线SD0_D0~SD0_D3,均接10 kΩ的上拉电阻。
本设计内部自带的锂电池可用于对外部设备供电,提供的电压为24 V,但是24 V为电池电压,此电压存在波动范围,由于电池放电后内阻由小变大,其输出电压也会发生变化,但是额定值是24 V。另外,输出电源的负载能力是1 A,超过额定负载能力可能触发保险丝动作。
本设计软件分为基于嵌入式Linux系统的UI交互程序编写和主程序逻辑编写。系统软件整体控制流程如图1所示。
图1 系统软件整体控制流程图
UI交互程序编写使用Linux上运行Qt的方式。对于跨平台开发环境来说,Qt是一种目前非常流行的方式,像现在广泛使用的WPS Office以及Google Earth等都是采用Qt来开发的。在本设计中,Qt集成开发环境安装完成后需要下载Qt源代码对GUI图形库进行交叉编译,将编译完成的Qt库移植到F1C200S的文件系统中,启动后将会通过应用加载Qt界面实现人机交互。
主程序逻辑编写则采用C++语言程序编写,GUI人机交互界面的设计与开发采用QtCreator进行应用程序交叉编译,完成后移植到ARM主机上运行,对于传感器数据转换接口,则使用STM32单片机进行辅助。
传感器数据输入功能用于挂接已有的传感器并进行传感器功能测试,当确认外部硬件设备连线正确无误后,则可以进行操作。点击液晶面板上的“传感器输入检测”选项卡,在通讯设置区输入对应参数后,将UI界面读取的通信参数写入struct termios结构体,启动open函数打开串口来获取传感器数据包。经字符串匹配后,使用Qt setNum函数将获取的气象数据转换为数值类型,通过UI控件显示到相应的参数框里。
传感器数据输出功能用于模拟所选型号传感器的数据发送功能。在确认本仪器信号线正确连接后可进行操作。点击液晶面板上的“传感器输出检测”选项卡,设定所需参数和发送方式后启动Open函数打开串口。当选择数值方式为递增或递减时,界面会将当前值加载到内存,进行数值运算并通过Qtimer定时器启动数据周期性发送。当然也可通过Qsrand函数进行伪随机数值随机发送测试。此过程中数值均会实时刷新到UI界面中。
此流程与传感器输入流程相似,同样打开串口后,使用位操作将获得的数据包内容转换为浮点数,启动Qtimer定时器周期性监测远传连接是否超时,同时另设一个定时器监测数据包的校验值是否正常。
本仪器的“设置”选项卡可以用于系统时间调整和触摸屏校准。在时间设置setTime函数和日期设置setDate函数中调整内容,点击“保存时间”即可。要校准触摸屏点击“触摸屏校准”,之后按提示点击即可。
本设计在硬件软件搭建完毕的基础上,需进行系统测试。
首先打开电源,系统启动,启动后主菜单如图2所示。其中界面分别由功能选项卡区,当前选项卡的设置区,通讯参数设置区和快速功能切换区组成。
图2 主功能菜单
在现场待测设备接入后,开始检测并分析需检测设备发送至本仪器的数据,进行输入检测,数据分析的结果通过液晶面板上对应框显示。
其次,可以点击传感器输出检测选项卡,利用输出模拟模式,检测传感器的数据发送功能,此功能可通过终端系统观察输出数据是否正常显示,或者用于诊断防灾安全监控系统的工作性能。
最后,检测正常的设备将现场采集的数据传送到就近的通信基站内,由监控单元对信息进行进一步的汇聚处理。
本文设计了一种基于F1C200S和STM32F042F6P6两种处理器的便携式传感器模拟测试仪,其优点在于具备触摸式人机交互界面,使用方便快捷;支持对外部设备供电;支持四种类型以上的常用传感器,精准匹配铁路线路设备;拥有工作参数记录的功能,能提高工作效率;配备防浪涌保护措施,大大提高了在户外使用的安全性;设备内置大容量锂电池,方便用户随身携带的同时也能满足户外长时间测试与使用;配备5G模组,方便工作人员及时了解现场数据信息等。该设计为工作人员或用户在日常地检测过程中提供了便携、可靠的方案,具有很好的实用性。本仪器后期还可以在硬件接口方面和软件系统方面进行拓展,增加符合有关行业或岗位要求的功能,具有很好的应用前景和使用价值。