Цитата(Pyku_He_oTTyda @ Aug 1 2006, 16:57)

Заказчик настаивает на резистивном методе, переубедить пока не удается...
Гальванической развязки тоже не получается, не хватает проводов в кабеле
Консерватизм заказчика понятен: мол, зачем платить за новое решение, когда старое работает.
Мне представляется, что ЦАПовое решение неверно по трём причинам.
1. Важные параметры физического уровня - размах логического сигнала, помехозащитность, помехоустойчивость - всё перечёркивается этим решением. И это в то время, когда задача позволяет вместо амплитудной модуляции проводить ЧМ или ФМ(ШИМ). Ведь по быстродействию у вас запаса "вагон и маленькая тележка". Примените хотя бы такое кодирование ЧМ: "0" одной частотой, "1" - отличающейся в несколько раз. А можно и каждой кнопке дать свою частоту.
2. Передавать на 100 метров без гальванической развязки - это не есть хорошо. Решение проблемы - копеечный оптрон на приёмной стороне.
3. Невозможность расширения.
На 100 метров и при малой зашумлённости линии я бы не стал связываться с передачей аналогового сигнала, но если иначе, то вот такое видится решение. Сразу скажу - сложная реализация.
Итак, вы порождаете синусоидальные сигналы двух частот - для "0" и "1" (или свою для каждой кнопки). Можете использовать для этого AVR и ЦАП, либо воспользоваться отдельными генераторами. На приёмной стороне - распознавание частот. Ну тут есть где развернуться: либо в лоб с помощью триггера Шмитта и далее посчитать наполнение периода входного сигнала своей внутренней частотой, либо фильтры, либо АЦП и алгоритм БПФ.
Решать вам, но я бы отказался от ЦАПового варианта: он может преподнести "сюрприз", особенно если вспомнить о дестабилизирующих факторах - отклонении питания и изменении температуры.
P.S. Писал по памяти, а теперь только увидел, что выделяют вам в кабеле 1 провод, а это, по-моему, должно означать, что "общий" вы разделяете с кем-то ещё и тогда о гальванической развязке речи нет, т.к. этот кто-то скорее всего обошёлся без неё.