在某些应用中,带有I2C 接口必须由连续变化的模拟信号控制。本应用笔记满足了这一要求,并提供了一个简单的设计解决方案。这里介绍的原理是通用的,可用于多种应用。
介绍
本应用笔记介绍了一种使用外部模拟电压改变数字电位器电阻的简单方法。Microchip PIC12F683微控制器用于从模拟电压转换为I电压2C流,然后用于控制数字电位计。DS1803数字电位器用作示例器件,本应用使用最少数量的外部元件。这里提出的想法可以应用于其他控制输入和其他数字电位计/电阻。
硬件配置
图1所示为使用PIC12F683的控制电路原理图。微控制器的六个 GPIO 中的四个用于控制 SDA、SCL 和单个 LED 上的输出信号,并接受一个模拟输入。
SDA、SCL 和 LED 上的输出信号分别分配给 GP5、GP4 和 GP0。SDA 和 SCL 具有 4.7kΩ 上拉电阻至 VDD并直接连接到DS1803的SDA和SCL引脚。微控制器的GP1 IO被指定为模拟输入引脚。提供跳线用于选择地址引脚,分隔共享的V抄送(五DD),并隔离 SDA 和 SCL。
图1.示意图示出数字电位器的模拟电压控制。
项目固件
该项目的固件是使用 MPLAB IDE(版本 7.40)用汇编语言编写的。该工具目前可从Microchip免费获得。整个程序由少于450字节的程序空间(闪存)和数据空间(RAM)8字节组成。
程序首先初始化PIC中的各种配置位,包括ADC和内部振荡器。该程序将ADC配置为接受来自GP1的输入,并将转换时钟设置为使用125kHz的内部振荡器。
固件在环路中运行,ADC连续转换模拟输入端的电压。转换完成后,10位ADC输出的8 MSB用作通过I发送的数据字节2C总线。这个我2然后使用C信号控制DS1803。该程序设置为控制DS1803上的两个电位器;但是,通过更改固件,可以使用PIC12F683上的两个不同模拟输入单独控制电位计。
多功能
该程序允许用户通过改变PIC12F683的GP1输入上的电压来控制电位计。GP1上连续变化的输入将导致电位计电阻的相应变化。输出电阻(R外) 可以计算为输入电压的函数:
设计中使用的DS1803端到端电阻:50kΩ
Vcc允许范围:2.7V 至 5V
输入电压范围为 0V 至 V抄送
观察到的输出电阻为:
R外(kΩ) = (50 (kΩ)/Vcc) ×输入电压
当ADC运行时,LED不断闪烁。指示灯保持亮起,以防出现 I2发生 C 错误。纠正错误后,LED 将恢复正常功能。设计人员可以通过检查设备地址是否正确以及 I2C 总线已连接。
这种设计非常通用,类似的方法可用于各种应用。一些例子包括:
非线性传递函数(例如伽马校正)可以通过使用DS3906可变电阻来实现,并在嵌入式查找表中实现正确的传递函数。
可以在输入端连接一个热敏电阻,以改变I的输出2环境温度变化时的C控制电流DAC(DS4402/DS4404)。
图2.
结论
本应用笔记介绍了一种利用模拟电压控制数字电位器的简单且经济高效的机制。应用概念可以扩展为使用模拟电压来控制任何具有I2C 接口。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !