关于DAC的原理
? ? ? ? ?經常說DAC ,近來各個手機廠家也開始宣傳自家的Hi-Res DAC產品,一百度,出來可能是某東某寶的廣告。那這個DAC到底是個什么;所謂DAC,就是Digital-Analog-Converter,數字模擬轉換器。在模擬電路中,電流電壓變化是連續的,而數字電路處理的數據都是離散的數據,輸出高電平或者低電平,比如5V單片機,引腳輸出的電壓要么5V要么0V。DAC做的就是輸出一個“任意“的電壓,當然這個”任意“是有限制的,后面繼續介紹。
?????? 比如說一個16Bit的DAC,它可以接受的數據就是從0到65535(2^16-1),共65536個數字,如果這是一個電壓輸出DAC,那最小電壓就是3300mv/65535=0.05mv,當然這個是理論情況,而實際上DAC還有一個指標是轉換精度,以上面16BIT DAC為例實際上輸出有1bit的抖動,也就是說上下差個0.05mv。
?????? 說了這些,DAC如何實現從數字量到模擬輸出的呢(為了方便,后面都假定所講的DAC輸出為電壓),先說一個最簡單的知識,電阻分壓。
上圖如果每一個電阻相等,每一個節點的電壓都是1/4Vcc的倍數,但是顯然這,用每個開關都由數字來控制,但是顯然這樣輸出只有四個值,而且不能方便地輸入二進制數直接控制,早期地電子工作者是這樣解決地:
?
這種類型的DAC稱之為開關樹DAC,開關就像樹枝分布,電阻單一而且如果不從輸出取電流這個設計是比較簡單的,但是顯然,這需要大量的模擬開關。
有沒有別的方法?
國內的教材會首先介紹這個:
這個電路的特點是簡單粗暴,從低位到高位用電阻讓電流呈2的冪數改變。但是這個電路很難做到高的位數,若是一個8位的dac,最大的電阻達到了最小電阻的128倍,如果最小的電阻有10k,最大就有1MΩ多,這個電阻可不好做準確,而且盡管只用幾個電阻,但是每個電阻阻值都不一樣,在使用這種方法的時候有一種叫做雙權電阻的方法,減少了電阻種類和大電阻,但是仍然無法避免最大電阻的需求。
換個思路來看,還有更好的辦法。在國內的教材上,稱之為倒T型DAC,因為每三個電阻畫起來像個倒著的T。。。這種DAC只是用兩種電阻即可,R和2R,所以也稱之為R2R
DAC。但是在看倒T型之前,我們先看看R2R到底有幾種形式。
既然有倒T,就有順T,:
我們先看電阻網絡部分
這就是一個4Bit的DAC
??????
這是8Bit,從D0到D7分別是數據輸入(數據輸入的同時提供電壓Vcc作為Dac的參考電壓)
這個電路從右往左看,每一個節點處的等效電阻都是相等的,例如
直接引用別人的圖了
右邊的運放先不管,另外運放的反相輸入端朝內看等效電阻也是R,每一個數據口提供一個電壓,視為一個電壓源,這里假設他的電壓是Vref。先不看D1到D3,讓他們全部接地,只看D0,根據戴維南等效電源定理可以推出,則D0到地,包含中間兩個2R電阻,可以等效為一個電阻R串聯一個1/2Vref,即途中第一個藍色節點處,那么在第一個紅色節點處就是等效為2R串聯1/2Vref。如此下去以此類推,D0能夠給最終輸出提供的電壓是1/16Vref,D1到D3同理,分別為1/8 1/4 1/2 Vref。
然后我們看一下上面那個電路模型,帶著運放,還是只看D0,隨著一路等效
按照上面的推論,從運放的反向端向內看的等效電阻依然是R,等效電壓源是1/16Vref
這樣就很好理解,反相比例電路
或者直接在上一步,運放的反向端虛擬地,考慮電流仍然得到一樣的結果。
本質上講,方向比例電路本身就是Vout=-Rf*I,所以這個DAC是電流的疊加
所以這個電路在給的參考電壓(也就是分別給D0-D3每個端口)是正壓的情況下,輸出為負電壓。同時,運放的反饋電阻可以調節DAC的輸出增益
?
但是根據上面的分析,純電阻網絡的輸出在無負載的情況下,電壓能從0-(2^n-1)2^n/Vcc變化,但是根據上面的推論,從輸出端口朝內看的話,這個電阻網絡的輸出阻抗是R,R肯定不會是太小的值,那么這個電路作為電壓輸出的話輸出阻抗也太大了,考慮使用電壓跟隨器,使得電路的輸出阻抗小,也就是說,現在這個R2R DAC是一個電壓疊加型的:
?
,這樣的話電路就具備了一定的帶負載能力。
?
在實際應用中,參考電壓是外部給的某個精度高的電壓參考,而D0到D8,也就是數據位,由主控器件(如單片機)引腳控制模擬開關來控制,
可以認為模型如下
而模擬開關作為半導體器件存在導通內阻,那么導通電阻會影響這個電路的精度。同時可以看到一個問題,VREF(圖上是VCC)提供給電阻電流,每次變化,電源都會產生變化,而現實中電源是非理想的,這樣的結構就會影響DAC的精度或者速度。
那么就說到倒T型了,
這樣的話,電流I恒定為Vref/R,電源上消除了對精度的影響。這里就忽略計算了。
?
回到剛剛說的導通電阻,模擬開關的導通電阻對電流引入誤差,那么,回到最開始的簡單粗暴的權電阻電路,它的電流是電阻控制的,那么直接把電阻和換成恒流源,每個支路提供不同的電流,這樣就能保證電流不收模擬開關影響了。
實際上還有更多的DAC技術,譬如權電容DAC等等。但是終究目的是講數字量變化為模擬輸出。
到這里,那那些沒有耳機孔的手機用的DAC是什么,還有什么什么解碼DAC,數字界面等等,這些DAC集成了更多的外圍原件,如上面的例子都是并行數字接口,單通道輸出,而這些產品,例如使用I2S接口,支持不同的數據格式等等。
圖中的multisim仿真文件:鏈接:https://pan.baidu.com/s/1XH6TEyDeBj75LdRrTpR-hg?
提取碼:hlsb
參考《數字電子技術基礎》高等教育出版社 第五版
參考其他鏈接:https://www.tek.com/blog/tutorial-digital-analog-conversion-r-2r-dac
https://www.sohu.com/a/300820190_120111879
總結
- 上一篇: WIN10电脑中禁止软件/.exe文件联
- 下一篇: A/Btest:组间的差异性检验,统计功