主题中讨论的其他器件:UCD3138
工具/软件:Code Composer Studio
在主循环中使用 PMBus_handler()函数。 然后使用 i2c 工具读取输出电压。 如果具有高负载的模块、SCL 将在35mS 的时间内设置为低电平。 为什么 SCL 设置为低电平? 我更改了命令的一些 i2c 工具、它也具有相同的外观。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
肖恩:
我已经在 PMBus_handler ()中放置了一个切换引脚,并且计时器介于50us 到90us 之间。
寄存器设置如下:
PMBusRegs.PMBCTRL2.RX_BYTE_ACK_CNT = 0b11;
PMBusRegs.PMBCTRL2.SLAVE_MASK = 0b01111111;
但我发现 UCD3138不确认从器件地址和命令 somtime。
还有其他几个因素会导致时钟低电平持续35毫秒。 通常、这意味着固件会丢失、并且无法正确响应 PMBus。 由于您说这个问题只在高负载时发生、我想知道是否有噪声导致主环路丢失。 在某些情况下、噪声会导致主环路在不复位芯片的情况下丢失。
如果发生这种情况、则在这种情况下、正在调用 PMBus_handler 的指示应该会消失。 如果发生这种情况、我建议查看改善 UCD 电源的接地和滤波、并可能使用看门狗引起复位。
PMBus 上的噪声和故障也可能导致 PMBus 处理程序混淆、但这通常不是由高负载引起的。