声音采集播放以及I2S接口

声音采集播放以及I2S接口_第1张图片

电路图如下

我们芯片里面有个模块,通过I2S接口,接到我们音频芯片,但是这个接口只传输声音数据

但是我们用声卡除了声音之外,我们还可以调整音量,还可以设置左声道,右声道等等这些信息,那么控制信息由谁来做呢

应该还得有其他引脚来传递其他控制信息,比如调音量等等



声音采集

声音有大有小

声音采集播放以及I2S接口_第2张图片

我们在某个点上记录,固定的时间来采集,所谓采集就是将声音信号转换为电信号,点越密声音就越逼真 这就叫采集频率

声音采集播放以及I2S接口_第3张图片


一般是8K-96K 96K的时候声音已经很饱满了,失真率我们耳朵已经分辨不出来了

最低的话不能低于8k,不然人听起来效果很差

采样频率是指:一秒采集声音多少次,注意我们有左声道和右声道

所谓采集就是ADC转换,就是模拟信号转换为数字信号存下来

采集是AD转换,那么有精度,精度是多少 有16位 24位 等等,位数越高声音越精细

上面讲了采集,那么播放呢

就是DA转换,


I2S介绍

I2S就是一种硬件接口,用来传输声音数据。声音采集播放以及I2S接口_第4张图片

我们来看看这个时序图,有个LRCLK,你不是用来传数据吗,到底是传的是左声道的数据还是右声道的数据,用谁来表示,用LRCLK来表示

当LRCLK是低电平的时候表示左声道,高电平的时候是右声道的数据

我们在说采样的时候,每一个点要把模拟信号转换为数字信号,这数字信号可能有好多位,我怎么传输呢?

显然有个SCLK位时钟。



CDCLK是系统时钟,我们这个芯片也得工作一个频率下,是我们s5p210提供给芯片工作的。声音采集播放以及I2S接口_第5张图片声音采集播放以及I2S接口_第6张图片声音采集播放以及I2S接口_第7张图片

我们可以设置I2S控制器,让它输出三种格式的数据 一种I2S格式 一种MSB格式  一种LSB格式

我们看看这三种格式有什么区别

I2S格式是过了一个时钟之后才传出第一位数据,而MSB是即刻传数据


SDO和SDI两条线一个是发出去一个是接收


我们WAV声音文件里面,一开始有个头部,头部里面就含有采样频率还有位宽 还有左右声道,声音数据








你可能感兴趣的:(linux学习之路)