新闻中心

EEPW首页>模拟技术>设计应用> 高分辨率数字电位器 X9241 的软件实现

高分辨率数字电位器 X9241 的软件实现

作者: 时间:2009-08-19 来源:网络 收藏

X9241引脚配置

  每个电位器由63个电阻段组成,每个电阻阵列的物理终端等效于机械电位器的固定端(VH、VL)。每个阵列的VH和VL以及每个电阻段之间的接点(即抽头)通过FET开关连接滑动输出端,而滑动端在电阻阵列中的位置由从WCR控制。其中,VW、VW1、VW2、VW3分别为4个电位器的滑动端,VL0、 VL1、VL2、VL3分别为4个电位器的低端、VH0、VH1、VH2、VH3分别为4个电位器的高端。如果将4个电阻阵列中的2个、3个或4个串联,可构成127、190或253抽头的。芯片采用I2C总线接口,SDA、SCL分别为串行数据和串行时钟。A0~A3为芯片地址设置位。

提供了把阵列串联起来的方法,可以把1个阵列的63个电阻元件与1个相邻阵列的电阻元件串联起来。其控制位在3字节的指令中,其数据字节包括用来定义滑动端位置的6位(LSB)加上高2位:CM(串联方式)和DW(禁止滑动端)。数据字节如下所示:

数据字节

2.2 电路设计

  根据图1的设计原理和图3的引脚配置图,可实现高的电路设计,如图4所示。

高分辨率数字电位器的电路设计

  ①SDA、SCL是I2C总线的串行数据和串行时钟,与单片机的I/O线相连,单片机是主器件,是从器件,器件地址为:

  0 1 0 1 A3 A2 A1 A0

  高4位固定,低4位由A3~A0的接线方式所决定,按照图4电路的接线方式,的从地址为50H。

  ②为了提高线性度,可在VW0与VL1之间加入1级运算放大器组成的跟随器,VW3与VH2之间也加入1级。其改进电路如图5所示。

改进电路

3 程序设计

  3.1 读写单个函数设计

  根据X9241的指令结构和控制时序,可以编写读写单个数字电位器的程序。

  (1)改变电位器中间抽头命令(写WCR)时序以写电位器POT0为例,把电位器0的中间抽头WCR设置为20H(X9241每个电位器的最大抽头数是 64,即有效值小于63)。命令控制字为101000000B,即AOH;若在电路中AOA1A2A3均接低电平,则器件地址为01010000B,即 50H。其命令序列如下:

  Start→发送地址50H→Ack→发送命令字A0H→ACK→发送20H→ACK→Stop。

  (2)读电位器中间抽头位置命令(读WCR)时序以读电位器POT1为例,把电位器1的中间抽头WCR位置值读回。命令控制字为100100000B,即90H;若在电路中AOA1A2A3均接低电平,则器件地址为01010000B,即50H。其命令序列如下:

  Start→发送地址50H→Ack→发送命令字90H→ACK→接收1个字节→ACK→Stop。

3.2 主函数设计

  本函数的功能是把设计的数字电位器POT的中间抽头位置z转换为4个独立数字电位器POT0~POT3的中间抽头位置寄存器WCR的值x0~x3,同时控制POT1、POT2的控制位CM和DW,如图6所示。

4个独立数字电位器控制的程序流程图

  在流程图中,当y64时,POT12(由POT1和POT2串联)的中间抽头位置在POT2范围内,所以POT1的中间抽头失效,即置DM1=1;当y≥64时,POT12的中间抽头位置在POT1范围内,所以POT2的中间抽头失效,即置DM2=1。

结 语

  采用软硬件协同的方法,能以较低的成本实现高分辩率数字电位器的设计。同一芯片中4个数字电位器的良好匹配和电压跟随器的应用,使设计的数字电位器具有更好的线性度。在实际应用中,为了提高带负载能力,需要在滑动输出端接一输出缓冲器。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭