Требуется ли заземление/общий провод для правильной связи по шине CAN?

Поскольку CAN-шина является дифференциальной сигнальной системой, каково значение сигнала GND/COM? Могу ли я обойтись без него?

У меня есть очень простая система с двумя узлами, в которой происходят странные вещи. (см. здесь эту проблему, если вам интересно) Два узла — это мое устройство и монитор USB-CAN; оба имеют согласующие резисторы на 120 Ом, а длина провода между ними составляет <1 м.

Я только что вспомнил, что в моих более ранних тестах у меня были только сигналы CAN_H и CAN_L, связанные между узлами; У меня не было ничего, соединяющего CAN_COM моего устройства с контактом заземления на мониторе USB-CAN.

Точка (?) дифференциальной сигнализации должна быть намного меньше (не?) подвержена влиянию синфазного шума. Таким образом, не имея заземления, я предполагаю, что мы теряем абсолютную ссылку для CAN_H и CAN_L... но имеет ли это значение?

даже при дифференциальной парной связи необходима общая ссылка. Просто потому, что плавающие основания на обоих концах могут иметь очень разный потенциал, разница которых просто взорвет вашу систему.
Короткий ответ: да. Если у вас нет полной оптической или магнитной изоляции, вам ВСЕГДА нужно общее заземление практически для любой цепи. Емкостная связь также может обойти эту проблему необходимости заземления, хотя вам все равно нужна некоторая контрольная точка, иначе вы будете выше номинального напряжения на крышке.
Есть ли способ количественно определить, что будет делать отсутствие земли?
Проблема в том, что у вас почти всегда есть что-то (емкость, индукция, другие соединения), которое устанавливает относительные уровни заземления ваших двух концов. Если у вас нет явного основания, то вы во власти всего, что бы это ни было. Учитывая, что это может быть связано с крышками фильтров, подключенными к сети, могут быть задействованы довольно большие напряжения. Вы должны подключить CANbus так, как она должна быть подключена (правильное окончание, правильный кабель, правильное заземление), а не пытаться предугадать, какие именно читы будут успешными.
Конечно. Я не пытаюсь обмануть. Я просто хочу понять, чтобы быть уверенным, что решил свою проблему (или нет)
Что ж, симптомы выхода за пределы диапазона будут сначала заключаться в том, что система не сможет надежно отличить одно состояние от другого, что может привести к разного рода странному поведению с CAN, а затем, если все будет хуже, вы начнете повреждать приемопередатчики.
«Я никогда не видел сетевого устройства CAN с 3-м проводом, только CANH, CANL». Как насчет автомобильной шины CANBus, gnd является общим для всех устройств на шине. Как указал @Lundin.

Ответы (4)

Идеальная теоретическая дифференциальная система может работать без заземления, потому что вход всегда может выполнять (AB), не заботясь об абсолютных значениях A или B.

К сожалению, CAN не является такой системой, и приемник будет иметь пределы своих возможностей «общего режима», за пределами которых он будет поврежден. Таким образом, у вас должно быть заземление, чтобы поддерживать синфазные напряжения в определенных пределах. «Общий режим» просто относится к материалу (в данном случае к напряжению), который является общим для обоих проводов.

Существуют и другие способы создания приемников, которые гораздо свободнее от такого рода ограничений - например, оптоизолятор может выполнять обнаружение (AB) со смещением синфазного сигнала, возможно, на 1000 вольт. Также часто используются трансформаторы (например, в сети Ethernet с витой парой, которая не имеет заземления). Но для обычного CANbus вам нужно заземление.

«Общий режим» — хорошая фраза для разговора.

Да, общий язык нужен.

Канальный приемопередатчик имеет максимальное синфазное напряжение. Если синфазное напряжение дифференциальных сигналов CAN превышает максимальное, то трансивер не сможет распознать биты. На практике это означает, что земли узлов CAN должны быть соединены (хотя допустима небольшая разница в напряжении между землями).

Особый случай. Некоторые устройства CAN имеют гальваническую развязку. Тогда нет точки соприкосновения во всем.

Это зависит от того, какую систему вы строите. Если вы строите в своем доме или в машине, лучше использовать общую землю. Поскольку это связь типа дифференциальной пары, общее заземление не требуется, так как имеет значение разница потенциалов между H и L. На самом деле в некоторых случаях вы можете все испортить, используя общее заземление - когда узлы питаются от разных источников питания с различные ссылки на землю. Я всегда строю большие промышленные сети CAN без точек соприкосновения, и это работает без проблем.

Я бы сказал нет. CAN является дифференциальным и, выдерживая синфазное напряжение, является относительно высоким. Как только вы соедините их вместе, потенциал будет выровнен, для короткого разряда обычно устанавливаются трансзорбные диоды на CANH и CANL, чтобы предотвратить повреждение. Узлы имеют емкостную связь с землей в случае плавающего блока питания. Для неизолированной версии было бы неплохо привязать GND к земле на каждом узле, не будет такой разницы потенциалов земли, чтобы повредить трансивер.
Я никогда не видел сетевое устройство CAN с 3-м проводом, только CANH, CANL.

Как именно будет уравниваться потенциал при отсутствии точек соприкосновения? Предположим, например, что шина CAN автомобиля, питаемая от аккумулятора 12 В, подключается к ПК, питающемуся от сети 230 В. Разница потенциалов может быть какой угодно.