IIS接口
IIS为硬件接口,用来传输声音数据,也就是只能够用来传输声音或者接受声音,在硬件上,IIS控制器与音频编解码芯片以IIS接口相连,如下图VM8976G芯片其中CDLCK是系统时钟,由CPU提供给编解码芯片使用,对于声音音量等设置等用其他接口来控制,可以用IIC接口来控制,IIS和IIC是两个完全不一样的接口,这里为三线连接到CPU的IO控制器
播放和录音过程:
- 播放:从内存把数据传给IIS控制器,IIS控制器根据IIS接口传给音频编解码芯片,音频编解码芯片中用DAC把数字信号转换为模拟信号然后驱动喇叭或者耳机
- 录音:麦克风(MIC)由音频编解码芯片的ADC把模拟信号转换为数字信号,根据IIS接口传给IIS控制器,IIS控制器把数据传给内存
对于IIS总线格式如下,用LRCK来表示传输左声道还是右声道数据,LRCK为低电平的时候传输的是左声道的数据,当LRCK为高电平的时候传输的右声道的数据,SCLK为位时钟,每来一个时钟传输一位数据,另外一种MSB格式,对比可知IIS格式第一个位时钟不传输数据,对于WAV文件里的音频数据,头部包含有采样频率、转换精度、通道等信息,后面存放数据,如果是双通道的话,每个数据存放有左值和右值,SD用来传输数据,如果是播放则为SDO传输,录音为SDI传输
IIS可以外接8为或者16位的音频编解码芯片,有些高品质的芯片有24位的,对于2440来说只支持8位或者16位,当传输8位数据,对于IIS有16个时钟,因此8个数据后都是0
声音采样
声音采样,主要根据声音的波形进行分段采集,例如每个时间点采样V1,V2,V3,V4等数字信号,在播放的时候V1,V2,V3,V4间隔发出,这样原本曲波的音源以方波的形式发出,因此采样时间越短,方波就越逼近于曲波,即采样频率越高,失真度越小,这样容量(数字信号)就越大,采样频率一般来说44k最佳,采样频率太高,人耳会分辨不出来,采样频率:一秒采集声音多少次,所谓采集就是ADC模数转换,有左声道和右声道,因此有两个ADC通道,对于ADC的精度,位数越高,精度越准确,播放的时候,由DAC按照采集的速度播放
UD1341芯片的L3接口
UD1341芯片也是音频编解码芯片的一种,L3接口用到3条线,L3MODE、L3CLK、L3DAT,当L3MODE为0的时候是地址模式,此时L3DAT上是地址,为1的时候是数据模式,此时L3DAT上是数据,L3CLK每一个CLK传一位,当L3MODE为地址模式的时候,DAT上bit7-bit2为设备地址,bit1、bit0表示传输类型,例如00代表控制音量的设置,10代表STATUS包含系统时钟和数据位宽的设置,当L3MODE为数据模式的时候,上面包含有寄存器的地址