1x9268器件描述 1X9268是Xicor公司生產的,把2個E2POT數控電位器集成在單芯片的CMOS集成電路上的一種數控電位器。它包含兩個電阻陣列,每個電阻陣列包含255個電阻單元,在每個單元之間和二個端點都有可以被滑動單元訪問的抽頭點。滑動單元在陣列中的位置,由用戶通過二線串行總線接口控制。每個電阻陣列,與1個滑動端計數寄存器(WCR)和4個8位數據寄存器(R0~R3)聯系在一起,這4個數據寄存器可以由用戶直接寫入或讀出。滑動端計數寄存器的內容,控制滑動端在電阻陣列中的位置。 數據寄存器可以由用戶讀出和寫入。數據寄存器的內容可以傳輸到滑動端計數寄存器,以設置滑動端的位置。當前滑動端的位置可以被傳輸到與它相聯系的任一個數據寄存器。X9268功能方框圖如圖l所示。 2 X9268的工作原理 X9268支持雙向的定向規約,是一個從屬器件。它的高四位地址為0101,即為器件的類型辨識符,低四位地址由A3~AO輸入端的狀態來定義。在SDA線上的數據,只有在SDL為低時才能改變狀態。當SCL為高時,SDA狀態的改變用來表示開始和終止條件。開始條件,SCL為高時,SDA由高到低的跳變;終止條件,SCL為高時,SDA由低到高的跳變。送給X9628的所有命令都由開始條件引導,在其后輸出X9268的從器件地址。X9268把串行數據流與該器件的地址比較,若比較成功,則作出一個應答響應。送到X9268的下一個字節包括指令及寄存器指針的信息。高四位為指令,接著二位(RB和RA)用來選擇4十寄存器中的一個,接下來的一位始終為O,最低位(PO)用來選擇2個電位器中的一個。 9條指令中的4條以發送指令字節作為結束。這些二字節指令在WCR與數據寄存器中的一個之間交換數據;4條指令位三字節指令在主機與X9268之間傳輸數據,其中包括主機與WCR之間傳輸數據和主機與其中的一個數據寄存器之間傳輸數據;還有一條增加/減少指令。三類指令的指令序列及文字說明見圖2及表1。 X9268包括2個WCR,每個E2POT電位器各有一個,WCR可以被認為是一個8位并行和串行裝載的帶有譯碼的計數器,用來選擇電阻陣列的256選1開關。WCR是一個易失性存儲器,若斷電其內容將失去。雖然該寄存器將在上電時自動裝入RO中的值,但必須注意這個值可能與斷電時的值不同。 每個電位器有4個非易失性數據寄存器。這些寄存器可以被主機直接讀出或寫入,而且數據可以在4個數據存儲器中任一個和WCR之間傳輸。需注意的是,在這些數據寄存器中任何一個改變數據的操作都是非易失性的操作,將花去10ms的時間(最大)。 3 X9628與Pic16cxx單片機的接口電路及程序 圖3為PIC16C72與X9628的接口電路,與此對應,給出了X9268所有命令的程序清單。在MAIN主函數中,先將40寫入E2POT#2的WCR(即滑動端位置為#40),然后將滑動端抽頭減少15個脈沖的位置,即此時WCR的值減少到25(即滑動端位置為#25)。隨后,其它命令也都是相同的過程。 |