Untuk dua DAC, satu dikirim D0-D7 dan yang lainnya dikirim D8-D15, dengan catu daya 5V, jika 5V ditambahkan ke output DAC kedua dan kemudian dua output DAC dijumlahkan, akan menghasilkan DAC 16 bit terdiri dari dua DAC 8 bit.
Satu-satunya masalah adalah bahwa jika DAC kedua memiliki 0x00 input maka penambahan 5V perlu dibatalkan yang saya tidak yakin bagaimana melakukannya. Penjumlahan dapat dilakukan dengan menjumlahkan amplifier. Rangkaian hanya perlu bekerja hingga 10 detik kHz.
Apakah ada yang salah dengan ide ini?
operational-amplifier
dac
summing
quantum231
sumber
sumber
Jawaban:
Itu mungkin, tetapi itu tidak akan berhasil.
Pertama, ada masalah menggabungkan dua output, dengan satu tepat skala 1/256 dari yang lain. (Apakah Anda menipiskan satu dengan 1/256, memperkuat yang lain dengan 256, atau pengaturan lain, * 16 dan / 16 misalnya, tidak masalah).
Namun masalah besar adalah bahwa DAC 8-bit cenderung akurat untuk sesuatu yang lebih baik daripada 8 bit: ia mungkin memiliki spesifikasi "DNL" 1/4 LSB dan "INL" spesifikasi 1 / 2LSB. Ini adalah spesifikasi nonlinier "Diferensial" dan "Integral", dan merupakan ukuran seberapa besar setiap langkah antara kode yang berdekatan sebenarnya. (DNL memberikan jaminan antara dua kode yang berdekatan, INL antara dua kode di seluruh rentang DAC).
Idealnya, setiap langkah tepatnya 1/256 dari nilai skala penuh; tetapi spesifikasi DNL 1 / 4LSB menunjukkan bahwa langkah-langkah yang berdekatan mungkin berbeda dari ideal dengan 25% - ini biasanya perilaku yang dapat diterima dalam DAC.
Masalahnya adalah bahwa kesalahan 0,25 LSB di MSB DAC Anda berkontribusi kesalahan 64 LSB (1/4 dari seluruh rentang) di LSB DAC Anda!
Dengan kata lain, 16 bit DAC Anda memiliki linearitas dan distorsi 10 bit DAC, yang untuk sebagian besar aplikasi 16 bit DAC, tidak dapat diterima.
Sekarang jika Anda dapat menemukan DAC 8-bit yang menjamin keakuratan 16-bit (INL dan DNL lebih baik dari 1/256 LSB) kemudian lanjutkan: namun tidak ekonomis untuk dibuat, jadi satu-satunya cara untuk mendapatkannya adalah mulai dengan DAC 16-bit!
Jawaban lain menyarankan "kompensasi perangkat lunak" ... memetakan kesalahan yang tepat di MSB DAC Anda dan menggantinya dengan menambahkan kesalahan terbalik ke LSB DAC: sesuatu yang lama direnungkan oleh insinyur audio pada hari-hari ketika DAC 16-bit mahal. ..
Singkatnya, ini dapat dibuat untuk bekerja sampai batas tertentu, tetapi jika 8-bit DAC melayang dengan suhu atau usia (mungkin tidak dirancang untuk menjadi sangat stabil), kompensasi tidak lagi cukup akurat untuk menjadi layak kompleksitas dan biaya.
sumber
Perhatikan bagaimana itu mengalikan, itu bukan tambahan (seperti yang akan terjadi ketika Anda menjumlahkan output dari dua DAC 8 bit).
Jika saya akan mengambil dua DAC 8 bit dan menjumlahkan outputnya, berapa nilai yang mungkin?
Jawaban: 0, 1, 2, ..., 256, 257, 258, .... 511, 512 dan hanya itu!
16 bit DAC dapat melakukan 0,1,2 ..., 65535, 65536 itu jauh lebih banyak!
Secara teori adalah mungkin tetapi kemudian Anda perlu mengalikan output dari salah satu dari 8 bit DAC dengan tepat 256 dan menghubungkan bit LSB ke 1x DAC dan bit MSB ke 256x DAC. Tetapi jangan heran jika akurasi dan linearitas menderita!
sumber
Teknik ini bisa diterapkan jika tegangan skala penuh dari DAC "dalam" lebih besar dari ukuran langkah DAC luar, dan seseorang memiliki cara yang akurat (meskipun tidak harus dengan cepat) mengukur tegangan output yang dihasilkan oleh kode output yang berbeda dan menerapkan penyesuaian linearitas yang sesuai dalam perangkat lunak. Jika tegangan skala penuh dari DAC bagian dalam mungkin kurang dari ukuran langkah terburuk antara dua tegangan pada DAC bagian luar (dengan mengingat bahwa langkah-langkahnya jarang benar-benar seragam) mungkin ada tegangan yang tidak dapat diperoleh dengan kombinasi nilai DAC dalam dan luar. Namun, jika seseorang memastikan adanya tumpang tindih dalam rentang, maka menggunakan koreksi linearitas perangkat lunak dapat memungkinkan hasil yang baik.
BTW, desain chip Cypress PSOC lama (saya tidak tahu tentang yang lebih baru) mengemulasi DAC sembilan-bit menggunakan dua DAC enam-bit yang diskalakan relatif satu sama lain. Itu tidak menggunakan koreksi linearitas perangkat lunak, tetapi hanya mencoba menambahkan tiga bit presisi ke DAC enam-bit. Mencoba menambahkan lebih dari 3-4 bit presisi ke segala jenis DAC tanpa menggunakan kompensasi perangkat lunak kemungkinan tidak akan bekerja dengan baik.
sumber
21 tahun yang lalu ketika saya adalah seorang Mahasiswa Miskin (dan hanya mampu membeli DAC 8-bit), saya menggunakan teknik ini untuk menggabungkan dua DAC 8-bit menjadi DAC bit yang lebih tinggi, mengetahui bahwa saya tidak akan mendapatkan akurasi 16 bit, karena dari non-linear integral (INL) dan non-linear diferensial (DNL). DNL pada DAC byte paling signifikan adalah pembunuh dalam kasus ini; jika Anda memiliki INL maka outputnya terdistorsi tetapi masih lancar. DNL menentukan ukuran dari satu langkah DAC ke langkah berikutnya, dan jika itu cukup bervariasi, maka Anda akan melihat diskontinuitas atau pembalikan ketika melintasi batas 8-bit: 0x07ff <-> 0x0800 misalnya, karena MSB DAC berubah dari 0x07 <-> 0x08, itu mungkin berubah tidak dengan jumlah 256 ideal DAC LSB, tetapi dengan jumlah 384 atau 128 jumlah (± 1/2 dari bit paling tidak signifikan sendiri). DAC yang baik hanya akan memiliki 1/2 LSB DNL, DAC yang biasa-biasa saja akan memiliki DNL yang lebih buruk, meskipun semakin sulit resolusinya, sehingga seharusnya cukup mudah menemukan 1/2 LSB DNL dalam DAC 8-bit tetapi tidak dalam DAC 16-bit.
Saya tidak ingat apa resolusi efektif dalam kasus saya, mungkin 12 atau 13 bit, dan saya harus menyetel gain tahap 2 secara manual dengan potensiometer.
sumber
Saya telah melihat ini dalam praktiknya pada HPLC UV Detector untuk meningkatkan jangkauan dinamis. Salah satu DAC adalah offet dengan jumlah yang dibutuhkan. Katakanlah pegangan DAC 1 dari 0 hingga 10 V dan pegangan ke-2 10 hingga 20 Volts.
sumber
Itu mungkin dan sudah pernah dilakukan sebelumnya. Lihat implementasi luar biasa ini di EDN.com http://www.edn.com/design/analog/4329365/Combine-two-8-bit-outputs-to-make-one-16-bit-DAC
sumber
Saya memiliki pandangan berbeda tentang itu ... Cukup gunakan satu 8 bit DAC. Anda menyebutkan itu hanya perlu bekerja hingga 10-an Hz, jadi Anda bisa menggunakan hanya satu DAC (yang mungkin bisa bekerja hingga 100kHz), dan menggunakannya sebagai modulator. Ide dasarnya adalah untuk menghasilkan 256 siklus dari nilai MSB ditambah flag overflow / carry satu bit dari akumulator 8 bit yang ditambahkan LSB setiap siklus. Anda mendapatkan 254 sebagai MSB maksimum karena 'modulasi bit' ekstra dari LSB tetapi ini tidak mengurangi banyak jangkauan.
Contoh: Jika Anda menjalankan siklus pada 30kHz, 256 siklus ulangi pada 117Hz, sehingga Anda dapat menempatkan filter hubung-rendah 50Hz pada output untuk sinyal yang cukup halus dan akurat yang dapat bekerja hingga tingkat yang Anda butuhkan.
Keakuratan metode ini memang sangat tergantung pada ukuran langkah bit, tetapi tidak lebih dari metode lainnya. Saya telah menggunakannya untuk pembangkit tegangan referensi di masa lalu, dan itu bekerja dengan sangat baik.
sumber