Уровни сигналов RS-485/CAN

Из того, что я знаю, CAN на физическом уровне в «рецессивном» состоянии просто позволяет подтягиванию/вытягиванию выполнять свою работу.

Означает ли это, что время нарастания теоретически меньше, чем у приемопередатчика RS-485?

А по поводу шумоподавления по RS-485 и CAN? Оба используют дифференциальную шину, но опять же CAN полагается только на резисторы для обеспечения «рецессивного» сигнала.

Читая некоторые статьи, большинство, если не все, указывают RS-485 как 1200 м при 100 кбит/с, тогда как CAN обычно указывает максимум 40 м на более медленных скоростях (я читал только одну, в которой говорилось о сетях CAN с более длинной шиной). линии). И даже эти документы CAN кажутся более конкретными в отношении использования экранированных пар, где RS-485 кажется более «расслабленным» с UTP .

Является ли RS-485 более надежным и быстрым для длинных шин, чем CAN?

Да, я знаю, что теоретически один из них является одним ведущим, а другой — несколькими ведущими, но для меня это не так, поскольку TDMA можно использовать для реализации хорошего мультиведущего на RS-485, посылая сигнал синхронизации от «ведущего» ( его можно назвать скорее источником синхронизации, чем мастером), время от времени, а слот просто используется для получения доступа к шине.


1 Да, я знаю, что CAN изначально разрабатывался для автомобильного рынка, поэтому расстояние не имеет большого значения, но сегодня он, кажется, используется и в промышленной автоматизации, где RS-485, я думаю, «доминирует».

2 Я видел заметки о том, что RS-485 более экспансивный, чем CAN. Ну, это действительно не то, что я понимаю. Основные «популярные» микроконтроллеры имеют UART, тогда как небольшая часть имеет контроллеры CAN, а внешние контроллеры CAN трудно достать или они дороги.

RS485 используется (или используется) в более неприятных условиях с большим шумом, но, как правило, с более низкой скоростью. Он широко используется в системах видеонаблюдения для передачи управляющих сигналов на сотни метров (обычно по дешевым кабелям). Однопарный 485 немного затруднителен, поскольку он допускает только симплексную связь, если вы можете использовать 4-проводной (RS422), жизнь становится намного приятнее.
Да, он позволяет полудуплекс только для одной пары (плюс пара для общего или даже +V/общий), это не проблема, если у вас есть хорошие устройства и протокол. В любом случае, CAN изначально создавался для автомобильной среды, в которой тоже присутствует шум.
Автомобиль шумный, но вещи внутри вашего автомобиля очень редко поражаются молнией или имеют подстанции 20 кВ, установленные в перчаточном ящике. Я работал с обоими, RS485 более надежен во внешней среде, не только по дизайну, но и микросхемы драйверов, как правило, разработаны с учетом конечного использования, поэтому имеют хорошую защиту.

Ответы (1)

CAN может развивать скорость до 1 Мбит/с на шинах длиной до нескольких десятков метров. Пассивное состояние на самом деле не замедляет передачу сигналов. В общей сложности 60 Ом стягивают линии вместе, что позволит им делать это довольно быстро. Я посмотрел на биты на шине CAN с помощью прицела, и края были красивыми и прочными в обоих направлениях. Подумайте о том факте, что пассивное состояние по-прежнему приводит шину в движение, как если бы она была закорочена, но импеданс привода соответствует характеристическому импедансу кабеля. Преднамеренный драйвер будет иметь такой же импеданс, так что на самом деле нет никакой разницы.

Что ограничивает длину шины CAN на практике, так это то, что сигнал должен проходить туда и обратно между двумя самыми удаленными узлами за доли битового времени. Это необходимо для работы механизма обнаружения столкновений.

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

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

Спасибо. Я знаю о скорости (хотя CAN FD, кажется, достигает 10 Мбит / с в части данных, вероятно, из-за того, что на этом этапе не требуется арбитраж), и на самом деле ответ туда и обратно. В любом случае, мой вопрос сосредоточен на «устойчивости» шины к электромагнитным или радиопомехам на длинной неэкранированной шине, поскольку RS-485 обычно не требует фильтров, а CAN обычно имеет фильтры нижних частот на окончаниях. Что касается краев, у меня есть несколько графиков, которые показывают «медленные края», возможно, какой-то драйвер или неправильное завершение.