Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нужно чтобы мастер RS485 работал дальше
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
SWT-RUS
Сейчас используем MAX13487 и вот такие номиналы. R1=R2=22 Ом R3 =120 Ом (0.25Вт) R4=R5=220 Ом (0.125 Вт). Если у кого есть опыт решения подобной проблемы - будем очень благодарны. Если есть какая ссылка по теме - отдельное спасибо.
MrYuran
работал дальше чего?
На сколько сейчас работает?
На сколько надо?
Думаю, не надо напоминать, что дальность и скорость - взаимноисключающие параметры.
В вашей схеме можно увеличить сопротивление резисторов подтяжки к земле и плюсу (омов так до 600, а может и больше)
rezident
R4 и R5 должны включаться до R1 и R2, прямо на выводы м/с. В этом случае номиналы R4 и R5 можно увеличить. Да и вообще номиналы их рассчитываются, исходя из смещения приемника так, чтобы A >B на величину 0,2В. При тех номиналах, что указаны на схеме и способе их включения R4 и R5 нарушают волновое согласование линии, т.к. через низкое выходное сопротивление источника питания по переменке они включены впараллель R5. Причем вы учитываете, что R5 нужен не на каждом драйвере/узле, а только на концах линии?
P.S. вообще судя по описанию это довольно дурацкий трансивер RS485, требующий наличия растяжки линии в обязательном порядке. Дурдом какой-то sad.gif
MrYuran
Цитата(rezident @ Oct 20 2009, 12:56) *
P.S. вообще судя по описанию это довольно дурацкий трансивер RS485, требующий наличия растяжки линии в обязательном порядке. Дурдом какой-то sad.gif

Это характерная особенность максов. Можно и не ставить, но тогда стартовый бит неправильно определяется
rezident
Цитата(MrYuran @ Oct 20 2009, 14:59) *
Это характерная особенность максов. Можно и не ставить, но тогда стартовый бит неправильно определяется

Не, этот "with AutoDirection Control". У него входа управления передатчиком (DE) нету. laughing.gif
SWT-RUS
Цитата(rezident @ Oct 20 2009, 13:05) *
Не, этот "with AutoDirection Control". У него входа управления передатчиком (DE) нету. laughing.gif

То что драйвер не простой это мы уже поняли. А кроме MAXIM кто нибудь делает подобные драйвера с автоуправлением направления работы?
rezident
Цитата(SWT-RUS @ Oct 20 2009, 17:59) *
А кроме MAXIM кто нибудь делает подобные драйвера с автоуправлением направления работы?
Вы сначала поясните, для чего это нужно? Такую экзотику я не встречал в устройствах с интерфейсом RS485.
SWT-RUS
Цитата(rezident @ Oct 20 2009, 17:03) *
Вы сначала поясните, для чего это нужно? Такую экзотику я не встречал в устройствах с интерфейсом RS485.


У процессора ног не хватает. Пытались отделаться одним RTS но у простых драйверов типа SN75176 есть некоторые проблемы. Решили обойтись вот такой костью но у нее невозможно отключить эхо. Всегда слышим то что передаем. Есть вариант писать свой драйвер под Linux есть вариант отключить это в готовом драйвере, но точить софт под LINUX на таком уровне для нас проблема. Мы это не исключаем но пока пытаемся найти аппаратную альтернативу.

Можно сказать что с резисторами разобрались сами. На счет 600 ом мысль верная. Это "направление" закрыто. Теперь бы с эхом разобраться....
rezident
Выводов не хватает? Жесть! А использовать самый обычный трансивер RS485, дополнив его схемой перезапускаемого одновибратора, вам не приходило в голову?
SWT-RUS
На счет выводов все не так просто - с ними действительно туго и видимо будет еще "туже". Конечно можно на чем нибудь сэкономить и вывод для "святого дела" найти. Но в плате на 6 слоев это не быстро. И пока остается шанс решить проблему по другому - мы будем пробовать. Что касаемо одновибратора то для него нет места. Если интересно могу показать и схему и плату(фотографию) - проект вообщем открытый. Но ссылка в личку -чтобы не выглядело рекламой.
Сергей Борщ
Цитата(SWT-RUS @ Oct 20 2009, 16:40) *
Пытались отделаться одним RTS но у простых драйверов типа SN75176 есть некоторые проблемы.
Какие именно проблемы?
SWT-RUS
Цитата(Сергей Борщ @ Oct 20 2009, 18:34) *
Какие именно проблемы?

Проблема на самом деле комплексная. На счет вины обычных драйверов я погорячился. Здесь вина скорее Linux и нашей схемы.
И самая важная ее часть программная. Linux виноват тем что не мониторит завершение передачи по RS485. Происходит так - включил передачу, плюнул данные и ... пошел заниматься другими делами. Потом вспомнил и выключил передачу. За это время после данных в ту трубу улетело еще много "мусора". А устройство на другом конце значительно более медленное и заточено строго на задачу "услышать и ответить". Переписывать драйвер для нас тяжело.
Вторая половина вины на нашей схеме - мы управляем 5 вольтовым драйвером ногами 3.3 вольтового процессора. Все сигналы идут через делители. Мы забыли подтянуть вход приемника на +5.
Сразу хочу сказать что это исправимо, но ввиду первой половины проблемы уже не актуально. Когда процессор начинает "дуть" данные в драйвер RS485, на своем входе приемника (на все время, пока идет передача) видит 0, который ему (процессору) кажется полезной информацией. Почему: потому что вместе с передатчиком дергаем сигналом /RE, т.е. переводим пин R в Z-состояние. Но!!! Делителем этот сигнал притягивается к нулю, поэтому на процессоре видим ноль.
Если есть интерес могу выложить кусок схемы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.