Versi singkat: Bagaimana cara membuat pengganda analog yang mengambil dua input DC analog?
Versi panjang:
Saya membuat komentar merekomendasikan video Ben Eaters untuk pertanyaan lain, sambil melakukannya saya akhirnya menonton sendiri (lagi) dan berpikir pada diri sendiri " hmmm ... Saya ingin tahu apakah akan lebih mudah untuk membuat beberapa bagian murni analog ".
Bus bisa hanya satu kawat di mana level tegangan yang berbeda nantinya akan diterjemahkan ke bit dengan ADC.
Hanya sedikit bermain-main, saya sampai sejauh ini yang secara teoritis dapat menghitung angka Fibonacci:
Gambar 1, demo kecil komputer hybrid menghitung angka fibonacci pertama
Tautan ke simulator.
Dalam gif di atas saya keluar dari rentang tegangan sehingga mudah untuk melihat angka-angka fibonacci, pada kenyataannya saya hanya akan menggunakan 250 mV = biner 1 (LSB di "set nilai") dan kemudian biarkan menyebar melalui DRAM yang menampung 4 bit per kapasitor.
Bagian penting untuk dilihat dalam gif adalah output dari op-amp di sebelah kanan teks "a + b", ini menunjukkan angka-angka Fibonacci.
Di antara setiap operasi saya akan mengukur jawabannya dengan menggunakan ADC diikuti oleh DAC. Jadi jika saya akan membaca 1.1V maka DAC akan mengubahnya menjadi 1.0 V yang kemudian akan disimpan dalam DRAM. Dan kemudian setiap jam X seluruh DRAM harus melalui quantizer untuk memastikan kapasitor tidak melayang jauh .
ALU hanya dapat melakukan +, - dan rata-rata. Saya berpikir untuk membuat multiplikasi dan berhenti. Saya telah membuat dan melihat pengganda berbasis dioda sebelumnya, tetapi saya tidak ingin menggunakannya karena dioda harus dicocokkan. Saya lebih suka menggunakan resistor yang bisa saya potong dengan potensiometer. Anywhoo, saya datang dengan pengganda hibrida, setengah analog, setengah digital.
Jadi saya membuat yang pertama dengan resistor identik di mana-mana.
Gambar 2, pengali naif antara angka digital dan nilai analog. Nilai digital diimbangi oleh 1.
Yang kemudian saya ubah menjadi ini dengan bobot biner:
Gambar 3, pengali naif antara angka digital tertimbang biner dan nilai analog. Nilai digital diimbangi oleh 1.
Ini mengingatkan saya pada tangga R2 / R, tapi saya tidak bisa membuatnya bekerja dengan op-amp.
Namun, saya berpikir tentang bagaimana tangga R2 / R bekerja, dan saya ingat bahwa output mereka dikalikan dengan sumber tegangan mereka. Jadi akhirnya saya datang dengan desain ini:
Gambar 4, pengali berbasis R2 / R antara angka digital tertimbang biner dan nilai analog
Saya suka itu, satu-satunya masalah adalah bahwa bus itu analog, hanya satu kawat. Jadi jika saya terpaksa menggunakan solusi pada gambar 4 di atas, maka saya terpaksa menggunakan ADC lain di area multiplikasi CPU hybrid. Saya tidak bisa menggunakan kembali yang ada di area quantizer.
Saatnya pertanyaan:
Bagaimana saya membuat pengganda yang membutuhkan dua input analog?
- Saya tidak ingin solusi yang didasarkan pada 3 dioda itu dan 4 op-amp karena Anda tidak dapat memotong dioda. Keyakinan saya adalah jika mereka tidak cocok maka mereka akan memberikan jawaban yang lebih dari 250 mV. Saya belum mencoba ini di dunia nyata.
- Saya telah mencoba pengganda berbasis MOS dalam tautan secara harfiah satu inci di atas kata ini, tetapi saya tidak tahu apakah saya bodoh. Saya tidak bisa membuatnya bekerja di simulator. Lihat gif di bawah ini untuk kegagalan implementasi MOS. Atau klik tautan ini untuk simulasi.
- Saya tidak ingin melempar mikrokontroler pada masalahnya.
- Saya tidak ingin menggunakan motor yang berputar dan menggunakan beberapa shenanigans.
- Setelah penggandaan dilakukan, itu akan dibawa ke quantizer untuk memastikan nilainya sedekat mungkin dengan nilai biner. Jadi kesalahan kecil tidak apa-apa.
Inilah gif yang menunjukkan kegagalan saya mencoba membuat yang berbasis MOS:
Gambar 5, saya menyalin skema dari tautan wiki di atas, namun tidak berfungsi di simulator.
Jika itu akan berhasil, maka saya seharusnya melihat nilai 1 V di suatu tempat ketika saya mengubah tegangan referensi dari 5 V ke -5 V.