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