微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Cortex-M3 (NXP LPC1788)之IIS应用--UDA1380进行音频数据播放

Cortex-M3 (NXP LPC1788)之IIS应用--UDA1380进行音频数据播放

时间:11-19 来源:互联网 点击:

时序可以参考UDA1380的数据手册。

3,程序中配置发送控制寄存器I2STXMODE使能了MCLK输出TX_REF的时钟到UDA1380的SYSCLK引脚,而UDA1380中配置成使用该时钟产生内部滤波器需要的128fs的时钟。在图1中标志中说明run at ....因此在程序中配置UDA1380之前,使用了一个for延时,用于等待UDA1380内部产生稳定的128fs时钟。只有这样才能正确的配置0x10之后的滤波器相关寄存器。否则对0x10之后的滤波器相关寄存器操作会失败。这点没有验证,但是在debug调试的时候可以正常的有声音输出,但是下载到板子上运行,则没有效果。如果去掉for循环延时效果也不正常发音。如果不使能MCLK输出,则写0x13寄存器的值不会成功,读取该寄存器的值永远都是其默认值。因此推测和UDA1380的SYSCLK产生内部滤波器使用的128fs时钟有关。

参考了linux内核里面的uda1380的驱动,其中也提到了配置0x10以后的滤波器相关寄存器要满足条件

  1. 107/*theinterpolator&decimatorregsmustonlybewrittenwhenthe
  2. 108*codecDAIisactive.
  3. 109*/

谁有这方面的经验,希望多指教!


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top