完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PMbus协议是一种基于I2C总线的数字电源管理总线协议,其通信采用带有ACK的I2C通信。在通信建立过程中有几个握手步骤需要通过。
首先,从机需要向主机发送其从机地址,主机在收到从机地址后才能向从机发送数据。其次,在每次主机向从机发送数据帧时,从机都需要向主机发送ACK确认帧来确认收到主机发来的数据帧。如果从机一直没有发送ACK确认帧,主机就会认为通信失败,并进行重试。 对于您所描述的情况,BMC持续发送FFh可能是在尝试发起PMbus通信握手,但是由于从机没有发送ACK确认帧,所以BMC一直在重试。建议您对从机程序进行调试,确保从机能够正常地发送ACK确认帧,以及正常地接收和处理来自BMC的数据帧。 以下是一个M0系列单片机作为PMbus从机的例程,供您参考: ``` #include "stdio.h" #include "string.h" #include "stdlib.h" #include "HT32F5xxxx_01.h" #include "PMbus.h" #define SLAVE_ADDRESS 0x5A // Declare PMbus global variable PMBus_t PMBus; void Pmbus_Init(void) { // Initialize PMBus PMBus.PM_I2C = PMBUS_I2C; PMBus.SlaveAddress = SLAVE_ADDRESS; PMBus.I2C_Configuration.Device_Mode = I2C_DEVICE_MODE_SLAVE; PMBus.I2C_Configuration.General_Call_EN = I2C_GENERAL_CALL_DISABLE; PMBus.I2C_Configuration.Speed = I2C_STANDARD_SPEED; PMBus.I2C_Configuration.Address_Mode = I2C_ADDRESS_MODE_7BIT; PMBus.I2C_Configuration.Own_Address = SLAVE_ADDRESS; PMBus.I2C_Configuration.Monitor_Mode = I2C_MONITOR_MODE_DISABLE; PMBus.I2C_Configuration.Acknowledge = I2C_ACK_ENABLE; PMBus.I2C_Configuration.General_Call_Callback = NULL; PMBus.I2C_Configuration.I2C_Callback = PMBus_I2C_Callback; PMBus.I2C_Status = PMBUS_I2C_Configuration(&PMBus.I2C_Configuration); // Enable PMBus PMBus_Enable(&PMBus); } void PMBus_I2C_Callback(I2C_TypeDef* I2Cx, uint32_t Event) { if (Event & I2C_EV_ACK_FAILURE) { // Handle ACK failure } else if (Event & I2C_EV_MONITOR_ALERT) { // Handle monitor alert } else if (Event & I2C_EV_GENERAL_CALL) { // Handle general call } } int main(void) { // Initialize system clock SystemCoreClockUpdate(); // Initialize PMBus Pmbus_Init(); while (1) { // Handle PMBus commands PMBus_Handle_Command(&PMBus); } } ``` 注意,在上述程序中,您需要根据您的具体硬件平台和要求进行适当的修改和调试。同时,您还需要在程序中实现从机的PMbus命令处理函数,以便正确响应来自BMC的PMbus命令。 |
|
|
|
只有小组成员才能发言,加入小组>>
671 浏览 0 评论
1095 浏览 1 评论
2461 浏览 5 评论
2790 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2625 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
643浏览 9评论
639浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
770浏览 6评论
614浏览 5评论
656浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 12:06 , Processed in 0.994263 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号