高分辨率數(shù)字電位器 X9241 的軟件實(shí)現(xiàn)
每個(gè)電位器由63個(gè)電阻段組成,每個(gè)電阻陣列的物理終端等效于機(jī)械電位器的固定端(VH、VL)。每個(gè)陣列的VH和VL以及每個(gè)電阻段之間的接點(diǎn)(即抽頭)通過FET開關(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),可構(gòu)成127、190或253抽頭的數(shù)字電位器。芯片采用I2C總線接口,SDA、SCL分別為串行數(shù)據(jù)和串行時(shí)鐘。A0~A3為芯片地址設(shè)置位。
X9241提供了把陣列串聯(lián)起來的方法,可以把1個(gè)陣列的63個(gè)電阻元件與1個(gè)相鄰陣列的電阻元件串聯(lián)起來。其控制位在3字節(jié)的指令中,其數(shù)據(jù)字節(jié)包括用來定義滑動(dòng)端位置的6位(LSB)加上高2位:CM(串聯(lián)方式)和DW(禁止滑動(dòng)端)。數(shù)據(jù)字節(jié)如下所示:
2.2 電路設(shè)計(jì)
根據(jù)圖1的設(shè)計(jì)原理和圖3的引腳配置圖,可實(shí)現(xiàn)高分辨率數(shù)字電位器的電路設(shè)計(jì),如圖4所示。
?、賁DA、SCL是I2C總線的串行數(shù)據(jù)和串行時(shí)鐘,與單片機(jī)的I/O線相連,單片機(jī)是主器件,X9241是從器件,器件地址為:
0 1 0 1 A3 A2 A1 A0
高4位固定,低4位由A3~A0的接線方式所決定,按照?qǐng)D4電路的接線方式,X9241的從地址為50H。
?、跒榱颂岣呔€性度,可在VW0與VL1之間加入1級(jí)運(yùn)算放大器組成的跟隨器,VW3與VH2之間也加入1級(jí)。其改進(jìn)電路如圖5所示。
3 程序設(shè)計(jì)
3.1 讀寫單個(gè)數(shù)字電位器函數(shù)設(shè)計(jì)
根據(jù)X9241的指令結(jié)構(gòu)和控制時(shí)序,可以編寫讀寫單個(gè)數(shù)字電位器的程序。
(1)改變電位器中間抽頭命令(寫WCR)時(shí)序以寫電位器POT0為例,把電位器0的中間抽頭WCR設(shè)置為20H(X9241每個(gè)電位器的最大抽頭數(shù)是 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è)字節(jié)→ACK→Stop。
3.2 主函數(shù)設(shè)計(jì)
本函數(shù)的功能是把設(shè)計(jì)的數(shù)字電位器POT的中間抽頭位置z轉(zhuǎn)換為4個(gè)獨(dú)立數(shù)字電位器POT0~POT3的中間抽頭位置寄存器WCR的值x0~x3,同時(shí)控制POT1、POT2的控制位CM和DW,如圖6所示。
在流程圖中,當(dāng)y64時(shí),POT12(由POT1和POT2串聯(lián))的中間抽頭位置在POT2范圍內(nèi),所以POT1的中間抽頭失效,即置DM1=1;當(dāng)y≥64時(shí),POT12的中間抽頭位置在POT1范圍內(nèi),所以POT2的中間抽頭失效,即置DM2=1。
結(jié) 語(yǔ)
采用軟硬件協(xié)同的方法,能以較低的成本實(shí)現(xiàn)高分辯率數(shù)字電位器的設(shè)計(jì)。同一芯片中4個(gè)數(shù)字電位器的良好匹配和電壓跟隨器的應(yīng)用,使設(shè)計(jì)的數(shù)字電位器具有更好的線性度。在實(shí)際應(yīng)用中,為了提高帶負(fù)載能力,需要在滑動(dòng)輸出端接一輸出緩沖器。
評(píng)論