|
Преобразования BCD в двоичный код для умножающего ЦАП |
|
|
|
Sep 12 2017, 19:21
|
Участник
Группа: Участник
Сообщений: 64
Регистрация: 31-07-08
Пользователь №: 39 327
|
В нашем устройстве для генерации DC уставок (уровней) использовается умножающий ЦАП AD7845 В текущей ревизии устройства используем DIP свитчи для установки бинарного кода. Линии интерфейса заземлены, изменение кода приводит к изменению выходного напряжения.
В следующей итерации хотелось бы заменить метод ввода на что-то более удобоваримое. Выбор пал на ручные переключатели, которые thumbwheel switches, например Omron A7D-106-1. В идеале хотелось бы иметь три разряда, которыми можно установить напряжение 0-999мВ. Нужного масштабирования можно добиться, подобрав нужное опорное напряжение для ЦАП.
Выход переключателя BCD, а вход ЦАП это двоичный код, встает вопрос конвертации. Нашел микросхемы, дающее преобразование BCD в двоичный код (DM74184/DM74185A и SN54184/SN74184). Даташит дает схемы подключения для преобразования нескольких разрядов в двоичный код. Но все эти микросхемы настолько старые, что их не купить, а альтернативы я не нашел. Есть ли идеи у сообщества как реализовать это на современной элементной базе? Казалось бы, задача тривиальная и должна быть достаточно распростроненной чтобы было какое-то элегантное решение без использования программируемой логики.
Есть ЦАП c BCD входом, но я не нашел подходящих для моей задачи. Есть еще переключатели с HEX выходом, но по удобству использования это не намного лучше двоичных переключателей на плате.
|
|
|
|
|
Sep 12 2017, 21:02
|
Знающий
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783
|
Цитата(syuha @ Sep 12 2017, 22:21) Казалось бы, задача тривиальная и должна быть достаточно распростроненной чтобы было какое-то элегантное решение без использования программируемой логики. Я так понимаю мелкий процик тоже не пойдёт? вариант 1: Ну тогда умножение на x*10 = x*8 + x*2 = сдвиг x на 3 + сдвиг x на 1. Сдвиг организуется банально проводами у нужным выводам сумматора. Сумматоры вроде как ещё продают. вариант 2: сгородить аналог устаревшей микрухи на little logic должно выйти не сильно больше по площади на мой взгляд. вариант 3: любую функцию можно организовать на мультиплексоре. т.е. сделать то что нужно на жмене мультиплексоров вариант 4: ПЗУ. В которое записывается таблица 12 на 10.
|
|
|
|
|
Sep 12 2017, 21:39
|
Гуру
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954
|
4) SST39VF402C 1$ https://www.digikey.com/products/en/integra...amp;pageSize=25пзу можно и сразу на все 3-4 десятичных, то есть 12-16 двоичных разрядов взять. переключатели на шину адреса, CE + OE зажать. но прошить предварительно придётся. p.s. ну а вообще нынче AD7845 вполне заменяется мелким МК за 1$, в котором будут 12ти разрядные ЦАП и АЦП под МГц (АЦП для эмуляции умножающего ЦАПа, если так надо именно умножающий ЦАП). а подстройка делается единственной крутилкой (цифровой, с квадратурными выходами), и любой индикацией. на этом же мк. в зависимости от скорости вращения меняется приращение (медленно - приращение по 1, быстро по десяткам ещё быстрее по сотням и т.д.), соответственно очень удобно подстраивается в широком диапазоне. видел на каком-то генераторе частоты так сделано было, а его крутить приходилось довольно часто, не только для разовых настроек. при этом в несколько оборотов лекго выбирается значение с 4-5 десятичными разрядами. ну или как на сейфах, смена направления вращения переключает разряд на следующий.
|
|
|
|
|
Sep 12 2017, 22:28
|
Участник
Группа: Участник
Сообщений: 64
Регистрация: 31-07-08
Пользователь №: 39 327
|
Спасибо за ответы!
Согласен, любое решение отличное от МК или CPLD, выглядит как стимпанк. Присмотрюсь к решению на сумматорах
|
|
|
|
|
Sep 13 2017, 17:28
|
Знающий
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112
|
Цитата(syuha @ Sep 13 2017, 02:28) Согласен, любое решение отличное от МК или CPLD, выглядит как стимпанк. Есть еще решение без МК и CPLD, как бы полностью аналоговое. Вот оно. Потребуется три 4-х разрядных ЦАП, на входы которых нужно подать три DCB-кода. При этом выходы ЦАП подключить к аналоговому сумматору на три входа. А коэффициенты передачи по входам сумматора установить 1, 0.1 и 0.01, соответственно, от старшего к младшему DCB разряду. Ну и вся схема должна также иметь переменные резисторы для точной подстройки коэффициентов передачи. Предложенные варианты с МК или CPLD точной подстройки не требуют, но здесь уже Вам выбирать самому..... С этой темой слегка перекликается тема "Дробное двоичное в BCD" из https://electronix.ru/forum/index.php?showt...=137315&hl=
|
|
|
|
|
Sep 13 2017, 22:05
|
Гуру
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710
|
Цитата(MegaVolt @ Sep 13 2017, 11:27) Не очень понял схему. Точнее для первого десятичного разряда всё понятно. А как быть со вторым и третьим? Там же нужно сразу считать по 10 и по 100 это как реализовывать? В паспортах указанных ИС имеются примеры их каскадного соединения, т.е. увеличения разрядности. Цитата(_pv @ Sep 13 2017, 11:34) мелкая CPLD нынче стоит как один такой двоичный счётчик 17$ за AD7845, 22$ за 3 шт. A7D-106 — очевидно, для автора важны не деньги, а время.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|