主题中讨论的其他器件:TPS659037
请参阅 pdk_am57xx_1_0_6\packets\ti\board\src\idkAM571x\device\PMIC_device.c 中的以下函数:
uint32_t Board_GetPMICOffset (uint32_t voltOffset、PMIC_DATA_t * PMIC) { uint32_t offsetCode; offsetCode =(26 +((voltOffset - 700)/10))& 0x7F; 返回 offsetCode; }
偏移代码的计算未考虑来自 TRM 的以下信息:"在某些情况下、从 CTRL_CORE_STD_FUSE_OPP_Vmin_xxx_y 寄存器读取的 AVS 0类电压值介于电源的两个增量电压阶跃之间。 如果出现这种情况、则应选择更高的电压值。" TPS659037步长为10mV、因此正确的计算方法为:
offsetCode =(26 +((voltOffset - 700 + 9)/10))和0x7F;
请注意、这与 PM LLD 中的 PmhalTps659037VoltageToVselOffset ()(pdk_am57xx_1_0_6\packages/ti\drv\pm\src\pmhal\prcm\pmhal_tps659037.c)中的偏移计算方式一致:
/*选择的 Vsel 始终大于等于 AVS
*电压。
*
*Vsel =(((电压-稳压器->minVolt)+(稳压器->StepVolt - 1U)/稳压器->StepVolt)+稳压器->minVoltsel;
此致、
Dave