Свежие обсуждения
Микроконтроллеры

Как сделать такую штуку!?

В старые добрые времена, встала передомной задачка.

Нужно было сделать систему а-ля голосуем за...

Ставилась задача так:

"Надо чтобы просто и из простых отечесвенных деталей. Чтобы все, без порядка, жали кнопку номер и потом считалось и выводилось в виде диаграммы , как на эквалайзере."

В общем, взялся я за работу. Кучу проблем парралельно решал. Но одну так и не решил, почти.

Есть 60 пультов, каждый выдает пачку длиной от 1го до 10 импульсов.

Все загоняется в линию по токовой петле. Передача на расстояние от 10 до 70 метров. Выдается пачка по приходу положительного уровня на пульт.

В чем проблема - на приемник приходили пачки как попало. С накладками и "зализами" импульсов.

Решали эту проблему по разному, и вытягиванием уровня, и модуляцией.

Приемник оформлен на AS8051 атмеловском. Пульты элементарная логика на рассыпухе отечественной (генератор пачки импульсов N+1)

В итоге, нагородили огород вокруг стробированния сигнала в линии.

Схема получилась большая и совсем неудобоваримая. Думаю ее можно было както сделать проще.

Может кто знает, как сделаны системы голосования? К примеру те что используются в нашей думе и подобных организациях.

Приемлю любые идеи.

Тема пока чисто теоретическая. Такчто - пишите, стучите.

А за сим, досвидания.

 
Нужно использовать для опроса микроконтроллер (можно PIC) и двунаправленную последовательную шину с Z- состоянием.Может быть использовать протокол I2C ?  
Как раз про систему, установленную (наверняка, сейчас уже ее обновили несколько раз) в Думе, была статья в каком-то старом журнале (1989—90).

Как сейчас помню, там была схема расположения мест или фотография. А вот было ли это в «Радио» или другом журнале, не помню :-)

 
Именно в Радио она и была.

А пульты сейчас проще делать на 1878ВЕ1 - он оптом от 30 рублей, кажется, стоит. Можно тогда на каждом пульте еще кучу функций добавить.

Перед передачей надо смотреть, не передает ли кто-то другой, и если не передает то начинать передачу. Прям как в сетевых картах :)

 
По-моему, в данном случае удобно использовать протоколы для локальных сетей. Проще реализовать шину или кольцо с маркерным или тактированным доступом, нежели протокол со случайным доступом (А.А. Мячев и др.Справочник. Интерфейсы систем обработки данных. Москва, Радио и Связь, 1989 год). Используя MCS51 (или его различные аналоги) можно достаточно просто реализовать интервально-маркерный протокол обмена использующий моноканал (моноканал - это линия связи нагруженная на концах сопротивлениями равными волновому). Устройства подключаются к моноканалу в произвольных местах по всей его длине (В.В. Сташин и др. Проектирование цифровых устройств на однокристальных микроконтроллерах. Москва, Знергоатомиздат, 1990 год.стр. 190-194.).