Axel 1 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба Совместимы ли по уровням драйверы CAN и RS485 (напр SN65HVD230 и SN65HVD10)? К сожалению проверить самому сейчас нет возможности, а ответ нужен... Судя по описаниям, проблем быть не должно, но все же... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба по-моему, CAN и RS-485 это протоколы разного уровня, вернее RS-485 вообще не протокол, а интерфейс. Поэтому говорить о совместимости уровней некорректно. Можно говорить о реализации протокола CAN посредством интерфейса RS-485 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andy_Mozzhevilov 0 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба В протоколе CAN есть требование на доминантные и рецессивные уровни. Логический 0 на выходе контроллера CAN должен преобразовываться в доминантный уровень на физической шине, и этот уровень должен уметь пересилить все рецессивные уровни, которые выдают другие передатчики на эту шину. Интерфейс RS485 под это дело не заточен, насколько я знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба Совместимы ли по уровням драйверы CAN и RS485 (напр SN65HVD230 и SN65HVD10)? К сожалению проверить самому сейчас нет возможности, а ответ нужен... Судя по описаниям, проблем быть не должно, но все же...ИМХО в общем случае нет, драйверы не совместимы. В линиях CAN коллизия это штатная ситуация, в линиях RS-485 это аварийная ситуация. по-моему, CAN и RS-485 это протоколы разного уровня, вернее RS-485 вообще не протокол, а интерфейс. Поэтому говорить о совместимости уровней некорректно. Можно говорить о реализации протокола CAN посредством интерфейса RS-485 Вопрос про драйверы CAN и RS-485 вообще-то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба Видимо необходимо уточнить вопрос. Речь идет об обмене между двумя устройствами: с одной стороны - "закрытый" девайс с RS485, с другой - доступный для перепрограммирования девайс с контроллером и CAN драйвером. Логику обмена можно реализовать, дергая пинами, коллизий в этой ситуации можно избежать, вопрос только в электрической совместимости. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andy_Mozzhevilov 0 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба Видимо необходимо уточнить вопрос. Речь идет об обмене между двумя устройствами: с одной стороны - "закрытый" девайс с RS485, с другой - доступный для перепрограммирования девайс с контроллером и CAN драйвером. Логику обмена можно реализовать, дергая пинами, коллизий в этой ситуации можно избежать, вопрос только в электрической совместимости. Ваше уточнение внесло ещё большую путаницу. Что значит "закрытый". Кто будет дергать пинами? Нужно CAN драйвером сделать эмуляцию протокола для RS485, программно дергая ногами CAN контроллера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба Что значит "закрытый". "Закрытый" - доступный только для обмена, но не для модификации (в отличие от другого, программу которого можно модифицировать). Нужно CAN драйвером сделать эмуляцию протокола для RS485, программно дергая ногами CAN контроллера? Именно так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andy_Mozzhevilov 0 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба Именно так. Электрически в этом случае наверное должно получиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 24 июня, 2008 Опубликовано 24 июня, 2008 · Жалоба Спасибо всем откликнувшимся, попробую... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
navy2000 0 28 июня, 2008 Опубликовано 28 июня, 2008 · Жалоба Есть еще одна тонкость. В RS-485 линии A и B обе "гуляют" от нуля до питания, а в CAN от половины питания до нуля или питания. Точнее, CANH - Vcc/2 Vcc, CANL Vcc/2 GND. Определение состояния на приеме происходит по разнице (очень упрощенно) данных уровней. Чувствительность у приемников может быть разная, и при большой длинне линий и/или высокой скорости данные могут читаться не корректно. Имею в виду только Phi-уровень, про CAN-кие прибамбасы в пакетах и скоростях опускаю, так как понял из вопроса там CAN как таковой использоваться не будет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
spf 0 29 июня, 2008 Опубликовано 29 июня, 2008 · Жалоба Чувствительность у приемников может быть разная, и при большой длинне линий и/или высокой скорости данные могут читаться не корректно. Где такое написано и что такое "Чувствительность у приемников"? Для каждого физического уровня микросхемы делаются по одному документу - уровни у них одинаковые. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
navy2000 0 30 июня, 2008 Опубликовано 30 июня, 2008 · Жалоба Для каждого физического уровня микросхемы делаются по одному документу - уровни у них одинаковые. Речь шла о физической совместимости CAN и RS485 приемопередатчиков. То есть, будет ли RS-485 приемник стабильно принимать сигнал от CAN-передатчика и наоборот. Так вот, в состоянии, CAN не активен обе линии CANH и CANL будут с потенциалом Vcc/2, а для RS-485 приемника - это нестабильное состояние, поэтому там линии A и B "растягивают" к питанию и земле. Получаем электрический конфликт. Передатчик тянет линии к одному потенциалу, а приемник к другому. Это может привести к получению ложных бит на приеме в отсутствии передачи или установке доминанты на CAN-передатчике (что, в условиях нормального CAN-контроллера привело бы к BusOff). и что такое "Чувствительность у приемников"? Для приемника RS-485 стандартом описано пороговая характеристика −200мВ до +200мВ При этом, для передатчика: |Uвых|=1,5:5,0В (не <1,5В и не >6,0В); состояние логической «1»: Ua больше Ub (Реально Ua=Vcc, Ub=GND) — MARK, OFF; состояние логического «0»: Ua меньше Ub (Реально Ub=Vcc, Ua=GND) — SPACE, ON; Для CAN приемника (например SN65HVD234) типовое значение 100мВ, то есть при этой разнице будет определено доминантное состояние. Хочу уточнить. Сам, я таких опытов не проводил. В таком соединении не вижу смысла. Я лишь высказываю свои сомнения автору темы. Чтоб не упустил при проектировании и осмыслил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
j2j2j2 0 18 мая, 2012 Опубликовано 18 мая, 2012 · Жалоба Речь шла о физической совместимости CAN и RS485 приемопередатчиков. То есть, будет ли RS-485 приемник стабильно принимать сигнал от CAN-передатчика и наоборот. При небольших линиях будет стабильная связь. Приведу пример такой реализации , а вот и схема адаптации уровней. Проверено, работает со счетчиками Меркурий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dangyz 0 3 декабря, 2017 Опубликовано 3 декабря, 2017 · Жалоба Приведу пример такой реализации [/url], а вот и схема адаптации уровней. Проверено, работает со счетчиками Меркурий. Схема vlad rusanov, на которую ссылается j2j2j2, скорее всего работоспособна только для односторонней передачи от прибора с интерфейсом CAN к устройству с интерфейсом RS-485. Действительно, с помощью подтягивающих резисторов можно физический уровень рецессии исказить так, что на входе компаратора RS-485 возникнет разность потенциалов между "А" и "В" порядка 0,25 - 0,27 В, что будет воспринято контроллером RS-485 как "1". Соответственно доминанта даст разность потенциалов -5 В, означающую "0". При необходимости передать что-либо прибору с интерфейсом CAN по линии с интерфейсом RS-485 по способу vlad rusanov уже ничего не получиться. Доминанта, конечно, пройдет, но вот рецессия никак. Отсюда вывод: заманчивая дешевизна использования модемов с интерфейсом RS-485 для удаленного контроля и управления электросчетчиков с интерфейсом CAN не катит. Увы, необходимо использовать квалифицированные модемы, разработанные под этот интерфейс, либо, что более хлопотно, применять конверторы интерфейсов и преобразователи линии, специально созданные под эти задачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Velund 0 17 декабря, 2017 Опубликовано 17 декабря, 2017 · Жалоба На самом деле вопросы там есть... CAN трансивер должен уйти в защиту шины, если слишком долго держится доминанта. При низких скоростях с RS485 в эту ситуацию можно попасть на некоторых сочетаниях данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться