EDN China > 其它文章 > 模拟设计 > 正文
?

用模拟电压控制数字电位计

Hrishikesh Shinde?? Maxim Integrated Products?? Dallas?? TX?? 2008年06月02日 ?? 收藏0

  本文描述了一个用模拟电压通过设备的I2C接口控制数字电位计的设计。Microchip PIC12F683 微控制器中的ADC将模拟电压转换为控制Maxim DS1803 数字电位计的I2C流(图1和参考文献1)。在该微控制器的六个I/O通用引脚中,两个引脚控制SDA(系统数据)和SCL(系统时钟线)输出信号,一个控制一只LED,一个接收模拟输入信号。SDA和SCL直接连接到数字电位计的SDA和SCL引脚,分别通过两个4.7kΩ上拉电阻接到VDD。通过接通或断开跳线,可将共用的VCC和VDD分开,并将SDA和SCL隔离。

图1通过此电路可用模拟电压输入来选择数字电位计电阻值


  固件采用汇编语言,程序用7.40 版本的MPLab IDE(集成开发环境)汇编。目前该IDE可从Microchip免费得到。程序中包括不到450字节的闪存编码和8字节的RAM编码。该程序首先初始化各PIC配置位,如ADC和内部振荡器的设置。它将ADC设置为从模拟输入引脚接收输入信号,并将变换时钟设置为采用内部振荡器的125kHz时钟。

  固件以循环方式运行,使10位ADC连续变换模拟输入电压。变换完成后,8个最高有效位形成一个数据字节,通过I2C总线发送。然后,由此I2C信号流控制数字电位计。该程序对此设备的两个电位计都加以控制。但是,如果修改固件,就可以用PIC12F683上两个单独的模拟输入对两个电位计分别进行控制。利用此程序,可通过改变PIC12F68 GP1输入上的电压来控制电位计。GP1上电压的改变会按以下关系相应地改变电位计电阻:ROUT = ((输入电压)/VCC)×50kΩ,其中数字电位计端对端电阻为50kΩ,VCC允许范围为2.7V~5V,输入电压范围为0~VCC。 如系统出现问题,可查看该设备的地址是否正确、I2C总线是否接好。ADC工作时,LED会持续闪烁,但如果出现I2C错误,就会一直保持发光状态。改正错误后,LED恢复正常功能。

  此设计方法也可用于模拟电压必须通过I2C接口来控制设备的其他应用。例如,可以用DS3906可变电阻实现一个非线性变换函数,如伽马校正;或是实现一个嵌入查找表变换函数(参考文献2)。也可以在输入处接一只热敏电阻,根据环境温度的变化改变I2C控制的电流DAC的输出。

参考文献
1. “DS1803 Addressable Dual Digital Potentiometer,” Maxim, July 25, 2007.
2. “DS3906 Triple NV Low Step Size Variable Resistor Plus Memory,” Maxim, Aug 9, 2007.


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

模拟电压? 控制数字电位计? 微控制器?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈