Шина CAN (Controller Area Network).

Шина 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 при отсутствии сигнала на линии. Смена битов происходит в соответствии с частотой передатчика. Поскольку частота приемника изменяется незначительно, большое количество повторяющихся сигналов может привести к потере синхронизации.
Приемопередатчики равноправны в шине CAN
Bit stuffing - 5. Если имеетсяпять одинаковых битов,то передатчик устанавливает противоположный бит. Все приемники игнорируют этот бит. Если подрядимеетсяшестьодинаковых битов,топриемникраспознаетошибкуи игнорирует сообщение.
Разрешение коллизий (CR) - если два передатчика начинают передачу одновременно, приоритет имеет передатчик, передающий большее количество единиц. Например, два передатчика начинают передачу в одно и то же время. Оба передают по три единицы, а на бите 4 один из них не корректирует сигнал, а обнаруживает падение в тракте передачи данных.
CR более эффективен, чем Collision Detection (CD) в Ethernet; если два передатчика обнаруживаются в CD, то оба отключаются и начинают передачу через случайный интервал времени.
DATA FRAME Протокол передачи данных. Передача данных, когда устройства обмениваются данными.
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, Дмитрий В.М. Все права защищены.
Копирование материала без ссылки на источник запрещено. Информация размещенная на сайте не является публичной офертой. Часть текстов написано нейросетью, ChatGPT может содержать не точности.