This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

omapl138 mcasp使用外部时钟AHCLK不能发送数据



目前我在调试omapl138的mcasp,系统主时钟为24MHZ。需要音频的采样时钟为2.048MHZ。通过主时钟无法得到2.048MHZ的时钟,因此在mcasp的AHCLKX引脚上接一个24.576的时钟,通过12分频获取2.048MHZ的时钟。

问题:在使用内部的AUX_CLK时钟的话,数据可以正确的收发。但是如果切换到AHCLKX模式的话,采样时钟和帧同步时钟都可以输出,但是数据不能正确的收发。没有产生中断即davinci_pcm_dma_irq没有执行到。导致发送的程序死在哪儿。

使用内部时钟和外部时钟的寄存器配置的区别就是

外部

    __raw_writel(0x0002,dev->base+DAVINCI_MCASP_AHCLKXCTL_REG);

mcasp_clr_bits(dev->base + DAVINCI_MCASP_PDIR_REG,
  AHCLKX);

 

内部:

__raw_writel(0x8002,dev->base+DAVINCI_MCASP_AHCLKXCTL_REG);

 mcasp_set_bits(dev->base + DAVINCI_MCASP_PDIR_REG,
  AHCLKX);

 

请教大虾们,有没有谁遇到这种情况呀。或者,能不能提供使用外部AHCLKX的例子程序。在此先谢谢了。