Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
печать шпоры мпт.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
708.61 Кб
Скачать

26. Интерфейс can: общее описание и основные параметры, виды и форматы сообщений в can.

Интерфейс CAN (Controller Area Network – буквально, сеть контроллеров) был разработан в конце 80-х годов фирмой Bosch для связи электронных устройств, применяемых в автомобилях.

Общее описание CAN. Сеть предназначена для коммуникации так называемых узлов, которые могут быть приемниками или передатчиками. Каждый узел состоит из двух составляющих: CAN-контроллера и приемопередатчика (трансивера). Контроллер реализует протокол обмена по сети CAN, а трансивер обеспечивает взаимодействие с сетью (передачу и прием сигналов).

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

На рис. приведена структура CAN-сети. Обычно в качестве контроллера используется микроконтроллер, имеющий CAN-модуль, который имеет выход передатчика TxD последовательного кода и вход приемника RxD кода. Трансивер преобразует логические сигналы, то есть логические 0 и 1, в дифференциальное напряжение, поступающее на два провода шины, обозначенные CAN_H и CAN_L. Согласно стандарту линия должна иметь волновое сопротивление в пределах 108-132 Ом. Для уменьшения отражений сигналов на каждом конце шины должны быть подключены согласующие резисторы RС сопротивлением 120 Ом. Для повышения надежности передачи и повышения помехоустойчивости иногда используют третий провод – общий, обозначаемый как GND. Питающее напряжение UCC (или UDD) по стандарту равно +5 В относительно GND.

Для абстрагирования от физической среды передачи спецификация CAN определяет два логических состояния (то есть логические 0 и 1) как рецессивное (recessive) и доминантное (dominant). При этом предполагается, что при передаче одним узлом сети рецессивного бита, а другим доминантного, принят будет доминантный бит.

В рецессивном состоянии (то есть логическая 1 на входе TxD трансивера) дифференциальное напряжение UDIFF =UCANH – UCANL меньше минимального порога (0,5 В на входе приемника или 0,05 В на выходе передатчика).

В доминантном состоянии (то есть логический 0 на входе TxD трансивера) дифференциальное напряжение UDIFF больше минимального порога (0,9 В на входе приемника или 1,5 В на выходе передатчика).

Сообщения в CAN. Интерфейс использует короткие сообщения: максимальный размер – 94 бита. Содержимое данных в CAN-сообщении как бы неявно определяет адрес источника этого сообщения и адреса приемников, кому эта информация необходима. Например. один CAN-узел выдает на шину сообщение «Температура масла двигателя 80». Все другие узлы принимают это сообщение, но используют эту информацию только те узлы, кому она необходима.

Сообщения, передаваемые по CAN-шине, именуются кадрами или фреймами. В зависимости от инициатора передачи и ее цели существуют 4 типа кадров:

1) кадр данных (Data Frame), используется для передачи данных; (2) кадр запроса данных (Remote Frame), используется для дистанционного запроса данных от удаленного узла;

(3) кадр ошибки (Error Frame), когда обнаруживаются ошибки на шине; (4) кадр перегрузки (Overload Frame), передается для задержки передачи пакетов Data Frame и Remote Frame, например, при неготовности приемника.

Вид стандартного формата сообщения Data Frame приведен на рис. Он состоит из семи различных битовых полей:

 Поле начала кадра (Start of Frame – SOF) состоит из одного доминантного бита, который служит также для синхронизации генераторов приемников и передатчика.

 Поле арбитража (Arbitration Field) содержит 11-битный идентификатор ID и бит RTR – (запрос передачи данных). Для кадра данных этот бит должен иметь доминантный уровень.

 Управляющее поле (Control Field) состоит из шести битов. Два самых старших бита в настоящее время не используются. Четырехбитный код длины данных указывает число байтов в поле данных.

 Поле данных (Data Field) содержит от нуля до восьми байтов данных.

 Поле контрольной суммы (CRC Field) включает в себя контрольную сумму сообщения (15 бит) и бит-разделитель рецессивного уровня.

 Поле подтверждения (ACK Field) состоит из двух битов. Старший бит с именем Slot выставляет передающий узел рецессивного уровня. В случае, когда передача прошла успешно, приемный узел сигнализирует об этом установкой этого бита в доминантный уровень. Второй бит в этом поле является битом-разделителем рецессивного уровня.

 Поле конца кадра (EOF – End of Frame) состоит из семи битов рецессивного уровня.

После конца кадра (EOF) следует поле промежутка (Intermission Field), состоящее из трех битов рецессивного уровня. После этого промежутка шина считается свободной.