巧妙的利用軟件編程,將X9241內(nèi)部的四個(gè)64抽頭數(shù)字電位器組成一個(gè)高分辨率低成本的數(shù)字電位器
數(shù)字電位器(DCP)是專為替代傳統(tǒng)機(jī)械電位器、可變電阻器而設(shè)計(jì)的新型集成電路。其通過I2C、SPI以及CS,U/D,INC三線方式與MCU接口,可實(shí)現(xiàn)應(yīng)用程控調(diào)節(jié),也有按鈕控制方式,從而實(shí)現(xiàn)與傳統(tǒng)機(jī)械電位器或可變電阻器相同的電位、電阻調(diào)節(jié)功能的特殊集成電路。與傳統(tǒng)機(jī)械電位器相比,數(shù)字電位器具有數(shù)字調(diào)節(jié)、長(zhǎng)壽命、易于裝配、節(jié)省空間、不受振動(dòng)影響等突出優(yōu)點(diǎn),已被廣泛應(yīng)用于醫(yī)用設(shè)備、儀器儀表、工業(yè)控制、計(jì)算機(jī)、家用電器、手機(jī)、數(shù)碼產(chǎn)品等各個(gè)領(lǐng)域。
在有些應(yīng)用中,如激光二極管的動(dòng)態(tài)偏置調(diào)節(jié),使用數(shù)字電位器或者微調(diào)DAC來控制電壓,就受到了分辨率、接口、成本的限制。為了解決這類問題,我們將在這里介紹使用低分辨率(64抽頭)、低成本的Intersil(Xicor)公司I2C總線控制數(shù)字電位器X9241組成一個(gè)高分辨率(8001抽頭)的數(shù)字電位器的解決方法。
實(shí)現(xiàn)高分辨率的原理
我們假設(shè)有三個(gè)數(shù)字電位器,POT1和POT2為64抽頭DCP,POT3為128抽頭DCP,其中POT1和POT2用作POT3的VH和VL的設(shè)置,并且必須保證POT1和POT2始終為“1”個(gè)位置間隔,那么就有63種不同的電壓間隔施加到POT3上。理論上,當(dāng)POT3在特殊電壓抽頭127和下一個(gè)電壓間隔的抽頭0之間跳動(dòng)時(shí),應(yīng)該還有一個(gè)多余的抽頭位置,但是這些抽頭不是多余的,它們的作用可以改善輸出的線性度,因?yàn)樵谙噜彽膬蓚€(gè)電壓間隔中的抽頭0和抽頭127的電壓是一樣的。對(duì)于63個(gè)不同間隔的每一個(gè),又借助127個(gè)不同的輸出,就會(huì)有8001(63×127=8001)個(gè)不同的Vw輸出可以在VH和VL之間獲得。圖1就是說明的這個(gè)概念。
如何使用X9241實(shí)現(xiàn)高分辨率(8001抽頭)
Intersil(Xicor)公司的X9241把四個(gè)非易失性數(shù)字電位器集成在一個(gè)單片CMOS微電路中,它的功能框圖如圖2。X9241包含四個(gè)電阻陣列,每個(gè)陣列包含63個(gè)電阻單元。在每個(gè)單元之間和兩個(gè)端點(diǎn)都有可以被滑動(dòng)單元訪問的抽頭點(diǎn)?;瑒?dòng)單元在陣列中的位子由用戶通過I2C總線控制。每個(gè)電阻陣列與一個(gè)滑動(dòng)端計(jì)數(shù)寄存器(WCR)和四個(gè)8位數(shù)據(jù)寄存器聯(lián)系在一起,四個(gè)數(shù)據(jù)寄存器和滑動(dòng)端計(jì)數(shù)寄存可以由用戶直接寫入和讀出?;瑒?dòng)端計(jì)數(shù)寄存器的內(nèi)容控制滑動(dòng)端在電阻陣列中的位置。數(shù)據(jù)寄存器的內(nèi)容可以傳輸?shù)交瑒?dòng)端計(jì)數(shù)寄存器以設(shè)置滑動(dòng)端位置,當(dāng)前滑動(dòng)端的位置也可以傳輸?shù)饺魏闻c之聯(lián)系的數(shù)據(jù)寄存器中?;瑒?dòng)端計(jì)數(shù)寄存器是易失性的,器件上電時(shí),滑動(dòng)端計(jì)數(shù)寄存器自動(dòng)的裝入數(shù)據(jù)寄存器0(R0)中的值。四個(gè)數(shù)據(jù)寄存器是非易失性的,如果在應(yīng)用中不需要對(duì)電位器有多種設(shè)置保存時(shí),可以用作通用存儲(chǔ)單元,用來保存系統(tǒng)參數(shù)或用戶數(shù)據(jù)。
X9241內(nèi)部有一個(gè)特殊的機(jī)制,可以把相鄰的數(shù)字電位器逐個(gè)串聯(lián)。允許多達(dá)253個(gè)不同抽頭位置(當(dāng)把全部DCP逐個(gè)串聯(lián)的時(shí)候)。如圖3所示,我們將POT1和POT2(X9241內(nèi)部相鄰的兩個(gè)DCP)串連起來,用POT0為其提供VH(可以調(diào)節(jié)的),用POT3提供VL(可以調(diào)節(jié)的)。那么我們就得到了如前面所述原理一樣的電路圖。
POT0和POT3為POT1-2(POT1和POT2串連以后的叫法)設(shè)置端電壓。也必須保證POT1和POT3始終為“1”個(gè)位置間隔,那么就有63種不同的電壓間隔施加到POT1-2上。隨著POT1-2的滑動(dòng)端位置向上或者向下移動(dòng)到端點(diǎn)時(shí),POT0和POT3的位置也要在必要時(shí)進(jìn)行調(diào)整。如果POT1-2的滑動(dòng)端增加到超過127時(shí),那么POT0和POT3將增加“1”,而POT1-2的滑動(dòng)端將返回到抽頭0。同樣,POT1-2的滑動(dòng)端減低到抽頭0以下時(shí),POT0和POT3的滑動(dòng)端將減小“1”,并將POT1-2的抽頭設(shè)置到127。這一點(diǎn),請(qǐng)讀者在理解后面所附的程序清單時(shí)注意。
X9241極適用于這個(gè)任務(wù),因?yàn)槠鋬?nèi)部正好有四個(gè)獨(dú)立的DCP,并且有相鄰DCP串聯(lián)的機(jī)制,而且其采用I2C總線控制接口,抽頭位置可以在軟件中直接改變而不需要通過每個(gè)中間位置轉(zhuǎn)換。
圖4是使用X9241U(49.37K、49.38K、49.32K、49.24K)器件對(duì)電路進(jìn)行測(cè)試得到的相鄰抽頭之間的典型結(jié)果。大圖表示每個(gè)抽頭的滑動(dòng)端電壓占所加總電壓的百分比,其中插圖為相鄰抽頭之間的分辨率占所加總電壓的百分比。
使用X9241實(shí)現(xiàn)高分辨率的軟件代碼
為了方便理解實(shí)現(xiàn)控制的細(xì)節(jié),我們提供了C語言源代碼(代碼由Xicor公司提供,我們做了一定的修改)。用戶只需要自己再編寫適用于不同單片機(jī)的I2C硬件接口函數(shù)(函數(shù)名稱同程序中介紹一致),在應(yīng)用程序中加入我們提供的源代碼,簡(jiǎn)單的調(diào)用程序中介紹的5個(gè)函數(shù),就可以方便地實(shí)現(xiàn)DCP的高分辨率控制。
責(zé)任編輯:gt
-
電位器
+關(guān)注
關(guān)注
14文章
1017瀏覽量
67898 -
軟件
+關(guān)注
關(guān)注
69文章
5150瀏覽量
89182 -
分辨率
+關(guān)注
關(guān)注
2文章
1080瀏覽量
42628
發(fā)布評(píng)論請(qǐng)先 登錄
如何利用單片機(jī)內(nèi)置ADC實(shí)現(xiàn)高分辨率采樣
怎么實(shí)現(xiàn)通用型線性數(shù)字電位器在音響系統(tǒng)中的應(yīng)用?
怎么實(shí)現(xiàn)高分辯率數(shù)字電位器的設(shè)計(jì)?
如何利用先進(jìn)的熱電偶和高分辨率Δ-ΣADC實(shí)現(xiàn)高精度溫度測(cè)量?
單片機(jī)內(nèi)置ADC實(shí)現(xiàn)高分辨率采樣的方法
高分辨率數(shù)字電位器的軟件實(shí)現(xiàn)

高分辨率指數(shù)式數(shù)字電位器在音響系統(tǒng)中的應(yīng)用

利用單片機(jī)設(shè)計(jì)的高分辨率指數(shù)式數(shù)字電位器

驅(qū)動(dòng)高分辨率 SAR ADC

AN4507_使用STM32定時(shí)器通過抖動(dòng)技術(shù)實(shí)現(xiàn)高分辨率PWM輸出方法介紹

高管洞察:高分辨率音樂需要高分辨率揚(yáng)聲器

評(píng)論