1 X9241概述 X9241是Xicor公司生產的一種集成數字電位器。它在單一芯片上集成了4個10kΩ數字電位器,每個電位器的滑動端共有64個離散的調節節點,并有4個8bit的E2PROM數據寄存器以及一個滑刷控制寄存器(WCR)。用戶可以通過相應指令使電位器的WCR(滑刷控制寄存器)與某個數據寄存器相關聯,也可以直接控制WCR以達到改變電位器滑動端位置的目地。X9241芯片具有I2C總線接口,可以實現寄存器映射、改變滑刷位置以及進行電位器級聯等操作。X9241采用20引腳雙列直插封裝,其引腳排列如圖1所示。其中VWi(i=0~3)為四個獨立的10kΩ電位器的滑動端;VLi(i=0~3)分別為四個電位器的兩個終端;A3,A2,A1,A0為X9241芯片的設備地址;SCL,SDA分別為I2C接口的串行時鐘和串行數據線。X9241的工作電壓為5V。 1.1 X9241的內部結構 X9241的內部結構如圖2所示,從圖中可以看出,一個X9241芯片內含有:I2C總線接口、SDA串行數據線、SCL串行時鐘線以及4個POT(電位器)。每個POT 有4個8bit的E2PROM數據寄存器和一個WCR滑刷控制寄存器。 1.2 X9241的控制方式 需要說明的是,雖然X9241具有I2C總線接口,但由于X9241采用特殊的3字節指令結構,而普通I2C硬件都是雙字節格式。因此最好采用軟件模擬I2C總線時序。 1.3 X9241的主要參數 X9241的主要性能參數如下: ●SCK,SCL或其它地址輸入端相對于Vss的電壓為-1~+7V; ●VH或VL相對于Vss的電壓范圍為±8V; ●△V=|VH-VL|為16V; ●X9241工作電壓范圍為5V+10%。 因為VH或VL相對于VSS的電壓范圍是±8V,所以X9241可以不受數字電路0~+5V電源窗口的制約而廣泛地應用于各種具有正負電源的模擬電路之中。 2 X9241的指令字格式 X9241的讀/寫指令均由三段組成(如圖3所示),每段均有一個字節:第一段為從屬設備地址;第二段為指令字節;第三段為數據。 第一字段的前4位為設備類型標識,對于X9241,其固定值為0101,后4位是設備地址(A3,A2,A1,A0),這4位的0,1取值取決于芯片上的A3-A0引腳是接GND還是接VCC。 第二字段描述了操作類型和操作對象。其中前4位是指令代碼I3~I0,后4位是操作對象P1、P0和R1、R0。其中P1,P0是4個電位器的選擇編碼,R1,R0是每個電位器的4個寄存器的選擇編碼。X9241的指令集如表1所列。表中的1/0表示數據為1或0,N/A為無效位。 第三字段是8bits的數據段,它的前兩位CM、DW是控制位,其中CM是級聯模式控制位,當CM為0時,為正常模式,當CM為1時,該電位器與序號比它高一級的電位器級聯。比如,若WCR2的CM為1,表示電位器2就與電位器3級聯。DW是電位器滑動端使能控制位。當DW為0時,為正常模式,當DW為1時,該電位器的滑動端失效,即滑動端處于絕緣懸浮狀態。CM和DW配合使用可以實現電位器的級聯,并可保證級聯電位器在滑動時只有一個有效滑動端。 X9241的三字節指令序列傳輸示意圖如圖4所示,X9241還有一種遞增/遞減的控制方式,由于不常用,在此不再陳述。一個完整的X9241讀/寫時序包括以下幾個部分: (1)起始位。以SCL為高電平,SDA出現下跳沿為起始標志; (2)傳送X9241的從屬設備地址字段; (3)接收X9241返回的ACK(應答)信號,它是在SCL為高電平期間,SDA線上為低電平的狀態; (4)向X9241傳送指令字段; (5)接收X9241返回的ACK信號; (6)如果是‘寫’方式,則向X9241發送8bit數據。并接收ACK信號;如果是‘讀’方式,則準備接收X9241將要返回的8bit數據,并在接收完成后,向X9241發送ACK信號; (7)停止位。以SCL為高電平,SDA出現上跳沿為I2C傳輸的停止標志。 3 在TMS320F206型DSP中的應用 圖5是筆者在氨氮傳感器中使用X9241的部分電路示意圖。在這個電路中,用X9241上的POT0和POT3代替原模擬電路中的兩個10kΩ機械電位器來完成調整倍率和零點的任務。DSP的I/O2,I/O3分別連接到SCL和SDA端口上。該電路中,X9241的A3獳0均接地,所以它的設備地址是0000。因此在對這個芯片的電位器進行讀/寫操作時,第一字段應當是01010000,即50h(DSP的十六進制數)。 圖6和圖7分別是用IO2和IO3模擬I2C總線時,對X924進行讀、寫的子程序流程圖。 4 結束語 使用數字電位器的主要優勢是定位精度高,不受機械震動影響,并可以通過程控來實現半自動化調節。另外,由于數字電位器的VH、VL電壓窗口較寬,因而能在許多場合取代機械模擬電位器。使用數字電位器的缺點是不能連續調節。由于每個數字電位器只有64檔,所以對于離散多檔位調節場合,用數字電位器很方便。而在需要連續調節的場合,似乎不如連續可調的模擬電位器方便。但是設計時可以采取以下方法進行補償: (1)多芯片級聯使用,以增加有效檔位; (2)兩個數字電位器配合使用,一個作為粗調,一個作為細調,兩者搭配,可以得出許多種適合不同需要的組合。 |