打印
[Atmel]

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

[复制链接]
579|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ddllxxrr|  楼主 | 2015-5-22 21:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
28.6.1.1初始化
  I2S特性是两个时钟单元,两个配置成接收发射的串化器。两个串化器能共享相同的时钟单地或者用
单独的时钟单元。
   
  在使能I2S之前,下列寄存器必须被配置:
  。时钟控制寄存器(CLKCTRLn)
    。串化器控制寄存器(SERCTRLm)
    。在主机模式,一个供I2S的通用时钟必须被配置到需要操作的频率,如"Principle of Operation"
          。fs是采样频率,它定义了帧周期,如:48kHz
          。CLKCTRLn.NBSLOTS定义了每帧的时隙数量,如:如果NBSLOTS=5六时隙每帧
           。CLKCTRLn.SLOTSIZE定义了每个时隙的比特数量,如果SLOTSIZE=3
           。SCKn频率必须是(fs*时隙数*每个时隙的比特数),如9.216MHz
    列如:如果一个384fs MCKn 主机时钟被需求,如:18.432MHz(fs=48kHz),所以I2S通用时钟就应是
18.432MHz并且CLKCTRLn.MCKOUTDIV=0,以得到MCKn频率是18.432MH。I2S通用时钟除以2,通过设置
CLKCTRLn.MCKDIV=1,将输出期望的SCKn频率,9.216MHz输出到SCKn管脚。如果MCKn不需要,通用时钟能被
设为9.216MHz且CLKCTRLn.MCKDIV=0。
   让我们思考如果一个384fs MCKn 主机时钟还需要,如:18.432MHz,这时通用时钟在18.432MHz并且
MCLKn 被2分频,通过设置CLKCTRLn.MCKDIV=1,来获得SCKn期望的频率。如果MCKn不需要,通用时钟能达
到9.216MHz并且CLKCTRLn.MCKDIV=0.
   如果配置被写,I2S时钟单元和串化器通被通过向控制寄存器(CTRLA)使能比特,CKENn和SERENm比特写1
。如果串化器使能,时钟单元必须被使能。
  时钟单元和串化器能通过向CTRLA.CKENn或CTRLA.SERENm写0被单独禁止。一但请求停止,它们将只在
正在传输帧完成之后停止。
   当请求停止,连续接收的当前时隙将被完成并且串化器将被停止。

相关帖子

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

本版积分规则

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

2398

主题

6950

帖子

67

粉丝