對於兩個DAC,一個電源發送給D0-D7,另一個電源發送給D8-D15,電源為5V,如果將5V加到第二個DAC的輸出上,然後將兩個DAC輸出相加,則結果為由兩個8位DAC組成的16位DAC。
唯一的問題是,如果第二個DAC的輸入為0x00,則需要取消5V的加法運算,我不確定該怎麼做。求和可以通過對放大器求和來完成。該電路只需要工作高達幾十個kHz的頻率即可。
這種想法是否根本上存在問題?
對於兩個DAC,一個電源發送給D0-D7,另一個電源發送給D8-D15,電源為5V,如果將5V加到第二個DAC的輸出上,然後將兩個DAC輸出相加,則結果為由兩個8位DAC組成的16位DAC。
唯一的問題是,如果第二個DAC的輸入為0x00,則需要取消5V的加法運算,我不確定該怎麼做。求和可以通過對放大器求和來完成。該電路只需要工作高達幾十個kHz的頻率即可。
這種想法是否根本上存在問題?
有可能,但效果不佳。
首先,存在將兩個輸出進行合併的問題,其中一個恰好縮放了另一個的1/256。 (是否將一個衰減1/256,將另一個放大256,或其他某種安排,例如* 16和/ 16都沒有關係)。
最大的問題是,一個8位DAC可能比8位精度更高:它的“ DNL”規格為1/4 LSB,“ INL”規格為1 / 2LSB。這些是“差分”和“積分”非線性規範,用於衡量相鄰代碼之間每個步長的實際大小。 (DNL保證了DAC整個範圍內任何兩個相鄰代碼之間的INL,INL之間的保證。)
理想情況下,每一步將恰好是滿量程值的1/256。但是1 / 4LSB DNL規範表明相鄰步長可能與理想步長相差25%-這在DAC中通常是可接受的行為。
問題在於,MSB DAC中的0.25 LSB誤差會導致LSB DAC中有64 LSB誤差(整個範圍的1/4)!
換句話說,您的16位DAC具有10位DAC的線性度和失真度,對於大多數應用來說,這是16位DAC的線性度和失真度。位DAC,是不可接受的。
現在,如果您可以找到一個保證16位精度(INL和DNL優於1/256 LSB)的8位DAC,那麼請繼續:但是,這樣做並不經濟,因此唯一一種方法是從16位DAC開始!
另一個答案是“軟件補償”……在MSB DAC中映射出確切的誤差,並通過向其添加反誤差來補償它們。 LSB DAC:在16位DAC昂貴的時代,音頻工程師一直在思考一些問題……
簡而言之,它可以在某種程度上起作用,但如果是8位DAC,隨溫度或年齡的變化而漂移(它可能不是設計成超穩定的),補償的準確性已不足以值得其複雜性和費用。
一個8位DAC可以輸出\ $ 2 ^ 8 = 256 \ $個不同的值。
一個16位DAC可以輸出\ $ 2 ^ {16} = 65536 \ $個不同的值。
請注意,乘法是不是加法(當您將兩個8位DAC的輸出相加時會發生這種情況)。
如果我將兩個8位DAC的輸出相加,那該怎麼辦可能的值是多少?
答案:0、1、2,...,256、257、258,.... 511、512就是這樣!
A 16位DAC可以執行0,1,2 ...,65535,65536的更多操作!
理論上是可能的,但您需要乘的精確地設為256 ,然後將LSB位連接到1x DAC,將MSB位連接到256x DAC。但是,如果準確性和線性度受到損害,請不要感到驚訝!
如果“內部” DAC的滿量程電壓大於外部DAC的步長,並且該方法可以準確(儘管不一定很快)測量由不同輸出產生的輸出電壓,則該技術可行。代碼並在軟件中應用適當的線性度調整。如果內部DAC的滿量程電壓可能小於外部DAC上兩個電壓之間的最壞情況步長(請注意,步長很少絕對均勻),則可能存在任何電壓都無法獲得的電壓。內部和外部DAC值的組合。但是,如果確保範圍內有重疊,則使用軟件線性校正可以取得良好的結果。 9位DAC使用兩個相對縮放的6位DAC。它不使用軟件線性校正,而只是試圖在6位DAC上增加3位精度。嘗試在不使用軟件補償的情況下為任何一種DAC增加3-4位以上的精度可能效果不佳。
21年前,當我還是一個貧窮的大學生時(只能買8位DAC),我用這種技術將兩個8位DAC組合成一個更高位的DAC,因為我知道我不會得到16位由於積分非線性(INL)和微分非線性(DNL)的緣故。在這種情況下,最高有效字節DAC上的DNL是殺手;。如果您使用INL,則輸出會失真,但仍然很平滑。 DNL規定了從一個DAC步到下一步的大小,如果變化足夠大,則跨越8位邊界時您將看到不連續或反轉:例如0x07ff <-> 0x0800,因為MSB DAC從0x07 <-> 0x08,它的變化可能不是LSB DAC的理想256個計數,而是384個計數或128個計數(其最低有效位的±1/2)。好的DAC僅具有1/2 LSB DNL,中等的DAC具有較差的DNL,儘管分辨率越高,難度就會越強,因此在8位DAC中找到1/2 LSB DNL應該相當容易,但沒有在16位DAC中。
我不記得我的情況下的有效分辨率是多少,可能是12位或13位,我不得不用電位器手動調節第二級的增益。
實際上,我已經在HPLC UV檢測器上看到了這一點,以增加動態範圍。其中一個DAC的需求量很大。假設第一個DAC的電壓為0至10 V,第二個DAC的電壓為10至20V。
這是可能的,並且之前已經完成。在EDN.com http://www.edn.com/design/analog/4329365/Combine-two-8-bit-outputs-to-make-one-16-bit-DAC 中查看此出色的實現
我對此有不同的看法...只使用一個8位DAC。您提到它只需要工作幾10 Hz的Hz,因此您可以只使用一個DAC(可能工作高達100kHz)),並將其用作調製器。基本思想是從一個8位累加器輸出256個週期的MSB值加上一個位溢出/進位標誌,每個週期添加LSB。由於來自LSB的額外“調製位”,您只能得到254作為最大MSB,但這不會大大減小範圍。
示例:如果以30kHz運行週期,則重複256個週期頻率為117Hz時,您可以在輸出端放置一個50Hz低通濾波器,以獲得相當平滑和準確的信號,並可以達到所需的速率。
此方法的準確性在很大程度上取決於關於位步長的大小,但沒有其他方法可比。我過去曾用它來生成參考電壓,而且效果驚人。