本发明属于机柜系统健康管理技术领域,具体涉及一种基于以太网和I2C双冗余总线的健康管理装置。
背景技术:
随着I2C总线在系统健康管理领域越来越广泛的应用,其可靠性显得尤为重要。在某一基于I2C总线进行健康管理的实际应用环境上,机柜内各板卡将实时电压、电流、温度等信息通过I2C总线传输上报,以实现系统健康状况的监测与预警。
该系统各板卡内部也存在I2C接口的测温芯片。当板卡内部CPU通过I2C接口进行测温时,板卡不能响应系统I2C总线发送的中断请求,因此系统存在不能上报健康信息的风险。
I2C各节点基于主从结构,I2C主节点负责整条总线的信息调度。主节点所在的I2C板卡异常会造成整个系统I2C总线信息传输瘫痪,影响相关板卡的健康状况监测以及关键信息上报。
技术实现要素:
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种基于以太网和I2C双冗余总线的健康管理装置。
(二)技术方案
为解决上述技术问题,本发明提供一种基于以太网和I2C双冗余总线的健康管理装置,该装置包括:上层接口模块、健康信息采集模块、健康信息管理模块;
所述装置用于针对如下两种导致系统I2C总线不能上报健康信息的故障模式进行健康管理:
第一种:系统I2C总线与板卡内测温芯片I2C存在中断访问冲突。
第二种:I2C主节点板卡CPU发生故障。
其中,所述上层接口模块内,上位机通过2路RS485串口分别与机柜内I2C主节点板卡、备用通信板卡进行通信,用来发送健康信息查询命令,接收机柜内各个板卡的健康信息。
其中,所述健康信息采集模块是机柜内各个板卡内部的通用模块,负责采集板卡内部关键器件的电压、电流、温度健康信息;该模块包括CPU、测压电路、测流电路以及测温芯片,CPU通过I2C接口读取测温芯片的温度信息。
其中,所述健康信息管理模块包括系统I2C总线和以太网总线;其中,系统I2C总线是传输健康信息的首选总线,以太网是传输健康信息的备用总线;机柜内各个板卡的健康信息采集模块均与这两条总线相连。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在系统无故障时包括如下工作环节:
环节11:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
环节12:I2C主节点板卡的CPU收到上层接口模块命令后,通过系统I2C总线向板卡N的健康信息采集模块发送查询命令。
环节13:板卡N的健康信息采集模块收到来自I2C主节点板卡的查询命令后,CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
环节14:板卡N的健康信息采集模块将采集到的健康信息通过系统I2C总线传输到I2C主节点板卡的CPU;
环节15:I2C主节点板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第一路RS485接口发给上层接口模块。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在出现第一种故障时包括如下环节:
环节21:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
环节22:I2C主节点板卡的CPU收到上层接口模块命令后,通过系统I2C总线向板卡N的健康信息采集模块发送查询命令。
环节23:系统I2C总线的查询命令与板卡N健康信息采集模块内测温的I2C总线发生了访问冲突;此时,I2C主节点板卡的CPU没有板卡N的健康信息返回;I2C主节点板卡的CPU通过以太网向板卡N的健康信息采集模块发送查询命令;
环节24:板卡N的健康信息采集模块收到来自I2C主节点板卡的查询命令后,CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
环节25:板卡N的健康信息采集模块将采集到的健康信息通过以太网传输到I2C主节点板卡的CPU;
环节26:I2C主节点板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第一路RS485接口发给上层接口模块。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在出现第二种故障时包括如下步骤:
环节31:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
环节32:I2C主节点板卡的CPU出现故障;I2C主节点板卡无法完成命令的接收与转发;此时,上层接口模块没有板卡N的健康信息返回;上层接口模块上位机通过第二路RS485接口向备用通信板卡的CPU发送查询命令;
环节33:备用通信板卡的CPU收到上层接口模块命令后,通过以太网向板卡N的健康信息采集模块发送查询命令;
环节34:板卡N的健康信息采集模块收到来自备用通信板卡的命令后,模块内的CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
环节35:卡N的健康信息采集模块将采集到的健康信息通过以太网传输到备用通信板卡的CPU。;
环节36:备用通信板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第二路RS485接口发送到上层接口模块。
(三)有益效果
本发明在使用主从结构的I2C总线进行机柜系统健康管理的基础上,增加了基于交换策略的以太网管理总线。板卡内部I2C测温总线与系统I2C总线发生中断冲突,或者系统I2C主板卡出现异常时,以太网可以作为冗余备份总线上报系统健康管理信息。
附图说明
图1是健康管理装置系统结构图。
图2是I2C主总线工作流程图。
图3是第一种故障模式工作流程图。
图4是第二种故障模式工作流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明主要针对应用I2C总线进行健康管理的机柜系统,设计了一种基于以太网和I2C双冗余总线的健康管理装置。该方法使用以太网和I2C两条总线将机柜内各板卡相连,各个板卡可以根据上层用户的需求通过以太网或者I2C两种渠道传输健康管理信息。上位机利用RS485串口与机柜系统进行命令和数据的通信,系统I2C主节点所在的板卡作为与上位机通信的主接口,其它任一板卡作为与上位机通信的备用通信接口。利用以太网和I2C两种总线进行冗余备份,解决了单独使用I2C总线存在的板卡关键信息无法传输或者上报失败的问题,提高了健康管理系统的可靠性。
为解决上述技术问题,本发明提供一种基于以太网和I2C双冗余总线的健康管理装置,该装置包括:上层接口模块、健康信息采集模块、健康信息管理模块;
所述装置用于针对如下两种导致系统I2C总线不能上报健康信息的故障模式进行健康管理:
第一种:系统I2C总线与板卡内测温芯片I2C存在中断访问冲突。
第二种:I2C主节点板卡CPU发生故障。
其中,所述上层接口模块内,上位机通过2路RS485串口分别与机柜内I2C主节点板卡、备用通信板卡进行通信,用来发送健康信息查询命令,接收机柜内各个板卡的健康信息。
其中,所述健康信息采集模块是机柜内各个板卡内部的通用模块,负责采集板卡内部关键器件的电压、电流、温度健康信息;该模块包括CPU、测压电路、测流电路以及测温芯片,CPU通过I2C接口读取测温芯片的温度信息。
其中,所述健康信息管理模块包括系统I2C总线和以太网总线;其中,系统I2C总线是传输健康信息的首选总线,以太网是传输健康信息的备用总线;机柜内各个板卡的健康信息采集模块均与这两条总线相连。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在系统无故障时包括如下工作环节:
环节11:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
环节12:I2C主节点板卡的CPU收到上层接口模块命令后,通过系统I2C总线向板卡N的健康信息采集模块发送查询命令。
环节13:板卡N的健康信息采集模块收到来自I2C主节点板卡的查询命令后,CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
环节14:板卡N的健康信息采集模块将采集到的健康信息通过系统I2C总线传输到I2C主节点板卡的CPU;
环节15:I2C主节点板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第一路RS485接口发给上层接口模块。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在出现第一种故障时包括如下环节:
环节21:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
环节22:I2C主节点板卡的CPU收到上层接口模块命令后,通过系统I2C总线向板卡N的健康信息采集模块发送查询命令。
环节23:系统I2C总线的查询命令与板卡N健康信息采集模块内测温的I2C总线发生了访问冲突;此时,I2C主节点板卡的CPU没有板卡N的健康信息返回;I2C主节点板卡的CPU通过以太网向板卡N的健康信息采集模块发送查询命令;
环节24:板卡N的健康信息采集模块收到来自I2C主节点板卡的查询命令后,CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
环节25:板卡N的健康信息采集模块将采集到的健康信息通过以太网传输到I2C主节点板卡的CPU;
环节26:I2C主节点板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第一路RS485接口发给上层接口模块。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在出现第二种故障时包括如下步骤:
环节31:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
环节32:I2C主节点板卡的CPU出现故障;I2C主节点板卡无法完成命令的接收与转发;此时,上层接口模块没有板卡N的健康信息返回;上层接口模块上位机通过第二路RS485接口向备用通信板卡的CPU发送查询命令;
环节33:备用通信板卡的CPU收到上层接口模块命令后,通过以太网向板卡N的健康信息采集模块发送查询命令;
环节34:板卡N的健康信息采集模块收到来自备用通信板卡的命令后,模块内的CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
环节35:卡N的健康信息采集模块将采集到的健康信息通过以太网传输到备用通信板卡的CPU。;
环节36:备用通信板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第二路RS485接口发送到上层接口模块。
此外,本发明还提供一种基于以太网和I2C双冗余总线的健康管理方法,该方法基于健康管理系统来实施,该系统包括:上层接口模块、健康信息采集模块、健康信息管理模块;
所述方法用于针对如下两种导致系统I2C总线不能上报健康信息的故障模式进行健康管理:
第一种:系统I2C总线与板卡内测温芯片I2C存在中断访问冲突。
第二种:I2C主节点板卡CPU发生故障。
其中,所述上层接口模块内,上位机通过2路RS485串口分别与机柜内I2C主节点板卡、备用通信板卡进行通信,用来发送健康信息查询命令,接收机柜内各个板卡的健康信息。
其中,所述健康信息采集模块是机柜内各个板卡内部的通用模块,负责采集板卡内部关键器件的电压、电流、温度健康信息;该模块包括CPU、测压电路、测流电路以及测温芯片,CPU通过I2C接口读取测温芯片的温度信息。
其中,所述健康信息管理模块包括系统I2C总线和以太网总线;其中,系统I2C总线是传输健康信息的首选总线,以太网是传输健康信息的备用总线;机柜内各个板卡的健康信息采集模块均与这两条总线相连。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在系统无故障时包括如下步骤:
步骤11:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
步骤12:I2C主节点板卡的CPU收到上层接口模块命令后,通过系统I2C总线向板卡N的健康信息采集模块发送查询命令。
步骤13:板卡N的健康信息采集模块收到来自I2C主节点板卡的查询命令后,CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
步骤14:板卡N的健康信息采集模块将采集到的健康信息通过系统I2C总线传输到I2C主节点板卡的CPU;
步骤15:I2C主节点板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第一路RS485接口发给上层接口模块。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在出现第一种故障时包括如下步骤:
步骤21:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
步骤22:I2C主节点板卡的CPU收到上层接口模块命令后,通过系统I2C总线向板卡N的健康信息采集模块发送查询命令。
步骤23:系统I2C总线的查询命令与板卡N健康信息采集模块内测温的I2C总线发生了访问冲突;此时,I2C主节点板卡的CPU没有板卡N的健康信息返回;I2C主节点板卡的CPU通过以太网向板卡N的健康信息采集模块发送查询命令;
步骤24:板卡N的健康信息采集模块收到来自I2C主节点板卡的查询命令后,CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
步骤25:板卡N的健康信息采集模块将采集到的健康信息通过以太网传输到I2C主节点板卡的CPU;
步骤26:I2C主节点板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第一路RS485接口发给上层接口模块。
其中,在查询板卡N的健康信息工作过程中,该健康管理装置在出现第二种故障时包括如下步骤:
步骤31:上层接口模块的上位机通过第一路RS485接口向I2C主节点板卡发送查询命令;
步骤32:I2C主节点板卡的CPU出现故障;I2C主节点板卡无法完成命令的接收与转发;此时,上层接口模块没有板卡N的健康信息返回;上层接口模块上位机通过第二路RS485接口向备用通信板卡的CPU发送查询命令;
步骤33:备用通信板卡的CPU收到上层接口模块命令后,通过以太网向板卡N的健康信息采集模块发送查询命令;
步骤34:板卡N的健康信息采集模块收到来自备用通信板卡的命令后,模块内的CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息;
步骤35:卡N的健康信息采集模块将采集到的健康信息通过以太网传输到备用通信板卡的CPU。;
步骤36:备用通信板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第二路RS485接口发送到上层接口模块。
实施例1
本实施例存在两种故障模式导致系统I2C总线不能上报健康信息。
第一种:系统I2C总线与板卡内测温芯片I2C存在中断访问冲突。
第二种:I2C主节点板卡CPU发生故障。
针对以上两个问题,下面结合附图对本发明进行详细的描述。
本发明包括三个模块,如图1所示:
模块一上层接口模块
该模块内上位机通过2路RS485串口分别与机柜内I2C主节点板卡、备用通信板卡进行通信,用来发送健康信息查询命令,接收机柜内各个板卡的健康信息。
模块二健康信息采集模块
采集模块是机柜内各个板卡内部的通用模块,负责采集板卡内部关键器件的电压、电流、温度等健康信息。该模块包括CPU、测压电路、测流电路以及测温芯片,CPU通过I2C接口读取测温芯片的温度信息。
模块三健康信息管理模块
该模块包括系统I2C总线和以太网总线。系统I2C总线是传输健康信息的首选总线,以太网是传输健康信息的备用总线。机柜内各个板卡的健康信息采集模块均与这两条总线相连。
以查询板卡N的健康信息为例,说明系统的工作原理。
系统无故障时工作原理A如图2所示。
步骤A.1上层接口模块上位机通过第一路RS485接口向I2C主节点板卡的健康信息采集模块发送查询命令。
步骤A.2I2C主节点板卡的CPU收到上层接口模块命令后,通过系统I2C总线向板卡N的健康信息采集模块发送查询命令。
步骤A.3板卡N的健康信息采集模块收到来自I2C主节点板卡的命令后,模块内的CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息。
步骤A.4板卡N的健康信息采集模块将采集到的健康信息通过系统I2C总线传输到I2C主节点板卡的CPU。
步骤A.5I2C主节点板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第一路RS485接口发给上层接口模块。
出现第一种故障时的工作原理B如图3所示。
步骤B.1同步骤A.1
步骤B.2同步骤A.2
步骤B.3系统I2C总线的查询命令与板卡N健康信息采集模块内测温的I2C总线发生了访问冲突。此时,I2C主节点板卡的CPU没有板卡N的健康信息返回。I2C主节点板卡的CPU通过以太网向板卡N的健康信息采集模块发送查询命令。
步骤B.4同步骤A.3
步骤B.5板卡N的健康信息采集模块将采集到的健康信息通过以太网传输到I2C主节点板卡的CPU。
步骤B.6同步骤A.5
出现第二种故障时的工作原理C如图4所示。
步骤C.1同步骤A.1
步骤C.2I2C主节点板卡的CPU出现故障。I2C主节点板卡无法完成命令的接收与转发。此时,上层接口模块没有板卡N的健康信息返回。上层接口模块上位机通过第二路RS485接口向备用通信板卡的CPU发送查询命令。
步骤C.3备用通信板卡的CPU收到上层接口模块命令后,通过以太网向板卡N的健康信息采集模块发送查询命令。
步骤C.4板卡N的健康信息采集模块收到来自备用通信板卡的命令后,模块内的CPU利用板内I2C总线采集温度信息,利用测压电路采集电压信息,利用测流电路采集电流信息。
步骤C.5板卡N的健康信息采集模块将采集到的健康信息通过以太网传输到备用通信板卡的CPU。
步骤C.6备用通信板卡的CPU收到板卡N的健康信息后,将板卡N的健康信息通过第二路RS485接口发送到上层接口模块。
实施例2
本实施例包括如下步骤:
步骤一周期性采集板卡健康信息
机柜内各板卡利用CPU定时器周期性采集板卡内关键器件的电压、电流、温度等健康信息,将信息存储到板内的EEPROM中并进行周期性更新。
步骤二I2C主总线管理
I2C总线是传输健康信息的首选总线。上位机通过RS485串口向I2C主节点所在的板卡发送命令,主节点收到上位机发送的请求命令后,把命令转发到相应的I2C从节点,I2C从节点将本板信息反馈给主节点后,由主节点上报给上位机。
步骤三以太网备用总线管理
如果I2C主节点CPU在规定时间内没有收到相应I2C从节点反馈的信息,则说明板卡内部I2C测温总线与系统I2C总线发生了中断冲突。此时,主节点将命令通过以太网再次发送到相应板卡,板卡将本板健康信息反馈给主节点后,由主节点上报给上位机。
如果上位机在规定的时间内没有收到I2C主节点板卡上报的信息时,则说明主节点所在的I2C板卡异常。此时上位机通过另一个RS485串口向备用通信板卡发送请求命令,备用通信板卡通过以太网进行命令的转发和信息的传输,最终由备用板卡将健康信息上报给上位机。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。