| 
 
| 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被单独禁止。一但请求停止,它们将只在
 正在传输帧完成之后停止。
 当请求停止,连续接收的当前时隙将被完成并且串化器将被停止。
 
 
 | 
 |