高分辨率數(shù)字電位器 X9241 的軟件實現(xiàn)
引 言
與機械電位器相比,數(shù)字電位器有許多優(yōu)點。但是在有些應(yīng)用場合,數(shù)字電位器的分辨率往往達不到設(shè)計要求,通常最大抽頭數(shù)為1 024。以X9241為例,內(nèi)部包括一個I2C接口和4個64抽頭的數(shù)字電位器,可獨立使用,也可串聯(lián)使用,如按常規(guī)方法使用,其分辨率較低,即使4個電位器串聯(lián),也只能達到256個抽頭。本文提出了一種軟件、硬件結(jié)合的方法,可使電位器的中間抽頭數(shù)達到8 001個,分辨率達到0.008%。
1 設(shè)計原理
1.1 基本原理
高分辨率數(shù)字電位器POT由4個電位器組成,如圖1所示,4個數(shù)字電位器POT0、POT1、POT2、POT3均為64抽頭數(shù)字電位器。POTO、 POT3的固定端并聯(lián),滑動端分別接POT12的固定端。POT12由POT1、POT2串聯(lián),組成一個127抽頭的電位器。4個獨立電位器阻值相等,可根據(jù)需要選取。高分辨率數(shù)字電位器的固定端為VH、VL,滑動端為VW,VW由POT1、POT2的2個滑動端并連。
假設(shè)POT0、POT1、POT2、POT3、POT12的滑動端位置分別為x0、x1、x2、x3、y,POT的滑動端位置為z。
現(xiàn)采取以下控制策略:
?、偃鬚OT3的滑動端位置為x,則POTO的滑動端位置同步調(diào)節(jié)到x+1,即兩電位器始終保持1的間隔,相當(dāng)于粗調(diào)節(jié);
?、谡{(diào)節(jié)POTl2滑動端位置y,相當(dāng)于把間隔為1的區(qū)間再細分若干等分,即細調(diào)節(jié)。
采用等校電路法,可得到z與x、y的關(guān)系。
設(shè)VL、VH端電位分別為0、U,滑動端電位為UW,根據(jù)電學(xué)公式可得:
其中,U0W、U1W分別為POT1、POT1滑動端輸出電位,并加到POT12的兩個固定端。
由式(1)、式(2)推出式(3),得VW端輸出電位。
即電位器POT的滑動端相對于VL的電阻阻值為:
若規(guī)定z的步進增量為1,則有:
其中,R為電位器固定端的阻值,x的取值范圍為0~62,y的取值范圍為0~127。z的取值范圍為0~8 001。分辨率為O.008%,中間抽頭數(shù)為8 001個。
因為x、y、z均為整數(shù),所以有:
即x為z/127的取整,y為z/127的取余。
1.2 控制算法
式(5)、(6)即為實現(xiàn)高分辨率數(shù)字電位器的基本公式。為了軟件設(shè)計,還必須建立POT的中間抽頭位置z與POT0、POT1、POT2、POT3的中間抽頭位置的關(guān)系。
根據(jù)圖1可知:
2 硬件電路
2.1 X9241數(shù)字電位器
X9241是Xicor公司生產(chǎn)的數(shù)字電位器,內(nèi)部包括1個I2C接口和4個64位數(shù)字電位器POTO、POT1、POT2、POT3。每個數(shù)字電位器由電阻陣列及與之對應(yīng)的滑動端計數(shù)寄存器WCR、4個位數(shù)據(jù)寄存器R0~R3等部分構(gòu)成。其引腳配置如圖3所示。
評論