基于单片机MCU的IPMI健康管理系统设计与实现
2022-05-30周信誉陈文俊
周信誉 陈文俊
摘要:文章首先简要介绍了健康管理系统平台的实现和设计背景,然后引出了使用单片机作为MCU实现IPMC的功能,最后详细说明了该系统的主要框架设计、硬件电路和软件等。关键词:IPMI;健康管理;单片机
中图法分类号:TP315文献标识码:A
Design and realization of IPMI health management system based on
single chip MCU
ZHOU Xinxing, CHEN Wenjun
(The 34th Research Institute of China Electronics Technology Group Corporation,Guilin,Guangxi 541004,China)
Abstract:Firstly, the paper briefly introduces the realization and design background of the health management system platform, then introduces the function of using single chip microcomputer as MCU to realize IPMC function, and finally explains the main frame design, hardware circuit and software of the system in detail.
Key words: IPMI, health management, single chip microcomputer
1引言
随着现代系统设备模块化和冗余备份的广泛使用,各业务板卡的运行维护、安全稳定、硬件性能指标监测等工作量和难度随之增加。此前,系统设备的维护监测基本都是人员在机房之中进行,极大耗费了人力物力,效果也不尽理想。因此,如何简单有效实现各业务板卡的统一管理需求越来越迫切。目前,许多基于IPMI的智能管理平台被广泛应用于机箱,可以实时监控和管理各系统设备的运行状态。而实现IPMI的方式较多,如基于CPLD等逻辑处理器实现以及基于单片机实现。而相对CPLD而言,单片机更具备简易性、经济性、内部资源多样性等优势。因为单片机具备非常丰富的资源,如MII/RMII,IIC,USART,SPI,ADC,GPIO和定时器等。我们可以使用MII/RMII网络接口实现PC端的远程维护;可以不进机房就实现系统的管理监测;可以使用IIC总线实现健康管理单元之间的信息交互;可以使用USART或者SPI实现与业务数据单元的交互;可以使用SPI或者IIC,ADC等实现温度、电流、电压的测量;使用定时器等实现PWM信号的输出,以此控制电机。本文以此为出发点,研究使用单片机作为MCU简单、有效实现IPMI健康管理智能平台的系统设计。
IPMI(IntelligentPlatformManagementInterface)是智能平台管理接口,也是一种开放标准的硬件管理接口。IPMI是由intel,Dell,HP,SuperMicro和NEC等公司發起制定的,它定义了一种通过嵌入式管理子系统进行通信的特定方法;IPMB(IntelligentPlatformManagementBus)则为智能平台管理总线;IPMC(IntelligentPlatformManagementController)是智能平台管理控制器,通常由MCU构成。该系统由IPMC进行数据信息的收集获取、处理成统一格式,然后通过IPMB总线进行传输,在IPMI进行统一管理和维护。
2系统总体架构设计
对于智能管理平台的系统总体架构,目的是实现对硬件的运营和维护,再以单片机为核心构造一套硬件、软件。首先,智能管理平台是独立于主体业务数据的传输而存在的,两者应不能有所干扰。同时,明确该平台能否在终端上进行操作以及远程维护。此外,系统维护内容、手段须加以细化。
此前,健康管理模块和业务数据单元相互依存,两者几乎共用一套电源、数据处理单元和器件。因此,若要独立存在,就必须有一套独立的电源和处理单元。通常而言,可直接使用背板电源或者DC?DC单独供电。而针对独立的处理单元,从处理资源的需求程度而言,完全可由单片机承担。因此,即使在业务数据单元不工作的情况下,智能平台依旧可以在线进行维护和操作[1]。
健康管理系统的终端维护依托于单片的MII/RMII接口协议,外面扩展连接一个百兆的物理层芯片,以此可以生成一个基于SNMP协议的IPMI接口,从而使用以太网接口在PC等终端进行操作维护,进而实现远程管理的目的。也可依托于单片的USART接口协议,使用COM在终端设备进行维护和管理操作。
健康管理平台的内容方面,主要使用单片机的GPIO,ADC、定时器等功能去实现,具体包括电流、电压的监测,温度的管理、电机的控制和反馈、电源的上下电的管理等,也可根据系统的需求,进行灵活扩展。
由此,整套健康管理平台系统就初具雏形,接下来介绍软件、硬件的细化部分。
3硬件系统设计
基于总体考虑,我们可将健康管理平台系统分为子、母两个部分。母部分的功能设计为IPMI的主体控制部分(CHMC,机箱管理控制器),即控制主单元的健康管理部分,一般仅设计为一个。对于CHMC来说,一方面要实现IPMI的接口功能,另一方面要实现与业务数据主体之间的交互以及对业务数据本单元的健康管理和监测,通过IPMB对子单元的健康管理数据进行收集。而子部分(IPMC)也可称为业务数据传输单元的健康管理部分,数量并非固定,可依据系统的需求进行扩充。相较而言,子部分的要求简单,对本板业务数据单元进行健康管理即可。然后通过IPMB总线,将信息报送至控制主单元。
综上,控制单元主要实现对本单元的温度、电压电流等的监测;实现电机的控制与监测;实现与业务主体的交互(USART);实现系统平台的独立管理(Ethernet);实现与业务数据传输单元健康管理的交互等。而业务数据传输单元的健康管理,则实现对本单元的健康管理监测(如温度、电压电流等),然后上报至控制单元。
控制主单元的硬件设计主要由单片机MCU、存储器、DC?DC供电、物理层芯片、网络变压器、IPMB总线电路、温度传感电路、热插拔隔离电路、电压电流检测电路、电机控制反馈电路、单元ID电路组成。
据此,我们构建了如图1所示的硬件系统原理框图。根据框图所知,整套健康管理系统都应由背板或DC?DC独立单元进行供电,保证了主体业务数据在不供电的情况下,管理系统也可正常工作。对于控制主单元,为单片机设计以太网管理电路,即MII/RMII接口,外部连接物理层,经由MII/RMII转Copper,再经过一个变压器出去,从而实现10/100M自适应的以太网接口,用以实现在终端的操作和管理维护[2]。
控制主单元和业务数据传输单元健康管理之间的IPMB总线由单片机的IIC总线实现:其硬件电路设计,仅需在单片机的IIC接口扩展一个IIC的驱动隔离器,以增强板间的通信能力和适配以及防烧毁。其中,相关电路实现单元之间的信息上传、命令下发,可设计两路总线用于满足备份与保护需求。
控制主单元的温度传感电路:获取业务单元硬件的温度信息,以实现对温度的监控管理。其中,相关硬件电路一般由具有单总线、IIC总线或者SPI总线的温度传感器构成,从而使用单片机的ADC,IIC或者SPI进行温度传感器的数据读取,然后转化成温度值,传递至控制主单元,检测监控系统的温度状态,从而优化控制电机。
控制主单元的热插拔硬件电路:实现业务数据主体单元的热插拔功能,同时包含业务单元的电源控制,即实现板卡的上电、掉电控制。一般由热插拔芯片或者MOS实现开关电路,再由单片机的GPIO实现上下电控制。实际上,健康管理系统的电源部分与业务数据单元相互独立,即使将业务板卡下電处理,健康管理系统依旧在线。
控制主单元的电流、电压监测硬件电路:电路可由专用器件实现电压、电流检测,然后由单片机的GPIO或者ADC读取和转化。当然,也可通过高精度的电阻达到电流检测的目的,或者用简单的电阻搭建电路分压检测电压。电压电流检测主要是为了监测硬件的工作状态和各电源是否存在供电异常。同时,对电流的监测,也达到了监测业务板卡功耗的目的[3]。
控制主单元的单元ID电路:主要实现业务单元槽位地址的识别,从而精确定位和监控。相关硬件电路较为简单,一般由单片机的GPIO实现,通过简单的上下拉电阻来获取。
控制主单元的电机控制反馈硬件电路:主要由单片机的定时器输出PWM信号,再经过三极管放大电路输出和匹配电机的PWM,以实现电机的工作转速控制。同时,通过单片机的GPIO配合MOS管开关电路,也可实现电机电源的开关、电机反馈信号的读取处理,以实时监测控制电机的工作状态。
业务数据传输单元健康管理的硬件电路有IPMB总线电路、温度传感电路、电压电流检测电路、单元ID等,各部分均与控制主单元相同。当然,也可根据需要进行灵活扩充或删减,由具体的业务需求决定。
4软件系统设计
从健康管理系统的需求角度出发,将系统软件设计为三部分,即终端系统管理软件、CHMC软件和IPMC软件(图2)。
终端系统管理软件是维护系统的窗口,它与CHMC通过以太网或者串口通信。一般情况下,系统配置管理优先采用SNMP协议接口进行管理,它将经过统一格式后的各功能板卡的监测信息(如电压信息、电流信息、温度信息、电机转速、告警信息等),解析后展示在平台界面上。同时,系统管理软件还应具备参数的配置和下发等功能,如控制告警、控制电机转速、控制业务数据板卡上下电等。
CHMC软件的功能是同时接受和执行主控命令,并转化为IPMI消息。对上,CHMC通过以太网口与终端通信,以实现远程管理。对下,通过IPMB总线和各个功能板完成通信,管理各个功能板。此外,CHMC通过SPI或者USART和业务数据传输模块交互,将收集到的信息传递至业务数据功能板,在带外管理的同时仍能兼顾带内系统。
IPMC软件的功能是负责电流电压、温度传感器的模拟量采集、报警的管理,将指令转化为IPMI消息通过IPMB总线上传到CHMC,同时也接收来至CHMC的命令,对业务数据传输功能板卡进行上下电的操作,或者显示告警信号。
5结束语
随着系统设备复杂度的提高,越来越多的系统设备使用IPMI进行管理和硬件维护,实现IPMI的方式亦是五花八门。本文则介绍了一种基于单片机MCU、易于实现的IPMI管理系统,以有效、统一运营设备系统。该系统利用单片机具备的MII,ADC,GPIO,SPI,USART、定时器等功能,可以简单实现系统设备的健康管理,具备非常高的经济性、独立性、灵活性和扩展性。一方面,它是独立在业务传输数据之外的专用管理通道,可将健康管理数据与业务数据分离,两者互不影响。另一方面,管理检测的对象多样化,包括电压电流、温度、电机,电源控制等,该系统还可进行扩展,非常灵活。不仅如此,还可以通过网络接口对该系统进行远程管理和维护,极大节约了人力成本和时间成本,提高了运维效率。
参考文献:
[1]张冰洁.基于IPMI的智能平台管理系统设计[D].广州:中山大学,2014.
[2]刘龙.智能服务器电源管理控制平台技术研究与实现[D].北京:北京邮电大学,2011.
[3]于治楼,陈乃阔,牛玉峰.基于IPMI的服务器远程管理的研究与实现[J].现代机械,2010(1)36?38.
作者简介:
周信誉(1992—),本科,初级工程师,研究方向:通信技术。陈文俊(1996—),本科,初级工程师,研究方向:通信技术。