TDA4VM MCU_SYSCLK0 系统时钟输出

1. 现象描述

在使用TDA4VM 芯片时,很多外设的时钟 都是 从 MCU_SYSCLK0 经过分频后 进入到外设模块,如下图

因为如下因素 使得想要知道外设具体的时钟频率变得困难

  1. 外设的 时钟 一般都是在 SBL 中设置的,
  2. TI 的 EB mcal 配置 没有Mcu 模块配置

那么如何通过 MCU_SYSCLK0 理论计算出外设的时钟频率呢?

2. 解决办法

  1. 查询技术参考手册,看到如下的描述,

通过使能 MCU_SYSCLKOUT0 输出,从外部测量出该信号频率, 然后*4 得到 MCU_SYSCLK0

  1. 如何使能MCU_SYSCLKOUT0 输出 ?

从上图可以看出,将H26 脚的复用功能 设置为 复用功能5 即可

直接上代码:

uint32 regVal = 0U;
     regVal = CSL_REG32_RD(CSL_WKUP_CTRL_MMR0_CFG0_BASE + CSL_WKUP_CTRL_MMR_CFG0_PADCONFIG54);
     regVal &= ~(0x0FU << 0x0U);
     regVal |= (0x05U << 0x0U);
     CSL_REG32_WR((CSL_WKUP_CTRL_MMR0_CFG0_BASE + CSL_WKUP_CTRL_MMR_CFG0_PADCONFIG54), regVal);

注意:将引脚原本的功能配置屏蔽掉。

经验分享 程序员 微信小程序 职场和发展