RS-485 против CAN: выбор полевой шины

RS-485 vs CAN: Choosing a Field Bus

Краткий ответ

RS-485 и CAN оба работают по терминированной дифференциальной паре, но решают разные задачи.RS-485 — это физический уровень: он надёжно передаёт байты по длинному кабелю, а протокол, адресацию и обработку ошибок вы реализуете в программном обеспечении.CAN — это полноценный канальный уровень: он добавляет кадрирование, арбитраж, обнаружение ошибок и автоматическую повторную передачу на аппаратном уровне. Выбирайте RS-485, когда нужны дальность и простота, CAN — когда нужны детерминизм в многомастерной сети и встроенная обработка сбоев. На скорости 250 кбит/с RS-485 уверенно покрывает 300 м, тогда как CAN уже близок к своему пределу 250 м — и настоящее преимущество CAN не в дальности, а в протоколе.

Ключевые выводы для руководителей

  • Дальность — это проблема кабеля и терминации, а не протокола.При 250 kbps практический предел CAN составляет около 250 m; RS-485 может работать на большее расстояние с той же парой и более низкой битовой скоростью.
  • Ценность CAN заключается в арбитраже.Несколько узлов могут начать передачу одновременно, и кадр с более высоким приоритетом побеждает без коллизии; RS-485 требует ведущего устройства или программного протокола для предотвращения коллизий.
  • Диапазон синфазного сигнала RS-485 шире(−7 V до +12 V), чем у типичного CAN-трансивера, что важно в промышленных установках со смещениями потенциала земли.
  • Оба требуют терминации на обоих концах, коротких отводов и цепи смещения; большинство отказов в эксплуатации вызвано проводкой и терминацией, а не трансивером.

1. Что на самом деле представляет собой каждая шина

RS-485 (TIA/EIA-485-A) определяет только электрический уровень: дифференциальные драйверы и приемники, диапазон синфазного напряжения, ограничения единичной нагрузки и правила терминации. Он ничего не говорит об адресации, кадрировании, обработке коллизий или восстановлении после ошибок. UART плюс RS-485 трансивер дает вам надежный байтовый канал; протокол верхнего уровня — это ваша разработка.

CAN (ISO 11898-2) определяет физический уровеньиканальный уровень. Кадры содержат идентификатор, поле данных, CRC и подтверждение; арбитраж побитовый и неразрушающий; ошибки обнаруживаются, а кадры автоматически повторно передаются. Это большой объём функций, встроенных в контроллер и трансивер, и именно поэтому CAN доминирует в автомобильной и мобильной технике.

Связанный стандарт RS-422 использует ту же дифференциальную передачу сигналов с выделенной парой драйвер–приёмник (четыре провода) и поддерживает более высокую скорость на более коротких линиях. RS-485 — это многоточечная двухпроводная версия; когда в статье говорится RS-485, если не указано иное, имеется в виду двухпроводной многоточечный вариант.

2. Скорость в зависимости от расстояния

Битовая скорость Практическая дальность RS-485 Практическая дальность CAN
10 Mbps ~10–15 m not supported (classic CAN)
1 Mbps ~100–120 m ~40 m
500 kbps ~200–300 m ~100 m
250 kbps ~300–600 m ~250 m
125 kbps ~600–1200 m ~500 m
50 kbps ~1200 m ~1000 m
Practical bit rate versus cable length for RS-485 and CAN
Та же физика, другие ограничения: RS-485 обеспечивает большую дальность при заданной скорости передачи.

Таблица — это ориентир для планирования, а не гарантия: емкость кабеля, длина ответвлений, допуск на согласование и количество узлов — все это влияет на предельное значение. Важно сравнивать характер зависимости: обе технологии подчиняются примерно одним и тем же физическим законам, но CAN теряет дальность раньше, поскольку его битовый тайминг и арбитраж требуют более строгой целостности сигнала.

3. Топология, согласование и смещение

Обе шины представляют собой многоточечные дифференциальные пары с согласованием на обоих физических концах. RS-485 использует один резистор 120 Ω на каждом конце; CAN часто используетразделенная терминация— два резистора по 60 Ω, включённых последовательно, со средней точкой, шунтированной на землю, — что улучшает стабильность в синфазном режиме и EMC.

Смещение состояния покоя — это вторая половина. Нагруженная пара без активного драйвера «плавает» около 0 V, что является неопределённым логическим уровнем. Сети RS-485 используют сеть fail-safe смещения — обычно подтяжку на одной линии и подтяжку к земле на другой — чтобы поддерживать известное состояние покоя. При двух параллельных терминаторах по 120 Ω (60 Ω) для дифференциального напряжения покоя 200 mV требуется около 3.3 mA, что от шины 5 V означает примерно 1.4 kΩ суммарно, или 680 Ω с каждой стороны.

CAN-трансиверы обычно обеспечивают смещение внутренне и задают рецессивный уровень; это одна из причин, по которой проводку CAN проще выполнить правильно.

4. Протокол: реальное отличие

RS-485 является полудуплексным на двухпроводной паре (существует четырёхпроводной полный дуплекс). Одновременно может быть включён только один драйвер, поэтому сети нужен мастер, токен или схема предотвращения коллизий, реализованная в программном обеспечении. Это подходит для Modbus, DMX, протоколов в стиле Profibus и многих проприетарных линий связи, но детерминированность здесь не лучше, чем программное обеспечение.

CAN по своей архитектуре является multi-master. Любой узел может начать кадр, когда шина свободна; если два узла начинают одновременно, узел с доминантным идентификатором выигрывает арбитраж, а другой автоматически повторяет попытку. Поэтому сообщения с более высоким приоритетом имеют ограниченную задержку — именно поэтому CAN используется для контуров управления в транспортных средствах и машинах.

Аспект RS-485 CAN / CAN FD
Layer defined Physical only Physical + data link
Multi-master No (software) Yes, by arbitration
Error handling Application CRC, ACK, retransmission
Max nodes 32 unit loads (256 with 1/8 UL) Typically 110–120
Common-mode range −7 V to +12 V About −2 V to +7 V
Typical use Modbus, DMX, long sensor runs Automotive, machinery, battery packs

5. Пример расчета: 300 м, 250 kbps, 16 узлов

Промышленной сети требуется 16 узлов на расстоянии 300 м при 250 kbps и питании трансивера 5 В. Какую шину выбрать?

  • CAN при 250 kbpsнормируется примерно до 250 м, поэтому 300 м уже выходят за пределы расчетного ограничения; потребуется повторитель или более низкая скорость передачи данных.
  • RS-485 при 250 kbpsкомфортно работает на 300 м. При кабеле 50 pF/m пара дает около 15 nF; при эффективном сопротивлении терминации 60 Ω постоянная времени RC составляет 0.9 µs, а время нарастания 10–90% — около 2 µs при длительности бита 4 µs — приемлемо, с запасом на отводы и разъемы.
  • Терминация:120 Ω на каждом конце.Смещение:Резисторы подтяжки к питанию и к земле номиналом 680 Ω дают примерно 200 mV дифференциального напряжения в состоянии покоя.

Практический ответ — RS-485, если только приложению не требуются арбитраж CAN или его диагностический стек. Одна лишь дальность этого не решает.

Выполните тот же расчёт для CAN, и картина станет ясной: при 250 kbps ограничение CAN составляет 250 m, поэтому для 300 m потребуется снижение до 125 kbps (500 m) или добавление повторителя. Это изменение системы, а не выбор компонента.

6. Изоляция, защита и кабель

На длинных полевых шинах возникают импульсные перенапряжения и смещения потенциала земли. На разъёме TVS-диод или матрица ESD защищают трансивер от ESD и импульсных перенапряжений; синфазный дроссель снижает высокочастотное излучение и повышает помехоустойчивость. Ни то, ни другое не заменяет необходимость заданной опорной точки земли или изоляции там, где смещение велико.

Гальваническая изоляция — надёжное решение для длинных линий между зданиями или между оборудованием с разными землями. Изолированные трансиверы объединяют передатчик, приёмник и барьер изоляции в одном корпусе; дискретные цифровые изоляторы плюс неизолированный трансивер дают тот же результат при большем числе компонентов. Выбор обычно определяется стоимостью и площадью платы, а не характеристиками.

Витая пара с волновым сопротивлением 100–120 Ω, 50–60 pF/m и экраном из фольги или оплетки — это базовый вариант. Заземление экрана с одного конца предотвращает контуры заземления в большинстве установок; исключение — установка с выделенным опорным проводником, где оба конца могут быть соединены.

7. Примеры протоколов

На RS-485 Modbus RTU — самый распространенный протокол: мастер опрашивает ведомые устройства по адресу, с CRC на каждый кадр. DMX512 использует тот же физический уровень для освещения с фиксированной частотой кадров. Оба работают, потому что мастер управляет шиной; ни один не обеспечивает аппаратную обработку коллизий.

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

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

8. Выбор

Выбирайте RS-485, когда:линия длинная, протокол уже определён (Modbus, проприетарный), узлов немного или умеренно, и структура «ведущий-ведомый» приемлема. Это также более простой выбор, когда одна и та же пара должна сосуществовать с другими сигналами или когда ожидаются синфазные смещения.

Выбирайте CAN, когда:несколько узлов должны выполнять арбитраж без ведущего, сообщения имеют приоритеты, а приложение выигрывает от аппаратного CRC, подтверждения и повторной передачи. Автомобилестроение, системы управления аккумуляторами, приводы двигателей и мобильная техника — классические случаи.

Выбирайте CAN FD, когда:вам нужна модель CAN, но большая пропускная способность — до 5 Mbps в фазе данных при той же фазе арбитража.

9. Кому не следует использовать какой протокол

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

Время нарастания и ёмкость кабеля

Дифференциальная пара ведёт себя как RC-линия:tr≈ 2.2 × Rслагаемое× Cкабель, где Rслагаемоепараллельное значение двух оконечных нагрузок (60 Ω) и Cкабельобщая емкость. При 50 pF/m и 300 m, C = 15 nF, поэтому tr≈ 2 µs — половина бита при 250 kbps. Именно поэтому расстояние быстро падает с ростом битрейта, и поэтому добавление узлов или ответвлений ухудшает ситуацию.

Проверяйте результат по битовому времени, а не по максимальной скорости из технической документации. Приемопередатчик с заявленной скоростью 10 Mbps все равно не обеспечит работу линии 300 m на 10 Mbps, потому что ограничение задает кабель, а не приемопередатчик. Именно поэтому тест на коэффициент битовых ошибок при реальной длине кабеля ценнее любой таблицы.

10. Трассировка и EMC

Обе шины дифференциальные, поэтому прокладывайте пару совместно, поддерживайте согласованность импеданса и избегайте разрывов в опорной плоскости. Размещайте терминацию у разъема, а не где-то в середине ответвления. Держите ответвления короткими: как правило, ответвление должно составлять малую долю битовой длины, что намного меньше 0.3 m при 1 Mbps.

Добавьте синфазные дроссели и TVS-защиту у разъема от импульсных перенапряжений и ESD, а также проводник опорной земли, если монтаж не может гарантировать общую землю. Синфазный диапазон приемопередатчика — не разрешение игнорировать заземление; это запас, а не метод проектирования.

11. Пять ошибок

1. Один оконечный резистор.Один резистор 120 Ω на одном конце оставляет отражение на другом; он нужен на обоих концах.

2. Нет смещения для обеспечения отказоустойчивости.Уровень в состоянии простоя плавает, и приемники воспринимают шум как данные.

3. Длинные ответвления к каждому узлу.Ответвления добавляют отражения и ограничивают рабочую битовую скорость гораздо сильнее, чем длина кабеля.

4. Смешивание трансиверов RS-485 и CAN на одной паре.Ожидания по сигнализации и терминации различаются; сеть будет ненадёжной.

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

Ещё одно практическое различие: трансиверы RS-485 выпускаются с ограничением скорости нарастания, что снижает EMI ценой максимальной битовой скорости. Трансиверы CAN рассчитаны на фиксированный диапазон битовых скоростей, и их симметрия является частью стандарта. Не считайте их взаимозаменяемыми, даже если цоколёвка выглядит похожей.

12. Контрольный список

  • Требуемая скорость передачи данных и максимальная длина кабеля.
  • Количество узлов и бюджет единичных нагрузок.
  • Архитектура с несколькими ведущими или «ведущий-ведомый».
  • Требования к арбитражу и латентности.
  • Синфазное напряжение между узлами.
  • Терминация на обоих концах с правильным номиналом и размещением.
  • Смещение для обеспечения отказоустойчивости (RS-485) или рецессивный уровень (CAN).
  • Требование к изоляции.
  • Защита от импульсных перенапряжений/ESD на разъёме.
  • Проверка: глазковая диаграмма или тест на битовые ошибки при реальной длине кабеля.

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

FAQ

Могут ли RS-485 и CAN использовать один и тот же кабель?

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

Почему CAN обеспечивает меньшее расстояние, чем RS-485, при одной и той же скорости передачи?

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

Сколько узлов может поддерживать RS-485?

32 единичные нагрузки со стандартными трансиверами или до 256 с компонентами с нагрузкой 1/8 единичной нагрузки. Кабель, терминация и цепь смещения должны быть рассчитаны на такое количество.

Нужен ли мне отдельный провод заземления?

Если узлы могут иметь значительный сдвиг потенциала земли, то да — опорный проводник или изоляция безопаснее, чем полагаться на диапазон синфазных напряжений приемопередатчика.

Можно ли объединить RS-485 и CAN с помощью шлюза?

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

Рассеивают ли терминирующие резисторы много мощности?

Только когда драйвер активен: при эффективном сопротивлении 60 Ω и дифференциальном выходном напряжении драйвера 5 V ток терминации составляет десятки миллиампер. Используйте резисторы мощностью 1/4 W или больше и размещайте их там, где нагрев допустим.

Можно ли использовать CAN-трансивер для RS-485?

Нет. Уровни сигналов, требования к терминации и форматы кадров различаются. Используйте RS-485-трансивер для RS-485 и CAN-трансивер для CAN.

Как количество узлов влияет на дальность?

Каждый узел добавляет емкость и ток утечки. Сеть из 32 узлов на 250 kbps ведет себя иначе, чем сеть из 4 узлов на той же скорости; снижайте расчетную дальность при большом числе узлов и длинных ответвлениях.

Стоит ли использовать CAN FD в новых разработках?

Если приложению требуется более 1 Mbps полезной нагрузки и контроллеры это поддерживают, да. Поведение арбитража не изменилось, поэтому системная модель переносится.

Глоссарий

Единичная нагрузка
Нормированный входной импеданс приемников RS-485; 32 единичные нагрузки — классический предел.
Отказоустойчивое смещение
Резисторы, задающие определенный уровень в состоянии простоя на паре RS-485 без активного драйвера.
Арбитраж
Метод разрешения одновременных передач в CAN по приоритету идентификатора.
Разделительная терминация
Два резистора по 60 Ω с конденсатором в средней точке, используемые в CAN для стабильности синфазного режима.
Ответвление
Ответвление от основной шины к узлу; длинные ответвления вызывают отражения.

Источники

Выбор трансиверов для полевой шины?

Просмотрите нашиRS-485иCANлинии, или отправьте длину кабеля, скорость передачи данных и количество узлов для рекомендации компонента.

Просмотреть компоненты в наличии  ·  Отправить ваш BOM

Check stock by part number

Turn this insight into a sourcing decision.

Need pricing or a drop-in alternative? Submit a BOM / RFQ or talk to our team.