电路设计
硬件状态监控:
- 本板的管理供电3.3V(ADC0)和负载供电12V(ABPS6),Smartfusion
- 负载1.5V、3.3V和5V供电(ADC1/2/3),负载3V3电流(CM2/TM2)和负载5V电流(CM3/TM3),负载温度(TM0);
- AMC子卡1、子卡2电流(ADC6/7)、子卡管理供电(CM0/TM1)和子卡普通供电(ABPS4/5);
- 通过I2C接口的ADC芯片获取接口板的三级供电电压和管理供电电压;
- -48V转12V电源子卡的电压和电流。
负载管理
- 控制负载1.5V/3.3V/5V主供电的上电(通过DS33、DS32、DS31灯观察)和监控;
- 对负载进行复位;
- 采集负载温度;
- 采用串口或LPC和负载进行通讯(2选1);
接口板管理
注:只针对非智能接口板,没有IPMC的,由前板代为管理。
- 控制接口板管理用电和主供电的上电,读取电源POWERGOOD信号;
- 对接口板进行在位检测和热插拔功能支持;
- 提供热插拔指示灯、正在工作指示灯和不在工作指示灯;
- 和接口板有I2C隔离芯片,控制其使能,通过该芯片读取I2C通道的Ready和FAULT信号;
- 设计I2C转GPIO芯片,提供接口板供电1,供电2的使能GPIO,3个自定义GPIO,热插拔信号读取GPIO和接口板复位GPIO;
- 设计I2C接口的EEPROM,读取接口板的FRU信息;
- 设计I2C转ADC芯片,采集接口板的管理用电、主供电、供电1和供电2的电平。
AMC子卡管理
可管理两个AMC子卡,为子卡提供了GA码(拨码开关模拟),在位检测信号和子卡使能信号,在位检测、子卡使能、子卡的管理供电、子卡的主供电,各通过一个LED灯来示意。
- 提供AMC子卡管理供电和主供电的使能和POWERGOOD信号检测;
- 采集子卡的主供电的电流和电压,采集管理供电的电流;
- 提供和子卡的I2C通讯通道(含隔离)。
注:AMC指ATCA和MicroTCA的业务板卡,可装载在ATCA载板上使用在ATCA机箱,也可以直接插入MicroTCA机箱中工作。
-48V转12V电源子卡管理
奔泰的方案额外单独提供了该子卡的参考设计,该子卡插在连接器P22上面,IPMC对它的管理主要通过连接器的以下信号:
- P48V_BOARD_SEATED:在位检测;
- P48V_nEN_DCDC:电源转换器的使能;
- P48V_FEEDA/B:反馈信号;
- P48V_FUSE_OK:是否熔断;
- P48V_VIN:采集48V电压;
- P48V_IN:采集48V电流;
管理风扇单元
可管理四路风扇,支持标准风扇三针接口和四针接口(P8、P24、P26和P27),功能如下:
- 风扇的开关;
- 风扇速度控制;
- 风扇速度测量。
电子钥匙(E-KEYING)
该功能目的在于防止模块的误插入,检测插入的板卡和背板的总线拓扑和端口的兼容性。
首先FRU信息中需要有对板卡的所有端口协议的描述,建立起E-Keying信息,并配置端口的控制信号,一般是硬件上的,非LVDS端口要求上电默认关闭。
其次机箱管理ShMC将插入槽位对应的端口进行查询,并把端口信息传给IPMC,由IPMC进行兼容性判断,如果判断兼容,则在负载上电后,将相关端口使能。
FRU端口由以下数据进行
{
Channel(端口序号,从0开始),
Lanes(端口链路数量),
Link_type(协议类型),
Link_type_ext(扩展协议类型),
Link_group(Channel ID)
}
奔泰的方案进行E-KEYING控制的GPIO如下:
- EKEY_BASE_EN0 管理通道使能0
- EKEY_BASE_EN1 管理通道使能1
- EKEY_FABRIC_EN0 业务通道(高速业务数据)使能0
- EKEY_FABRIC_EN1 业务通道(高速业务数据)使能1
- EKEY_UPD_EN 相邻槽位的点对点通道使能
- C_EKEY_CTL[3:0] EKEY通信数据(没弄懂)
对于端口使能,奔泰的开发板用DS2、DS4、DS6和DS8四个LED灯进行模拟。
告警功能
奔泰的方案中采用了符合工业标准的前面板报警接口Telco Alarm(位号P1,插座型号DB-15M)。
告警分三级,分为Minor Alarm->Major Alarm->Critical Alarm,按严重程度逐渐增高,其中Critical Alarm无法清除,只能关负载供电,Minor Alarm和Major Alarm可清除,另有三个指示灯(DS56、DS26和DS27)分别表征了三级告警的状态。
告警信号通过I2C转GPIO实现(U24,型号PCA9555PW),含三级告警信号,LED使能信号和采集告警清除信号。三级告警信号分别通过使能芯片AGQ200A4H将5V输入转换成高达72VDC的差分电平,分别接入前面板报警接口对应PIN脚,最大驱动电流达到1A,告警清除信号也是线缆通过前面板报警接口传入,收到在3.3VDC和72VDC之间的差分电平,并持续200ms~300ms意味着收到告警清除信号,AGQ200A4H可通过中断通知IPMC。
事件、日志及FRU信息记录
FRU都需配备一个信息存储EEPROM,由IPMC维护,信息格式需符合相应规范(例如ATCA领域的PICMG 3.0标准/Platform Management FRU Information Storage Definition v1.0规范),IPMI命令可读写,机箱管理(ShMC)会从每个IPMC中收集FRU信息,获取FRU全方位的特征,例如获取该板卡申请的最大用电功率,动态协商后,分配给它,上文讲述的E-KEYING信息也存在FRU信息中。
IPMC定义的传感器(Sensor)包括以下:
- 热插拔信号;
- IPMB总线连接信号;
- 温度传感器信号;
- 电压传感器信号;
- 实时时钟数据。
所有传感器配置数据(SDR,Sensor Device Record)必须提前定义在sdr-data.bin文件中,并链接到IPMC固件,编译时需调用,固件通过SDRs来获取传感器的阈值、事件触发是否允许等配置。固件运行时传感器输出值存在SRAM中,机箱管理ShMC将其和SDR中存的阈值进行比较(通过Get Device SDR IPMI命令获取)。
当某个模拟Sensor(温度、电压或电流)超过某一类门限值时,ShMC会做出应对,如点亮OOS(Out-Of-Service)灯,提高风扇转速或关PAYLD电。
所有本地Sensor数据都会存在EEPROM里,格式符合IPMI v1.5 26章节“SEL record formats”规范,如果写满了,则覆盖前面的,从头开始写,类似于行车记录仪。该功能可方便排故。
注:FRU指现场可替换单元,计算板、后接口板、交换板、机箱管理板、电源模块、风扇插件都是FRU,带IPMC单元的称为智能FRU,都需要设置EEPROM存储器FRU信息。
Sensor指的是逻辑上的,只要会产生事件或有值需要ShMC知道的对象都可以虚拟成Sensor。
热插拔、RTC、调试口、中断、指示灯等
热插拔信号接入BMC,BMC另输出热插拔指示灯,奔泰开发板的S3开关模拟了热插拔手柄,开关状态改变时触发热插拔事件(Hot swap event),通知IPMC,引起相应动作(如记录事件、关闭负载供电等)。
提供热插拔指示灯,规范命名为BLUE_LED,具有四种状态,分别是亮、灭、长闪烁、短闪烁,代表的过程如下:
- 管理模块检测通过在位检测信号,发现模块插入,使能模块管理用电,BLUE_LED点亮;
- 模块推入和锁定操作启动**状态,IPMC向ShMC发送Module Hot Swap事件信息,BLUE_LED长闪,ShMC读取该模块的电源需求和E-KEYING信息,判断给模块负载上电;
- 模块**,负载上电,BLUE_LED点亮;
- 拔出模块时,触发微动开关,IPMC向ShMC发送Module Hot Swap事件信息,BLUE_LED短闪,ShMC去使能IPMC的端口状态,移除其负载电源;
- 负载电源移除后,BLUE_LED点亮,代表可以拔出。
RTC支持纽扣电池备份供电(5年)或超级电容,时间数据通过I2C读取,可向IPMC发出中断信号。
Smartfusion M3处理器出一路UART接口用于调试,波特率115200,用于IPMC固件的调试和维护,方便现场排故。
中断,共三个中断,分别是告警控制器中断(发送告警清除信号),温度传感器中断(发送过温信号)和RTC时钟中断(定时信号)。
指示灯:IPMC定义了三个指示灯,分别是FRU_LED2,FRU_LED1A,FRU_LED1B, 其设计可能来自于ATCA的指示灯规范,如下:
BLUE_LED:指示热插拔状态;
LED1:(Out-Of-Service LED):显示出错或故障状态;
LED2(STATUS_LED):显示状态;
LED3(POWER LED):负载上电状态;
应用相关LED(自定义)。
Serial-Over-Lan
Serial-Over-Lan(SOL)功能可以通过外接在机箱管理模块上的网络,远程通过串口访问机箱里的每一台X86服务器,可远程查看BOOT(BIOS启动时串口打印需开启)、OS加载器或Linux系统的串行控制台。大大提升了机箱管理的便捷程度。
SOL功能架构如下:(待完成)
IPMI-Over-Lan
IPMI-Over-Lan是为了SOL提供技术支撑,IPMI v1.5协议规范定义了IPMI消息可以封装在RMCP协议的网络包中,IPMI v2.0规范定义了IPMI消息可封装在RMCP+协议网络包中。RMCP/RMCP+封装在UDP数据包中,UDP端口使用623和624。
KCS功能
待补充
IPMI协议实现
待补充
HPM.1 IPMC固件更新功能
待补充
BMC FPGA更新功能
待补充