位置:51电子网 » 技术资料 » 接口电路

数字电位器X9241与PIC单片机的接口及程序设计

发布时间:2008/6/3 0:00:00 访问次数:440

1 x9241概述
x9241是xicor公司生产的、把4个e2pot数字电位器集成在单片的cmos集成电路上的一种数字电位器。它包含4个电阻阵列,每个阵列包含63个电阻单元,在每个单元之间和2个端点之间都有被滑动单元访问的抽头点。滑动单元在阵列中的位置由用户通过2线串行总线接口控制。每个电阻阵列与1个滑动端计数寄存器(wcr)和4个8位数据寄存器联系在一起。这4个数据寄存器可由用户直接写入和读出。wcr的内容控制滑动端在电阻阵列中的位置,其功能框图如图1所示。


2 x9241工作原理
x9241支持双向总线的定向规约,是一个从属器件。它的高4位地址为0101(器件类型辨识符),低4位地址由a3~a0输入端状态决定。在sda线上的数据只有在scl为低期间才能改变状态。当scl为高时,sda状态的改变用来表示开始和终止条件(开始条件:scl为高时,sda由高至低的跳变;终止条件:scl为高时,sda由低至高的跳变)。送给x9241的所有命令都由开始条件引导,在其后输出x9241从器件的地址。x9241把串行数据流与该器件的地址比较,若地址比较成功,则作出一个应答响应。送到x9241的下一个字节包括指令及寄存器指针的信息,高4位为指令,低4位用来指出4个电位器中的1个及4个辅助寄存器中的1个,其格式为:

i3 i2 i1 i0/指 令 p1 p0/电位器选择  r1 r0 / 寄存器选择

9条指令中的4条以发送指令字节作为结束。这些二字节指令在wcr与数据寄存器中的1个之间交换数据;4条指令为三字节指令,这些指令在主机与x9241之间传输数据(包括主机与1个数据寄存器和主机与wcr之间);还有1条指令为增加/减少指令。三类指令的指令序列及说明见图2及表1。



x9241包括4个wcr,每个e2pot电位器各1个,wcr可以被认为是一个6位并行和串行装载的带有输出译码的计数器,用来选择电阻阵列的64选1的开关。wcr是一个易失性存储器,若断电,其内容即消失。该存储器在上电时自动装入r0的值,但必须注意这个值可能与断电时wcr中的值不同。

每个电位器有4个非易失性数据寄存器。这些寄存器可以被主机直接读出或写入,而且数据可以在4个数据寄存器的任一个和wcr之间传输。任何改变这些寄存器的操作都是非易失性的操作,将花去10 ms的时间(最大)。

x9241的电阻阵列之间可以串联。在三字节指令中,其数据字节包括用来定义滑动端位置的6位(lsb)加上高两位:cm(串联方式,其为0时电位器正常工作;其为1时,电位器与它相邻的高序号的电位器串联连接)和dw(禁止滑动端,其为0时滑动端使能;为1时滑动端被禁止,此时滑动端是电气上隔离的并且是浮空的)。当工作于串联方式时,被串联的阵列的vh、vl及滑动端这三个输出端必须在电气上与外部连接,除了一个滑动端以外,其余的滑动端必须禁止。串联后的电阻阵列如图3所示。


3 x9241与pic16cxx单片机的接口及程序清单
 图4为pic16c72与x9241的接口电路。与此对应,给出了所有x9241命令操作的程序清单。在此程序中,main为一主程序。在main中,将43写入e2pot#2的wcr(即滑动端位置为#43)。然后将滑动端抽头位置减少15个脉冲的位置,这使得被选定的wcr减少到值28(即滑动端位置为#28)。随后发出的其它命令也都是相同的过程,清单中不再赘述。




1 x9241概述
x9241是xicor公司生产的、把4个e2pot数字电位器集成在单片的cmos集成电路上的一种数字电位器。它包含4个电阻阵列,每个阵列包含63个电阻单元,在每个单元之间和2个端点之间都有被滑动单元访问的抽头点。滑动单元在阵列中的位置由用户通过2线串行总线接口控制。每个电阻阵列与1个滑动端计数寄存器(wcr)和4个8位数据寄存器联系在一起。这4个数据寄存器可由用户直接写入和读出。wcr的内容控制滑动端在电阻阵列中的位置,其功能框图如图1所示。


2 x9241工作原理
x9241支持双向总线的定向规约,是一个从属器件。它的高4位地址为0101(器件类型辨识符),低4位地址由a3~a0输入端状态决定。在sda线上的数据只有在scl为低期间才能改变状态。当scl为高时,sda状态的改变用来表示开始和终止条件(开始条件:scl为高时,sda由高至低的跳变;终止条件:scl为高时,sda由低至高的跳变)。送给x9241的所有命令都由开始条件引导,在其后输出x9241从器件的地址。x9241把串行数据流与该器件的地址比较,若地址比较成功,则作出一个应答响应。送到x9241的下一个字节包括指令及寄存器指针的信息,高4位为指令,低4位用来指出4个电位器中的1个及4个辅助寄存器中的1个,其格式为:

i3 i2 i1 i0/指 令 p1 p0/电位器选择  r1 r0 / 寄存器选择

9条指令中的4条以发送指令字节作为结束。这些二字节指令在wcr与数据寄存器中的1个之间交换数据;4条指令为三字节指令,这些指令在主机与x9241之间传输数据(包括主机与1个数据寄存器和主机与wcr之间);还有1条指令为增加/减少指令。三类指令的指令序列及说明见图2及表1。



x9241包括4个wcr,每个e2pot电位器各1个,wcr可以被认为是一个6位并行和串行装载的带有输出译码的计数器,用来选择电阻阵列的64选1的开关。wcr是一个易失性存储器,若断电,其内容即消失。该存储器在上电时自动装入r0的值,但必须注意这个值可能与断电时wcr中的值不同。

每个电位器有4个非易失性数据寄存器。这些寄存器可以被主机直接读出或写入,而且数据可以在4个数据寄存器的任一个和wcr之间传输。任何改变这些寄存器的操作都是非易失性的操作,将花去10 ms的时间(最大)。

x9241的电阻阵列之间可以串联。在三字节指令中,其数据字节包括用来定义滑动端位置的6位(lsb)加上高两位:cm(串联方式,其为0时电位器正常工作;其为1时,电位器与它相邻的高序号的电位器串联连接)和dw(禁止滑动端,其为0时滑动端使能;为1时滑动端被禁止,此时滑动端是电气上隔离的并且是浮空的)。当工作于串联方式时,被串联的阵列的vh、vl及滑动端这三个输出端必须在电气上与外部连接,除了一个滑动端以外,其余的滑动端必须禁止。串联后的电阻阵列如图3所示。


3 x9241与pic16cxx单片机的接口及程序清单
 图4为pic16c72与x9241的接口电路。与此对应,给出了所有x9241命令操作的程序清单。在此程序中,main为一主程序。在main中,将43写入e2pot#2的wcr(即滑动端位置为#43)。然后将滑动端抽头位置减少15个脉冲的位置,这使得被选定的wcr减少到值28(即滑动端位置为#28)。随后发出的其它命令也都是相同的过程,清单中不再赘述。




相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!