工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->综合电路图->基于单片机的数字电位器的设计

基于单片机的数字电位器的设计

作者:dolphin时间:2011-05-11

人耳对声强的主观感受遵循韦伯定律(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 系统连接示意图
  分辨率扩展
  Ra和Rb同时并联在输入信号Vin的两端,其抽头数均为32。Ra和Rb的输出作Rc端口电压VH和VL设置,Ra始终比Rb高一个位置间隔,这样就可以将1/32Vi~31/32Vi共31种输入信号的电压变化加到Rc两端。由于Rc选用了100抽头的DCP,从而可以在Rc输出端得到31×(100-1)=3069级的Vin线性电压值。
  随着Rc滑动端上下移动,Ra和Rb的位置也在MCU的控制下进行相应调整。在上移过程中,设Rc滑动端上移值与目前所在位置值相加后的值为M。若M小于100,说明这时只是Rc的滑动端发生移动,而Ra和Rb的滑动触点位置不变;若M值超过100,则Ra和Rb的触点均上移1个滑动位,Rc的滑动端返回M减去100之后所得实际值决定的触点位。类似地,在抽头下移过程中,若Rc的滑动端需要下移到抽头0以下时,则Ra和Rb的滑动端也需要同步下移1位,以保持电位器实际调整步数的平衡。



评论

技术专区