PMBus介绍:
PMBus为电源管理总线,是SMBus的扩展。PMBus用于对带有电源控制和管理组件的电源进行数字管理。I2C规范只描述了2线总线的物理层、定时和流量控制。I2C规范没有描述信息的格式和内容,PMBus规范是一个完整的电源管理协议。它包括如何将比特和字节从一个设备获取到另一个设备,它还有命令集,通过命令集进行对应的管理。总之,PMBus在硬件层面没做修改,在软件层还是通过SMBus协议做了部分修改后得到,通过向SMBus的控制寄存器和从设备寄存器输入PMBus的命令集和从设备地址进行对应操作。
I2C、PMBus、SMBus特性:
PMBus长城电源命令集:
因为PMBus主要还是通过SMBus进行控制,PMBus相当于SMBus的子协议。在SMBus的基础上通过向命令寄存器输入对应的PMBus命令集进行对应的电源管理。不同的电源可能命令集不相同。
PMbus命令集如下:
PMBus读写操作:
PMBus的读写流程和SMBus相似,PMBus有命令集,通过向SMBus命令寄存器中命令集。读操作同理。
读写流程和SMBus读写流程一致。
读: 1.通过 bus、dev、fun、offset 获取SMBus的IO空间配置寄存器。 2.通过获取到的值将第0位置0后获得IO空间配置寄存器的基地址。 3.通过向(基地址+0x04h)从设备地址寄存器写入从设备地址,从设备位0置1表示读取。 4.通过向(基地址+0x02h)控制寄存器,写入0x4c或0x48。 5.通过向(基地址+0x03h)命令寄存器写入命令集。 6.最后从数据寄存器(基地址+0x05h和0x06h)读取从设备寄存器的数据。 写: 1.通过 bus、dev、fun、offset 获取SMBus的IO空间配置寄存器。 2.通过获取到的值将第0位置0后获得IO空间配置寄存器的基地址。 3.通过向(基地址+0x04h)从设备地址寄存器写入从设备地址,从设备位0置0表示写。 4.通过向(基地址+0x02h)控制寄存器,写入0x4c或者0x48等。 5.通过向(基地址+0x03h)命令寄存器写入命令集。 6.向数据寄存器(基地址+0x05h和0x06h)写入设备寄存器的数据。