Управления
Download 1.56 Mb. Pdf ko'rish
|
ftd
3.2.5. CAN-интерфейс
Контроллер локальной сети (CAN) был разработан автомобильной фирмой Robert Bosh в 1980 году. Этот интерфейс нашел широкое применение в автомо- бильной технике, системах автоматизации, медицинской технике и т.п. CAN соответствует семиуровневой эталонной модели иерархического представления сети открытых систем (OSI) и поддерживает ее два нижних уровня (рис. 3.8) [4]. 21 Рис. 3.8. Место интерфейса CAN в модели OSI Физический уровень CAN дает возможность оптимизировать протокол свя- зи для различных сред передачи данных (витая пара, однопроводная линия, оп- тический кабель, радиоканал, инфракрасное излучение). Международная Орга- низация Стандартов (ISO) и Общество Автомобильных Инженеров (SAE) опре- делили некоторые протоколы связи CAN интерфейса для двух нижних уровней эталонной модели иерархического представления сети: ISO11898 – стандарт для высокоскоростных приложений; ISO11519 – стандарт для низкоскоростных приложений; J1939 (SAE) – использование CAN в автомобильных приложениях. Все три протокола определяют пятивольтовую дифференциальную физиче- скую линию связи. Верхние уровни сетевой модели должны быть поддержаны программным обеспечением. Схема подключения устройств к интерфейсу CAN показана на рис. 3.9 [3]. 22 Рис. 3.9. Схема подключения устройств к интерфейсу CAN Каждый узел сети должен контролировать бездействие шины в течение не- которого времени, прежде чем послать сообщение. Как только обнаружено без- действие шины, все узлы сети имеют равную возможность передать данные. В CAN используется неразрушающий поразрядный арбитраж на шине, сохра- няющий сообщение не поврежденным при потере инициативы. Арбитраж по- зволяет передавать сообщения с высоким приоритетом, без каких-либо задер- жек и искажений. Логические уровни на шине определяются как «dominant» и «recessive». Узел передачи должен контролировать логическое состояние шины для начала передачи данных. На шине CAN логический бит 0 определяется как «dominant», а бит 1 как «recessive». Бит «dominant» всегда будет выигрывать арбитраж у «recessive» бита, поскольку имеет низкий уровень сигнала и более высокий приоритет. Каждый узел, передающий данные на шины, должен кон- тролировать наличие передаваемого бита на шине. Сообщение с более низким приоритетом будет формировать на шине бит «recessive», а при проверке обна- ружит бит «dominant», в этом случае узел, формирующий сообщение более низкого приоритета, теряет арбитраж. Узел, потерявший арбитраж, должен до- ждаться отсутствия активности на шине и повторить попытку передать данные. В CAN протоколе сообщения не являются адресными, т.е. сообщения не ад- ресуются от одного узла к другому. Сообщение содержит идентификатор ис- точника и собственно данные. Все узлы CAN сети могут принять каждое сооб- щение на шине и самостоятельно определить: данное сообщение должно быть отвергнуто или обработано. Например, в автомобиле датчик напряжения борто- вой сети подключен только к центральному маршрутизатору. Маршрутизатор передает данные, полученные с датчика напряжения, другим узлам автомобиля. При использовании CAN интерфейса все «заинтересованные» узлы получили бы самую «свежую» информацию с датчика напряжения минуя маршрутизатор. Другой полезной особенностью CAN протокола является возможность удален- ного запроса данных (RTR). В отличие от предыдущего случая, требуемые дан- ные не ожидаются, когда появятся на шине, а запрашиваются у конкретного уз- 23 ла. Проектировщик может использовать эту особенность для снижения трафика шины при сохранении целостности сети. Добавление нового узла в систему не требует перенастройки остальных устройств сети. Новый узел начинает прини- мать сообщения из сети на основе их идентификаторов. В CAN протоколе используется 4 типа сообщений. Первый тип (наиболее распространенный) – стандартное сообщение с 11-разрядным идентификатором (рис. 3.10), используется для передачи информации к любому или всем узлам сети. Второй тип сообщений имеет 29-разрядный идентификатор, также ис- пользуется для удаленного запроса данных (RTR) – показан на рис. 3.11. Два других типа сообщений используются для обработки ошибок. Рис. 3.10. Базовый формат кадра данных Рис. 3.11. Расширенный формат кадра данных С появлением новой версии CAN 2.0B, скорость связи увеличилась в 8 раз по сравнению с первым вариантом и составила 1 Мбит/с. Поскольку CAN ин- терфейс первоначально разрабатывался для использования в автомобилях, в его 24 протокол был заложен эффективный механизм обработки ошибок. Протокол позволяет обнаружить большинство ошибок, возникающих во время передачи данных, что сохраняет целостность сообщения с классификацией ошибок как кратковременные и постоянные. CAN узлы могут находиться в нескольких со- стояниях: активном – при нормальной работе узла, и пассивном – при обнару- жении большого количества ошибок. Такой подход гарантирует некоторую пропускную способность шины для критической информации. Неисправный узел не сможет монополизировать всю шину. Протокол CAN оптимизирован для систем, в которых должны передаваться относительно небольшие порции информации (по сравнению с Ethernet или USB, разработанных специально для больших объемов данных), направляемые к любому или всем узлам сети. Мно- жественный доступ с опросом состояния шины позволяет каждому узлу полу- чить доступ к шине с учетом приоритетов. Неадресная структура сообщений позволяет организовать многоабонентскую доставку данных с сокращением трафика шины. Быстрая устойчивая передача информации с системой контроля ошибок позволяет отключать неисправные узлы от шины, что гарантирует дос- тавку критичных по времени сообщений. Серийно выпускаются микросхемы подключения микроконтроллеров к ши- не CAN, например, микросхема MCP2551 преобразователя последовательных сигналов ТТЛ-уровня в физические уровни сигналов шины CAN. Download 1.56 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling