Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помехозащищенный RS-485
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
Страницы: 1, 2, 3
Atlantis-
Здравствуйте!
Мне нужно соединить два STM32F1 5-ти метровым кабелем. При этом один из МК будет подключен к USB, питаться тоже все будет от USB и предполагается гальваническая развязка по USB.
В итоге по 5-ти метровому проводу будут передаваться данные (скорость 1 Mbps) и питание.
Предполагается, что кабель должен быть максимально помехозащищен и желательно, чтобы под влиянием помех как минимум не вылетало USB.
Собственно предполагаю использовать RS-485 и исходя из этого есть вопросы:
1. Какой приемопередатчик RS-485 лучше выбрать? Видел много всяких типа MAX485, ST485, ADM485 и остальные
2. Нужна ли гальваническая развязка? При условии, что питание и земля все равно будут общими.
3. Во многих приемопередатчиков пишут, что есть встроенная защита, надо ли ставить дополнительно TVS-диоды?
4. Поскольку питание от USB, можно ли как то прикинуть ток потребляемый RS-485? Например так можно I=q/t=q*f=C*U*f ?
5. На что надо обратить внимание, какие есть тонкости при организации такой линии связи? Впервые сталкиваюсь с этим, поэтому извиняюсь за, может быть, глупые или детские вопросы.
skripach
1 Какой вам больше нравится, соответствующий вашей скорости передачи.
2 Нет.
3 Встроенная защита и TVS бывают разные, не известно от чего вы хотите защититься. Ёмкость мощных TVS может быть проблемой на Мбитных скоростях.
4 Ток зависит от "растяжек", терминаторов, длины линии, выбранных драйверов... Я думаю стоит ориентироваться на пру десятков мА.
5 Ёмкость линии, терминаторы. 1 Мбит не так уж много, 5м не так уж далеко. rolleyes.gif
zltigo
QUOTE (skripach @ Sep 2 2015, 16:35) *
ок зависит от "растяжек", терминаторов, длины линии, выбранных драйверов... Я думаю стоит ориентироваться на пру десятков мА.

Пару десятков, говорите? Драйвера (только передатчики) с 5V питанием, на короткую линию согласованную 100 омами, только в линию будут гнать до 100mA, не считая всего остального. Ну а ток при коротком замыкании линии обычен под 200mA.



Atlantis-
Цитата(skripach @ Sep 2 2015, 16:35) *
1 Какой вам больше нравится, соответствующий вашей скорости передачи.
2 Нет.
3 Встроенная защита и TVS бывают разные, не известно от чего вы хотите защититься. Ёмкость мощных TVS может быть проблемой на Мбитных скоростях.
4 Ток зависит от "растяжек", терминаторов, длины линии, выбранных драйверов... Я думаю стоит ориентироваться на пру десятков мА.
5 Ёмкость линии, терминаторы. 1 Мбит не так уж много, 5м не так уж далеко. rolleyes.gif

1. Я видел, существуют трансиверы с питанием 3,3 вольта. Это как то снижает помехозащищенность? Еще нашел статью, в которой описывают "полностью защищенные трансиверы" MAX13443E. По скорости мне подходит и защита радует, но цена...в 5-10 раз обычных. Стоит оно того?
2. Точно не надо? На форуме писали, что без развязки может сбиваться процессор или вообще сгореть.
skripach
Цитата(Atlantis- @ Sep 3 2015, 08:07) *
1. Я видел, существуют трансиверы с питанием 3,3 вольта. Это как то снижает помехозащищенность?
2. Точно не надо? На форуме писали, что без развязки может сбиваться процессор или вообще сгореть.

1. Я бы использовал именно 3.3в драйверы, в 5вольтовых нет никакой нужды. На помехозащищенность думаю если и влияет, то не значительно. К тому же с учетом замечания zltigo применение 3.3в драйверов позволит снизить общее потребление.
2. Объясните как по-вашему влияет гальваническая изоляция на "горючесть" процессора?
HardEgor
Цитата(Atlantis- @ Sep 3 2015, 11:07) *
1. Я видел, существуют трансиверы с питанием 3,3 вольта. Это как то снижает помехозащищенность?

Никак не меняют. Уровни по стандарту RS-485 в любом случае одинаковы
Цитата(Atlantis- @ Sep 3 2015, 11:07) *
Еще нашел статью, в которой описывают "полностью защищенные трансиверы" MAX13443E. По скорости мне подходит и защита радует, но цена...в 5-10 раз обычных. Стоит оно того?

Та защита имеет смысл на длинных линиях в сотни-тысячи метров, у вас всего 5 метров.
Цитата(Atlantis- @ Sep 3 2015, 11:07) *
2. Точно не надо? На форуме писали, что без развязки может сбиваться процессор или вообще сгореть.

Может, если связанные процессоры питаются от разных источников не имеющих гальваническую связь.
Вы уж определите список помех от которых хотите защищаться. а потом подбирайте приемопередатчики.
Если у вас 5 метров в лабораторных условиях - подойдет любой подходящий по скорости.
Atlantis-
Цитата(HardEgor @ Sep 3 2015, 10:15) *
Вы уж определите список помех от которых хотите защищаться. а потом подбирайте приемопередатчики.
Если у вас 5 метров в лабораторных условиях - подойдет любой подходящий по скорости.

Условия операционной и работа электрокоагулятора. Например USB вылетает в таких условиях, поэтому помехи, думаю, серьезные и хотелось бы защититься максимально возможно.
Цитата
1. Я бы использовал именно 3.3в драйверы, в 5вольтовых нет никакой нужды. На помехозащищенность думаю если и влияет, то не значительно. К тому же с учетом замечания zltigo применение 3.3в драйверов позволит снизить общее потребление.

Да дело еще в том, что у меня все питается от 3,3 и не хотелось бы городить дополнительные преобразователи.
=AK=
Цитата(Atlantis- @ Sep 2 2015, 21:45) *
желательно, чтобы под влиянием помех как минимум не вылетало USB.

Это самое сложное. USB время от времени может вылетать сам по себе, безо всяких помех, просто от багов в софте Виндовс. Худо-бедно можно использовать WinUSB, при этом очень желательно подстраховаться самодельным вочдогом, который сделает детач-аттач при потере связи по USB.

У меня в лаборатории на столе лежит некое устройство, которое верещит, когда обнаруживает, что в USB потерялись 8 или более SOF-ов подряд. Как известно, спецификация USB допускает потерю до 5 SOF-ов. Так вот, в среднем несколько раз в неделю это устройство верещит, иногда несколько раз в день. Без каких бы то ни было помех. Ну а как там виндовс на такие потери и прочие глюки USB реагирует - это можно только догадываться. Виндовый СDС класс драйвер - это полное дерьмо, он накрывается медным тазом в среднем примерно раз в месяц, COM порт исчезает, а детач-аттач не помогает, надо физически передергивать кабель.

Цитата(Atlantis- @ Sep 2 2015, 21:45) *
1. Какой приемопередатчик RS-485 лучше выбрать? Видел много всяких типа MAX485, ST485, ADM485 и остальные

Лучше выбрать тот, у которого минимальная приемлемая скорость, от него помех будет меньше.

Цитата(Atlantis- @ Sep 2 2015, 21:45) *
2. Нужна ли гальваническая развязка? При условии, что питание и земля все равно будут общими.

Развязка крайне желательна. В том числе по земле и питанию. Без развязки USB будет вылетать намного чаще.

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

Цитата(Atlantis- @ Sep 2 2015, 21:45) *
3. Во многих приемопередатчиков пишут, что есть встроенная защита, надо ли ставить дополнительно TVS-диоды?

На 5 м - не надо.

Цитата(Atlantis- @ Sep 2 2015, 21:45) *
4. Поскольку питание от USB, можно ли как то прикинуть ток потребляемый RS-485? Например так можно I=q/t=q*f=C*U*f ?

При работе на линию с терминаторами с обоих сторон куча тока уйдет в терминаторы. Пример: размах сигнала 2.5В, линия с волновым сопротивлением 120 Ом, два терминатора по 120 Ом - нагрузка 60 Ом, 2.5/60 = 41 мА на одни только терминаторы.

Цитата(Atlantis- @ Sep 2 2015, 21:45) *
5. На что надо обратить внимание, какие есть тонкости при организации такой линии связи? Впервые сталкиваюсь с этим, поэтому извиняюсь за, может быть, глупые или детские вопросы.

Чтобы обеспечить хороший уровень помехоустойчивости обмена по RS485, необходимо использовать соответствующий протокол, например, Modbus RTU. С самопальным протоколом, который "надеется" на одни только растягивающие резисторы, помехоустойчивость будет хуже в сотни раз. Впрочем, даже такой уровень помехоустойчивости, сам по себе достаточно вшивый, скорей всего окажется на порядок или на два лучше, чем помехоустойчивость USB.
Atlantis-
Цитата(=AK= @ Sep 3 2015, 11:39) *
Развязка крайне желательна. В том числе по земле и питанию. Без развязки USB будет вылетать намного чаще.

Развязка по USB есть - ADUM4160 и по питанию - трансформатор, я спрашивал нужна ли еще дополнительно развязка по RS-485 при условии, что питание все равно будет передаваться по тому же кабелю.
Цитата(=AK= @ Sep 3 2015, 11:39) *
Чтобы обеспечить приемлемый уровень помехоустойчивости обмена по RS485, необходимо использовать соответствующий протокол, например, Modbus. С самопальным протоколом, который "надеется" на одни только растягивающие резисторы, помехоустойчивость будет хуже в сотни раз. Впрочем, даже такой, достаточно вшивый, уровень помехоустойчивости может оказаться на порядок или на два лучше, чем помехоустойчивость USB.

Предполагается постоянная передача данных с датчиков и потеря данных или порча не страшна - вычисляется по контрольной сумме и просто отбрасывается испорченный пакет. Главное чтобы эти потери не были систематическими и помехи не выводили устройство из строя.

=AK=
Цитата(Atlantis- @ Sep 3 2015, 19:25) *
чтобы эти потери не были систематическими и помехи не выводили устройство из строя.

Я вам об этом и толкую. Вшивые самопальные протоколы RS-485 не обеспечивают доставку данных в условиях сильных помех, у них вообще все пакеты будут "битыми" и окажутся отброшенными. А Modbus RTU в таких условиях будет работать как ни в чем ни бывало.
Atlantis-
Цитата(=AK= @ Sep 3 2015, 13:12) *
Я вам об этом и толкую. Вшивые самопальные протоколы RS-485 не обеспечивают доставку данных в условиях сильных помех, у них вообще все пакеты будут "битыми" и окажутся отброшенными. А Modbus RTU в таких условиях будет работать как ни в чем ни бывало.

Не совсем понял. Если пройдет помеха и данные исказятся, то не сойдется контрольная сумма и пакет будет отброшен в любом случае. Как это будет работать как ни в чем ни бывало?
=AK=
Цитата(Atlantis- @ Sep 3 2015, 20:00) *
Не совсем понял. Если пройдет помеха и данные исказятся, то не сойдется контрольная сумма и пакет будет отброшен в любом случае. Как это будет работать как ни в чем ни бывало?


Не диво, этого не понимают большинство создателей самопала для RS-485.

На шине RS-485 есть два состояния:
1) когда все передатчики выключены (бОльшую часть времени шина находится именно в этом состоянии)
2) когда один из передатчиков включен.

В первом состоянии, для того, чтобы создать ложный сигнал, помеха должна пересилить резисторы подтяжки. Во втором состоянии помеха должна пересилить сигнал работающего передатчика RS-485, а он в сотню-другую раз мощнее, чем резисторы подтяжки.

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

У cоздателей Modbus RTU было достаточно мозгов, чтобы создать протокол, на который вообще никак не действуют помехи в первом состоянии. В нем, чтобы испортить пакет данных, помеха должна пересилить включенный передатчик. Помехоустойчивость RS-485 c Modbus RTU сравнима с помехоустойчивостью RS-422 и даже превышает ее, поскольку передатчики RS-485 мощнее.
Atlantis-
Цитата(=AK= @ Sep 3 2015, 13:47) *
На шине RS-485 есть два состояния:
1) когда все передатчики выключены (бОльшую часть времени шина находится именно в этом состоянии)
2) когда один из передатчиков включен.

В первом состоянии, для того, чтобы создать ложный сигнал, помеха должна пересилить резисторы подтяжки. Во втором состоянии помеха должна пересилить сигнал работающего передатчика RS-485, а он в сотню-другую раз мощнее, чем резисторы подтяжки.

Так можно в самопальном протоколе один из передатчиков всегда держать включенным?
=AK=
Цитата(Atlantis- @ Sep 3 2015, 20:38) *
Так можно в самопальном протоколе один из передатчиков всегда держать включенным?

Это называется RS-422, у него передатчики вообще не переводятся в третье состояние, они всегда включены. Для него можно любой протокол использовать, он изначально помехоустойчивый. Но это обмен точка-точка, с раздельными витыми парами, одна - на прием, другая - на передачу, дуплекс. А вы вроде как RS-485, то есть шину, многоточку, полудуплекс, собирались использовать? В полудуплексе вам поневоле придется выключать передатчик, иначе будете слышать только себя.
zltigo
QUOTE (=AK= @ Sep 3 2015, 11:39) *
Чтобы обеспечить хороший уровень помехоустойчивости обмена по RS485, необходимо использовать соответствующий протокол

Помехоустойчивость канала связи и протокол это все-же разные вещи.
QUOTE
, например, Modbus RTU.

Как человек почти вся жизнь занимающийся всевозможными связными потоколами могу точно сказать, что Modbus RTU есть натуральное дерьмо. Это, конечно, не означает, что хуже "изобрести" нельзя, но на профессионально рожденный пртокол он ни как не тянет. Ну и протоколах - автор не говорил, ни то, что у него пакетный обмен ни то, что master-slave. Так что о протоколе разговор отдельный. Ну и на "5 метров" дуплексный RS422 почти наверняка будет предпочтительный.
Atlantis-
Цитата(=AK= @ Sep 3 2015, 14:14) *
Это называется RS-422, у него передатчики вообще не переводятся в третье состояние, они всегда включены. Для него можно любой протокол использовать, он изначально помехоустойчивый. Но это обмен точка-точка, с раздельными витыми парами, одна - на прием, другая - на передачу, дуплекс. А вы вроде как RS-485, то есть шину, многоточку, полудуплекс, собирались использовать?

Полудуплекс: один МК шлет команду (передатчик1 вкл), выключает передатчик после окончания передачи, второй МК принимает команду и сразу врубает свой передатчик.
zltigo
QUOTE (=AK= @ Sep 3 2015, 14:14) *
В полудуплексе вам поневоле придется выключать передатчик, иначе будете слышать только себя.

Слышать себя это не есть проблема и вообще даже фича для контроля собственной передачи. А проблема в том, что на встречная сторона ничего передать не сможет на линию занятую передатчиком.
Atlantis-
Цитата(=AK= @ Sep 3 2015, 14:14) *
В полудуплексе вам поневоле придется выключать передатчик, иначе будете слышать только себя.

Какое то время да, а причем тут протокол?
=AK=
Цитата(Atlantis- @ Sep 3 2015, 20:56) *
Полудуплекс: один МК шлет команду (передатчик1 вкл), выключает передатчик после окончания передачи, второй МК принимает команду и сразу врубает свой передатчик.


Значит, есть промежуток времени, когда один мк уже закончил передачу и уже выключил свой передатчик, а второй еще не включил свой передатчик. Если в этот промежуток времени влезет помеха и создаст, например, ложный старт для UART-а, то при фиговом протоколе один только этот ложный старт испортит весь пакет. Если помех много, значит, надо считать, что помеха обязательно влезет в этот промежуток.

Modbus RTU - это не панацея, а всего лишь пример помехоустойчивого протокола. Если подумать головой, то можно и самопальный придумать ничуть не хуже. Только думать надо именно головой. А для этого желательно сначала изучить Modbus RTU (благо он открытый) и понять, почему он устойчив к помехам. Когда это осознаете, можете изобретать свой самопал. А без изучения, наобум, "на авось" - придумаете очередной отстой.
zltigo
QUOTE (=AK= @ Sep 3 2015, 14:14) *
Это называется RS-422, у него передатчики вообще не переводятся в третье состояние, они всегда включены.

Далеко не всегда, ибо держать пару передатчиков всегда включенными это немалые токи в линию без всякой на то надобности. Так что задача синхронизации начала фрейма аналогича.
=AK=
Учите матчасть. В RS-422 не существут высокоимпедансного состояния передатчиков, они всегда включены.
Atlantis-
Цитата(=AK= @ Sep 3 2015, 14:55) *
и понять, почему он устойчив к помехам. Когда это осознаете, можете изобретать свой самопал. А без изучения, наобум, "на авось" - придумаете очередной отстой.

За счет заданных таймаутов между кадрами?
zltigo
QUOTE (=AK= @ Sep 3 2015, 15:24) *
Учите матчасть. В RS-422 не существут высокоимпедансного состояния передатчиков, они всегда включены.

Не пишите, пожалуйста, диких глупостей. Особенно умиляет "учите матчасть" в сязи с тем, что стандарт RS422 номирует ТОЛЬКО уровни сигналов и ничего более.
Неотключаемые выходы передатчиков и незапрещаемые приемники, конечно, встречаются иногда у производителей запихивающих 422 интрефейсы 8 pin корпуса, но за добрых 30 лет я их не использовал ни разу, за ненеадобностью. Ну и само собой разумеется, что у 422 приемников так-же есть варианты с ассимитричными порогами, для тех-же целей, что и у 485.
=AK=
Цитата(Atlantis- @ Sep 3 2015, 22:13) *
За счет заданных таймаутов между кадрами?


Нет. За счет механизма, гарантированно обеспечивающего очистку входного буфера приемника в начале каждого кадра передатчика. Когда начинает работать передатчик, весь мусор, наведенный помехами, будет вычищен. Поэтому сам пакет от передатчика будет принят приемником правильно. Конструкция этого механизма не единственно возможная, однако принцип очистки приемника должен соблюдаться.

Цитата(zltigo @ Sep 3 2015, 22:18) *
стандарт RS422 номирует ТОЛЬКО уровни сигналов и ничего более

Ваши высказывания про якобы "далеко не всегда включенные передатчики RS-422" являются чистым бредом. Нет там таких уровней сигнала, есть или 0 или 1. И если производители делают микросхемы, совместимые с RS-422, но имеющие вдобавок еще третье состояние передатчика, то сам стандарт RS-422 от этого ни на йоту не изменяется.
zltigo
QUOTE (Atlantis- @ Sep 3 2015, 15:43) *
За счет заданных таймаутов между кадрами?

Да нет, за супер-пупер помехозащищенность тут пытаются выдать САМУЮ МИНИМАЛЬНЕЙШУЮ меру по синхронизации начала фрейма.
Ну а по хорошему ловля маркера начала фрейма из мусора при высоком уровне помех должна начинаться с захвата сначала битовой, а потом байтовой синхронизации, и только после этого уже смотреть на начало фрейма. Надеяться на то, что включенный передатчик является гарантией отсутствия помехи на стороне приемника это оптимистично.
QUOTE (=AK= @ Sep 3 2015, 15:59) *
Ваши высказывания про якобы "далеко не всегда включенные передатчики RS-422" являются чистым бредом. Нет там таких уровней сигнала, есть или 0 или 1.

Не недо пытаться выкручиваться. В RS485 тоже "нет таких уровней сигнала, есть или 0 или 1". Сюрприз!!! sm.gif
Просто везеде есть совершенно реальное состояние - ОТКЛЮЧЕННАЯ линия, она же оборванная sm.gif. И никакой стандарт не может этого факта отменить.
QUOTE
..имеющие вдобавок еще третье состояние передатчика, то сам стандарт RS-422 от этого ни на йоту не изменяется.

Золотые слова sm.gif! НЕ МЕНЯЕТСЯ, по причине того, что он НИКАК не требует НЕОТКЛЮЧЕНИЯ передатчика. Так что и производители и пользователи совершенно законно, сообразуясь со своими разумениями и потребностями, или ИСПОЛЬЗУЮТ, или нет, отключение передатчика в ПОЛНОМ согласии со стандартом.
=AK=
Цитата(zltigo @ Sep 3 2015, 23:12) *
Не недо пытаться выкручиваться. В RS485 тоже "нет таких уровней сигнала, есть или 0 или 1". Сюрприз!!! sm.gif
Просто везеде есть совершенно реальное состояние - ОТКЛЮЧЕННАЯ линия, она же оборванная sm.gif. И никакой стандарт не может этого факта отменить.

RS-422 прямым текстом оговаривает соединение "точка-точка", на рисунках приводит двунаправленное дуплексное подключение, а для передатчика определяет только уровни 0 и 1 и требует низкое выходное сопротивление, не более 100 Ом. И никакой "отключенной линии" там нет. Так что ваши поделки, напоминающие RS-422, но переводящие передатчик в высокоимпедансное состояние, стандарту RS-422 не соответствуют.

RS-485, тоже прямым текстом, оговаривает топологию "шинa", к которой подключается до 32 приемо-передатчиков. Передатчик RS-485 обязан уметь переходить в выскоимпедансное состояние, чтобы соответствовать требованиям стандарта.

Вы бы хоть почитали что-нибудь по этой теме, чтобы немножко подковаться и не нести невежественную ахинею типа "стандарт RS422 номирует ТОЛЬКО уровни сигналов и ничего более", или что RS-422 "НИКАК не требует НЕОТКЛЮЧЕНИЯ передатчика", и т.п. У http://www.ti.com/, помнится, неплохие были аппноты для начинающих, вам это как раз подойдет.
Ruslan1
Цитата(=AK= @ Sep 4 2015, 00:25) *
RS-422 прямым текстом оговаривает соединение "точка-точка"

Вы, извиняюсь, в стандарт-то заглядывали? Зачем такие удивительные придумки вслух говорить?
Вам стандарт процитировать или сами найдете про наличие "одного или более приемников" на линии ?

Цитата(=AK= @ Sep 4 2015, 00:25) *
Вы бы хоть почитали что-нибудь по этой теме, чтобы немножко подковаться и не нести невежественную ахинею

Именно! Даже добавить нечего. Только читать нужно не "что-нибудь" на заборе, а соответствующие документы.
=AK=
Цитата(Ruslan1 @ Sep 4 2015, 13:26) *
Цитата(=AK=)

RS-422 прямым текстом оговаривает соединение "точка-точка"

Вы, извиняюсь, в стандарт-то заглядывали? Зачем такие удивительные придумки вслух говорить?

Еще один "знаток" выискался...

Нажмите для просмотра прикрепленного файла

Цитата(Ruslan1 @ Sep 4 2015, 13:26) *
Вам стандарт процитировать или сами найдете про наличие "одного или более приемников" на линии ?

Приемников может быть до десяти штук. А соединение остается быть "точка-точка".
Ruslan1
Цитата(=AK= @ Sep 4 2015, 07:06) *
Приемников может быть до десяти штук. А соединение остается быть "точка-точка".

Замечательно. Соединение "один передатчик-много приемников" является соединением "точка-точка". Спасибо за разъяснение.
=AK=
Цитата(Ruslan1 @ Sep 4 2015, 13:57) *
Замечательно. Соединение "один передатчик-много приемников" является соединением "точка-точка". Спасибо за разъяснение.

В рамках стандарта RS-422 - таки да. Я вполне понимаю создателей стандарта, которые не стали париться с жеванием соплей типа что "иногда также и точка-многоточка". Поскольку в рамках стандарта ничего принципиально нового это не дает, а лишние сущности надо отрезать бритвой.

zltigo
QUOTE (=AK= @ Sep 4 2015, 00:25) *
Вы бы хоть почитали что-нибудь по этой теме, чтобы немножко подковаться и не нести невежественную ахинею типа "стандарт RS422 номирует ТОЛЬКО уровни сигналов и ничего более", или что RS-422 "НИКАК не требует НЕОТКЛЮЧЕНИЯ передатчика", и т.п.

Поскольку со стандартами (и с реальными чипами передатчиков) дело обстоит именно так, как я написал поправляя Вас, то очевидно как раз Ваша проблема в том,
что Вы просто собрали в своей голове какую-то солянку из рассказов начинающих "для начинающих", почитав "что-нибудь" и собственных набитых "шишек":(. Получился этакий бывалый радиолюбитель.
У меня нет цели приводить Вашу голову в порядок. Только указал Ваши на явные ляпы, дабы хоть немного ограничить уровень мусора в интернете.

QUOTE (=AK= @ Sep 4 2015, 07:44) *
В рамках стандарта RS-422 - таки да. Я вполне понимаю создателей стандарта, которые не стали париться с жеванием соплей типа что "иногда также и точка-многоточка".

Нет НЕ понимаете, поскольку НЕ ЗНАЕТЕ термина interconnection применненного в стандарте. Учите языки и профессиональную терминогию.
Dog Pawlowa
В своем универсальном RS485/RS422 модуле я просто добавил настройку singlepoint/multipoint, потому что некоторые производители оборудования требуют постоянную активность моего передатчика, а в некоторых системах это невозможно по причине множества слэйвов.
И что характерно, все называют этот интерфейс RS422 wink.gif
=AK=
Цитата(Dog Pawlowa @ Sep 4 2015, 15:06) *
И что характерно, все называют этот интерфейс RS422 wink.gif

Инженерный жаргон. Я вот тоже, конденсаторы предпочитаю "кондерами" называть, для краткости.

Однако плохо то, что для прямым следствием упрощений и жаргона является огромное распространение тупых самопальных протоколов с поганой помехоустойчивостью поверх RS-485, создатели которых, очевидно, не понимают принципиальную разницу между настоящим, не жаргонным RS-422, и RS-485. Пример такого непонимания, сопровождаемый растопыренными пальцами и откровенным пустобрехством, был нам наглядно продемонстрирован только что на этой ветке.

Я на таких в реальной жизни тоже насмотрелся. Как говорил Окуджава по этому поводу, "мне давно пора уже орден получить" sm.gif
Atlantis-
Собираюсь заказать трансиверы ST3485EB.
Смущает, что они стоят гораздо дешевле аналогов от Maxim и AD, может в чем то есть подвох?
Ruslan1
Цитата(Atlantis- @ Sep 4 2015, 09:11) *
Собираюсь заказать трансиверы ST3485EB.
Смущает, что они стоят гораздо дешевле аналогов от Maxim и AD, может в чем то есть подвох?

Нормальный драйвер, нет подвоха.
Дешево это сколько? Посмотрел на Дижикее- очень даже недешево, $1.42 мелким оптом. Например, ST1480ABDR - подешевле, $1.15.
Если цена жмет- то смотрите 5-вольтовые. Они штатно управляются от 3.3- вольтовой логики, а питание 5 вольт у Вас уже есть (USB).
gte
Цитата(=AK= @ Sep 3 2015, 16:24) *
Учите матчасть. В RS-422 не существут высокоимпедансного состояния передатчиков, они всегда включены.

Вы в топике на аппноты TI ссылались.
Так посмотрите, имеют их передатчики TI RS-422 Z - состояние или нет.
Вот, например, AM26LV31E. "This device is designed to meet TIA/EIA-422-Band ITU Recommendation V.11 drivers with reduced supply voltage." Имеет Z состояние.
Atlantis-
Цитата(Ruslan1 @ Sep 4 2015, 09:28) *
Нормальный драйвер, нет подвоха.
Дешево это сколько? Посмотрел на Дижикее- очень даже недешево, $1.42 мелким оптом. Например, ST1480ABDR - подешевле, $1.15.
Если цена жмет- то смотрите 5-вольтовые. Они штатно управляются от 3.3- вольтовой логики, а питание 5 вольт у Вас уже есть (USB).

ST1480ABDR в Компэле нет((

Вот аналогичные, гораздо дороже
http://www.maximintegrated.com/en/products...s/MAX3486E.html
2,5 Mbps 10 USD есть в Компэл

http://www.maximintegrated.com/en/products...s/MAX3078E.html
тоже 10

http://www.maximintegrated.com/en/products.../MAX14840E.html
40 мегабит, 6 баксов
zltigo
QUOTE (Atlantis- @ Sep 4 2015, 10:32) *
40 мегабит...

За мегабитами НЕ гонитесь, если НЕ нужны и думаете о помехозащищенности. Есть приемопередатчики с управляемыми характеристиками.
Ruslan1
Цитата(Atlantis- @ Sep 4 2015, 10:32) *
ST1480ABDR в Компэле нет((

Да нормальный драйвер ST3485, берите. И Компэл хорошая контора sm.gif
У этих 8-ножек полная совместимость по выводам, так что в будущем примените любой другой, если чем-то не устроит (цена, доставабельность, параметры).
zltigo
QUOTE (Ruslan1 @ Sep 4 2015, 12:52) *
Да нормальный драйвер ST3485, берите. И Компэл хорошая контора sm.gif
У этих 8-ножек полная совместимость по выводам, так что в будущем примените любой другой, если чем-то не устроит (цена, доставабельность, параметры).

Хотелось-бы только, что бы автор подумал, а действительно ему нужен RS485, или это просто первые попавшиеся ему цифры? Я уже высазывал предположение, что ему скорее всего при его двух устройствах и 5 метрах кабеля, RS422 разумнее будет.
=AK=
Цитата(gte @ Sep 4 2015, 16:57) *
Вы в топике на аппноты TI ссылались.
Так посмотрите, имеют их передатчики TI RS-422 Z - состояние или нет.
Вот, например, AM26LV31E. "This device is designed to meet TIA/EIA-422-Band ITU Recommendation V.11 drivers with reduced supply voltage." Имеет Z состояние.

Что мне на них смотреть, я их предтеч DS26LS31/32 уже в далеком 1985г использовал. Для шины, которая изначально создавалась под RS-485. Поскольку к моменту выхода моего изделия советская промышленность уже должна была наладить выпуск их аналога, а вот нужного мне аналога SN75176 в тот же срок еще не было.

Я уже говорил раньше, и еще раз повторю: производитель в полном праве выпускать передатчик с третьим состоянием и писать, что он "соответствует RS-422". Потому что, если его вход EN намертво посадить на питание, а вход ~EN - на землю, то получится самый натуральный передатчик RS-422, без малейшего изьяна. А вот если во время работы постоянно дергать эти входы, то включая, то выключая выход передатчика, то это будет уже не RS-422, а ублюдочный вариант RS-485.

PS: Судя по всему, RS-422 изначально сильно затачивался на резервированные системы. Отсюда и много приемников на линии, и требование перехода драйвера в высокоимпедансное состояние при отключении питания, и практические реализации драйверов с переводом в третье состояние по внешнему сигналу. Ну а поскольку даже четверированная система при этом останется организованной как "точка-точка", то и никаких упоминаний о "точка-многоточка" в стандарте нет. А для совсем тупых, которые отключают передатчики ради "экономии тока в линию", в стандарте расписано, как расчитать RC-терминаторы.
zltigo
QUOTE (=AK= @ Sep 4 2015, 13:35) *
а ублюдочный вариант RS-485.

Назовите сие AK-422 и трактуйте, как хотите, хоть прописывайте расстрел за отключение разъема, или выхода передатчика, раз это событие угробит все Ваши чудесные "протоколы". Но нормальные решения должны считаться и обрывыми линий, и с выключеним питания на встречной стороне, и с отключеним передатчика, как частым случаем. И четко разрешать проблемы возникающие в таких ситуациях. Не научились с 1985 года проектировать ДЕЙСТВИТЕЛЬНО надежные системы передачи данных использующие такие интрефейcы? Ну так это Ваши проблемы и не надо проецировать их на всех разработчиков. Так-что отключение выхода передатчика есть совершенно естественная ситуация, хотя-бы по этой причине никак не запрещаемая ни мохнатым RS-422, ни V.11 и используемая, например, как писал в первом посте на эту тему, для экономии энергии. И только авторы "ублюдочных" протокольных решений могут не понимать этого и до истерики требовать наличия тока в линии "всегда".
И вообще RS-xxx это не стандарты, это отраслевые рекомендации, где до кучи записаны некие описания некоторых решений, причем сумбурные и неполные. Стандарты это тот-же V.11. B нем действительно застандартизировано то, что нужно и выкинуты всякие частности и глупости не по делу. Пора уже давно забыть о ставших просто жаргонизмами RS....
Atlantis-
Цитата(zltigo @ Sep 4 2015, 13:30) *
Хотелось-бы только, что бы автор подумал, а действительно ему нужен RS485, или это просто первые попавшиеся ему цифры? Я уже высазывал предположение, что ему скорее всего при его двух устройствах и 5 метрах кабеля, RS422 разумнее будет.

А в чем его преимущество? В постоянно включенном передатчике?
Там же полный дуплекс нужен, а это две витых пары плюс питание - у нас таких кабелей нет, придется дополнительно искать, заказывать. А для RS-485 можно использовать например USB кабель - та же витая пара и питание.
zltigo
QUOTE (Atlantis- @ Sep 4 2015, 16:43) *
А в чем его преимущество? В постоянно включенном передатчике?

В дуплексе и всех его вкусностях. Если Вы еще не поняли, то в симплексном канале Вам придется включить передатчик, так или иначе организовать процедуру выдления начала фрейма на приемной стороне, на передающей преключится на прием, выждать гарантированный таймаут на начало ответа (если ответа не будет, то это чистые потери времени), одна сторона должна быть мастером и постоянно опрашивать встречную, ибо без нее команды встречная не имеет право ничего передавать. А оно все это Вам надо? Вместо того, что бы любой из партнеров мог передавать когда хочет.
Постоянно включенный это уже по желанию, если питание некуда девать, или реально идет практически постоянный поток данных, или лениво управление реализовывать.
QUOTE
а это две витых пары плюс питание - у нас таких кабелей нет, придется дополнительно искать

Точно искать? Уверены? A 4 витые пары нигде "случайно" встречать не приходилось sm.gif Две под питание, две под данные.
=AK=
Цитата(zltigo @ Sep 4 2015, 23:35) *
придется включить передатчик, так или иначе организовать процедуру выдления начала фрейма на приемной стороне, на передающей преключится на прием, выждать гарантированный таймаут на начало ответа (если ответа не будет, то это чистые потери времени), одна сторона должна быть мастером и постоянно опрашивать встречную, ибо без нее команды встречная не имеет право ничего передавать. А оно все это Вам надо?

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

Можно взять за основу Модбас, в котором все есть, или можно использовать байт-стаффинг, что гораздо проще, поскольку не требует сравнительно строгого тайминга. Среди байт-стаффингов советую ТС обратить внимание на элегантный и эффективный COBS. Организация "мастер-слэйв" в парном соединении является абсолютно естественной и не требующей никаких усилий для реализации. Так что ТС вполне волен выбрать полудуплекс, если ему так хочется, хотя с полным дуплексом (т.е. RS-422) на кабеле Cat5 или Cat6 реализация будет немножко проще. Главное, чтобы при этом ТС не слушал идиотских советов "выключать передатчик для экономии энергии", иначе ставить дуплекс становится бессмысленным.
=AK=
Цитата(zltigo @ Sep 4 2015, 20:35) *
Так-что отключение выхода передатчика есть совершенно естественная ситуация, хотя-бы по этой причине никак не запрещаемая ни мохнатым RS-422, ни V.11 и используемая, например, как писал в первом посте на эту тему, для экономии энергии.

Я уже писал, что RS-422 требует, чтобы выходное сопротивление передатчика не превышало 100 Ом. Вы неспособны дотумкать, что из этого следует, что передатчик RS-422 нельзя выключать. А для экономии энергии умные люди не передатчиком дрыгают, а ставят RC-терминаторы.
Herz
=AK=, Вы уже слишком увлеклись грубостями и оскорблениями. Не заставляйте делать оргвыводы.
Ruslan1
zltigo, не пытайтесь ответить на весь генерируемый =AK= текст. У него какие-то личные счеты к RS-485 или к кому-то из людей, его применявших. Как результат- =AK= обливает грязью и оскорбляет всех, кто что-то пытается возразить, так как видит в их лице своих обидчиков.
Это идея фикс. Возможно, не лечится. Нужно просто не замечать и не реагировать, он побуянит немного и успокоится.

Цитата(Atlantis- @ Sep 4 2015, 16:43) *
А в чем его преимущество? В постоянно включенном передатчике?
Там же полный дуплекс нужен, а это две витых пары плюс питание - у нас таких кабелей нет, придется дополнительно искать, заказывать. А для RS-485 можно использовать например USB кабель - та же витая пара и питание.

Преимущество полного дуплекса- не нужно никаких договоренностей о процедуре доступа к линии. Просто подключаете драйверы для раскачки линии - и вперед. Любой полудуплекс требует усилий для приближения к тому качеству, которое дуплекс дает без всяких усилий.
Полудуплекс нужен для экономии ресурсов (проводов, защитных цепей, контактов), но достигается это усложнением программной части. Для коротких линий смысла в полудуплексе нет.

Кабель- Идеальным является езернет витая пара: низкая цена, доступность, наличие любых типов подходящих по качеству и конструктиву разъемов.
USB кабель - не советую.
=AK=
Цитата(Herz @ Sep 5 2015, 16:50) *
=AK=, Вы уже слишком увлеклись грубостями и оскорблениями

Будьте конкретны, поскольку я в упор не вижу, чтобы моя реакция была бы неадекватной. Приведите, что вам не понравилось, и я тоже конкретно укажу, на что я отвечал. Замечу, что, в отличие от, я не грешу чистым незамутненным флудом, мои сообщения как правило несут содержательный технический смысл. Вот это - первое, которое не соответствует этому правилу. Вы с такой точки зрения никогда не пытались рассматривать сообщения на форуме?
Plain
Цитата(Atlantis- @ Sep 2 2015, 15:15) *
нужно соединить два STM32F1 5-ти метровым кабелем ... питаться тоже все будет от USB ... предполагаю использовать RS-485

Выше уже сказали — бесполезный нагрев, и теоретических 500 мА вообще может на всё не хватить, так что ставьте LVDS, на чём давно и успешно работают USB, SATA, PCI-E и т.п., и будете счастливы. Соответствующих защит и драйверов — в "Чип и Дип" вагон и тележка.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.