网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 服务导航 >> 帮助中心 >> C5000 >> 文章正文
  左右声道反转问题           ★★★ 【字体:
左右声道反转问题
作者:Free    文章来源:本站原创    点击数:    更新时间:2008-2-29    

在开发声音的输入输出的程序时,我遇到过很多次左右声道反转的问题。就是说原本的左声道变成了右声道,右声道变成了左声道。下面是我的根据经验的解决办法。

DSP 和ADC或DAC之间的通信通常采取IIS模式。帧同步信号和时钟信号都由外部提供。先以字长为32bit的IIS mode为例,如果左右声道的数据都为32bit的长整型数,则一帧的长度是64bit,也就是说一帧有64个时钟周期。前32个时钟周期时,帧同步信号 为低电平,后32个时钟周期为高电平。

McBSP在时钟的上升缘或者下降缘检测帧同步信号和数据信号(具体是上升缘还是下降缘通过设置 PCR寄存器的CLKXP和CLKRP来决定)。由于当帧同步信号为低电平的时候象征着一帧的开始,因此PCR中的FSXP和FSRP需要设置为 ACTIVE LOW。在时钟缘时,McBSP若检测到帧同步信号为低电平,就知道是一帧开始了。在此后的时钟缘若McBSP检测到帧同步信号为高电平,则开始准备检测 下一个帧同步信号。

我用DMA从McBSP获取数据,正常情况下获取的数据的顺序是LRLRLR….,左右声道反转,意味着接收到的信号变 成了RLRLRL….。为什么会这样呢,我猜测在McBSP启动的时候如果检测到帧同步信号为低电平则立即开始进行数据传输。因此若McBSP启动时帧同 步信号恰好为低电平,则它不一定能够接收到完整的一帧数据,这样就造成了左右声道反转。我解决办法就是先将McBSP设置为GPIO模式,读取帧同步信 号,当帧同步信号变为高电平的时候,启动McBSP传输。这样在帧同步信号为高电平时McBSP被启动,它就能够接收到下一帧完整的数据了。
               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号