软件实现高分辨率的非易失性数字电位器的方法

2007-03-09 19:03:27来源: 互联网
巧妙的利用软件编程,将X9241内部的四个64抽头数字电位器组成一个高分辨率低成本的数字电位器 数字电位器(DCP)是专为替代传统机械电位器、可变电阻器而设计的新型集成电路。其通过I2C、SPI以及CS,U/D,INC三线方式与MCU接口,可实现应用程控调节,也有按钮控制方式,从而实现与传统机械电位器或可变电阻器相同的电位、电阻调节功能的特殊集成电路。与传统机械电位器相比,数字电位器具有数字调节、长寿命、易于装配、节省空间、不受振动影响等突出优点,已被广泛应用于医用设备、仪器仪表、工业控制、计算机、家用电器、手机、数码产品等各个领域。 在有些应用中,如激光二极管的动态偏置调节,使用数字电位器或者微调DAC来控制电压,就受到了分辨率、接口、成本的限制。为了解决这类问题,我们将在这里介绍使用低分辨率(64抽头)、低成本的Intersil(Xicor)公司I2C总线控制数字电位器X9241组成一个高分辨率(8001抽头)的数字电位器的解决方法。 实现高分辨率的原理 我们假设有三个数字电位器,POT1和POT2为64抽头DCP,POT3为128抽头DCP,其中POT1和POT2用作POT3的VH和VL的设置,并且必须保证POT1和POT2始终为“1”个位置间隔,那么就有63种不同的电压间隔施加到POT3上。理论上,当POT3在特殊电压抽头127和下一个电压间隔的抽头0之间跳动时,应该还有一个多余的抽头位置,但是这些抽头不是多余的,它们的作用可以改善输出的线性度,因为在相邻的两个电压间隔中的抽头0和抽头127的电压是一样的。对于63个不同间隔的每一个,又借助127个不同的输出,就会有8001(63%26;#215;127=8001)个不同的Vw输出可以在VH和VL之间获得。图1就是说明的这个概念。 如何使用X9241实现高分辨率(8001抽头) Intersil(Xicor)公司的X9241把四个非易失性数字电位器集成在一个单片CMOS微电路中,它的功能框图如图2。X9241包含四个电阻阵列,每个阵列包含63个电阻单元。在每个单元之间和两个端点都有可以被滑动单元访问的抽头点。滑动单元在阵列中的位子由用户通过I2C总线控制。每个电阻阵列与一个滑动端计数寄存器(WCR)和四个8位数据寄存器联系在一起,四个数据寄存器和滑动端计数寄存可以由用户直接写入和读出。滑动端计数寄存器的内容控制滑动端在电阻阵列中的位置。数据寄存器的内容可以传输到滑动端计数寄存器以设置滑动端位置,当前滑动端的位置也可以传输到任何与之联系的数据寄存器中。滑动端计数寄存器是易失性的,器件上电时,滑动端计数寄存器自动的装入数据寄存器0(R0)中的值。四个数据寄存器是非易失性的,如果在应用中不需要对电位器有多种设置保存时,可以用作通用存储单元,用来保存系统参数或用户数据。 X9241内部有一个特殊的机制,可以把相邻的数字电位器逐个串联。允许多达253个不同抽头位置(当把全部DCP逐个串联的时候)。如图3所示,我们将POT1和POT2(X9241内部相邻的两个DCP)串连起来,用POT0为其提供VH(可以调节的),用POT3提供VL(可以调节的)。那么我们就得到了如前面所述原理一样的电路图。 POT0和POT3为POT1-2(POT1和POT2串连以后的叫法)设置端电压。也必须保证POT1和POT3始终为“1”个位置间隔,那么就有63种不同的电压间隔施加到POT1-2上。随着POT1-2的滑动端位置向上或者向下移动到端点时,POT0和POT3的位置也要在必要时进行调整。如果POT1-2的滑动端增加到超过127时,那么POT0和POT3将增加“1”,而POT1-2的滑动端将返回到抽头0。同样,POT1-2的滑动端减低到抽头0以下时,POT0和POT3的滑动端将减小“1”,并将POT1-2的抽头设置到127。这一点,请读者在理解后面所附的程序清单时注意。 X9241极适用于这个任务,因为其内部正好有四个独立的DCP,并且有相邻DCP串联的机制,而且其采用I2C总线控制接口,抽头位置可以在软件中直接改变而不需要通过每个中间位置转换。 图4是使用X9241U(49.37K、49.38K、49.32K、49.24K)器件对电路进行测试得到的相邻抽头之间的典型结果。大图表示每个抽头的滑动端电压占所加总电压的百分比,其中插图为相邻抽头之间的分辨率占所加总电压的百分比。 使用X9241实现高分辨率的软件代码 为了方便理解实现控制的细节,我们提供了C语言源代码(代码由Xicor公司提供,我们做了一定的修改)。用户只需要自己再编写适用于不同单片机的I2C硬件接口函数(函数名称同程序中介绍一致),在应用程序中加入我们提供的源代码,简单的调用程序中介绍的5个函数,就可以方便地实现DCP的高分辨率控制。 关于X9241实现高分辨率的软件源代码,工程师可到http://www.icbase. com/download/X9241.c去下载。
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/power/200703/11892.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved