人耳对声强的主观感受遵循韦伯定律(Webber's Law),在音量较小时人耳对声波振幅的改变感受灵敏,声音达到一定响度后,人耳的听觉特性开始变得迟钝。而指数型电位器的阻值变化规律为先慢后快,如果将这种衰减特性用在音量调节中,则恰好可以抵消人耳对音量感知的对数特性,保证主观听感的平滑。
与传统的机械式音量电位器相比,数字电位器(DCP)的阻值调节由内部CMOS开关控制,因而使用寿命长、可靠性高且不会产生机械噪声;如果将廉价的通用型线性数字电位器直接用于音量调节,在小音量状态下稍微调节电位器即会使输出声压陡然增加,无法保证大动态范围内音量的准确定位,因此目前将数字式电位器运用在成熟功放产品中的实例还不多。实际上,如果将低分辨率线性数字电位器与通用嵌入式系统结合起来,就能够得到运用于音量控制领域的低成本高分辨率指数式电位器。
总体设计方案
在数字电位器的扩展系统中,主控单元可选用常见的8位或16位成熟单片机。这里我们主要针对Intersil公司的低分辨率线性数字电位器X9313、X9312进行扩展,系统最终能够达到的实际分辨率为31×99=3069级;如果把32抽头的X9313全部更换为X9312,分辨率还可以进一步提高至9801级。
X9313与X9312这两种DCP均为三线制接口、带掉电自动保存功能的非易失性数字电位器,其内部分别包含31、99个电阻单元构成的电阻阵列,相邻两个电阻单元以及电阻阵列端点都设置有可以被滑动单元访问的抽头,如图1所示。滑动单元的位置由CS、U/D和INC三个输入端控制,抽头位置值能够被存储在非易失性存储器中,供下次上电时调用置位。
图1 X931x系列DCP的内部结构
系统的每个声道的音量控制由两个X9313与一个X9312构成,图2为三个数字电位器的功能连接图。所有DCP的U/D、INC端分别连接在一起,而片选端CS各自占用一个MCU端口。这种硬件连接方式能够很容易地实现四声道乃至更多声道的音量控制。为了与常见的数字式音量调整习惯一致,最好不要保留通用DCP的三键式控制方式,而只需设置UP/DOWN两组按键直接控制音量的增减。UP/DOWN按键与MCU的连接应设置软件延时的去抖算法,以消除按键输入时的抖动,MCU与DCP之间则不再考虑按键抖动。
图2 系统连接示意图