2 硬件电路
2.1 X9241数字电位器
X9241是Xicor公司生产的数字电位器,内部包括1个I2C接口和4个64位数字电位器POTO、POT1、POT2、POT3。每个数字电位器由电阻阵列及与之对应的滑动端计数寄存器WCR、4个位数据寄存器R0~R3等部分构成。其引脚配置如图3所示。
每个电位器由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为芯片地址设置位。
X9241提供了把阵列串联起来的方法,可以把1个阵列的63个电阻元件与1个相邻阵列的电阻元件串联起来。其控制位在3字节的指令中,其数据字节包括用来定义滑动端位置的6位(LSB)加上高2位:CM(串联方式)和DW(禁止滑动端)。数据字节如下所示:
2.2 电路设计
根据图1的设计原理和图3的引脚配置图,可实现高分辨率数字电位器的电路设计,如图4所示。
①SDA、SCL是I2C总线的串行数据和串行时钟,与单片机的I/O线相连,单片机是主器件,X9241是从器件,器件地址为:
0 1 0 1 A3 A2 A1 A0
高4位固定,低4位由A3~A0的接线方式所决定,按照图4电路的接线方式,X9241的从地址为50H。
②为了提高线性度,可在VW0与VL1之间加入1级运算放大器组成的跟随器,VW3与VH2之间也加入1级。其改进电路如图5所示。