Дифференциальная передача
При дифференциальной передаче информация передаётся разностью напряжений на двух проводах, а не напряжением одного провода относительно земли. Помеха наводится на оба провода одинаково и вычитается в приёмнике — поэтому RS-485, CAN и USB работают на десятках и сотнях метров.
Обновлено Редакция GAW
Дифференциальная передача (differential signaling) — способ передачи сигнала по двум проводам, при котором информацию несёт разность их напряжений, а не напряжение одного провода относительно общей земли. Передатчик выдаёт на провода противоположные сигналы, приёмник вычитает одно напряжение из другого. Помеха от соседнего силового кабеля или разность потенциалов земель наводится на оба провода пары почти одинаково — это синфазное напряжение, и при вычитании оно пропадает.
Уровни в популярных интерфейсах
| Интерфейс | Передатчик | Приёмник | Синфазный диапазон |
|---|---|---|---|
| RS-485 | не меньше 1,5 В на нагрузке 54 Ом | порог ±200 мВ | −7…+12 В |
| CAN | доминант: разность 1,5–3 В | ниже 0,5 В — рецессив, выше 0,9 В — доминант | −2…+7 В по ISO 11898 |
Даже слабый сигнал в сотни милливольт уверенно различается на фоне синфазной помехи в несколько вольт. Поэтому RS-485 передаёт данные на расстояние около 1200 м на скоростях до 100 кбит/с, а CAN работает в условиях помех автомобиля. Насколько хорошо приёмник подавляет синфазную составляющую, описывает CMRR.
Что нужно для работы
- Витая пара. Свивка делает наводки на оба провода одинаковыми, а волновое сопротивление кабеля — определённым, около 120 Ом для RS-485 и CAN.
- Терминаторы. На концах длинной линии ставят согласующие резисторы, равные волновому сопротивлению пары.
- Общий провод. Синфазное напряжение вычитается только в пределах диапазона приёмника, поэтому земли узлов соединяют проводником, проложенным вместе с парой, или развязывают гальванически.
Частые вопросы
Почему дифференциальный сигнал устойчив к помехам?
Провода пары идут рядом, и внешнее поле наводит на них почти одинаковое напряжение — синфазную помеху. Приёмник измеряет только разность напряжений, поэтому одинаковая добавка на обоих проводах вычитается. Насколько хорошо это получается, описывает коэффициент ослабления синфазного сигнала приёмника.
Нужен ли общий провод при дифференциальной передаче?
Да. Приёмник вычитает синфазное напряжение, но только в пределах своего синфазного диапазона: у RS-485 каждая линия должна оставаться в пределах −7…+12 В относительно земли приёмника, у CAN по ISO 11898 — −2…+7 В. Если земли узлов сильно расходятся, этот диапазон превышается, поэтому общий провод прокладывают вместе с парой.
Зачем провода дифференциальной пары свивают?
Свивка выравнивает наводки: каждый виток меняет провода местами относительно источника помехи, и наведённые напряжения на обоих проводах получаются одинаковыми — синфазными, а значит, вычитаются. Кроме того, витая пара имеет определённое волновое сопротивление, около 120 Ом у кабелей для RS-485 и CAN, и её можно согласовать терминаторами.
Источники
- TIA/EIA-485-A. Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems — передатчик — не меньше 1,5 В на 54 Ом, порог приёмника ±200 мВ, синфазный диапазон −7…+12 В
- Texas Instruments. The RS-485 Design Guide (SLLA272C), T. Kugelstadt — дифференциальный приёмник вычитает синфазную помеху, наведённую на витую пару
- NXP. TJA1051 High-speed CAN transceiver, product data sheet, Rev. 9, 28 November 2017 — уровни CAN: рецессив около 2,5 В на обеих линиях, доминант — разность 1,5–3 В; пороги приёмника 0,5 и 0,9 В
Нашли ошибку?