引言 與機械電位器相比,數字電位器有許多優(yōu)點(diǎn)。但是在有些應用場(chǎng)合,數字電位器的分辨率往往達不到設計要求,通常最大抽頭數為1 024。以X9241為例,內部包括一個(gè)I2C接口和4個(gè)64抽頭的數字電位器,可獨立使用,也可串聯(lián)使用,如按常規方法使用,其分辨率較低,即使4個(gè)電位器串聯(lián),也只能達到256個(gè)抽頭。本文提出了一種軟件、硬件結合的方法,可使電位器的中間抽頭數達到8 001個(gè),分辨率達到O.008%。 1 設計原理 1.1 基本原理 高分辨率數字電位器POT由4個(gè)電位器組成,如圖1所示,4個(gè)數字電位器POT0、POT1、POT2、POT3均為64抽頭數字電位器。 POTO、 POT3的固定端并聯(lián),滑動(dòng)端分別接POT12的固定端。POT12由POT1、POT2串聯(lián),組成一個(gè)127抽頭的電位器。4個(gè)獨立電位器阻值相等,可根據需要選取。高分辨率數字電位器的固定端為VH、VL,滑動(dòng)端為VW,VW由POT1、POT2的2個(gè)滑動(dòng)端并連。 ![]() 假設POT0、POT1、POT2、POT3、POT12的滑動(dòng)端位置分別為x0、x1、x2、x3、y,POT的滑動(dòng)端位置為z。 現采取以下控制策略: ①若POT3的滑動(dòng)端位置為x,則POTO的滑動(dòng)端位置同步調節到x+1,即兩電位器始終保持1的間隔,相當于粗調節; ②調節POTl2滑動(dòng)端位置y,相當于把間隔為1的區間再細分若干等分,即細調節。 采用等校電路法,可得到z與x、y的關(guān)系。 設VL、VH端電位分別為0、U,滑動(dòng)端電位為UW,根據電學(xué)公式可得: ![]() 其中,U0W、U1W分別為POT1、POT1滑動(dòng)端輸出電位,并加到POT12的兩個(gè)固定端。 由式(1)、式(2)推出式(3),得VW端輸出電位。 ![]() 即電位器POT的滑動(dòng)端相對于VL的電阻阻值為: ![]() 若規定z的步進(jìn)增量為1,則有: ![]() 其中,R為電位器固定端的阻值,x的取值范圍為0~62,y的取值范圍為0~127。z的取值范圍為0~8 001。分辨率為O.008%,中間抽頭數為8 001個(gè)。 因為x、y、z均為整數,所以有: ![]() 即x為z/127的取整,y為z/127的取余。 1.2 控制算法 式(5)、(6)即為實(shí)現高分辨率數字電位器的基本公式。為了軟件設計,還必須建立POT的中間抽頭位置z與POT0、POT1、POT2、POT3的中間抽頭位置的關(guān)系。 根據圖1可知: ![]() ![]() ![]() 2 硬件電路 2.1 X9241數字電位器 X9241是Xicor公司生產(chǎn)的數字電位器,內部包括1個(gè)I2C接口和4個(gè)64位數字電位器POTO、POT1、POT2、POT3。每個(gè)數字電位器由電阻陣列及與之對應的滑動(dòng)端計數寄存器WCR、4個(gè)位數據寄存器R0~R3等部分構成。其引腳配置如圖3所示。 ![]() 每個(gè)電位器由63個(gè)電阻段組成,每個(gè)電阻陣列的物理終端等效于機械電位器的固定端(VH、VL)。每個(gè)陣列的VH和VL以及每個(gè)電阻段之間的接點(diǎn)(即抽頭)通過(guò)FET開(kāi)關(guān)連接滑動(dòng)輸出端,而滑動(dòng)端在電阻陣列中的位置由從WCR控制。其中,VW、VW1、VW2、VW3分別為4個(gè)電位器的滑動(dòng)端,VL0、 VL1、VL2、VL3分別為4個(gè)電位器的低端、VH0、VH1、VH2、VH3分別為4個(gè)電位器的高端。如果將4個(gè)電阻陣列中的2個(gè)、3個(gè)或4個(gè)串聯(lián),可構成127、190或253抽頭的數字電位器。芯片采用I2C總線(xiàn)接口,SDA、SCL分別為串行數據和串行時(shí)鐘。A0~A3為芯片地址設置位。 X9241提供了把陣列串聯(lián)起來(lái)的方法,可以把1個(gè)陣列的63個(gè)電阻元件與1個(gè)相鄰陣列的電阻元件串聯(lián)起來(lái)。其控制位在3字節的指令中,其數據字節包括用來(lái)定義滑動(dòng)端位置的6位(LSB)加上高2位:CM(串聯(lián)方式)和DW(禁止滑動(dòng)端)。數據字節如下所示: ![]() 2.2 電路設計 根據圖1的設計原理和圖3的引腳配置圖,可實(shí)現高分辨率數字電位器的電路設計,如圖4所示。 ![]() ①SDA、SCL是I2C總線(xiàn)的串行數據和串行時(shí)鐘,與單片機的I/O線(xiàn)相連,單片機是主器件,X9241是從器件,器件地址為: 0 1 0 1 A3 A2 A1 A0 高4位固定,低4位由A3~A0的接線(xiàn)方式所決定,按照圖4電路的接線(xiàn)方式,X9241的從地址為50H。 ②為了提高線(xiàn)性度,可在VW0與VL1之間加入1級運算放大器組成的跟隨器,VW3與VH2之間也加入1級。其改進(jìn)電路如圖5所示。 ![]() 3 程序設計 3.1 讀寫(xiě)單個(gè)數字電位器函數設計 根據X9241的指令結構和控制時(shí)序,可以編寫(xiě)讀寫(xiě)單個(gè)數字電位器的程序。 (1)改變電位器中間抽頭命令(寫(xiě)WCR)時(shí)序以寫(xiě)電位器POT0為例,把電位器0的中間抽頭WCR設置為20H(X9241每個(gè)電位器的最大抽頭數是 64,即有效值小于63)。命令控制字為101000000B,即AOH;若在電路中AOA1A2A3均接低電平,則器件地址為01010000B,即 50H。其命令序列如下: Start→發(fā)送地址50H→Ack→發(fā)送命令字A0H→ACK→發(fā)送20H→ACK→Stop。 (2)讀電位器中間抽頭位置命令(讀WCR)時(shí)序以讀電位器POT1為例,把電位器1的中間抽頭WCR位置值讀回。命令控制字為100100000B,即90H;若在電路中AOA1A2A3均接低電平,則器件地址為01010000B,即50H。其命令序列如下: Start→發(fā)送地址50H→Ack→發(fā)送命令字90H→ACK→接收1個(gè)字節→ACK→Stop。 3.2 主函數設計 本函數的功能是把設計的數字電位器POT的中間抽頭位置z轉換為4個(gè)獨立數字電位器POT0~POT3的中間抽頭位置寄存器WCR的值x0~x3,同時(shí)控制POT1、POT2的控制位CM和DW,如圖6所示。 ![]() 在流程圖中,當y<64時(shí),POT12(由POT1和POT2串聯(lián))的中間抽頭位置在POT2范圍內,所以POT1的中間抽頭失效,即置DM1=1;當y≥64時(shí),POT12的中間抽頭位置在POT1范圍內,所以POT2的中間抽頭失效,即置DM2=1。 結語(yǔ) 采用軟硬件協(xié)同的方法,能以較低的成本實(shí)現高分辯率數字電位器的設計。同一芯片中4個(gè)數字電位器的良好匹配和電壓跟隨器的應用,使設計的數字電位器具有更好的線(xiàn)性度。在實(shí)際應用中,為了提高帶負載能力,需要在滑動(dòng)輸出端接一輸出緩沖器。 參考文獻 1. Intersil Americas Inc X9241A Quad Digital Controlled Potentionmeters 2007 2. 周玲.張記龍.蘇世棟 基于X9241M數字電位器的程控濾波器設計 [期刊論文] -中北大學(xué)學(xué)報2008(1) 3. 魏智 數字電位器的應用 [期刊論文] -國外電子元器件2005(3) 4. Joe Neubauer 用線(xiàn)性數字電位器實(shí)現對數調節 [期刊論文] -國外電子元器件2005(6) 5. 周勝海 數字電位器的應用技術(shù) [期刊論文] -儀表技術(shù)2005(2) 6. Xicor Inc X9241 Quad E2PO TTM Nonvolatile Digital Potentiometer 1999 7. Xicor Inc Interfacing the X9241 XDCPs to 8051 Microcontrollers 2000 8. 王麒.鄒麗艷 量程自動(dòng)轉換的研究與設計 [期刊論文] -電子測量技術(shù)2008(5) 作者:葛惠民,Ge Huimin(浙江機電職業(yè)技術(shù)學(xué)院;清華大學(xué)) 陳基偉,Chen Jiwei(浙江機電職業(yè)技術(shù)學(xué)院) 來(lái)源:《單片機與嵌入式系統應用》 2009(7) |