Шина CAN (Controller Area Network).
Шина - это пара проводников, в данном примере витая пара, разделенная резистором 120 Ом (так называемым терминатором).
Она состоит из высоковольтной линии (H-high) и низковольтной линии (L-low). Малые длины. При длине шины до 40 метров скорость составляет 1 мб/с (автомобиль или комната).
При длине шины до 1000 метров скорость составляет 10 кбит/с (здание). Приемопередатчики на шине CAN эквивалентны.
Когда по шине не передается сигнал, напряжение на линиях H и L равно 2,5 В. При наличии сигнала напряжение на линии H составляет 3,5 В, а на линии L - 1,5 В.
Разница между H и L позволяет приемопередатчику распознать, что началась передача. Таким образом, шина CAN менее подвержена переполнению. Напряжения на витой паре могут быть разными, и шина распознает начало приема или передачи по разнице между L и H.
Когда на вход передатчика поступает ноль, передатчик увеличивает напряжение H. Все остальные приемопередатчики распознают начало передачи сигнала. Кодирование осуществляется в формате NRZ: Доминантный бит - соответствует состоянию - 1, когда H>L на шине.
Бит отступа - распознается как состояние - 0 при отсутствии сигнала на линии. Смена битов происходит в соответствии с частотой передатчика. Поскольку частота приемника изменяется незначительно, большое количество повторяющихся сигналов может привести к потере синхронизации.
Bit stuffing - 5. Если имеетсяпять одинаковых битов,то передатчик устанавливает противоположный бит. Все приемники игнорируют этот бит. Если подрядимеетсяшестьодинаковых битов,топриемникраспознаетошибкуи игнорирует сообщение.
Разрешение коллизий (CR) - если два передатчика начинают передачу одновременно, приоритет имеет передатчик, передающий большее количество единиц. Например, два передатчика начинают передачу в одно и то же время. Оба передают по три единицы, а на бите 4 один из них не корректирует сигнал, а обнаруживает падение в тракте передачи данных.
CR более эффективен, чем Collision Detection (CD) в Ethernet; если два передатчика обнаруживаются в CD, то оба отключаются и начинают передачу через случайный интервал времени.
DATA FRAME Протокол передачи данных. Передача данных, когда устройства обмениваются данными.
S - стартовый бит - всегда Dominant bit. Все приемники синхронизируются по нему. На вход приемо передатчику приходит ноль и он подает напряжение на шину H создавая тем самым разницу.
ID - уникальный номер сообщения(команды). По нему приемники понимают нужно ли им это сообщение или оно адресовано кому то другому. В стандартном исполнении CAN 11 бит, в CAN2.0b - 29 бит.
D length - указывает какой длины в байтах будет блок данных.
Data - само сообщение от 0 до 8 байт.
CRC - контрольная сумма размером 2 байта.
ACK. После передачи CRC приемник получающий сообщение выставляет подтверждающий бит если сумма сходиться. Передатчик видит что приемник получил сообщение и далее выставляет 7 бит Reces сигнала - EOF.
Поиск информации по сайту мониторинга транспорта TREKBERRY
© TREKBERRY 2017-2024, Дмитрий В.М. Все права защищены.
Копирование материала без ссылки на источник запрещено. Информация размещенная на сайте не является публичной офертой.
Часть текстов написано нейросетью, может содержать не точности. На сайте может быть реклама и иметь рекламные вставки.