任宏宇
(重慶交通大學機電與車輛工程學院,重慶 400074)
將數字量轉化為模擬量的過程稱為數模轉化,即D/A轉化;反過來將模擬量轉化為數字量的過程稱為模數轉化,即A/D轉化。實現數模轉化的基本思路是將每一位數字量按該位權的大小展開轉化為相應的模擬量,最后將各個模擬量相加后得到與數字量成正比的模擬量信號,進而實現D/A轉化功能。
在一個二進制數碼中,其每一位的權是不同的,從右向左位權依此升高,每一位上的“1”所表示的十進制數是不同的,例如將二進制數1100轉化為十進制數時就需要將此二進制數按權展開相加。即:

最高位代表十進制8,次高位代表十進制4,從左向右第三位代表十進制數0,最低位代表十進制數0,最后將每一位相加得到最后結果,這個過程中二進制數碼中每個“1”所代表的十進制數叫做權。
圖1是D/A轉化原理圖。四個電子開關相當于四個單刀雙擲開關,其中 S0、S1、S2、S3是 C0、C1、C2、C3控制的開關,當相關位為“1”時,電子開關接到參考電壓Uref上并有電流流經電阻最終進入運算放大器的反相輸入端。如果當相關位為“0”時,該位的電子開關接到另一端,此時運算放大器反相輸入端接地且沒有電流經過。

圖1 D/A轉化原理圖
如圖1所示,上述例子中的二進制數1100的第一位代碼表示C0=1、C1=1、C2=0、C3=0,運算放大器按圖示接法時相當于一個加法器,由此可以得出各個輸入量之和即為輸出的模擬量U0。


設時Uref=16V,則:

由此推廣可知,如果將n位二進制數碼的數字量轉化成相應的模擬量,則最終輸出的模擬量U0為:

由上式表明輸出模擬電壓與輸入數字量成正比關系,從而完成D/A轉化。
本文介紹的權電阻數模轉化電路較其他類型的數模轉化電路較為簡單,更加便于理解,有利于讀者更加簡明地了解數模轉化的原理。但是,對于位數較多的二進制數碼而言利用這個方法時轉化精度無法得到保證,并且轉化誤差較大。發生這個情況的原因是當一個較多位的二進制數進行轉化時,最高位的電阻阻值確定后,其他位阻值將在最高位阻值的基礎上依此按指數形式增長,那么最低位阻值是相當大的甚至可能趨于無窮大。假使需要轉化的二進制數碼位數足夠多的情況下,則權電阻轉化電路最低位的電阻阻值為無窮大時才可以完成精確轉化,但是現有工藝很難滿足要求,便使用阻值達到一定數量級的電阻來近似替代無窮大電阻,所以在轉化過程中不可避免地產生誤差,從而導致轉化精度下降。例如先將10位二進制數碼進行轉化,若最小電阻阻值選用10千歐姆,那么最大電阻阻值高達5.12兆歐姆,這樣大的電阻精度很難達到要求,故此方法一般用于轉化精度要求不高的場合。除了本文中提到的權電阻法,實際的轉化器還有電容型轉化器,T型電阻轉化器和倒T型電阻轉化器等,由于篇幅原因就不再一一展開。