TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3352: MCASP:AHCLKX外接24.576MHz时钟,播放音频时,开始阶段ACLKX会先默认输出24.576MHz时钟,持续一段时间后才切换为需要的位时钟。

Part Number:AM3352

如何保证播放音频文件时,AHCLKX能及时切换时钟频率,或者屏蔽开始阶段默认输出外接的时钟信号。

放大后显示

Gary Lu:

这种行为是正常的,通常在音频播放开始时,MCASP模块需要先建立稳定的时钟同步,以确保音频数据的准确传输。因此,MCASP会先输出一个默认的时钟信号(在这种情况下是24.576MHz时钟),以保持时钟同步。随后,MCASP会根据需要切换到正确的位时钟,以适应实际的音频数据传输速率。

这个过程可能需要一段时间,具体的切换时间取决于MCASP的配置和音频数据的传输速率。一旦切换完成,MCASP将使用正确的位时钟来驱动音频数据的传输。

,

正 何:

您好Gary Lu

我可以通过修改代码,去关闭这个机制吗?目前怀疑这段默认的时钟信号,会导致连接的DSP端无法接收到数据。我想通过关闭这个机制,去测试验证一下。如果可以,希望可以提供修改建议。

使用的sdk版本:04.03.00.05

,

Gary Lu:

如果您怀疑默认的时钟信号导致连接的DSP端无法接收数据,您可以尝试关闭这个机制进行测试验证。以下是一些可能的修改建议:

1. 检查MCASP模块的配置:首先,您可以检查MCASP模块的配置代码,查看是否有相关的初始化设置或控制寄存器,控制ACLKX的生成和切换。您可以尝试注释掉或修改这些配置,以禁用默认的时钟信号。

2. 修改时钟源:如果可能,您可以尝试修改时钟源,使用其他可用的时钟信号作为ACLKX的输入。这样可以避免使用默认的时钟信号。

3. 修改时钟分频系数:您还可以尝试修改时钟分频系数,以调整ACLKX的频率。这可能会影响到音频数据的传输速率和DSP端的接收能力。

,

正 何:

第一点可以提供代码的修改参考吗

,

Gary Lu:

1. 打开MCASP模块的初始化代码文件,一般为mcasp.c或者mcasp_init.c。在其中找到有关ACLKX的初始化设置或控制寄存器的配置代码。

2. 根据您的需要,可以注释掉或修改这些配置代码,以禁用默认的时钟信号。具体的修改方法会因具体的代码而异,以下是一些可能的修改参考:

– 如果您只需要禁用ACLKX的生成,可以注释掉配置ACLKX的相关代码。例如,您可以注释掉以下代码:

/* Enable the clock for ACLKX */
McASPIOModuleClkCfg(mcaspHandle->hwAttrs->baseAddr, MCASP_RX_CLK, MCASP_RX_CLK_SRC, MCASP_RX_CLK_DIV, 0);

– 如果您需要禁用ACLKX的生成和切换,可以修改MCASP的时钟源和分频系数,以使用其他时钟源或者不使用时钟。例如,您可以修改以下代码:

/* Configure the clock source and divider for ACLKX */
McASPIOModuleClkCfg(mcaspHandle->hwAttrs->baseAddr, MCASP_RX_CLK, MCASP_RX_CLK_SRC, 0, 0);

在这个例子中,我们将MCASP_RX_CLK_DIV设置为0,这样就禁用了分频器,MCASP_RX_CLK_SRC设置为0,这样就禁用了时钟源。

3. 保存修改后的代码文件,并重新编译和烧录程序到开发板上。

注意的是,修改MCASP模块的配置代码可能会影响其他功能的正常运行,因此请谨慎修改,并在修改前备份原始代码。

赞(0)
未经允许不得转载:TI中文支持网 » AM3352: MCASP:AHCLKX外接24.576MHz时钟,播放音频时,开始阶段ACLKX会先默认输出24.576MHz时钟,持续一段时间后才切换为需要的位时钟。
分享到: 更多 (0)