Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
16.06.2011, 07:51
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
Сообщение от realkeeper
|
теперь вопрос - подтяжка линий это на схеме резисторы R1 и R2 а терминатор соответственно R3 с терминатом понятно ставится на обоих концах физической линии
|
Зачем подтяжки на дифференциальной линии?
Вот перевод мануала Maxim по построению сетей RS485:
|
|
|
Сказали "Спасибо" AJScorp
|
|
|
16.06.2011, 09:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,715
Сказал спасибо: 130
Сказали Спасибо 1,108 раз(а) в 527 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
Подтяжка на RS485 - защита от помех. Что-бы исключить ложные срабатывания в близи 0 от помех.
Более того, при наличии помех рекомендуется подать небольшое напряжение в линию (порядка нескольких вольт). На промышленных контроллерах даже клеммы для этого выведены.
|
|
|
|
16.06.2011, 12:24
|
|
Временная регистрация
Регистрация: 22.09.2010
Сообщений: 64
Сказал спасибо: 20
Сказали Спасибо 13 раз(а) в 13 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
за документ спасибо но факт остается фактом без подтяжки система работает гораздо хуже - много битых пакетов при длинных линиях
|
|
|
|
16.06.2011, 12:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
Сообщение от realkeeper
|
факт остается фактом без подтяжки система работает гораздо хуже
|
Какой протокол используете для обмена?
|
|
|
|
16.06.2011, 13:40
|
|
Прописка
Регистрация: 10.09.2010
Сообщений: 113
Сказал спасибо: 31
Сказали Спасибо 27 раз(а) в 27 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
Сообщение от AJScorp
|
Зачем подтяжки на дифференциальной линии?
Вот перевод мануала Maxim по построению сетей RS485:
|
Подобных документов много и они абсолютно верны, только речь там как правило идет об помехозащищенности во время передачи пакетов по линии. Но я имел в виду другое, коротенько уже пояснял в посте №9, думал будет понятно, теперь еще раз, чуть поподробне.
Исхожу из своего опыта и рекомендую делать подтяжку применительно к данной ситуации- хотя бы вот для чего:
Судя по всему, слейвы большую часть времени находятся в состоянии приема, а не передачи, хотя бы потому, что работать на передачу не могут (не должны) все одновременно, а только один, да и тот по запросу мастера. Сам мастер тоже не всегда работает на передачу, но и ждет ответа от слейвов (находясь в режиме приема). По времени сам обмен тремя байтами с каждым слейвом (даже на маленькой скорости 9600 это всего по 3+3=6 мсек на каждый слейв), т.е. при 12 слейвах на скорости 9600 менее 80 мсек - не занимает большую часть от периода обмена (порядка 1 сек - от автора темы). Таким образом на линии передача (не важно откуда и куда) ведется менее 8% времени (а на скорости 56К вообще 1 мсек !), в остальное время линия с терминаторами висит в воздухе, а приемники пытаются поймать правильный пакет. При болтающейся в воздухе линии приемники слейвов будут часто ловить ложные старты от наводящихся на линию помех, отвлекая слейв на обработку ложных синалов. Можно конечно таймировать прием, как-то синхронизировать работу слейвов с мастером и т.д., уменьшая время ожидания нужного пакета, но не пойму, почему бы не поставить на мастере пару резисторов хотя бы по этим соображениям.
Более не буду спорить, дело хозяйское, конечно. ИМХО.
|
|
|
Сказали "Спасибо" dadigor
|
|
|
16.06.2011, 14:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
Сообщение от dadigor
|
почему бы не поставить на мастере пару резисторов хотя бы по этим соображениям.
|
Я тоже спорить не собираюсь. Возможно мы говорим о разных вещах, для меня RS485 в первую очередь ассоциируется с modbus. Если у ТС другой протокол обмена, то согласен, введение подтяжек поможет снизить зашумленность в линии и увеличить количество правильно принятых пакетов.
ИМХО проще внести мертвое время до и после пакета, результат будет лучше и скорость обмена можно будет поднять.
|
|
|
|
16.06.2011, 14:56
|
|
Прописка
Регистрация: 10.09.2010
Сообщений: 113
Сказал спасибо: 31
Сказали Спасибо 27 раз(а) в 27 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
Я давал совет для ситуации, как она описана автором темы, кратко:
"Три байта на передачу к слейву, столько же на прием от слейва, до 12-ти слейвов, скорость 56К, протокол обмена не описан."
И сам вопрос автора, кратко:
"Ставить ли и куда ставить резисторы."
А заодно пытался ответить на Ваш конкретный вопрос:
"Зачем подтяжки на дифференциальной линии?"
Да, кстати, сапрессоры я бы тоже поставил, как и советовал jump. Для меньшего убивания плат.
|
|
|
|
16.06.2011, 15:20
|
|
Прописка
Регистрация: 14.04.2011
Адрес: Кишинев
Сообщений: 243
Сказал спасибо: 39
Сказали Спасибо 144 раз(а) в 71 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
Просто выскажу свое мнение, навязывать или отстаивать с пеной у рта не буду и в полемику не вступлю. На конкретные вопросы- отвечу
Пользуюсь RS-485 лет десять и вот какая схема у меня устаканилась.
Итак, если вы не используете большие скорости (115200 не больше чем десятки метров, 19200 не больше чем на пяток километров):
1. Не ставьте терминаторы. На длинных линиях большого сопротивления и низких скоростях применение терминаторов создает больше проблем чем дает преимуществ.
2. Ставьте подтяжки на драйвер, позволяющие всегда для неактивного состояния линии иметь A›B на приемнике на нужные милливольты. Это значит A на +5В, B на GND через резисторы 90-100 кОм. Это позволяет убить сразу несколько зайцев: защитит контроллер от шумовых переключений передатчика и позволит легко скоммутировать линию связи, так как при включенном контроллере полярность легко определяется тестером.
3.Ставьте защиты. У меня это последовательные резисторы 10 Ом в линию, а со стороны драйвера два стабилитрона (один с A, другой с B) 6.8V на GND.
4. Применяйте гальваническую развязку между драйвером и управляющим микроконтроллером. Нужно-то всего три оптрона и какой-нибудь DC-DC модуль, скажем 0505.
5. маркируйте линии "A+" и "B-". Это позволит избежать путаницы, так как по стандарту A‹B, но де-факто все производители драйверов думают наоборот.
6. Если применяете покупные адаптеры RS-485 с автоматическим переходом прием-передача, то учтите, что многие производители мягко говоря мухлюют и не раскачивают честно линию, пример такой поделки- I-7520, у него не дифф выход и ситуацию нужно спасать терминатором.
В-общем ничего хитрого, но придерживаясь этих правил вы можете сэкономит себе много нервов и сил. У меня использовались самые резные линии связи, в том числе вкопанные в землю еще до моего рождения, сети собирались такими узлами и кустами что в кошмаре только приснится (топология не шина а блин звезда шин или шина звезд), но работает и не жужжит.
Последний раз редактировалось Ruslan-1; 16.06.2011 в 15:32.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо Ruslan-1 за это сообщение:
|
|
|
16.06.2011, 19:04
|
|
Прописка
Регистрация: 10.09.2010
Сообщений: 113
Сказал спасибо: 31
Сказали Спасибо 27 раз(а) в 27 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
Полемики и не будет! Мой опыт говорит практически то же, по п.2, 3, 5 и 6 - абсолютно согласен.
по п.1 просто поясню - мы ставим терминаторы, чтобы не спорить с заказчиками, тыкающими в документацию, но от них действительно на малых скоростях толку не видно, а на больших скоростях я не работал.
по п.4 просто добавлю - сечас есть уже готовые микросхемки-драйвера с гальваноразвязкой, например ADM2485, или даже с уже встроенным в них же гальваноразвязанным источником питания, например ADM2587.
|
|
|
|
16.06.2011, 19:57
|
|
Гражданин KAZUS.RU
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
|
Re: Вопросы по RS-485 (подтяжка и терминация)
А я использую MAX13487 с автоматическим переключением направления. Тогда нужно только два оптрона для гальваноразвязки.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:24.
|
|