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分別為電源和地
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
|
3.2指令結構
主器件在發送完起始條件及器件地址,且從器件作出應答之后,送到X9241的下一個字節包括指令及寄存器指針的信息。其格式如下:
I3
| I2
| I1
| I0
| P1
| P0
| R1
| R0
|
指令
| 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
| 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與數據寄存器中的一個之間交換數據;這種傳輸可以發生在四個電位器之一與它們的一個輔助寄存器之間,或全局性地發生在所有四個電位器與它們的一個輔助寄存器之間;操作時序見圖2(a)。
(2)三字節指令:這四條指令是在主機和X9241之間傳輸數據,無論是主機與一個數據寄存器或是主機直接與WCR間都可以;這些指令是讀、寫WCR(即讀出、寫入選定電位器的當前滑動端的位置)或讀、寫數據寄存器(即讀出、寫入選定的非易失性寄存器的內容);操作時序見圖2(b)。
(3)增加/減少指令:這條指令與其它的指令不同,一旦這條指令發出且X9241已用一個應答來響應后,主機才能夠以時鐘來觸發選定的滑動端升或降一個電阻段;這個操作的命令時序見圖2(c)。
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的內容來改變滑動端的位置。
,如果將四個電阻陣列中的兩個、三個或四個串聯起來可構成127、190或253個抽頭的數字電位器。
X9241電位器電阻陣列的阻值種類根據后綴的不同而不同。當分別為Y、W、U時,則電阻陣列分別為四個2kΩ、四個10kΩ、四個50kΩ的數字電位器;而當為M時,其內部四個數字電位器阻值分別為2kΩ、10kΩ、10kΩ、50kΩ。