=AK= 17 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба Для "5V для CPU, 5V для RS485" я бы поставил для RS485 я бы поставил ADM2587E Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beginning 0 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба Не плохой камень. Не знал, что у Analog появились драйвера со встроенными трансформаторами. Жаль что не с автоматическим определением направления передачи. Посмотрим, применим. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба с автоматическим определением направления передачи Это очень вредная вещь. Резко снижает надежность связи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beginning 0 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба Резко снижает надежность связи. А можно на этом по подробнее? Допустим контроллер завис на передачи, как схема с упровлением передачи может лучше повести себя, по сравнению с автоматическим переключателем? Возможно какие то "аналоговые" вставки в цепь упровления потоком? P.S. Вот уже давно смотрю в сторону CAN, что скажете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба А можно на этом по подробнее? Линия RS485 в "свободном состоянии" (когда ни один из передатчиков не включен) весьма чувствительна к наведенным помехам. В это время все приемопередатчики работают на прием с линии, их чувствительность высока, а какое-то состояние линии задается разве что подтягивающими резисторами (если они есть). Помехе нетрудно "пересилить" эти резисторы и вызвать ложный сигнал на линии. Схемы "автоматического определения" срабатывают по появлению активного сигнала на какой-то стороне. Эти схемы не различают, был ли это "настоящий" сигнал или помеховый. После срабатывания они удерживают выбранное направление передачи в течении какого-то времени. Узел, использующий "автомат", вообще не способен будет ничего передать в линию в условиях сильных помех: "автомат" будет все время держать свой драйвер в режиме приема, транслируя в узел помеховые сигналы. Кроме того, многие протоколы (напр. Modbus RTU и т.п.) обеспечивают высокую помехоустойчивость за счет трансляции пассивного ("высокого") уровня на линию RS485 перед тем, как передать пакет. Если узел использует "автомат", то "автомат" не способен определить наличие этой преамбулы. На время действия преамбулы его приемопередатчик работает на прием, а не на передачу, как следовало бы. В результате сообщения, которые передает узел, имеют обрезанную преамбулу и легко портятся помехами. "Автоматы" пригодны только для оффисных применений, когда помех мало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beginning 0 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба Вы переоцениваете возможность драйверов по анализу внешней шины. По крайней мере, драйвер которым пользуючь я (MAX13487) работает так: Выдержка из PDF: When DI is low, the device always drives the bus low. When DI is high, the device drives the bus for a short time, then disables the driver and allows the external pullup/pulldown resistors to hold the bus in the high state (A-B > 200mV). During each low-to-high transition of DI, the driver stays enabled until (A-B) > VDT, and then disables the driver, letting the pullup/pulldown resistors hold the A and B lines in the correct state. Хотя доля вашей правды есть, мне не понравилось, что драйвер отпускает шину при HI когда величина на AB достигнет VDT что для данной микрухи равно ~ 0.8V. Вроде как в диф шине не должны быть противофазные помехи, однако всё может быть. Может вообще перейду на RS422. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 26 мая, 2010 Опубликовано 26 мая, 2010 · Жалоба Вы переоцениваете возможность драйверов по анализу внешней шины. По крайней мере, драйвер которым пользуючь я (MAX13487) работает так: Я именно такую работу и имел ввиду. Не понял, что я переоценил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beginning 0 27 мая, 2010 Опубликовано 27 мая, 2010 · Жалоба Я именно такую работу и имел ввиду. Не понял, что я переоценил. Насколько я понял вас, вы имелли ввиду что драйвер не включит передатчик, пока линия не освободиться.Правда по какому критерию это смотреть? Ну например по низкому уровню на линии = занято. Так вот, драйверу MAX13487 фиолетово что твориться на линии When DI is low, the device always drives the bus low. И пусть в это время другой драйвер тянет шину вверх. Получаем перетягивание каната. P.S. Я пожалуй соберу какуюнибудь схему на жёсткой логике между контроллером и пином упровления напрввления передачи, что бы следил за временем занятия шины. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 27 мая, 2010 Опубликовано 27 мая, 2010 · Жалоба драйверу MAX13487 фиолетово что твориться на линии То есть, у него вход DI доминантный. Зато, как следствие, в нем нет тайм-аута, в течении которого выбранное направление удерживается. И еще неизвестно, что хуже. В принципе можно придумать помехоустойчивый протокол обмена даже при использовании автомата с тайм-аутом. А для MAX13487 этого вообще сделать нельзя, помехоустойчивость обмена принципиально ограничена тем, что смогут вытянуть подтягивающие резисторы. А это в десятки раз хуже, чем в правильно сделанных протоколах, которые вообще не полагаются на подтяжки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 27 мая, 2010 Опубликовано 27 мая, 2010 · Жалоба Кстати, у LT тоже есть изолированный драйвер RS485/RS422 со встроенным DC-DC, см. http://www.linear.com/2881 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться