syuha 0 12 сентября, 2017 Опубликовано 12 сентября, 2017 · Жалоба В нашем устройстве для генерации DC уставок (уровней) использовается умножающий ЦАП AD7845 В текущей ревизии устройства используем DIP свитчи для установки бинарного кода. Линии интерфейса заземлены, изменение кода приводит к изменению выходного напряжения. В следующей итерации хотелось бы заменить метод ввода на что-то более удобоваримое. Выбор пал на ручные переключатели, которые thumbwheel switches, например Omron A7D-106-1. В идеале хотелось бы иметь три разряда, которыми можно установить напряжение 0-999мВ. Нужного масштабирования можно добиться, подобрав нужное опорное напряжение для ЦАП. Выход переключателя BCD, а вход ЦАП это двоичный код, встает вопрос конвертации. Нашел микросхемы, дающее преобразование BCD в двоичный код (DM74184/DM74185A и SN54184/SN74184). Даташит дает схемы подключения для преобразования нескольких разрядов в двоичный код. Но все эти микросхемы настолько старые, что их не купить, а альтернативы я не нашел. Есть ли идеи у сообщества как реализовать это на современной элементной базе? Казалось бы, задача тривиальная и должна быть достаточно распростроненной чтобы было какое-то элегантное решение без использования программируемой логики. Есть ЦАП c BCD входом, но я не нашел подходящих для моей задачи. Есть еще переключатели с HEX выходом, но по удобству использования это не намного лучше двоичных переключателей на плате. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 12 сентября, 2017 Опубликовано 12 сентября, 2017 · Жалоба Если требование о неиспользовании программируемой логики не является абсолютным, задачу можно было бы решить на какой-либо дешевой CPLD с достаточным для трех разрядов количеством I/O. По крайней мере, такое лобовое решение напрашивается сразу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 12 сентября, 2017 Опубликовано 12 сентября, 2017 · Жалоба Казалось бы, задача тривиальная и должна быть достаточно распростроненной чтобы было какое-то элегантное решение без использования программируемой логики. Я так понимаю мелкий процик тоже не пойдёт? вариант 1: Ну тогда умножение на x*10 = x*8 + x*2 = сдвиг x на 3 + сдвиг x на 1. Сдвиг организуется банально проводами у нужным выводам сумматора. Сумматоры вроде как ещё продают. вариант 2: сгородить аналог устаревшей микрухи на little logic должно выйти не сильно больше по площади на мой взгляд. вариант 3: любую функцию можно организовать на мультиплексоре. т.е. сделать то что нужно на жмене мультиплексоров вариант 4: ПЗУ. В которое записывается таблица 12 на 10. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 77 12 сентября, 2017 Опубликовано 12 сентября, 2017 · Жалоба 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 десятичными разрядами. ну или как на сейфах, смена направления вращения переключает разряд на следующий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syuha 0 12 сентября, 2017 Опубликовано 12 сентября, 2017 · Жалоба Спасибо за ответы! Согласен, любое решение отличное от МК или CPLD, выглядит как стимпанк. Присмотрюсь к решению на сумматорах Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 212 13 сентября, 2017 Опубликовано 13 сентября, 2017 · Жалоба На счётчиках будет неспешно, но минимум компонентов для любой разрядности — десятичный счётчик загружается уставкой и уменьшает её до нуля, а синхронный с ним двоичный наоборот; счётчики ещё делают и продают — '190/'192 и '191/'193/'590 соответственно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 13 сентября, 2017 Опубликовано 13 сентября, 2017 · Жалоба На счётчиках будет неспешно, но минимум компонентов для любой разрядности — десятичный счётчик загружается уставкой и уменьшает её до нуля, а синхронный с ним двоичный наоборот; счётчики ещё делают и продают — '190/'192 и '191/'193/'590 соответственно.Не очень понял схему. Точнее для первого десятичного разряда всё понятно. А как быть со вторым и третьим? Там же нужно сразу считать по 10 и по 100 это как реализовывать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 77 13 сентября, 2017 Опубликовано 13 сентября, 2017 · Жалоба счётчикам ещё нужен клок, а 16ти разрядная параллельная флэш на 1Мбит, как декодер сразу для 4х десятичных разрядов или мелкая CPLD, нынче стоит как один такой двоичный счётчик которых надо по два на каждый разряд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 13 сентября, 2017 Опубликовано 13 сентября, 2017 · Жалоба Согласен, любое решение отличное от МК или CPLD, выглядит как стимпанк. Как бы это помягче... Выглядит глупостью. :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 13 сентября, 2017 Опубликовано 13 сентября, 2017 · Жалоба Как бы это помягче... Выглядит глупостью. :rolleyes:Флешка тоже симпатично смотриться. Хотя по сути она выполняет роль CPLD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 13 сентября, 2017 Опубликовано 13 сентября, 2017 · Жалоба Согласен, любое решение отличное от МК или CPLD, выглядит как стимпанк.Есть еще решение без МК и CPLD, как бы полностью аналоговое. Вот оно. Потребуется три 4-х разрядных ЦАП, на входы которых нужно подать три DCB-кода. При этом выходы ЦАП подключить к аналоговому сумматору на три входа. А коэффициенты передачи по входам сумматора установить 1, 0.1 и 0.01, соответственно, от старшего к младшему DCB разряду. Ну и вся схема должна также иметь переменные резисторы для точной подстройки коэффициентов передачи. Предложенные варианты с МК или CPLD точной подстройки не требуют, но здесь уже Вам выбирать самому..... С этой темой слегка перекликается тема "Дробное двоичное в BCD" из https://electronix.ru/forum/index.php?showt...=137315&hl= Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 212 13 сентября, 2017 Опубликовано 13 сентября, 2017 · Жалоба Не очень понял схему. Точнее для первого десятичного разряда всё понятно. А как быть со вторым и третьим? Там же нужно сразу считать по 10 и по 100 это как реализовывать? В паспортах указанных ИС имеются примеры их каскадного соединения, т.е. увеличения разрядности. мелкая CPLD нынче стоит как один такой двоичный счётчик 17$ за AD7845, 22$ за 3 шт. A7D-106 — очевидно, для автора важны не деньги, а время. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 77 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба 17$ за AD7845, 22$ за 3 шт. A7D-106 — очевидно, для автора важны не деньги, а время. как раз судя по AD7845 это некая доработка изделия, которому уже далеко не первый десяток лет пошёл. так что про время - вряд ли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCO 0 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба Смоделировать статический декодер в CPLD и перенести на жёсткую логику. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 14 сентября, 2017 Опубликовано 14 сентября, 2017 · Жалоба В паспортах указанных ИС имеются примеры их каскадного соединения, т.е. увеличения разрядности.Вопрос не в том как каскадно объединить счётчики. Вопрос как сделать чтобы счёт вниз шёл пропорционально двоичному числу умноженному на 10 и на 100. Как планируется формировать код для работы счётчика? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться