1.定义
Coder-Decoder编译码器。指的是数字通信中具有编码(压缩)、译码(解压缩)功能的器件。
2.硬件接口
Codec与CPU之间通信协议/接口/总线,(I2S使用较多)
3.功能
3.1Coder-Decoder
Codec技术能有效减少数字存储占用的空间,在计算机系统中,使用硬件完成CODEC可以节省CPU的资源,提高系统的运行效率。Codec对AD变换后的音视频数字信号的传输进行编码、压缩,在接收端对信号解码。主要负责数字->模拟信号转换(DAC)和模拟->数字信号的转换(ADC)
3.2ALC(在ADC环节,针对输入缩小)
自动电平控制Automatic Level Control
该模块使用一个电平适时检测电路来对ADC的输出信号幅度进行测量,然后根据它来控制可编程增益放大器(PGA),改变其增益来使来实现录音音量的平衡。录音的时候音源可能会时远时近,声音可能会时大时小。预先设定一个目标电平(target lever),我们希望录音的电平总是等于目标电平。当输入的声音信号幅度太大,超过目标电平时,就降低PGA增益;当输入的声音信号幅度太小,低于目标电平时,就提高PGA的增益。
通过检测系统中的analog信号来判断是否超过Codec中设定的Max/Min值,如果超过的话,则去根据设定的attack rate和release rate来调整analog的电压(实质上是调整增益),以达到使其介于一个合理范围内的目的。
所以Codec使用前需要配置Threshold、Attack rate和Release rate(增益变化快慢)
控制ADC输出稳定,使用ALC之前必须有PGA(可编程增益放大器)
3.3Limiter
与ALC类似,Limiter也是去检测analog信号的强度,当大于用于设置的threshold的时候通过直接对信号进行截断处理,也有的Codec不是野蛮的进行截断处理,而是采用类似ALC调整Gain的方法来调整analog信号的强度。(可以理解为ALC低成本方法)