用PIC單片機設計A/D、D/A轉換器
PIC16C62×系列為RISC精簡指令、哈佛結構總線、18個引腳的單片機。具有低功耗、高性能、全靜態、35條指令極易編程的特點。OTP 片種的性價比極高。除了具備一般單片機的特點外,PIC16C62×系列內部集成了兩個模擬比較器和一個4bit的可編程基準電壓源(REF)。如果利用該單片機的這些特點,只需幾個外圍元件就具備A/D與D/A轉換功能,且分辨率達到8bit~10bit。價格上的優勢使其在工控行業、儀器儀表、家電產品的應用前景極為樂觀。
本文以8bit分辨率論證A/D、D/A轉換的實現方法,更高分辨率的方案完全相似,只是在編程上作小部分調整。
PIC16C62×系列單片機內部部分功能模塊及A/D、D/A的電路。
2.1 利用內部基準源
PIC16C62×系列單片機內部基準源由一16個抽頭的電阻梯形網絡構成,相當于一個4bit 分辨率的D/A轉換器,該基準源由VRCON特殊功能寄存器控制。
VREN:REF基準電壓源使能位,當VREN=1時,內部基準電壓源使能。
VROE:REF輸出選擇位,VROE=1時,REF輸出至RA2引腳。
VRR:REF段選擇,REF值可編程設定為高低兩個段輸出。
VR3~VR0:4bit REF電壓值。改變該4位的值即改變了REF的電壓值。為了后文說明的需要,將該4位二進制碼作如下定義:
VR= VR3VR2VR1VR0
VR-1=VR3VR2 VR1VR0-1
根據PIC16C62×的特性:
(1)當VRR=1時,低段基準電壓輸出REFL= DD*VRL/24,分辨單元VF1=DD/24。
REFL電壓值范圍為:VRL*DD/24,VRL= 0~15,表示相應的低段二進制碼值。
(2)當VRR=0時,高段基準電壓輸出REFH=DD/4+DD*VRH/32,分辨單元VF2=DD/32。VRH=0~15,VRH表示相應的高段二進制碼值。
REFH電壓值變化范圍為:DD/4~23*DD/32。
上述DD為PIC16C62×的供電電壓,只要在該供電端加一個簡單的電源去耦電路,就能很好的保證基準電壓REF的抗噪聲要求。
由上述可見,PIC16C62×系列單片機的內部基準源實際是一個可設定為兩個段值的4bit D/A轉換器,每個段二進制碼值均為0~15,兩個段的分辨單元不一樣。為了設計一個8bit及以上的D/A轉換器,需將REF的范圍進行擴展。使用REFH值,即REFH =DD/4~23*DD/32,擴展為REFH= (DD/4-DD /32) ~23*DD/32, 向電壓低端擴展一個分辨單元值DD /32,相當于二進制碼值VRH=0~15擴展為-1 ~15。這是實現8bit及以上D/A轉換的關鍵。VRH= -1是一個特殊條件,超出了REF取值范圍對應的二進制碼值VRH的界限,須由低段基準電壓REFL與外圍可編程固定衰減比的電阻網絡實現。PIC16C62×的內部有一個場效應OC門(漏極開路門),將其接成圖1所示的應用電路。
當OC門GK導通時,衰減系數=1/(0+1) 0=2kΩ(內部固定電阻)。
當OC門GK截止時,衰減系數=1 (RA4引腳為高阻)。
場效應OC門通過編程對RA4引腳進行I/O操作實現其導通與截止。
由上所述,高段VRH=-1對應的REFH基準值可由低段二進制碼值VRL對應的REFL值乘上系數得到。
VRH=-1時,REFH=DD/4-DD/32=7DD /32,建立如下方程式
7DD /32 =(DD/24)* VRL* (1)
VRL=1~15 (取整數) (2)
K 1 (3)
可得VRL=6~15的多組解,取其中任一組解均可,例如:VRL=7,=0.75。
系數由外接電阻1的取值決定。編程時,首先確定VRL值,然后根據式(1)計算出系數,再根據=1/(0+1)、0=2kΩ 計算出1的阻值。1也可用一只電位器調整的方式代替。
模數轉換器相關文章:模數轉換器工作原理
評論