电源模块PMBUS通信

电源模块PMBUS通信

找到对应的Chip对象
mdbctl lsobj Eeprom
一般地,电源对应的对象为
Eeprom_PsuChip1_0101
Eeprom_PsuChip2_0101

读寄存器

需确认对应的寄存器ID,例如0xXX
先读一个字节获取长度
mdbctl call Eeprom_PsuChip1_0101 bmc.kepler.Chip.BlockIO Read 0 0xXX 1
假设返回的长度为8,就可以读9个字节(加上长度)
mdbctl call Eeprom_PsuChip1_0101 bmc.kepler.Chip.BlockIO Read 0 0xXX 9

写寄存器

需确认对应的寄存器ID,例如0xXX
先读一个字节获取长度
mdbctl call Eeprom_PsuChip1_0101 bmc.kepler.Chip.BlockIO Write 0 0xXX 2 0x01 0xFF
0xXX:寄存器ID
2:写入的数据长度+1(1为crc检验)
0x01:写入的数据
0xFF:crc,由SlotI2cAddr、寄存器ID、写入的数据经过crc-8校验算法得出。其中SlotI2cAddr可以通过一键收集在日志中查看