КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Обмен данными по шине CANДля дальнейшего рассмотрения угроз встроенным информационным системам автомобиля невозможно продолжить подробно, не описав принцип обмена данными по шине CAN, поскольку большинство угроз исходит именно от нее. CAN это ISO стандартизированный автомобильный сетевой протокол, который расшифровывается как «контроллерная сеть», стандарты относящееся к данному сетевому протоколу это ISO 11898 и ISO11519-2. Протокол CAN может быть использован как сеть типа A, B или C. [1] CAN шина это интерфейс состоящий из двух проводов, двух линий: · CAN+, CAN_H, CAN HIGH — сигнал положительного импульса; · CAN-, CAN_L, CAN LOW — сигнал отрицательного импульса. CAN – дифференциальный интерфейс и 0 - передается сразу по всем линиям (рис.1.1.), это сделано для того, что бы избавиться от шумов. В CAN 0 – активный сигнал, а 1 – пассивный, таким образом, 0 доминирует над 1 при передаче по данной шине, т.е если два датчика одновременно будут передавать данные на функциональный блок, то на него придет только 0, таким образом обеспечивается арбитраж доступа. [7]
Шина CAN это шина последовательной передачи данных, т.е передача битов от старшего к младшему, а 15-битовый циклический контроль избыточности обеспечивает высокий уровень целостности данных. Теоретически число подсоединяемых к ней устройств не ограничено. Скорость передачи данных задается программно (не более 1 Мбит/с) Обмен данными производится фреймами. Фрейм состоит из четырех основных полей(рис.1.2.): · идентификатор отправителя, он же является основой арбитража передачи данных; · управляющее поле; · данные; · контрольная сумма. Фрейм идет слева на право для того что бы реализовать метод недеструктивного арбитража.
Суть метода недеструктивного арбитража заключается в следующем (рис.1.3.): в случае, когда несколько контроллеров начинают одновременную передачу CAN-кадра в сеть, каждый из них сравнивает бит, который собирается передать на шину, с битом, который пытается передать на шину конкурирующий контроллер. Если значения этих битов равны, оба контроллера передают следующий бит, и так происходит до тех пор, пока значения передаваемых битов не окажутся различными. Теперь контроллер, который передавал логический ноль (более приоритетный сигнал), будет продолжать передачу, а другой (другие) контроллер прервет свою передачу до того времени, пока шина вновь не освободится. Конечно, если шина в данный момент занята, то контроллер не начнет передачу до момента ее освобождения.[1]
Итак, протокол CAN есть коммуникационная система, управляемая сообщениями, которые посылаются, если компьютер узла запрашивает передачу сообщения и канал не занят. Но если другие узлы в данный конкретный момент времени тоже хотят послать сообщение, то посылается сообщение с наибольшим приоритетом. [7]
|