Quantcast
Channel: 数字信号处理器 (DSP) & ARM® 微处理器
Viewing all articles
Browse latest Browse all 21822

帖子: 把OMAPL137改成McASP burst模式出现错误

$
0
0

Hi, 

我想把OMAPL137的官网例程aic3106修改成McASP为 burst模式,aic3106为DSP模式,中断的方式读取和放出音频数据,slot大小为32bit,word大小为16bit,这样一个FS内可以采集和放出左右两个通道的数据,做了以下的修改,其他都没变,现在发现放出声音的话可以两通道分别放,但是从麦克采集的数据是有问题的,不知道哪里设置错了。请大家指教。

aic3106只修改了这里:EVMC6747_AIC3106_rset(  9, 0x40 );  // 9  Audio Interface Control B       <- [DSP mode][16 bit]

McASP只修改了这里:

mcasp->regs->XFMT = 0x000080F8;             // MSB 16bit, 0-delay, no pad, CFGBus
mcasp->regs->AFSXCTL = 0x00000002;       // burst, Rising, INTERNAL FS, Single bit
mcasp->regs->ACLKXCTL = 0x000000AF;    // ASYNC, Rising INTERNAL CLK, div-by-16
mcasp->regs->AHCLKXCTL = 0x00000000;  // EXT CLK
mcasp->regs->XTDM = 0x00000001;              // slot 0
mcasp->regs->XINTCTL = 0x00000020;         // interrupt on transmit
mcasp->regs->XCLKCHK = 0x00000000;

这里感觉时钟源是内部还是外部应该不需要改动吧?引脚是输入和输出应该也不用改动吧?得到的结果很不规律,之前用例程I2S方式得到的数据就是很好的正弦波。多谢指教!


Viewing all articles
Browse latest Browse all 21822

Trending Articles