Коротка версія: Як зробити аналоговий множник, який займає два аналогових введення постійного струму?
Довга версія:
Я зробив коментар, порекомендувавши відео з Ben Eaters для іншого питання, в той час, як це зробив, я в кінцевому підсумку переглянув деякі (знову) і подумав собі " хммм ... мені цікаво, чи було б простіше зробити деякі частини чисто аналогічними ".
Шиною може бути лише один провід, де різні рівні напруги згодом будуть переведені на біти з АЦП.
Трохи розібравшись, я прийшов так далеко, що теоретично можна обчислити числа Фібоначчі:
Малюнок 1, невелика демонстрація гібридного комп'ютера, що обчислює номери першої напруги
Посилання на тренажер.
У gif, поданому вище, я виходжу з діапазону напруги, тому легко побачити цифри напруги, насправді я просто використовую 250 mV = двійковий 1 (LSB при "встановлених значеннях"), а потім дозволяю йому поширюватися через DRAM, який вміщує 4 біта на конденсатор.
Важлива частина, на яку слід звернути увагу в gif, - це висновок підсилювача праворуч від тексту "a + b", він показує числа Фібоначчі.
Між кожною операцією я б кількісно оцінив відповідь за допомогою АЦП, за яким слід ЦАП. Тож якби я прочитав 1.1V, тоді ЦАП перетворив би його на 1,0 В, який згодом зберігався б у DRAM. А потім раз на X годинник весь DRAM повинен був пройти квантователь, щоб конденсатор не виплив .
ALU вміє робити лише +, - і середнє значення. Я думав про те, щоб розмножити, і зупинився. Я раніше робив і бачив діодичні множники, але не хочу їх використовувати, тому що діоди повинні відповідати. Я скоріше використовую резистори, які можу обрізати потенціометром. Anywhoo, я придумав гібридний множник, наполовину аналоговий, наполовину цифровий.
Тому я зробив перший з однаковими резисторами скрізь.
Малюнок 2, наївний множник між цифровими числами та аналоговими значеннями. Цифрове значення компенсується на 1.
Що я потім перетворив на це з двійковими вагами:
Малюнок 3, наївний множник між двійковими зваженими цифровими числами та аналоговими значеннями. Цифрове значення компенсується на 1.
Це нагадало мені сходи R2 / R, але я не міг змусити їх працювати з підсилювачем.
Однак я подумав про те, як працюють сходи R2 / R, і згадав, що їх вихід множиться на джерело їх напруги. Тому я нарешті придумав такий дизайн:
Фіг.4, множник на основі R2 / R між двійковими зваженими цифровими числами та аналоговими значеннями
Мені це подобається, проте єдиною проблемою є те, що шина є аналоговою, лише один провід. Отже, якщо я змушений використовувати рішення на малюнку 4 вище, то я змушений використовувати інший АЦП в області множення гібридного процесора. Я не можу повторно використати цю в області квантування.
Час питання:
Як слід зробити множник, який займає два аналогові входи?
- Я не хочу, щоб рішення, що базується на 3 діодах та 4 підсилювачах, тому що ви не можете обрізати діоди. Я вважаю, що якщо вони будуть невідповідними, то вони дадуть відповідь, яка вимкнена понад 250 мВ. Я цього не пробував у реальному світі.
- Я спробував мультиплікатор на основі MOS у посиланні буквально на дюйм вище цього слова, але я не знаю, чи я німий. Я не можу змусити його працювати в тренажері. Див. Gif нижче про помилку реалізації MOS. Або натисніть на це посилання для моделювання.
- Я не хочу кидати мікроконтролер на проблему.
- Я не хочу використовувати мотор, який обертається і використовує деякі шенагігани.
- Після того, як множення буде виконано, його буде перенесено в квантователь, щоб переконатися, що значення максимально наближене до бінарного значення. Так що невеликі помилки в порядку.
Ось подарунок, який показує мою невдачу при спробі зробити MOS на основі:
Малюнок 5, я скопіював схему із посилання wiki вище, але вона не працює в тренажері.
Якби це спрацювало, я б десь бачив значення 1 В, коли я міняв напругу відліку з 5 В на -5 В.