发明名称 一种小型嵌入式系统板卡监控系统
摘要 本发明公开了一种小型嵌入式系统板卡监控系统,包括:板卡监控电路A(17)、板卡监控电路B(18)、板卡监控电路C(19)、扩展板卡监控电路(20)。BMC控制器A(4)、BMC控制器B(8)、BMC控制器C(12)和BMC控制器D(16)之间通过I2C总线双向连接。小型嵌入式系统板卡监控系统上电时,BMC控制器A(4)默认作为系统I2C测试维护总线的主设备,对系统内的电流、电压和温度进行监控。当主设备异常时,I2C测试维护总线的主设备将按相应顺序进行主从切换。本发明实现了系统状态监控及主丛切换,提高了系统的抗风险能力;适用于对系统稳定性、可靠性具有很高要求的场合。
申请公布号 CN103473166A 申请公布日期 2013.12.25
申请号 CN201310377316.8 申请日期 2013.08.27
申请人 中国航天科工集团第二研究院七〇六所 发明人 王宝强;王浩;戴捷;杨帆;张宁
分类号 G06F11/32(2006.01)I;G06F9/48(2006.01)I 主分类号 G06F11/32(2006.01)I
代理机构 中国航天科工集团公司专利中心 11024 代理人 岳洁菱;姜中英
主权项 一种小型嵌入式系统板卡监控系统,其特征在于包括:板卡监控电路A(17)、板卡监控电路B(18)、板卡监控电路C(19)和扩展板卡监控电路(20),所述板卡监控电路A(17)包括:CPU处理器A(1)、温度传感器A(2)、电源管理芯片A(3)和BMC控制器A(4);板卡监控电路B(18)包括:CPU处理器B(5)、温度传感器B(6)、电源管理芯片B(7)和BMC控制器B(8);板卡监控电路C(19)包括:CPU处理器C(9)、温度传感器C(10)、电源管理芯片C(11)和BMC控制器C(12);扩展板卡监控电路(20)包括:DSP处理器(13)、温度传感器D(14)、电源管理芯片D(15)和BMC控制器D(16);BMC控制器A(4)、BMC控制器B(8)、BMC控制器C(12)和BMC控制器D(16)之间通过I2C总线双向连接,测试计算机分别与CPU处理器A(1)、CPU处理器B(5)和CPU处理器C(9)通过以太网双向连接,测试计算机分别与BMC控制器A(4)、BMC控制器B(8)、BMC控制器C(12)和BMC控制器D(16)通过串口双向连接;在板卡监控电路A(17)中,BMC控制器A(4)与CPU处理器A(1)通过串口双向连接,BMC控制器A(4)分别与温度传感器A(2)、电源管理芯片A(3)通过I2C总线双向连接;在板卡监控电路B(18)中, BMC控制器B(8)与CPU处理器B(5)通过串口双向连接,BMC控制器B(8)分别与温度传感器B(6)、电源管理芯片B(7)通过I2C总线双向连接;在板卡监控电路C(19)中,BMC控制器C(12)与CPU处理器C(9)通过串口双向连接,BMC控制器C(12)分别与温度传感器C(10)、电源管理芯片C(11)通过I2C总线双向连接;在扩展板卡监控电路(20)C(19)中,BMC控制器D(16)与DSP处理器(13)通过串口双向连接,BMC控制器D(16)分别与温度传感器D(14)、电源管理芯片D(15)通过I2C总线双向连接;小型嵌入式系统板卡监控系统上电后,首先确定BMC控制器A(4)、BMC控制器B(8)、BMC控制器C(12)和BMC控制器D(16)的I2C地址,由BMC控制器A(4)掌控系统I2C测试维护总线的控制权,BMC控制器B(8)、BMC控制器C(12)和BMC控制器D(16)作为I2C测试维护总线上的从设备;在板卡监控电路A(17)中,温度传感器A(2)、电源管理芯片A(3)持续对板卡输入电压、板卡输入电流和CPU处理器A(1)的温度信号进行监测,并上报给BMC控制器A(4),由BMC控制器A(4)判断电压是否在0到50V、电流是否在0到50A和温度是否在‑50℃到+125℃的范围之内,当电压、电流或温度信号不在范围之内时,BMC控制器A(4)将向电源管理模块A发送断电命令,使板卡断电;板卡监控电路B(18)、板卡监控电路C(19)和扩展板卡监控电路(20)对电压、电流和温度信号的处理过程与板卡监控电路A(17)对电压、电流和温度信号的处理过程相同;小型嵌入式系统板卡监控系统正常启动后,在板卡监控电路A(17)中,BMC控制器A(4)不断接收CPU处理器A(1)的持续心跳信号,BMC控制器A(4)一方面对CPU处理器A(1)开始周期性上报电压、电流和温度信息,另一方面经由I2C总线每隔0.3秒持续的向BMC控制器B(8)和BMC控制器C(12)发送“主设备正常工作”的指示消息,消息中携带I2C地址,申明BMC控制器A(4)掌控系统I2C测试维护总线的控制权,BMC控制器B(8)和BMC控制器C(12)收到此消息后,保存当前主设备的I2C地址;在板卡监控电路B(18)中,BMC控制器B(8)不断接收CPU处理器B(5)的持续心跳信号,当收到BMC控制器A(4)掌控系统I2C测试维护总线控制权的信息后,BMC控制器B(8)通过I2C总线周期性的将电压、电流和温度信息上报给BMC控制器A(4),然后再由BMC控制器A(4)转发给CPU处理器A(1);在板卡监控电路C(19)和扩展板卡监控电路(20)对心跳信号和上报信息的处理过程与板卡监控电路B(18)对心跳信号和上报信息的处理过程相同;当CPU处理器A(1)出现异常时,需要释放I2C总线的控制权;首先, BMC控制器B(8)判断是否接收到CPU处理器B(5)发送的心跳信号和BMC控制器C(12)是否接收到CPU处理器C(9)发送的心跳信号,若BMC控制器B(8)或BMC控制器C(12)没有收到心跳信号,则将BMC控制器B(8)或BMC控制器C(12)设置为I2C总线的从设备,不能掌控I2C测试维护总线的控制权;其次,BMC控制器掌控I2C测试维护总线控制权的顺序,遵循BMC控制器A(4)到BMC控制器B(8)到BMC控制器C(12)的次序;当BMC控制器B(8)在1秒内未收到BMC控制器A(4)发出的“主设备正常工作”指示消息,且BMC控制器B(8)接收到了CPU处理器B(5)发送的心跳信号,则由BMC控制器B(8)控制器掌控I2C测试维护总线的控制权,BMC控制器A(4)释放I2C总线的控制权,在BMC控制器B(8)控制器掌控I2C测试维护总线的控制权后,需每隔0.3秒向BMC控制器A(4)和BMC控制器C(12)发送“主设备正常工作”的指示消息,BMC控制器A(4)和BMC控制器C(12)得知当前BMC控制器B(8)掌控I2C测试维护总线的控制权;当CPU处理器B(5)出现异常时,则切换I2C总线的控制权到BMC控制器C(12),其处理过程与I2C总线的控制权由BMC控制器A(4)切换到BMC控制器B(8)相同;当CPU处理器A(1)、CPU处理器B(5)和CPU处理器C(9)工作状态都异常时,最后掌控I2C测试维护总线控制权的BMC控制器,需要完成系统重启的任务,当前BMC控制器在复位本板卡的同时也发送重启命令给另外两个BMC控制器,从而完成重启任务;重启系统后,依然由BMC控制器A(4)掌控系统I2C测试维护总线的控制权。
地址 100854 北京市海淀区永定路51号