首页 I2C总线数字电位器原理及与单片机的接口设计

I2C总线数字电位器原理及与单片机的接口设计

举报
开通vip

I2C总线数字电位器原理及与单片机的接口设计I2C总线数字电位器原理及与单片机的接口设计 I2C总线数字电位器原理及与单片机的接口设计 作者 出处 更新时间 2005年02月13日 湘潭工学院信息与电气工程系411201 黄采伦 摘 要I2C总线数字电位器是Xicor公司推出的数字电位器中较有代表性的一种它集许多先进特性于一体倍受使用 者瞩目本文介绍其特性、工作原理及与单片机的接口技术。 关键词数字电位器 I2C总线 单片机 程序模块 1引言 随着I2C总线应用的日益广泛兼容I2C总线的接口芯片及存储器的品种也越来越多其中数字电位器以其调节方便、使用寿命长...

I2C总线数字电位器原理及与单片机的接口设计
I2C总线数字电位器原理及与单片机的接口 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 I2C总线数字电位器原理及与单片机的接口设计 作者 出处 更新时间 2005年02月13日 湘潭工学院信息与电气 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 系411201 黄采伦 摘 要I2C总线数字电位器是Xicor公司推出的数字电位器中较有代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 性的一种它集许多先进特性于一体倍受使用 者瞩目本文介绍其特性、工作原理及与单片机的接口技术。 关键词数字电位器 I2C总线 单片机 程序模块 1引言 随着I2C总线应用的日益广泛兼容I2C总线的接口芯片及存储器的品种也越来越多其中数字电位器以其调节方便、使用寿命长、受物理环境的影响小、性能稳定等特点已被广大电子工程技术人员所认识尤其是在音频产品、控制领域等的应用越来越受到人们的重视。I2C总线数字电位器是美国Xicor公司推出的X9×××系列数字电位器中较有代表性的一种。它是把几个E2POT非易失性数字电位器集成在一起的单片CMOS微电路具有二线串行I2C总线接口易于软件控制可直接读出、写入滑动端位置可级联使用等先进特性。本文以X9241为例说明。 2结构原理 X9241内部包括一个I2C接口和四个数字电位器。每个数字电位器由电阻阵列及与之对应的滑动端计数寄存器WCR、四个8位数据寄存器R0R3等部分构成。 2.1电阻阵列 每个电阻阵列由63个串联连接的分立的电阻其引脚配置如图1所示。 段组成。每个电阻阵列的物理终端等效于机械电位器的固定端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位非易失性数据寄存器R0R3。 2.4串行接口 X9241支持I2C串行双向总线的定向规约实际应用时X9241为从器件由主机启动数据的传输并为发送和接收操作提供时钟。数据线SDA和时钟线SCL的信号间关系起始条件、终止条件及应答条件见图2。 3器件寻址及指令结构 3.1器件寻址 在起始后主器件输出它所要访问的从器件地址该地址的格式如下 0 1 0 1 A3 A2 A1 A0 对于X9241来说这个地址的高4位固定为0101低4位由物理的器件地址A0A3输入端状态决定。这样X9241把串行数据流与地址输入端的状态进行比较若所有位都比较成功则该器件在总线上作出一个应答响应。 3.2指令结构 主器件在发送完起始条件及器件地址且从器件作出应答之后送到X9241的下一个字节包括指令及寄存器指针的信息。其格式如下 I3 I2 I1 I0 P1 P0 R1 R0 其中低4位中前两位R0和R1指出四个寄存器中的一个后两位P0和P1选择四个电位器中的哪一个高4位决定指令X9241共有9条指令见表1。 表1X9241指令 指令 I3 I2 I1 I0 P1 P0 R1 R0 功能说明 Read WCR 1 0 0 1 1/0 1/0 × × 读P1、P0指定的滑动端计数寄存器内容 Write WCR 1 0 1 0 1/0 1/0 × × 写新值到P1、P0指定的滑动端计数寄存器中 Read Data Register 1 0 1 1 1/0 1/0 1/0 1/0 读P1、P0和R1、R0指定的寄存器内容 Write Data Register 1 1 0 0 1/0 1/0 1/0 1/0 写新值到P1、P0和R1、R0指定的寄存器中 XFT Data Register to WCR 1 1 0 1 1/0 1/0 1/0 1/0 传输由P1、P0和R1、R0指定的寄存器内容到与它相关的WCR中 XFT WCRto Data Register 1 1 1 0 1/0 1/0 1/0 1/0 传输由P1、P0指定的WCR的内容到R1、R0指定的寄存器中 Global XFT Data Register to WCR 0 0 0 1 × × 1/0 1/0 传输由R1、R0指定的所有四个数据寄存器的内容到与它们相应的WCR中 Global XFT WCRto Data Register 1 0 0 0 × × 1/0 1/0 传输所有WCR中的内容到与它们相应的由R1、R0指定的数据寄存器中 Increment /Decrement Wiper 0 0 1 0 1/0 1/0 × × 使能增加/减少由P1、P0指定的滑动端计数寄存器WCR的内容 9条指令中包括四条两字节指令四条三字节指令和一条增加/减少指令。 1两字节指令这四条两字节指令用作在WCR与数据寄存器中的一个之间交换数据这种传输可以发生在四个电位器之一与它们的一个辅助寄存器之间或全局性地发生在所有四个电位器与它们的一个辅助寄存器之间操作时序见图2a。 2三字节指令这四条指令是在主机和X9241之间传输数据无论是主机与一个数据寄存器或是主机直接与WCR间都可以这些指令是读、写WCR即读出、写入选定电位器的当前滑动端的位置或读、写数据寄存器即读出、写入选定的非易失性寄存器的内容操作时序见图2b。 3增加/减少指令这条指令与其它的指令不同一旦这条指令发出且X9241已用一个应答来响应后主机才能够以时钟来触发选定的滑动端升或降一个电阻段这个操作的命令时序见图2c。 4电位器的串联方式及控制 X9241提供一个把阵列串联起来的机构可以把一个阵列的六十三个电阻元件与一个相邻阵列的电阻元件串联起来其控制位在三字节的指令中。对于三字节的指令其数据字节包括用来定义滑动端位置的6位LSB加上高2位CM串联方式Caseade Mode和DW禁止滑动端Disable Wipe。CM位的状态用来使能或禁止串联方式当WCR的CM位被置为“0”时则电位器是正常工作方式当CM位置“1”则与它相邻的高序号的电位器串联连接。例如电位器WCR1的位7被置为“1”则POT1与POT2被串联使用。DW位的状态用于使能或禁止滑动端当WCR的DW位被置为“0”或“1”时则滑动端被使能或被禁止禁止时该滑动端是电气上隔离并且是浮空的当工作于串联方式时被串联阵列的VH、VL及滑动端VW这三个输出端必须在电气上与外部连接除了一个滑动端被使能以外其余的滑动端必须被禁止。用户可以通过改变WCR的内容来改变滑动端的位置。 5与GMS90/97系列单片机的接口 图3是X9241与GMS90/97系列单片微机之间的一种有代表性的连接笔者曾将该连接方法成功地用于音频系统和智能仪表中作为增益反馈电阻这样可在宽范围内由软件编程来调整放大器的增益。在实际应用系统设计中采用I2C总线数字电位器可以收到降低成本、简化电路的效果然而在数字电位器带来硬件设计简化的同时却增加了软件的工作量原因是对其访问需要一套严格而复杂的操作假如有了接口程序模块使用I2C总线数字电位器就很方便了。为此本文给出笔者已成功应用的I2C总线数字电位器与GMS90/97系列单片机的接口程序模块读者几乎不需改动就可采用该程序模块略加修改还可用于串行E2PROM的读写。 在图3的连接中GMS97C51单片机的时钟为6MHz。由于只连接一片X9241数字电位器则地址A3A2A1A00000故X9241的器件地址固定为50H。调用时将直接位02H用作滑动端的增减位命令字节放30H单元要写入的数据放32H单元程序执行结束将读出的数据放 31H单元。其模块程序清单如下 图3GMS90/97系列单片机与X9241的典型连接 E2POT驱动程序模块 RW9241: SCL BIT P1.4 SDA BIT P1.5 INCDEC BIT 02H 滑动 端的增减位 DEVICE DATA 50H 器件地址 COMMAND EQU 30H 命令字节 RD_DATA EQU 31H 读出的数据 WR_DATA EQU 32H 写入的数据 ACALL START_IC 置开始 MOV ADEVICE ACALL WR_BYTE 写器件地址 MOV ACOMMAND 根据命令及识别字散转 SWAP A ANL A0FH CJNE A09HXRW1 指 令的高4位为09H表示R_WCR AJMP R_WCR XRW1: CJNE A0AHXRW2 指令的高4 位为0AH表示W_WCR AJMP W_WCR XRW2: CJNE A0BHXRW3 指令的高4位为 0BH表示R_ROM读寄存器 AJMP R_ROM XRW3: CJNE A0CHXRW4 指令的高4位 为0CH表示W_ROM写寄存器 AJMP W_ROM XRW4: CJNE A0DHXRW5 指令的高 4位为0DH表示将寄存器中的值传送到WCR AJMP ROM_WCR XRW5: CJNE A0EHXRW6 指令的高4位为0EH表示将WCR中的值传送到寄存器 AJMP WCR_ROM XRW6: CJNE A01HXRW7 指令的高4位为01H表示全局寄存器中值传 位为08H表示送到WCR AJMP A_ROM_WCR XRW7: CJNE A08HXRW8 指令的高4 全局WCR中值传送到寄存器 AJMP A_WCR_ROM XRW8: CJNE A02HXRW9 指令 的高4位为02H表示指定的WCR增/减 AJMP INC_DEC XRW9: ACALL STOP_IC 命 令执行完毕STOP并返回 RETI R_WCR: MOV ACOMMAND 读WCR子程序 ACALL WR_BYTE ACALL RD_BYTE MOV RD_DATAA ACALL ACK_IC AJMP XRW9 W_WCR: MOV ACOMMAND 写WCR子程序 ACALL WR_BYTE MOV AWR_DATA ACALL WR_BYTE AJMP XRW9 R_ROM: MOV ACOMMAND 读寄 存器子程序 ACALL WR_BYTE ACALL RD_BYTE MOV RD_DATAA ACALL MOV ACOMMAND 写寄存器子程序 ACALL ACK_IC AJMP XRW9 W_ROM: WR_BYTE MOV AWR_DATA ACALL WR_BYTE AJMP XRW9 ROM_WCR: MOV ACOMMAND 寄存器中数据送WCR子程序 ACALL WR_BYTE AJMP XRW9 WCR_ROM: MOV ACOMMAND WCR中数据送寄存器子程序 CALL WR_BYTE AJMP XRW9 A_ROM_WCR: MOV ACOMMAND 全局寄存器中数据送WCR子程 序 ACALL WR_BYTE AJMP XRW9 A_WCR_ROM: MOV ACOMMAND 全局 WCR中数据送寄存器子程序 ACALL WR_BYTE AJMP XRW9 INC_DEC: MOV R763 MOV ACOMMAND 指定的WCR增/减子程序 ACALL WR_BYTE JB INCDECWCRINC CLR SDA SETB SCL JMP IDC WCRINC: CLR SCL SETB SDA IDC: CLR SCL SETB SCL DJNZ R7IDC AJMP XRW9 START_IC:SETB SDA 开始 子程序 SETB SCL CLR SDA CLR SCL RET WR_BYTE:MOV B08 写字节子程序共 写8位 WR_BYTE1:CLR SCL RLC A 向左移位至CY MOV SDAC 数据输出 SETB SCL DJNZ BWR_BYTE1 CLR SCL SETB SDA SETB SCL JB SDA 检测X9241E的 应答 CLR SCL RET RD_BYTE: MOV B08 读字节子程序共读8位 RD_BYTE1: SETB SCL MOV CSDA RLC A CLR SCL DJNZ BRD_BYTE1 RET STOP_IC: CLR SDA 停止子程序 SETB SCL SETB SDA CLR SCL CLR SDA RET ACK_IC: CLR SDA 应答子程序 SETB SCL CLR SCL RET
本文档为【I2C总线数字电位器原理及与单片机的接口设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_977556
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:0
分类:企业经营
上传时间:2017-10-08
浏览量:10