请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TDA4VM 你(们)好
我们对自定义硼执行一些启动测试、发现某些 DDR 初始化在配置为4266Mhz 时失败。
SDK 版本为07_03。 DDR 芯片为 MT53E1G32D2FW-046 AAT:B
硬件符号:

引用 e2e.ti.com/.../4094570的 DDR reg 配置文件
e2e.ti.com/.../board_5F00_ddrRegInit.h
我们还在源文件中进行一些更改以分析失败的日志:
for(counter = 0; counter < DDRSS_PLL_FHS_CNT; counter++)
{
/* wait for freq change request */
regVal = HW_RD_REG32(BOARD_DDR_FSP_CLKCHNG_REQ_ADDR) & 0x80;
BOARD_DEBUG_LOG("Reg Value: %d \n", regVal);
while(regVal == 0x0)
{
regVal = HW_RD_REG32(BOARD_DDR_FSP_CLKCHNG_REQ_ADDR) & 0x80;
BOARD_DEBUG_LOG("Reg Value: %d \n", regVal);
}
reqType = HW_RD_REG32(BOARD_DDR_FSP_CLKCHNG_REQ_ADDR) & 0x03;
BOARD_DEBUG_LOG("Frequency Change type %d request from Controller \n", reqType);
if(reqType == 1)
{
Board_DDRSetPLLClock(DDRSS_PLL_FREQUENCY_1);
BOARD_DEBUG_LOG("#####Board_DDRSetPLLClock : %d \n", DDRSS_PLL_FREQUENCY_1);
}
else if(reqType == 2)
{
Board_DDRSetPLLClock(DDRSS_PLL_FREQUENCY_2);
BOARD_DEBUG_LOG("#####Board_DDRSetPLLClock : %d \n", DDRSS_PLL_FREQUENCY_2);
}
else if(reqType == 0)
{
#ifndef BOARD_DDR_ENABLE_PLL_BYPASS
Board_DDRSetPLLExtBypass();
// Board_DDRSetPLLClock(DDRSS_PLL_FREQUENCY_0);
BOARD_DEBUG_LOG("#####Board_DDRSetPLLExtBypass 0##########\n");
#else
Board_DDRSetPLLExtBypass();
BOARD_DEBUG_LOG("#####Board_DDRSetPLLExtBypass 0##########\n");
#endif
}
这是来自 MCU UART 的日志、发生频率几乎为0.5%
2022-10-09 22:55:35.191812 type 1 request from Controller ^M^M #####Board_DDRSetPLLClock : 106 2022-10-09 22:55:35.256068 6500000 ^M^M Reg Value: 0 ^M^M Reg Value: 128 ^M^M Frequency Change ty 2022-10-09 22:55:35.319700 pe 2 request from Controller ^M^M #####Board_DDRSetPLLClock : 10665 2022-10-09 22:55:35.383598 00000 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Valu 2022-10-09 22:55:35.447636 e: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Valu 2022-10-09 22:55:35.511317 e: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Val 2022-10-09 22:55:35.575640 ue: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Val 2022-10-09 22:55:35.639197 ue: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Val 2022-10-09 22:55:35.703201 ue: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 0 ^M^M Reg Value: 128 ^M^M Frequ 2022-10-09 22:55:35.767094 ency Change type 1 request from Controller ^M^M #####Board_DDRSetP 2022-10-09 22:55:35.830893 LLClock : 1066500000 ^M^M Reg Value: 0 ^M^M Reg Value: 128 ^M^M Frequen 2022-10-09 22:55:35.894816 cy Change type 2 request from Controller ^M^M #####Board_DDRSetPLLC 2022-10-09 22:55:35.958626 lock : 1066500000 ^M^M --->>> Frequency Change request handshake is 2022-10-09 22:55:36.094621 completed... <<<---^M^M 2022-10-09 22:56:21.706586 Board_DDRStart: FAIL^M^M
配置文件中是否需要进行任何更改? 硬件信号发生了哪些变化?