电位器动态
Granville dynamic
东莞市长鸿电子科技有限公司
热线:0769-82110194
电 话:0769-82110194
传 真:0769-87781611
Email:qsdz2009@163.com
地 址:广东省东莞市樟木头镇石新东城四街7-8号
数字电位器和数模转换器的区别与使用方法
数字电位器可用于构建数控低通滤波器.本文中的双极点滤波器能够在音频应用中提供良好性能,选择不同的电容、电位器值可以调整滤波器的截止频率,最高可达500 kHz。
数字电位器的简介
数字电位器(Digital Potentiometer)亦称数控可编程电阻器,是一种代替传统机械电位器(模拟电位器)的新型CMOS数字、模拟混合信号处理的集成电路。数字电位器采用数控方式调节电阻值的,具有使用灵活、调节精度高、无触点、低噪声、不易污损、抗振动、抗干扰、体积小、寿命长等显着优点,可在许多领域取代机械电位器。
硬件
该应用的硬件原理图如图1、图2所示。PIC12F509有6个I/O口,用于SDA、SCL输出控制信号、一个LED和4个开关信号的接收。
图1给出了PIC12F509的内部控制原理图,R1 、R2和R3为上拉电阻,使用PIC12F509时无需安装这些电阻。图2是评估DS1803的电路连接,跳线用于选择地址引脚、分离共用的VCC (VDD)以及断开SDA、SCL连接。
3个开关为触摸式按键,用于增(UP)/减(DWN)和中间值(MID)控制。当按键按下时,微控制器
SDA、SCL和LED输出信号分别分配由GP5、 GP4和GP0控制。 SDA和SCL具有4.7kΩ上拉电阻,直接连接到数字电位器的通信引脚。LED 和MID瞬时开关均采用GP0引脚控制。GP0引脚在大部分时间内作为输入,MID按键可将其拉至低电平。但如果一个或两个其它触摸式按键被按下,该引脚输出低电平,使LED点亮。通过这种方式,LED在MID按键按下时点亮,或在其它按键按下时由PIC点亮。
图1. PIC12F509接口电路
图2. DS1803数字电位器与PIC控制器的连接
固件
本工程固件用汇编语言编写,在MPLAB IDE (7.31版本)上编译。目前此工具由Microchip免费提供,整个程序包括:程序空间(闪存)低于512个指令,数据空间(RAM)为11位置数据。
程序分为5块:初始化、读数据、UP、DWN和MID。由于这款PIC不提供任何中断,固件简单地循环运行,连续检测输入引脚。程序通过内部延时和逻辑流程自动完成开关去抖。
PIC上电或唤醒后(如果SLEEP使能)执行一次初始化程序。初始化程序执行完毕后,工作寄存器、标志位和变量均被置为已知状态。这些指令执行完毕后,其它几个程序可以连续循环,检测开关状态,通过I²C接口读、写新的电位器值。
只有在RD_FLAG置位后,才能通过I²C读取电位器值。该标志位在初始化时被置位,按键按下时可调用电位器寄存器的写操作,写入一个新的数值。只有在电位器数值发生变化或上电时才进行I²C读操作,所以在增、减控制和中点设置按键均没有按下时,总线不会出现多余的通信。例如,如果数字电位器用于控制电源的参数,连接按键以实现在线编程。执行I²C写操作之前,可读取当前的电位器值。每当I²C写操作完成后,RD_FLAG重新置位,产生I²C读操作读取新的电位器值。
读程序后按顺序执行UP、DWN和MID指令。执行每个子程序时将相应的引脚拉至低电平。如果相应的引脚为高电平,将迅速退出子程序,不产生任何I²C通信。如果检测到低电平,则运行流程图所示程序。
可下载固件流程图(PDF)、源代码(ASM)和可执行指令(HEX),获取本工程设计的完整说明。
功能说明
本工程的固件和硬件在设置DS1803/DS1805电位器时允许进行多种不同的操作。开关和LED的功能如下: