张小林++钟洪++林青++刘佳扬++王宏
摘 要为了實时监控硬件平台产品的运行状态,尤其是对设备开机过程故障、运行中故障、突然死机/宕机等情况发生时,我们有必要对硬件平台的各个因素进行监控记录。还有为了便于及时了解设备的运行状态和有利于后续产品故障维修分析,我们有必要进行一种嵌入式智能化监控的研究与设计。
【关键词】嵌入式 智能化 监控 系统
1 前言
为了更好的对系统进行智能化监控,我们分析了以下几个方面需要进行监控或欲达到的要求:
系统上电/断电过程及时间侦测、温度检测、湿度检测;独立的系统模块、独立供电(在无外界供电情况下,最好保证6个月供电);与其他硬件系统通过串口通讯(可设置比较少用的波特率,要求稳定);可搭配液晶模块,可实时监测设备运行状态:如CPU/内存使用率、CPU温度、机箱内部温度、网络输入输出流量;产品硬件开机过程(记录上电时间,每项自检完成时间、系统引导正确完成时间等);产品关机动作(最好能检测到是由哪触发的关机信号、以及关机时间);运行状态:针对CPU/内存使用率,CPU温度,机箱内部温度、湿度,网络流量检测,跌落数据检测(有变化时记录数据,保留7天);关机状态:针对温度、湿度(有变化时记录数据。最好能保留6个月);数据(信息)获取方式,一是模块自行获取信息,再是可以通过主系统获取,具体选择哪种方式或者混合使用,主要从简单、使用、高可靠性方面设计考虑。
2 技术路线
根据我们对监控系统的监控需求,我们采用MCU为主模块控制器,接入温湿度传感器(机箱内部温湿度),RTC,FLASH存储设备,液晶模块,通讯串口,电压监控(开/关机)等外围设备。MCU通过串口和主板进行通讯。主板通过检测SUPERIO寄存器及系统API向MCU提供CPU核电压、CPU温度、主板温度,系统风扇转速、CPU/内存使用率、网络输入输出流量、系统引导正常事件,系统正常关机事件等信息。
采用外部锂电池和系统供电可切换供电模式,主板上电后使用系统电力,关机后使用锂电池供电。同时提供锂电池充电及电量检测模块。
3 数据流向
如图1所示,MCU中温湿度传感器,RTC及电压监控均使用I2C总线进行数据传输,可以向MCU提供实时时钟数据,电压数据,重力加速度数据及机箱内部温湿度数据。MCU定期读取信息并处理。
主板中的SupeIO输入输出接口可以向监控中间件提供CPU核电压,CPU温度,主板温度,系统风扇转速等数据。OS操作系统可以向中间件提供CPU使用率,内存使用率以及网络输入输出流量等信息。同时中间件在开机之后会向MCU发送系统开机完成信息,并在正常关机时检测到关机信号向MCU发送正常关机事件信息,由监控中间件定期通过串口将数据输送到MCU进行处理。
MCU将收到的数据进行处理后存储到FLASH中,并通过液晶模块显示出来或者通过接收用户接口的操作指令进行输出。同时用户也可以通过LAN管理口和客户应用程序进行交互,通过客户应用程序向监控中间件提供查询指令,之后监控中间件向MCU提交用户命令,MCU收到命令后通过串口向中间件输出信息。中间件再将信息转发给客户应用程序并通过LAN远程提供给用户。
监控模块采用双切换电源进行供电,当系统电源存在时,使用系统电源,并根据锂电池电量检测来判断是否给锂电池充电,当系统电源失效时,使用锂电池进行供电。
4 显示界面
如图2所示,研究设置显示开机过程,比如BIOS自检完成,程序加载完成等信息,此过程的显示内容设计来自中间件或是客户设备。监测项共显示8项内容,大致分布为左边四项,右边四项,年月日时分秒也在此菜单中显示。也可以根据客户需要显示更多的内容。
黑匣子数据存取不需要中间件的参与,中间件负责通过串口把采集的数据传给固件,数据的存储由MCU控制spi flash完成,数据的读取由用户直接通过预留的串口进行。
存数据内容和规范。系统运行时存储数据的时间间隔暂定为每2s一次。系统关机时每10min存储一次存储数据的格式:Time,voltage,temp(机箱温度/CPU温度),Humidity,使用率(依次为CPU,内存,磁盘,网络)。数据以ASCII形式存储,存储的的字节大小固定。
取数据内容和规范。通过预留的串口,用户输入相应的读取指令和密码,开始读取数据。此处的串口需要支持读取指令和密码修改指令。串口输出的数据格式和存储的格式一样(Time,voltage,temp(机箱温度/CPU温度),Humidity,使用率(依次为CPU,内存,磁盘,网络)),全部以ASCII形式输出。
将系统中获取的数据下发给MCU。从Linux系统下获取CPU使用率,内存使用率,网络使用率,CPU温度,CPU电压,风扇转速,按照ASCII形式传送给MCU。
4 结语
本系统的设计是在数字信息技术和网络技术发展的前提下,运用当前的嵌入式技术和日益发展的智能化技术的嵌入式智能化监控系统,具有一定的创新性。该系统由于采用了高性能的带温湿度传感器的MCU和嵌入式Linux操作系统,具有一定的可扩展性,可以通过适当的功能扩展来满足用户更多更高的要求。此外,本系统具有功能强、稳定性好的特点,而且成本低,对嵌入式智能监控系统的开发有一定的借鉴意义。
作者单位
深圳市亿威尔信息技术股份有限公司 广东省深圳市 518057