打印
[Atmel]

每天跟我读点资料:SAM D21数据手册(198)

[复制链接]
947|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
28.6.2.1 主时钟,串行时钟,和帧同步产生
      I2S的通用时钟描述如图所示

      从机模式
      在从机模式,串行时钟和帧同步(字选择在I2S模式和TDM模式的帧同步)是由一个外部主机驱动。
SCKn和FSn管脚是输入并且I2S没有通用时钟需求。
      主机模式和控制模式
      在主机模式,主机时钟(MCKn),串行时钟(SCKn),和帧同步信号(在I2S模式和TDM模式中帧同步)使用
时钟控制寄存器(CLKCTRLn)。MCKn,SCKn,和FSn管脚输出并且一个通用时钟用来驱动I2S时钟。
      在一些应用中,音频编解码器连接到I2S管脚需要一个带有音频采样频率倍频的频率主时钟信号
。如256fs.
      在控制模式,只有时钟产生单元需要在CTRLA和CLKCTRLn寄存器被配置如时钟分频因子,时隙数量
,时隙长度,帧同步信号,时钟使能。
      
      MCKn时钟频率
      当I2S是主机模式,写一个1到CLKCTRLn.MCKEN将输出GCLK_I2S_n作为主机时钟到MCKn管脚。主机时
钟到MCKn管脚通过CLKCTRLn.MCKSEL和CLKCTRLn.MCKOUTOUT分频配置。主机时钟(MCKn)频率是GCLK_I2S_n
频率分频,除以(MCLKOUTDIV+1)。


      SCKn时钟频率
  
      当串行时钟(SCKn)是从GCLK_I2S_n产生的,通过设置CLKCTRLn.MCKSEL和CLKCTRLn.SCKSEL为零。串
行时钟(SCKn)频率是GCLK_I2S_n频率通过MCKDIV+1分频。如:f(SCKn)=f(GCLK_I2S_n)/(MCKDIV+1)
      MCKn,SCKn和采样频率(fs)之间的关系
         
      以采样频率(fs)为基础,SCKn频率的需求可以通过下列公式算出:

   
      SCKn频率应该等于每帧的总比特数*采样频率
      作为每一个配置的时隙数和时隙长度,每帧的总比特数=时隙数*时隙长度
      作为每一个寄存器配置CLKCTRLn.NBSLOTS和CLKCTRLn.SLOTSIZE,时隙和时隙长度被配置为


      SLOTSIZE值将要是0x00到0x03配置8,16,24,32比特时隙并且每个帧由(NBSLOTS+1)时隙组成。


      考虑上述公式:


      现在,MCKn频率在采样队列里是:


      如果一个主时钟输出不被需要,GCLK_I2S通用时钟被用作SCKn,通过写一个零到CLKCTRLn.MCKDIV.
另外,如果通用时钟频率被使用,它是所需SCKn频率的倍频。
      MCKn到SCKn驱动可以用到在CLKCTRLn.MCKDIV字段定义的速率。
      FSn管脚用于字选择在I2S模式中,并且在TDM模式中作为帧同步。



相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2398

主题

6955

帖子

67

粉丝