Конвертер для десятичных переключателей в двоичный код, с прерываниями
Эта схема была разработана для установки в синтезатор частот, в котором рабочие каналы устанавливались при помощи двух десятипозиционных переключателей (в одном использованы только пять позиций). Концепция - "если лень программировать, то можно спаять. Из мусора, валяющегося под ногами" :) Сделана в стиле 70-х годов прошлого века и не претендует на уникальность. Будем считать её инженерным макетом.
Входящие установки для разработки были следующие:
- микроконтроллер, к которому подключается эта схема, используется как DDS, т.е. как синтезатор частот. Соответственно тратить его время на опрос состояния внешних переключателей нежелательно, поэтому от задачи генерации контроллер должен отвлекаться только при помощи прерываний;
- прерывания должны создаваться как после переключения каналов, так и после нажатия-отпускания переключателя "приём-передача".
Конвертер содержит три узла, два из которых практически аналогичные, разница
только в количестве контактов переключателей.
В первых двух узлах, на паре элементов
155ЛА3, собран генератор, управляемый по второму входу второго элемента - низкий
уровень это отключение. Импульсы с него поступают на счётчик (применён 155ИЕ10),
с которого счётные импульсы поступают далее на мультиплексор (155КП1 или 155КП5,
в зависимости от того, сколько нам входов кодировать). Выход мультиплексора,
через инвертор, управляет работой генератора - как только на выходе появляется
высокий уровень, то работа генератора останавливается, а на счётных выходах
счётчика появляется двоичный код числа, установленного на переключателе.
Дополнительно после инвертора, через RC-цепочку
10 К/3300 пФ, образуется импульс прерывания, который, после обработки очередным
инвертором, проходит через сумматор на диодах на базу транзистора, который и
делает окончательный импульс прерывания, подаваемый далее на контроллер.
Все контакты переключателей подтянуты к "плюсу" через резисторы 10К. Если соединительные провода от мультиплексоров к переключателям короткие и никаких помех на них не предусматривается, то резисторы можно исключить.
Таким образом, на выходах Е1, Е2, Е4, Е6, D1, D2 и D4 появляется двоичный код, связанный с положениями переключателей, единицами и десятками (в нашем случае).
Дополнительно собран узел, делающий прерывания от нажатия клавиши /ТХ (переход приём/передача). Он состоит из двух частей. Первая, включающая в себя RC-цепочку и инвертор, аналогична ранее описанным, и срабатывает на нажатие клавиши передачи. На отпускание отрабатывает параллельная цепь, состоящая из конденсатора 220 пФ и диода. Таким образом, сигнал прерывания образуется дважды - при нажатии клавиши и при её отпускании. Дополнительно линия /ТХ подаётся на внешний контроллер, совместно с двоичным кодом от переключателей.
Монтаж вёлся на макетке с помощью МГТФ, залитого впоследствии слоем термопластика. Ёмкости конденсаторов некритичны и могут широко варьироваться.