i2s模块的时钟接口
时间:10-02
整理:3721RD
点击:
在写一个I2S controller的模块,准备用来做音频采集与播放系统的接口。controller模块原来设置的主要是接口有:
cs_i:模块片选信号
clk_i:系统的主时钟
rst_n_i:系统复位信号
data_i:系统数据输入
data_o:系统数据输出
sck_o:I2S数据时钟
ws_o:I2S字选择
sd_o:I2S数据
原先想法sck_o这个时钟又clk_i主时钟分频得到。但是后来看了些资料,突然想到sck_o这个时钟会不会跟AD convertor或者DA convertor有关,如果是的话就有点纳闷,如果采样率例如是44.1KHz的话,而sck_o也要求是44.1KHz的话,那么主时钟岂不是无法分频,需要用PLL专门产生sck_o,同时还要处理跨时钟域的问题?
求助各位sck_o这个时钟跟AD/DA的采样率一样的?我选用的芯片是WM8731.
cs_i:模块片选信号
clk_i:系统的主时钟
rst_n_i:系统复位信号
data_i:系统数据输入
data_o:系统数据输出
sck_o:I2S数据时钟
ws_o:I2S字选择
sd_o:I2S数据
原先想法sck_o这个时钟又clk_i主时钟分频得到。但是后来看了些资料,突然想到sck_o这个时钟会不会跟AD convertor或者DA convertor有关,如果是的话就有点纳闷,如果采样率例如是44.1KHz的话,而sck_o也要求是44.1KHz的话,那么主时钟岂不是无法分频,需要用PLL专门产生sck_o,同时还要处理跨时钟域的问题?
求助各位sck_o这个时钟跟AD/DA的采样率一样的?我选用的芯片是WM8731.
ws_o信号频率与AD的采样率一样,sck_o的频率是64倍的ws_o频率
DA有时钟信号CLK与同步信号SYNC,CLK的频率可以按DA芯片的参数确定,SYNC的频率与ws_o保持一致
印象中应该是这样的
谢谢!我弄明白了,现在要解决系统高速时钟和DA低速时钟的数据交换,有什么好经验吗,谢谢!
你的意思是AD、DA的sck_o由i2s送?如果是的话通常你的clk_i要是sck_o的倍数,不然至少要很高频,除出一个接近sck_o的波形。
