|
Преобразования 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 выходом, но по удобству использования это не намного лучше двоичных переключателей на плате.
|
|
|
|
2 страниц
< 1 2
|
 |
Ответов
(15 - 23)
|
Sep 14 2017, 11:41
|
Гуру
     
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710

|
Цитата(MegaVolt @ Sep 14 2017, 11:39)  Вопрос не в том как каскадно объединить счётчики. Вопрос как сделать чтобы счёт вниз шёл пропорционально двоичному числу умноженному на 10 и на 100. Как планируется формировать код для работы счётчика? Серьёзно, не понятны Ваши трудности — в 3-разрядный десятичный счётчик, созданный посредством каскадного соединения трёх вышеуказанных ИС, переписываются данные с трёх вышеуказанных енкодеров, после чего он декрементирует в двоично-десятичном виде от данного значения до нуля, после чего выдаёт сигнал переноса. Одновременно с этим, т.е. по тому начальному сигналу переписи с энкодеров, сбрасывается 10-разрядный двоичный счётчик, также созданный посредством каскадного соединения других вышеуказанных ИС, после чего он инкрементирует в двоичном виде от этого нуля до появления того сигнала переноса с двоично-десятичного счётчика, по которому полученное таким способом значение уставки, теперь уже в нужном двоичном виде, переписывается из этого двоичного счётчика в защёлку ЦАП, после чего всё повторяется, т.е. снова вырабатывается сигнал переписи данных с энкодеров в десятичный счётчик и по нему же сброс двоичного счётчика, после чего включается их единый тактовый генератор, и т.д.
|
|
|
|
|
Sep 15 2017, 21:37
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 31-07-08
Пользователь №: 39 327

|
Цитата(iliusmaster @ Sep 15 2017, 01:02)  Можно так попробовать на CD4008:  Спасибо, так и решил делать, только добавил еще один разряд "на будущее"
|
|
|
|
|
Sep 16 2017, 05:23
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(Flood @ Sep 15 2017, 22:22)  Если в схеме нет других программируемых элементов - то отказ от МК / ПЛМ вовсе не глупость, а очень разумное решение. Во-первых, не нужно решать вопрос программирования микросхем при производстве. Во-вторых, можно не беспокоиться о том, что через 10-15 лет вместо BCD кода на ЦАП начнет поступать какая-нибудь дичь. Кто хочет делать, ищет средства, кто не хочет делать, ищет причины. С МК можно получить изделие гораздо более качественное, надежное, компактное, еще и дешевле. И для "будущего" у него тоже возможностей куда больше.
|
|
|
|
|
Feb 9 2018, 22:36
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 31-07-08
Пользователь №: 39 327

|
Долго ли коротко, но собрал я схему, приведенную в сообщении выше. Но вот незадача - выходы сумматора ведут себя нестабильно, иногда некоторые выходные биты начинают звенеть на максимальной частоте переключения сумматора.
Использовал сумматоры CD74HCT283M, неиспользуемые входы переноса к земле подключил. Неужели нужны еще подтяжки к земле на входах сумматоров от переключателей?
Также обнаружил, что сумматор начинает "звенеть" предоставленный сам себе, то есть если из всей платы распаять только конденсаторы и один сумматор (подозреваю что любой, проверял только тот, что самый правый на схеме), все равно звенит.
Блокировочные конденсаторы стоят, полигон земли не забыл, тантал на несколько микрофарад на питании стоит один на плату, распиновку проверил.
|
|
|
|
|
Feb 12 2018, 23:58
|
Участник

Группа: Участник
Сообщений: 64
Регистрация: 31-07-08
Пользователь №: 39 327

|
Да, добавил подтягивающие 1кОм резисторы на входы от переключателей и преобразование заработало стабильно. Спасибо ViKo, в следующий раз попробую прежде чем спрашивать
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|