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