1.2 电平搬移电路
由于一般音频输出设备音量大小不一且为交流耦合形式,而MSP430F149的A/D采样电压范围是0~2.5 V,为了使被采样信号与A/D匹配避免削波失真,需要将输入信号比例放大(或缩小),并将中心电压搬移至1.25 V附近。如图2所示。
2 软件设计
软件设计包括按键显示、外设控制、音频信号处理几个部分,重点是音频信号处理的AGC算法。按键显示响应用户设置输出音量大小并显示出来,外设控制主要是对PGA2311进行配置。
2.1 AGC算法
AGC算法核心是通过信号的包络信息来判断信号的动态范围是否超过设置大小,这里需要快速跟踪包络的变化,及时进行增益控制。
以往的AGC算法中乘除法运算对CPU资源的占用较大。这里提出的AGC算法比较简单实用,其流程如图3所示。具体实现过程:从单片机的A/D口,获得音频输入/输出信号的电平存入数组。数组存储数据达到门限比较要求,进入峰值比较流程。根据存储的输入信号数据,采用冒泡排序的算法找出最大幅值,判断输入端是否有信号。如果判定没有音频信号输入,则增益不调整,防止由于输出信号太小而一直增大增益,噪声过大,或者一旦出现声音,由于增益过大而出现短时间输出声音太大。输入端有信号,则对输出端进行检测,同样调用冒泡排序程序找出最大幅值,如发现输出信号大小超过设定门限,则减小增益,反之则增大增益。在减小增益时,步进要大些,而在增大增益时步进要小些,这样在增益调整时输出的音量使用户听觉上不觉得难受。
3 实验论证
为验证设计的正确性进行实验论证。设定输出电平范围,由计算机输入突变的音频信号,通过示波器观察输出,如图4所示。
从图4中方框所标示的音量突变区域,可以看出输入音量突然增大后,在500 ms内就将增益调低,保持音量输出在设定范围输出。高音突变低音等实验由于调整周期较长,这里就不作图示整个调整过程了。
结语
实验结果说明,该设计增益控制及时、准确,保持输出信号电平在设定范围稳定输出,且低功耗,实现简单,可移植性强,可以满足目前用户对音频接收设备音量输出的要求。