當讀者和DI貢獻者Jim Brannan建議編寫他的base-3 DAC設(shè)計時,我感到非常高興。像Charlieplexing一樣,他的想法是利用三態(tài)輸出來從引腳中擰出更多的信息,而不僅僅是“ 0”和“ 1”!例如,一個四位的DAC理論上可以產(chǎn)生34(81)個電平,而不是通常的16個電平。五個位實際上將與常規(guī)的八位性能(243個電平)相匹配,盡管精確的實現(xiàn)可能會更多。比常規(guī)的二進制DAC困難,尤其是隨著分辨率的提高。
像往常一樣,我到處搜尋Google的現(xiàn)有技術(shù),是的,發(fā)現(xiàn)有兩個頁面描述了類似的野獸。吉姆看了一眼,并決定他沒有什么要補充的,所以……沒有“設(shè)計理念”。但是我覺得這個概念還是值得宣傳的。吉姆也有自己獨特的方法。
在繼續(xù)之前,也許花點時間想象一下如何實現(xiàn)三元DAC。也許您會想出一個新的變體,然后再將下面的想法弄清楚。
好的,這是我自己的實現(xiàn)想法:
圖1 具有中間電源基準的求和放大器實現(xiàn)了一個3基數(shù)DAC。
實際上,我最初的想法是在-VDD處輸入放大器的(+)輸入,但隨后我意識到一個浮動輸出將被拉向該負電源,可能鉗位在-0.7V,并且通常不起作用。VDD/ 2參考表示0,1,2狀態(tài)對應(yīng)于0,Z,1輸出(“ Z”表示高阻抗和/或輸入模式)。
另一個硬件問題是,當輸入處于中軌時,某些微控制器可能會消耗過多的電源電流,因此請確認這不是問題,禁用數(shù)字輸入模式,或者使用可以設(shè)置為模擬輸入的引腳。
驅(qū)動三進制DAC將需要查找表或二進制到三進制的轉(zhuǎn)換例程。在大多數(shù)情況下,除非可以在一個寫周期內(nèi)設(shè)置引腳模式和值,否則更改其設(shè)置后,DAC輸出就會出現(xiàn)毛刺。
吉姆(Jim)中止的“設(shè)計理念(Design Idea)”使用無源“ R-2R”型DAC,他編寫了軟件來搜索許多電阻器組合。無法創(chuàng)建完美的線性DAC,他的解決方案是使用查找表,并且性能有些不均勻。
喬什·鮑曼(Josh Bowman)在他的博客中描述了自己對3進制DAC的看法。結(jié)構(gòu)為R-2R-ish,其中較小值的電阻器將電源分開,以生成中間電平的“ Z”值。
圖2 喬什·鮑曼(Josh Bowman)的無源三元DAC
如下所示,設(shè)計中存在冗余值,可以進行校準。
圖3原始和校準的INL性能
在此Arduino論壇上還討論了一些基于base-3的DAC設(shè)計,這些是上述設(shè)計的變體。
如果嘗試三元DAC實現(xiàn),請在下面重新敘述您的經(jīng)驗。我們希望知道這一點。記住,與所有這些簡單的DAC設(shè)計一樣,電源噪聲會傳遞到輸出。
編輯:hfy
-
放大器
+關(guān)注
關(guān)注
143文章
13528瀏覽量
212905 -
電阻器
+關(guān)注
關(guān)注
20文章
3749瀏覽量
61971 -
Google
+關(guān)注
關(guān)注
5文章
1754瀏覽量
57374 -
dac
+關(guān)注
關(guān)注
43文章
2258瀏覽量
190752 -
電源噪聲
+關(guān)注
關(guān)注
3文章
149瀏覽量
17453
發(fā)布評論請先 登錄
相關(guān)推薦
評論