I2C总线数字电位器原理及与单片机的接口设计
摘要I2C总线数字电位器是Xicor公司推出的数字电位器中较有代表性的一种,它集许多先进特性于一体,倍受使用者瞩目;本文介绍其特性、工作原理及与单片机的接口技术。
关键词数字电位器I2C总线单片机程序模块
1引言
随着I2C总线应用的日益广泛,兼容I2C总线的接口芯片及存储器的品种也越来越多,其中数字电位器以其调节方便、使用寿命长、受物理环境的影响小、性能稳定等特点,已被广大电子工程技术人员所认识;尤其是在音频产品、控制领域等的应用越来越受到人们的重视。I2C总线数字电位器是美国Xicor公司推出的X9×××系列数字电位器中较有代表性的一种。它是把几个E2POT非易失性数字电位器集成在一起的单片CMOS微电路,具有二线串行I2C总线接口,易于软件控制,可直接读出、写入滑动端位置,可级联使用等先进特性。本文以X9241为例说明。
2结构原理 X9241内部包括一个I2C接口和四个数字电位器。每个数字电位器由电阻阵列及与之对应的滑动端计数寄存器WCR、四个8位数据寄存器R0~R3等部分构成。其引脚配置如图1所示。 2.1电阻阵列 每个电阻阵列由63个串联连接的分立的电阻段组成。每个电阻阵列的物理终端等效于机械电位器的固定端(VH和VL输入端)。每个阵列的VH和VL以及每个电阻段之间的接点(即抽头)通过FET开关连接滑动输出端VW;而滑动端VW在电阻阵列中的位置由WCR控制。 | ![]() 图1X9241引脚配置图 | 其中VW0、VW1、VW2及VW3分别为四个电位器的滑动端;VL0、VL1、VL2及VL3分别为四个电位器的低端;VH0、VH1、VH2及VH3分别为四个电位器的高端;A0、A1、A2及A3为地址线(用来设置从属地址低4位);SDA及SCL分别为串行数据和串行时钟;VCC及VSS分别为电源和地 |
如果将四个电阻阵列中的两个、三个或四个串联起来可构成127、190或253个抽头的数字电位器。
X9241电位器电阻阵列的阻值种类根据后缀的不同而不同。当分别为Y、W、U时,则电阻阵列分别为四个2kΩ、四个10kΩ、四个50kΩ的数字电位器;而当为M时,其内部四个数字电位器阻值分别为2kΩ、10kΩ、10kΩ、50kΩ。
2.2滑动端计数寄存器WCR
滑动端计数寄存器WCR实际上是一个6位带有译码输出的计数器,用来实现选择六十四选一的FET开关的位置,即控制滑动端在电阻阵列中的位置。WCR是一种易失性存贮器,其内容可通过指令改写,上电时装入数据寄存器R0的内容(注意:此值可能与断电时的值不同)。
2.3数据寄存器
数据寄存器的内容可由用户读出或写入,其内容可传输到滑动计数寄存器WCR以设置滑动端的位置。每个数字电位器有四个8位非易失性数据寄存器R0~R3。
2.4串行接口
X9241支持I2C串行双向总线的定向规约:实际应用时X9241为从器件,由主机启动数据的传输,并为发送和接收操作提供时钟。数据线SDA和时钟线SCL的信号间关系(起始条件、终止条件及应答条件)见图2。
3器件寻址及指令结构
3.1器件寻址
在起始后,主器件输出它所要访问的从器件地址,该地址的格式如下:
0 | 1 | 0 | 1 | A3 | A2 | A1 | A0 |
评论