CN114816020A - 一种基于gd32单片机的pmbus接口电源板卡及其bmc控制方法 - Google Patents

一种基于gd32单片机的pmbus接口电源板卡及其bmc控制方法 Download PDF

Info

Publication number
CN114816020A
CN114816020A CN202210374598.5A CN202210374598A CN114816020A CN 114816020 A CN114816020 A CN 114816020A CN 202210374598 A CN202210374598 A CN 202210374598A CN 114816020 A CN114816020 A CN 114816020A
Authority
CN
China
Prior art keywords
chip microcomputer
pmbus
power supply
bus
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210374598.5A
Other languages
English (en)
Inventor
郭申
马洪雨
毕胜
张琨
庒博阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202210374598.5A priority Critical patent/CN114816020A/zh
Publication of CN114816020A publication Critical patent/CN114816020A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)

Abstract

本发明涉及一种基于GD32单片机的PMBUS接口电源板卡及其BMC控制方法,属于电源管理领域。本发明提出了电源板卡功能需求及硬件设计方案,提出了GD32单片机软件实现BMC功能的整体设计流程,提出了在GD32读取PMBUS接口电源模块数据,按照实现PMBUS协议进行转换得到供电电压、供电电流、工作温度数据的方法;针对I2C通信不稳定问题,在错误中断、发送超时、错误监测位等方面提出针对性软件容错处理方法。本发明提高了硬件集成度,降低了软件设计复杂度且监测数据可靠性得到提升。

Description

一种基于GD32单片机的PMBUS接口电源板卡及其BMC控制方法
技术领域
本发明属于电源管理领域,具体涉及一种基于GD32单片机的PMBUS接口电源板卡及其BMC控制方法。
背景技术
在航空航天、国防军工等领域所使用的工控设备具有使用周期长、部署地点偏远,人工维护成本高等特点,这些设备的稳定运行关系着国家安全等重大利益,因此对工控设备的可靠性有着很高的要求。工控设备一般由电源板卡、计算板卡、通信板卡、管理板卡等部件组成,而在这之中,电源板卡作为工控设备的基础性部件,对设备的稳定工作起着根本性影响。
近年来,设备维护的信息化、智能化要求不断提高。越来越多的工控设备在各板卡上增加了专用BMC管理芯片,布置多个传感器用于采集数据,以I2C作为健康管理总线连接各板卡BMC芯片,采用IPMI健康管理协议进行通信,最终在管理板卡汇总各模块健康管理数据。常规的电源板卡由交直流转换电路、单片机、监测传感器电路等组成。在电源板卡上布置多个电压监测电路、电流监测电路、热敏电阻温度监测电路等。单片机通过多个ADC管脚采集电压、电流、温度等数据,将监测信息以IPMI协议上报管理板卡。但这种传统设计方式,元器件数量多,集成度低,且单片机ADC采样精度不高,要通过多次采样取平均和软件补偿误差等方式进行特殊处理。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于GD32单片机的PMBUS接口电源板卡及其BMC控制方法,以解决现有的电源管理元器件数量多,集成度低,且单片机ADC采样精度不高,要通过多次采样取平均和软件补偿误差等方式进行特殊处理的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于GD32单片机的PMBUS接口电源板卡,该电源板卡包括PMBUS接口电源模块和GD32单片机,电源模块负责交直流转换,GD32单片机具有2路I2C通信接口,第1路与PMBUS接口电源模块连接,以PMBUS协议从PMBUS接口电源模块中读取供电电压、供电电流和工作温度,第2路I2C与外部的管理板卡连接,以IPMI协议方式向管理板卡上报监控信息。
进一步地,电源模块的输入交流220V电源,输出直流12V电源。
本发明还提供一种基于GD32单片机的PMBUS接口BMC控制方法,该方法包括如下步骤:
S11、GD32单片机2路I2C控制器初始化,配置通信波特率参数;
S12、GD32单片机向PMBUS接口电源模块发送使能信号;
S13、从管理板卡轮询接收IPMI请求消息;
S14、判断IPMI请求消息校验和是否正确,如果正确转入步骤S15,如果错误则重置I2C控制器,转入步骤S13;
S15、解析IPMI请求消息中的IPMI协议请求数据,获得请求数据中的命令,命令共有3种,分别是获取供电电压、获取供电电流和获取工作温度;
S16、根据请求数据中的命令,GD32单片机从PMBUS接口电源模块中读取监测数据信息;
S17、根据IPMI协议规范,生成IPMI协议响应数据;
S18、向管理板卡发送IPMI协议响应数据,如果发送成功则结束本次轮询过程,如果失败则重置I2C控制器,转入步骤S13。
进一步地,对GD32单片机I2C应答缺失、接收溢出、仲裁丢失、总线错误四种I2C错误中断进行计数,当错误计数累计达到10次,判定I2C总线异常,进行重置I2C控制器操作。
进一步地,GD32单片机在发送I2C数据时,在判断总线空闲状态、产生起始信号、发送数据操作后,进行轮询状态标志位判断,若超过30ms标志位未正常置位,判定I2C总线异常,进行重置I2C控制器操作。
进一步地,GD32单片机设置有一个独立定时器,以1ms周期间隔监测I2C控制器busy标志位,若连续30个周期busy标志位置1,判定I2C总线异常,进行重置I2C控制器操作。
本发明还提供一种基于GD32单片机的PMBUS接口BMC控制方法,该方法包括如下步骤:
S201、判断GD32单片机中的I2C控制器处于空闲状态,如果空闲转入步骤S202,如果忙碌,重置I2C控制器,转入步骤S202;
S202、产生I2C总线起始信号;
S203、在I2C总线上发送PMBUS模块地址,判断是否接收到PMBUS模块反馈的ACK应答,如果接收到应答,转入步骤S204,如果无应答,转入步骤S201;
S204、在I2C总线向PMBUS模块发送命令字数据,命令字为读取供电电压、读取供电电流或读取工作温度;
S205、重新产生I2C总线起始信号;
S206、在I2C总线上发送PMBUS模块地址,判断是否接收到PMBUS模块反馈的ACK应答,如果接收到应答,转入步骤S207,如果无应答,返回步骤S201;
S207、接收PMBUS模块反馈的传感器监测数据;
S208、产生I2C总线停止信号;
S209、判断从PMBUS模块接收到的传感器监测数据校验和是否正确,如果正确转入步骤S210,如果错误则舍弃数据;
S210、解析传感器监测数据,得到电源模块供电电压、供电电流或工作温度。
进一步地,对GD32单片机I2C应答缺失、接收溢出、仲裁丢失、总线错误四种I2C错误中断进行计数,当错误计数累计达到10次,判定I2C总线异常,进行重置I2C控制器操作。
进一步地,GD32单片机在发送I2C数据时,在判断总线空闲状态、产生起始信号、发送数据操作后,进行轮询状态标志位判断,若超过30ms标志位未正常置位,判定I2C总线异常,进行重置I2C控制器操作。
进一步地,GD32单片机设置有一个独立定时器,以1ms周期间隔监测I2C控制器busy标志位,若连续30个周期busy标志位置1,判定I2C总线异常,进行重置I2C控制器操作。
(三)有益效果
本发明提出一种基于GD32单片机的PMBUS接口电源板卡及其BMC控制方法,PMBUS接口电源模块同时具有交直流转换和传感器监测功能,GD32单片机作为BMC,从PMBUS接口电源模块中直接以PMBUS协议读取供电电压、供电电流、工作温度、故障告警等监测信息。本发明还设计了GD32单片机软件实现电源板BMC整体设计流程和GD32单片机以PMBUS协议读取电源模块的供电电压、供电电流、工作温度数据的流程,该流程与电源板卡配合使用,能够显著提高硬件集成度,降低了软件设计复杂度且监测数据可靠性得到提升。
附图说明
图1为本发明的整体框图;
图2为本发明的GD32单片机BMC软件整体设计流程图;
图3为本发明的GD32单片机以PMBUS接口获取数据流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
名词解释:
BMC:Baseboard Management Controller,基板控制器,用于读取传感器数据及实现IPMI协议的功能。
I2C:同步串行通信总线,用于BMC芯片间IPMI协议通信及BMC与PMBUS接口模块通信。
IPMI:Intelligent Platform Management Interface,智能平台管理接口,是一种能够监视设备运行状态的协议。
PMBUS:Power Management Bus,电源管理总线协议,用于BMC芯片与电源模块间通信。
本发明提出基于GD32单片机的PMBUS接口电源板卡,并提出完善的PMBUS模块数据读取方式及BMC控制方法。第一步,介绍电源板卡功能需求及硬件设计方案。第二步,介绍GD32单片机软件实现BMC功能的整体设计流程。第三步,介绍在GD32读取PMBUS接口电源模块数据,按照实现PMBUS协议进行转换得到供电电压、供电电流、工作温度数据的方法。第四步,针对I2C通信不稳定问题,在错误中断、发送超时、错误监测位等方面提出针对性软件容错处理方法。
第一步,介绍电源板卡功能需求及硬件设计方案。
电源板卡将输入的交流220V电源转换为直流12V电源输出,同时具有IPMI协议管理功能。电源板卡包括PMBUS接口电源模块、GD32单片机和辅助电路等,电源模块负责交直流转换,输入交流220V电源,输出直流12V电源,GD32单片机具有2路I2C通信接口,第1路与电源模块连接,以PMBUS协议从电源模块中读取供电电压、供电电流和工作温度等信息,第2路I2C与外部的管理板卡连接,以IPMI协议方式向管理板卡上报监控信息。
第二步,介绍GD32单片机软件实现电源板BMC整体设计流程。如图2所示。
S11、GD32单片机2路I2C控制器初始化,配置通信波特率等参数;
S12、GD32单片机向PMBUS接口电源模块发送使能信号;
S13、从管理板卡轮询接收IPMI请求消息;
S14、判断IPMI请求消息校验和是否正确,如果正确转入步骤S15,如果错误则重置I2C控制器,转入步骤S13;
S15、解析IPMI请求消息中的IPMI协议请求数据,获得请求数据中的命令,命令共有3种,分别是获取供电电压、获取供电电流和获取工作温度;
S16、根据请求数据中的命令,单片机从PMBUS接口电源模块中读取监测数据信息;
S17、根据IPMI协议规范,生成IPMI协议响应数据;
S18、向管理板卡发送IPMI协议响应数据,如果发送成功则结束本次轮询过程,如果失败则重置I2C控制器,转入步骤S13。
第三步,介绍GD32单片机以PMBUS协议读取电源模块的供电电压、供电电流、工作温度数据的方法。如图3所示。
S201、判断GD32单片机中的I2C控制器处于空闲状态,如果空闲转入步骤S202,如果忙碌,重置I2C控制器,转入步骤S202;
S202、产生I2C总线起始信号;
S203、在I2C总线上发送PMBUS模块地址,判断是否接收到PMBUS模块反馈的ACK应答,如果接收到应答,转入步骤S204,如果无应答,转入步骤S201;
S204、在I2C总线向PMBUS模块发送命令字数据,命令字为读取供电电压、读取供电电流或读取工作温度;
S205、重新产生I2C总线起始信号;
S206、在I2C总线上发送PMBUS模块地址,判断是否接收到PMBUS模块反馈的ACK应答,如果接收到应答,转入步骤S207,如果无应答,返回步骤S201;
S207、接收PMBUS模块反馈的传感器监测数据;
S208、产生I2C总线停止信号;
S209、判断从PMBUS模块接收到的传感器监测数据校验和是否正确,如果正确转入步骤S210,如果错误则舍弃数据;
S210、解析传感器监测数据,得到电源模块供电电压、供电电流或工作温度。
第四步,针对I2C总线通信不稳定问题,在错误中断、发送超时、错误监测位等方面提出针对性软件容错处理方法。
1、对GD32单片机I2C应答缺失、接收溢出、仲裁丢失、总线错误四种I2C错误中断进行计数,当错误计数累计达到10次,判定I2C总线异常,进行重置I2C控制器操作;
2、GD32单片机在发送I2C数据时,在判断总线空闲状态、产生起始信号、发送数据操作后,进行轮询状态标志位判断,若超过30ms标志位未正常置位,判定I2C总线异常,进行重置I2C控制器操作;
3、GD32单片机设置有一个独立定时器,以1ms周期间隔监测I2C控制器busy标志位,若连续30个周期busy标志位置1,判定I2C总线异常,进行重置I2C控制器操作。
本发明的新的电源板卡的设计方案采用PMBUS接口电源模块。其中,PMBUS接口电源模块同时具有交直流转换和传感器监测功能,GD32单片机作为BMC,从PMBUS接口电源模块中直接以PMBUS协议读取供电电压、供电电流、工作温度、故障告警等监测信息。此方案,提高了硬件集成度,降低了软件设计复杂度且监测数据可靠性得到提升。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于GD32单片机的PMBUS接口电源板卡,其特征在于,该电源板卡包括PMBUS接口电源模块和GD32单片机,电源模块负责交直流转换,GD32单片机具有2路I2C通信接口,第1路与PMBUS接口电源模块连接,以PMBUS协议从PMBUS接口电源模块中读取供电电压、供电电流和工作温度,第2路I2C与外部的管理板卡连接,以IPMI协议方式向管理板卡上报监控信息。
2.如权利要求1所述的基于GD32单片机的PMBUS接口电源板卡,其特征在于,电源模块的输入交流220V电源,输出直流12V电源。
3.一种基于权利要求1或2所述的电源板卡的基于GD32单片机的PMBUS接口BMC控制方法,其特征在于,该方法包括如下步骤:
S11、GD32单片机2路I2C控制器初始化,配置通信波特率参数;
S12、GD32单片机向PMBUS接口电源模块发送使能信号;
S13、从管理板卡轮询接收IPMI请求消息;
S14、判断IPMI请求消息校验和是否正确,如果正确转入步骤S15,如果错误则重置I2C控制器,转入步骤S13;
S15、解析IPMI请求消息中的IPMI协议请求数据,获得请求数据中的命令,命令共有3种,分别是获取供电电压、获取供电电流和获取工作温度;
S16、根据请求数据中的命令,GD32单片机从PMBUS接口电源模块中读取监测数据信息;
S17、根据IPMI协议规范,生成IPMI协议响应数据;
S18、向管理板卡发送IPMI协议响应数据,如果发送成功则结束本次轮询过程,如果失败则重置I2C控制器,转入步骤S13。
4.如权利要求3所述的基于GD32单片机的PMBUS接口BMC控制方法,其特征在于,对GD32单片机I2C应答缺失、接收溢出、仲裁丢失、总线错误四种I2C错误中断进行计数,当错误计数累计达到10次,判定I2C总线异常,进行重置I2C控制器操作。
5.如权利要求3所述的基于GD32单片机的PMBUS接口BMC控制方法,其特征在于,GD32单片机在发送I2C数据时,在判断总线空闲状态、产生起始信号、发送数据操作后,进行轮询状态标志位判断,若超过30ms标志位未正常置位,判定I2C总线异常,进行重置I2C控制器操作。
6.如权利要求3所述的基于GD32单片机的PMBUS接口BMC控制方法,其特征在于,GD32单片机设置有一个独立定时器,以1ms周期间隔监测I2C控制器busy标志位,若连续30个周期busy标志位置1,判定I2C总线异常,进行重置I2C控制器操作。
7.一种基于权利要求1或2所述的电源板卡的基于GD32单片机的PMBUS接口BMC控制方法,其特征在于,该方法包括如下步骤:
S201、判断GD32单片机中的I2C控制器处于空闲状态,如果空闲转入步骤S202,如果忙碌,重置I2C控制器,转入步骤S202;
S202、产生I2C总线起始信号;
S203、在I2C总线上发送PMBUS模块地址,判断是否接收到PMBUS模块反馈的ACK应答,如果接收到应答,转入步骤S204,如果无应答,转入步骤S201;
S204、在I2C总线向PMBUS模块发送命令字数据,命令字为读取供电电压、读取供电电流或读取工作温度;
S205、重新产生I2C总线起始信号;
S206、在I2C总线上发送PMBUS模块地址,判断是否接收到PMBUS模块反馈的ACK应答,如果接收到应答,转入步骤S207,如果无应答,返回步骤S201;
S207、接收PMBUS模块反馈的传感器监测数据;
S208、产生I2C总线停止信号;
S209、判断从PMBUS模块接收到的传感器监测数据校验和是否正确,如果正确转入步骤S210,如果错误则舍弃数据;
S210、解析传感器监测数据,得到电源模块供电电压、供电电流或工作温度。
8.如权利要求7所述的基于GD32单片机的PMBUS接口BMC控制方法,其特征在于,对GD32单片机I2C应答缺失、接收溢出、仲裁丢失、总线错误四种I2C错误中断进行计数,当错误计数累计达到10次,判定I2C总线异常,进行重置I2C控制器操作。
9.如权利要求7所述的基于GD32单片机的PMBUS接口BMC控制方法,其特征在于,GD32单片机在发送I2C数据时,在判断总线空闲状态、产生起始信号、发送数据操作后,进行轮询状态标志位判断,若超过30ms标志位未正常置位,判定I2C总线异常,进行重置I2C控制器操作。
10.如权利要求7所述的基于GD32单片机的PMBUS接口BMC控制方法,其特征在于,GD32单片机设置有一个独立定时器,以1ms周期间隔监测I2C控制器busy标志位,若连续30个周期busy标志位置1,判定I2C总线异常,进行重置I2C控制器操作。
CN202210374598.5A 2022-04-11 2022-04-11 一种基于gd32单片机的pmbus接口电源板卡及其bmc控制方法 Pending CN114816020A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210374598.5A CN114816020A (zh) 2022-04-11 2022-04-11 一种基于gd32单片机的pmbus接口电源板卡及其bmc控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210374598.5A CN114816020A (zh) 2022-04-11 2022-04-11 一种基于gd32单片机的pmbus接口电源板卡及其bmc控制方法

Publications (1)

Publication Number Publication Date
CN114816020A true CN114816020A (zh) 2022-07-29

Family

ID=82535124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210374598.5A Pending CN114816020A (zh) 2022-04-11 2022-04-11 一种基于gd32单片机的pmbus接口电源板卡及其bmc控制方法

Country Status (1)

Country Link
CN (1) CN114816020A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477403A (zh) * 2009-01-22 2009-07-08 浪潮电子信息产业股份有限公司 一种***功耗自动控制方法
CN204229148U (zh) * 2014-09-14 2015-03-25 重庆电讯职业学院 一种简易数字控制电源***
US20160011887A1 (en) * 2014-07-09 2016-01-14 International Business Machines Corporation Firmware Update Method and Power System Thereof
CN112859711A (zh) * 2021-02-07 2021-05-28 航天科工空间工程发展有限公司 一种空间飞行器can总线自主切换处理***和方法
CN113254247A (zh) * 2021-05-14 2021-08-13 山东英信计算机技术有限公司 一种服务器bmc i2c异常恢复方法及相关装置
CN113311754A (zh) * 2021-05-26 2021-08-27 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种基于gd32单片机的电源模块的bmc管理***

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477403A (zh) * 2009-01-22 2009-07-08 浪潮电子信息产业股份有限公司 一种***功耗自动控制方法
US20160011887A1 (en) * 2014-07-09 2016-01-14 International Business Machines Corporation Firmware Update Method and Power System Thereof
CN204229148U (zh) * 2014-09-14 2015-03-25 重庆电讯职业学院 一种简易数字控制电源***
CN112859711A (zh) * 2021-02-07 2021-05-28 航天科工空间工程发展有限公司 一种空间飞行器can总线自主切换处理***和方法
CN113254247A (zh) * 2021-05-14 2021-08-13 山东英信计算机技术有限公司 一种服务器bmc i2c异常恢复方法及相关装置
CN113311754A (zh) * 2021-05-26 2021-08-27 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种基于gd32单片机的电源模块的bmc管理***

Similar Documents

Publication Publication Date Title
CN102521187B (zh) 一种i2c总线通信死锁解决方法
EP3957966A1 (en) Daisy chain two-wire sensor measurement system and measurement method therefor
CN208834293U (zh) 一种多从控模块自动编址装置
JP2012123537A (ja) 計算機システム
CN102841319A (zh) 一种基于bmc的电池电压监测方法
US8271816B2 (en) System and method for statistics recording of power devices
CN112882901A (zh) 一种分布式处理***健康状态智能监控器
CN110719147B (zh) 一种基于LoRa的高可靠双机热备数据采集方法
CN114816020A (zh) 一种基于gd32单片机的pmbus接口电源板卡及其bmc控制方法
CN100367619C (zh) 一种通信设备及其监控模块的供电方法
CN201594223U (zh) 一种网络主板、计算机以及计算机网络***
EP2693617B1 (en) Power supply apparatus, processing apparatus, information processing system, and method for controlling power supply
CN116137603B (zh) 链路故障的检测方法和装置、存储介质及电子装置
CN102290864B (zh) 一种实现虚拟负荷管理终端的方法和装置
CN111538626A (zh) 一种从i2c设备解挂死的方法
CN207318674U (zh) 电池采集装置
CN1841435A (zh) 感烟感温复合火灾探测器
CN214278888U (zh) 一种分布式通信总线***复位电路
CN203587997U (zh) 一种多路数字量输入输出装置
CN210776663U (zh) 总线管理模块
CN201203801Y (zh) 一种设备运行故障自诊断***
CN216901369U (zh) 一种多mcu的监控***
CN216016521U (zh) 一种不间断供电电路及可视门铃
CN2524242Y (zh) 火灾探测器的超强抗干扰智能回码电路
CN114398302B (zh) Poe供电的自适应协议嵌入式空管设备数据采集单元

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination