在某些應(yīng)用中,帶有I2C 接口必須由連續(xù)變化的模擬信號(hào)控制。本應(yīng)用筆記滿足了這一要求,并提供了一個(gè)簡(jiǎn)單的設(shè)計(jì)解決方案。這里介紹的原理是通用的,可用于多種應(yīng)用。
介紹
本應(yīng)用筆記介紹了一種使用外部模擬電壓改變數(shù)字電位器電阻的簡(jiǎn)單方法。Microchip PIC12F683微控制器用于從模擬電壓轉(zhuǎn)換為I電壓2C流,然后用于控制數(shù)字電位計(jì)。DS1803數(shù)字電位器用作示例器件,本應(yīng)用使用最少數(shù)量的外部元件。這里提出的想法可以應(yīng)用于其他控制輸入和其他數(shù)字電位計(jì)/電阻。
硬件配置
圖1所示為使用PIC12F683的控制電路原理圖。微控制器的六個(gè) GPIO 中的四個(gè)用于控制 SDA、SCL 和單個(gè) LED 上的輸出信號(hào),并接受一個(gè)模擬輸入。
SDA、SCL 和 LED 上的輸出信號(hào)分別分配給 GP5、GP4 和 GP0。SDA 和 SCL 具有 4.7kΩ 上拉電阻至 VDD并直接連接到DS1803的SDA和SCL引腳。微控制器的GP1 IO被指定為模擬輸入引腳。提供跳線用于選擇地址引腳,分隔共享的V抄送(五DD),并隔離 SDA 和 SCL。
圖1.示意圖示出數(shù)字電位器的模擬電壓控制。
項(xiàng)目固件
該項(xiàng)目的固件是使用 MPLAB IDE(版本 7.40)用匯編語言編寫的。該工具目前可從Microchip免費(fèi)獲得。整個(gè)程序由少于450字節(jié)的程序空間(閃存)和數(shù)據(jù)空間(RAM)8字節(jié)組成。
程序首先初始化PIC中的各種配置位,包括ADC和內(nèi)部振蕩器。該程序?qū)?a target="_blank">ADC配置為接受來自GP1的輸入,并將轉(zhuǎn)換時(shí)鐘設(shè)置為使用125kHz的內(nèi)部振蕩器。
固件在環(huán)路中運(yùn)行,ADC連續(xù)轉(zhuǎn)換模擬輸入端的電壓。轉(zhuǎn)換完成后,10位ADC輸出的8 MSB用作通過I發(fā)送的數(shù)據(jù)字節(jié)2C總線。這個(gè)我2然后使用C信號(hào)控制DS1803。該程序設(shè)置為控制DS1803上的兩個(gè)電位器;但是,通過更改固件,可以使用PIC12F683上的兩個(gè)不同模擬輸入單獨(dú)控制電位計(jì)。
多功能
該程序允許用戶通過改變PIC12F683的GP1輸入上的電壓來控制電位計(jì)。GP1上連續(xù)變化的輸入將導(dǎo)致電位計(jì)電阻的相應(yīng)變化。輸出電阻(R外) 可以計(jì)算為輸入電壓的函數(shù):
設(shè)計(jì)中使用的DS1803端到端電阻:50kΩ
Vcc允許范圍:2.7V 至 5V
輸入電壓范圍為 0V 至 V抄送
觀察到的輸出電阻為:
R外(kΩ) = (50 (kΩ)/Vcc) ×輸入電壓
當(dāng)ADC運(yùn)行時(shí),LED不斷閃爍。指示燈保持亮起,以防出現(xiàn) I2發(fā)生 C 錯(cuò)誤。糾正錯(cuò)誤后,LED 將恢復(fù)正常功能。設(shè)計(jì)人員可以通過檢查設(shè)備地址是否正確以及 I2C 總線已連接。
這種設(shè)計(jì)非常通用,類似的方法可用于各種應(yīng)用。一些例子包括:
非線性傳遞函數(shù)(例如伽馬校正)可以通過使用DS3906可變電阻來實(shí)現(xiàn),并在嵌入式查找表中實(shí)現(xiàn)正確的傳遞函數(shù)。
可以在輸入端連接一個(gè)熱敏電阻,以改變I的輸出2環(huán)境溫度變化時(shí)的C控制電流DAC(DS4402/DS4404)。
圖2.
結(jié)論
本應(yīng)用筆記介紹了一種利用模擬電壓控制數(shù)字電位器的簡(jiǎn)單且經(jīng)濟(jì)高效的機(jī)制。應(yīng)用概念可以擴(kuò)展為使用模擬電壓來控制任何具有I2C 接口。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7334瀏覽量
150095 -
led
+關(guān)注
關(guān)注
240文章
22905瀏覽量
650092 -
電位器
+關(guān)注
關(guān)注
14文章
996瀏覽量
66501
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論