主题中讨论的其他器件:SK-AM62B-P1
工具与软件:
大家好!
我尝试使用以下页面中的信息在 SK-AM62B-P1板上将 PRUSS 内核时钟设置为333:
最后、我使用了除`pruss_core_clk`之外的以下附加内容:
&pruss_coreclk_mux {
assigned-clocks = <&k3_clks 81 0>, <&pruss_coreclk_mux>;
assigned-clock-parents = <&k3_clks 81 1>, <&k3_clks 81 20>;
assigned-clock-rates = <333000000>;
};
`k3conf`似乎确认 PRU 在333MHz 下运行、但我不确定如何处理其输出:
# k3conf dump clock 81 |------------------------------------------------------------------------------| | VERSION INFO | |------------------------------------------------------------------------------| | K3CONF | (version 0.3-nogit built Thu Jul 25 14:13:02 UTC 2024) | | SoC | AM62X SR1.0 | | SYSFW | ABI: 4.0 (firmware version 0x000a '10.1.1--v10.01.01 (Fiery Fox))') | |------------------------------------------------------------------------------| |-----------------------------------------------------------------------------------------------------------------------------------| | Device ID | Clock ID | Clock Name | Status | Clock Frequency | |-----------------------------------------------------------------------------------------------------------------------------------| | 81 | 0 | DEV_ICSSM0_CORE_CLK | CLK_STATE_READY | 333333333 | | 81 | 1 | DEV_ICSSM0_CORE_CLK_PARENT_HSDIV4_16FFT_MAIN_2_HSDIVOUT0_CLK | CLK_STATE_READY | 333333333 | | 81 | 2 | DEV_ICSSM0_CORE_CLK_PARENT_POSTDIV4_16FF_MAIN_0_HSDIVOUT9_CLK | CLK_STATE_READY | 333333333 | | 81 | 3 | DEV_ICSSM0_IEP_CLK | CLK_STATE_READY | 250000000 | | 81 | 4 | DEV_ICSSM0_IEP_CLK_PARENT_POSTDIV4_16FF_MAIN_2_HSDIVOUT5_CLK | CLK_STATE_READY | 250000000 | | 81 | 5 | DEV_ICSSM0_IEP_CLK_PARENT_POSTDIV4_16FF_MAIN_0_HSDIVOUT6_CLK | CLK_STATE_READY | 200000000 | | 81 | 6 | DEV_ICSSM0_IEP_CLK_PARENT_BOARD_0_CP_GEMAC_CPTS0_RFT_CLK_OUT | CLK_STATE_READY | 0 | | 81 | 8 | DEV_ICSSM0_IEP_CLK_PARENT_BOARD_0_MCU_EXT_REFCLK0_OUT | CLK_STATE_READY | 0 | | 81 | 9 | DEV_ICSSM0_IEP_CLK_PARENT_BOARD_0_EXT_REFCLK1_OUT | CLK_STATE_READY | 0 | | 81 | 10 | DEV_ICSSM0_IEP_CLK_PARENT_SAM62_PLL_CTRL_WRAP_MCU_0_CHIP_DIV1_CLK_CLK | CLK_STATE_READY | 400000000 | | 81 | 11 | DEV_ICSSM0_IEP_CLK_PARENT_SAM62_PLL_CTRL_WRAP_MAIN_0_CHIP_DIV1_CLK_CLK | CLK_STATE_READY | 500000000 | | 81 | 13 | DEV_ICSSM0_UCLK_CLK | CLK_STATE_READY | 192000000 | | 81 | 14 | DEV_ICSSM0_VCLK_CLK | CLK_STATE_READY | 250000000 | |-----------------------------------------------------------------------------------------------------------------------------------|
因此、我构建了一个小型固件、只以固定速率(周期)切换 GPO:
while (1 ) {
__delay_cycles(100);
__R30 |= 0x80;
__delay_cycles(100);
__R30 &= ~0x80;
}
并使用示波器测量了输出。
我`的是、虽然 Δ t k3conf`都遵循我设置的分配时钟速率、但 GPO 的时序保持不变、但我希望它们能够根据配置的 PRU 频率(200,250或333 MHz)几乎线性地进行缩放。
尽管上面的链接中已经全面介绍了这一点、但我可能仍然缺少一些了解这些信息的关键、需要您的帮助来解决这一问题。
假设上面的环路不会随着 PRU 时钟的增加而提高速度?
什么是` {&K3_CLKS 81 20>` ? 我在 "AM62X 时钟标识符"中搜索它 、但找不到说明。
最后、除了将时钟增加到333MHz 之外、是否有可能在输入 PLL 上启用展频?
此致、
António μ A