Расшифровка данных can шины

Видео:Экспресс диагностика CAN шины на автомобиле. №21Скачать

Экспресс диагностика CAN шины на автомобиле. №21

делимся данными CAN (Страница 1 из 2)

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Видео:CAN шина👏 Как это работаетСкачать

CAN шина👏 Как это работает

Сообщений с 1 по 25 из 50

1 Тема от gordon 10-03-2015 12:55:08

Тема: делимся данными CAN

предлагаю в данной теме выкладывать данные из реальных авто
марка /год / шина CAN/Lin .

2 Ответ от gordon 10-03-2015 14:20:08

Re: делимся данными CAN

203/463 (463248)
салоная шина
кнопки на руле

1A8 01 стрелка вверх
1A8 02 стрелка вниз
1A8 04 меню вниз
1A8 08 меню вверх
1A8 10 звук вверх
1A8 20 звук вниз
1A8 40 трубка вверх
1A8 80 трубка вниз
. next

3 Ответ от gordon 21-03-2015 14:49:05

Re: делимся данными CAN

«шатл » управления мультимедиа MB 204 (c-clk-glk. )
CAN A , 125kb
id
0xfb
0xfd
0x428
0x747
кнопка возврат
0xfd 0x02
кнопка С
0xfd 0x20
шатл наклон влево
0xfd xx xx 0x40
шатл наклон вправо
0xfd xx xx 0x04
шатл наклон вниз
0xfd xx xx 0x10
шатл наклон в верх
0xfd xx xx 0x01

4 Ответ от gordon 21-03-2015 15:51:38

Re: делимся данными CAN

кнопка шатла
0xfd xx 80
шатл поворот влево
значение -1( от значения в блоке )
0xfb xx xx xx xx xx xx 0x7F
шаг -1
0xfb xx xx xx xx xx xx 0x7e
шатл поворот вправо
значение +1( от значения в блоке )
0xfb xx xx xx xx xx xx 0x7F
шаг +1
0xfb xx xx xx xx xx xx 0x80

5 Ответ от gordon 23-03-2015 10:05:15

Re: делимся данными CAN

на повестки дня :221 шатл , KI , TSG(все ) SAM( все ) , OBF,MRM.
З.Ы может кто еще подключится ‘)

6 Ответ от gordon 24-03-2015 11:38:08

Re: делимся данными CAN

OBF 639(VIANO) САЛОННАЯ ШИНА 83.3kb
ID 0X2C
ID 405
0X2C XX 0X20( аварийка тригерная 0x00 выкл )
0x2c XX XX XX 0x04 левая сдвижная дверь открыть
0x2c XX XX XX 0x02 левая сдвижная дверь закрыть
0x2c XX 0x80 XX ХХ стеклоочиститель задней двери (тригер 0x00 )
0x2c XX 0x40 XX ХХ стеклоочиститель+стеклоомыватель задней двери
0x2c XX XX 0x80 XX PTS ON/OFF
0x2c 0X01 XX XX XX ASR ON/OFF
0x2c XX 0X01 XX XX HZ ON/OFF
0x2c 0X10 XX XX XX ЗАКРЫТИЕ ПЕРЕДНИХ ДВЕРЕЙ
0x2c 0X20 XX XX XX ЗАКРЫТИЕ ЗАДНИХ ДВЕРЕЙ
0x2c XX XX XX 0X40 ВКЛЮЧИТЬ СВЕТ В САЛОНЕ
0x2c XX XX XX 0X80 ВЫКЛЮЧИТЬ СВЕТ В САЛОНЕ
0x2c XX XX XX 0x10 правая сдвижная дверь открыть
0x2c XX XX XX 0x20 правая сдвижная дверь закрыть
.

7 Ответ от Arhimed 25-03-2015 00:57:42

Re: делимся данными CAN

Mercedes-Benz S W221 2005-2013гг
Управление задними сиденьями
CAN 125kb
Левое:
кн. спинка вперёд 1f3 80 10
спинка назад 1f3 80 20
подушка сиденья вперёд 1f3 81
подушка сиденья назад 1f3 82
подушка сиденья вниз 1f3 80 02
подушка сиденья вверх 1f3 80 01
вентиляция 1f3 80 00 01
подогрев 1f3 80 00 02
Состояние вентиляции:
3-я скорость 3bd 03
2-я скорость 3bd 02
1-я скорость 3bd 01
Cостояние подогрева:
3-я max 3bd 0d
2-я ср 3bd 09
1-я min 3bd 05
всё выкл 3bd 00
Правое:
команды регулировок все те же, только с идентификатором 1f4
Состояние вентиляции:
3-я скорость 3bd xx 03
2-я скорость 3bd xx 02
1-я скорость 3bd xx 01
Cостояние подогрева:
3-я max 3bd xx 0c
2-я ср 3bd xx 08
1-я min 3bd xx 04
всё выкл 3bd xx 0d
При одновременном включении вентиляции и подогрева соответственно сумма в шестнадцатиричной системе

8 Ответ от gordon 25-03-2015 09:14:23

Re: делимся данными CAN

Для полноты данных прошу выкладывать группу ID блока после подачи питания
id .
id.
id.
для полноты картины

9 Ответ от Arhimed 11-04-2015 01:25:12 (12-04-2015 22:57:55 отредактировано Arhimed)

Re: делимся данными CAN

Mercedes-Benz S W221
Группа кнопок на центральной консоли (телефон)
Lin 9600
ID 01
Отклонение вызова — 01| XX 40
CLEAR — 01| XX 04
Принятие вызова — 01| XX 10
1 — 01| 01 XX
2 — 01| 02 XX
3 — 01| 04 XX
4 — 01| 08 XX
5 — 01| 10 XX
6 — 01| 20 XX
7 — 01| 40 XX
8 — 01| 80 XX
9 — 01| XX 01
* — 01| XX 20
0 — 01| XX 02
# — 01| XX 08

10 Ответ от Константин, CANNY 02-05-2015 21:05:36

Re: делимся данными CAN

11 Ответ от gordon 07-08-2015 10:15:34

Re: делимся данными CAN

bmw 8x( на мини тоже )CAN 100kbit
0x0A8 54 D7 2B D0 2B F0 0F 02 Torque, Clutch and Brake status
0x0AA 5F 59 FF 00 34 0D 80 99 Engine RPM and throttle position
0x0C0 F4 FF ABS / Brake counter
0x0C4 83 FD FC 00 00 FF F1 Steering Wheel position (See 0C8)
0x0C8 DD 07 FC 00 00 FF Steering Wheel position (Sent 2x often 0C4)
0x0CE DA 02 DC 02 DC 02 D9 02 Individual Wheel Speeds (4x Pairs)
0x0D7 C3 FF Counter (Airbag / Seatbelt Related)
0x0E2 81 FF E7 FC FF FF FF FF Passenger door status Unlocked, Open
0x0E6 81 FF E7 FC FF FF FF FF Rear Passenger door status Unlocked, Open
0x0EA 81 FF E7 FC FF FF FF FF Driver door status Unlocked, Open
0x0EE 81 FF E7 FC FF FF FF FF Rear Driver door status Unlocked, Open
0x0F2 F1 FF 87 C0 FF FF FF FF Boot status Unlocked, release button, Open
0x0FA C0 00 FF Electric Window controls (Driver controls)
0x0FB C7 FF FF Electric Window controls (Front Passenger)
0x130 45 40 21 8F FE Ignition and Key status (Term 15 / R ON?)
0x193 27 FE F1 00 F8 50 00 00 Timer & Cruise control status
0x19E 00 E0 B3 FC F0 43 00 65 ABS / Braking force
0x1A6 13 4D 46 4D 33 4D D0 FF Speed, as used by the instrument cluster
0x1B4 00 D0 E0 F8 00 32 FE 91 Speed [MPH] Handbrake status
0x1C2 8D 72 5B 5A FF FF FF FF PDC (Reverse) / (Front) Sensor data
0x1D0 4C FF 63 CD 5D 37 CD A8 Engine temp, Pressure sensor & Handbrake
0x1D6 C0 0C MFL (Steering Wheel) Buttons
0x1E1 D4 F1 00 FF FF FF Counter and Door Status (200mS intervals)
0x1E3 F1 FF Interior Light Switch
0x1EE 00 FF Indicator Stalk position
0x1F6 80 F0 Indicator Status
0x202 54 FF Lights (Dimmer Status)
0x21A 05 12 F7 Lighting Status
0x23A 00 30 00 60 Remote Control Keyfob Actions
0x246 3F F3 00 FC FF Air Con, Demister Status
0x24A 06 FF Reverse Status
0x24B 00 F8 Door status, similar to 2FC
0x252 CE FF Windscreen Wiper Status
0x264 E1 FD 21 A2 7F 1E iDrive Controller (Rotary Control)
0x267 E1 FD CC 01 DE 01 iDrive Controller (Direction / Buttons)
0x26E 00 40 7F 50 FF FF FF FF Ignition Status
0x273 1D E1 00 F0 FF 7F DE 04 CCC / CIC Status
0x277 E1 9D 04 FF iDrive controller reply to 0x273
0x286 00 FF Rear View Mirror, Light sensor
0x2A6 00 F9 Windscreen Wiper Controls
0x2B4 00 F2 Door locking (Via Remote Control)
0x2B8 31 00 F0 00 00 E3 Reset Av Fuel / Speed
0x2BA 00 00 00 00 10 Counter (Toggle / Heartbeat)
0x2CA 61 FF Outside temperature
0x2D6 FF FC FF Air Conditioning Status
0x2E6 64 00 00 FF 00 01 3F 34 Climate control status (Fan and Temp speed)
0x2EA FF FF FF FF FF FF FF 34 Climate control status (Passenger)
0x2F8 13 2E 1E 01 4F DC 07 FD Report Time and Date
0x2FC 81 01 00 FF FF FF FF Door Status
0x328 16 83 A2 04 DE 11 1 Second count from battery removal / reset
0x32E 00 FF 8F 63 6A 00 2E 0F Internal Temp, Light and solar sensors
0x330 7A 5A 00 2D 29 2F 9C 34 Odometer, Av Fuel, and Range
0x349 76 0F BE 1A 00 Fuel Level sensors
0x34F FE FF Handbrake status
0x362 AE F3 1E FF FF FF EA Average MPH & Average MPG
0x366 78 50 14 FC Ext Temp & Range
0x380 56 xx 35 32 38 37 xx VIN Number
0x394 48 0F 10 6B 00 88 58 01 Hours / Distance since last service.
0x39E 0B 10 00 0D 1F DF 07 F2 Set Time and Date
0x3B0 FD FF Reverse Status
0x3B4 A6 F3 00 FC FF FF FF FF Battery Voltage & Charge status
0x3B6 00 FC F0 Passenger Front Window status
0x3B7 41 F5 F8 Driver Rear Window status
0x3B8 00 FC F0 Driver Front Window status
0x3B9 41 F5 F8 Passenger Rear Window status
0x581 40 4D 00 28 FF FF FF FF Seatbelt Status
0x7C3 xx xx xx xx xx xx xx xx Keyfob (security, comfort and CBS data)

Читайте также: Авиационные шины для сельхозтехники

Видео:Подробно про CAN шинуСкачать

Подробно про CAN шину

Краткий обзор протокола CAN. Часть I

По материалам компании Kvaser

Эта статья не претендует на полноту и абсолютную точность сведений, указанных в ней, и предназначена для ознакомления с протоколом CAN.

Содержание статьи

Шина CAN – Введение

Протокол CAN является стандартом ISO (ISO 11898) в области последовательной передачи данных. Протокол был разработан с прицелом на использование в транспортных приложениях. Сегодня CAN получил широкое распространение и используется в системах автоматизации промышленного производства, а также на транспорте.

Стандарт CAN состоит из физического уровня и уровня передачи данных, определяющего несколько различных типов сообщений, правила разрешения конфликтов при доступе к шине и защиту от сбоев.

Протокол CAN

Протокол CAN описан в стандарте ISO 11898–1 и может быть кратко охарактеризован следующим образом:

• физический уровень использует дифференциальную передачу данных по витой паре;

• для управления доступом к шине используется неразрушающее bit–wise разрешение конфликтов;

• сообщения имеют малые размеры (по большей части 8 байт данных) и защищены контрольной суммой;

• в сообщениях отсутствуют явные адреса, вместо этого каждое сообщение содержит числовое значение, которое управляет его очередностью на шине, а также может служить идентификатором содержимого сообщения;

• продуманная схема обработки ошибок, обеспечивающая повторную передачу сообщений, если они не были получены должным образом;
• имеются эффективные средства для изоляции сбоев и удаления сбойных узлов с шины.

Протоколы более высоких уровней

Сам по себе протокол CAN определяет всего лишь, как малые пакеты данных можно безопасно переместить из точки A в точку B посредством коммуникационной среды. Он, как и следовало ожидать, ничего не говорит о том, как управлять потоком; передавать большое количество данных, нежели помещается в 8–байтное сообщение; ни об адресах узлов; установлении соединения и т.п. Эти пункты определяются протоколом более высокого уровня (Higher Layer Protocol, HLP). Термин HLP происходит из модели OSI и её семи уровней.

Протоколы более высокого уровня используются для:

• стандартизации процедуры запуска, включая выбор скорости передачи данных;

• распределения адресов среди взаимодействующих узлов или типов сообщений;

• определения разметки сообщений;
• обеспечения порядка обработки ошибок на уровне системы.

Пользовательские группы и т.п.

Одним из наиболее эффективных способов повышения вашей компетентности в области CAN является участие в работе, осуществляемой в рамках существующих пользовательских групп. Даже если вы не планируете активно участвовать в работе, пользовательские группы могут являться хорошим источником информации. Посещение конференций является ещё одним хорошим способом получения исчерпывающей и точной информации.

Продукты CAN

На низком уровне принципиально различают два типа продуктов CAN, доступных на открытом рынке – микросхемы CAN и инструменты разработки CAN. На более высоком уровне – другие два типа продуктов: модули CAN и инструменты проектирования CAN. Широкий спектр данных продуктов доступен на открытом рынке в настоящее время.

Патенты в области CAN

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

Системы распределённого управления

Протокол CAN является хорошей основой для разработки систем распределённого управления. Метод разрешения конфликтов, используемый CAN, обеспечивает то, что каждый узел CAN будет взаимодействовать с теми сообщениями, которые относятся к данному узлу.

Систему распределённого управления можно описать как систему, вычислительная мощность которой распределена между всеми узлами системы. Противоположный вариант – система с центральным процессором и локальными точками ввода–вывода.

Сообщения CAN

Шина CAN относится к широковещательным шинам. Это означает, что все узлы могут «слушать» все передачи. Не существует возможности послать сообщение конкретному узлу, все без исключения узлы будут принимать все сообщения. Оборудование CAN, однако, обеспечивает возможность локальной фильтрации, так что каждый модуль может реагировать только на интересующее его сообщение.

Адресация сообщений CAN

CAN использует относительно короткие сообщения – максимальная длина информационного поля составляет 94 бита. В сообщениях отсутствует явный адрес, их можно назвать контентно–адрессованными: содержимое сообщения имплицитно (неявным образом) определяет адресата.

Типы сообщений

Существует 4 типа сообщений (или кадров), передающихся по шине CAN:

• удаленный кадр (Remote Frame);

• кадр перегрузки (Overload Frame).

Кадр данных

Кратко: «Всем привет, есть данные с маркировкой X, надеюсь вам понравятся!»
Кадр данных – самый распространенный тип сообщения. Он содержит в себе следующие основные части (некоторые детали не рассматриваются для краткости):

• Поле арбитража (Arbitration Field), которое определяет очередность сообщения в том случае, когда за шину борятся два или более узла. Поле арбитража содержит:

• В случае CAN 2.0A, 11–битный идентификатор и один бит, бит RTR который является определяющим для кадров данных.

Читайте также: Кто делает шины michelin

• В случае CAN 2.0B, 29–битный идентификатор (который также содержит два рецессивных бита: SRR и IDE) и бит RTR.

• Поле данных (Data Field), которое содержит от 0 до 8 байт данных.

• Поле CRC (CRC Field), содержащее 15–битную контрольную сумму, посчитанную для большинства частей сообщения. Эта контрольная сумма используется для обнаружения ошибок.

• Слот распознавания (Acknowledgement Slot). Каждый контроллер CAN, способный корректно получить сообщение, посылает бит распознавания (Acknowledgement bit) в конце каждого сообщения. Приемопередатчик проверяет наличие бита распознавания и, если таковой не обнаруживается, высылает сообщение повторно.

Примечание 1: Присутствие на шине бита распознавания не значит ничего, кроме того, что каждый запланированный адресат получил сообщение. Единственное, что становится известно, это факт корректного получения сообщения одним или несколькими узлами шины.

Примечание 2: Идентификатор в поле арбитража, несмотря на свое название, необязательно идентифицирует содержимое сообщения.

Кадр данных CAN 2.0B («cтандартный CAN»).

Кадр данных CAN 2.0B («расширенный CAN»).

Удаленный кадр

Кратко: «Всем привет, кто–нибудь может произвести данные с маркировкой X?»
Удаленный кадр очень похож на кадр данных, но с двумя важными отличиями:

• он явно помечен как удаленный кадр (бит RTR в поле арбитража является рецессивным), и

Основной задачей удаленного кадра является запрос на передачу надлежащего кадра данных. Если, скажем, узел A пересылает удаленный кадр с параметром поля арбитража равным 234, то узел B, если он должным образом инициализирован, должен выслать в ответ кадр данных с параметром поля арбитража также равным 234.

Удаленные кадры можно использовать для реализации управления трафиком шины типа «запрос–ответ». На практике, однако, удаленный кадр используется мало. Это не так важно, поскольку стандарт CAN не предписывает действовать именно так, как здесь обозначено. Большинство контроллеров CAN можно запрограммировать так, что они будут автоматически отвечать на удаленный кадр, или же вместо этого извещать локальный процессор.

Есть одна уловка, связанная с удаленным кадром: код длины данных (Data Length Code) должен быть установлен длине ожидаемого ответного сообщения. В противном случае разрешение конфликтов работать не будет.

Иногда требуется чтобы узел, отвечающий на удаленный кадр, начинал свою передачу как только распознавал идентификатор, таким образом «заполняя» пустой удаленный кадр. Это другой случай.

Кадр ошибки (Error Frame)

Кратко (все вместе, громко): «О, ДОРОГОЙ, ДАВАЙ ПОПРОБУЕМ ЕЩЁ РАЗОК»
Кадр ошибки (Error Frame) – это специальное сообщение, нарушающее правила формирования кадров сообщения CAN. Он посылается, когда узел обнаруживает сбой и помогает остальным узлам обнаружить сбой – и они тоже будут отправлять кадры ошибок. Передатчик автоматически попробует послать сообщение повторно. Наличествует продуманная схема счетчиков ошибок, гарантирующая, что узел не сможет нарушить передачу данных по шине путём повторяющейся отсылки кадров ошибки.

Кадр ошибки содержит флаг ошибки (Error Flag), который состоит из 6 бит одинакового значения (таким образом нарушая правило вставки битов) и разграничителя ошибки (Error Delimiter), состоящего из 8 рецессивных бит. Разраничитель ошибки предоставляет некоторое пространство, в котором другие узлы шины могут отправлять свои флаги ошибки после того, как сами обнаружат первый флаг ошибки.

Кадр перегрузки (Overload Frame)

Кратко: «Я очень занятой 82526 маленький, не могли бы вы подождать минуточку?»
Кадр перегрузки упоминается здесь лишь для полноты картины. По формату он очень похож на кадр ошибки и передается занятым узлом. Кадр перегрузки используется нечасто, т.к. современные контроллеры CAN достаточно производительны, чтобы его не использовать. Фактически, единственный контроллер, который будет генерировать кадры перегрузки – это ныне устаревший 82526.

Стандартный и расширенный CAN

Изначально стандарт CAN установил длину идентификатора в поле арбитража равной 11 битам. Позже, по требованию покупателей стандарт был расширен. Новый формат часто называют расширенным CAN (Extended CAN), он позволяет использовать не менее 29 бит в идентификаторе. Для различения двух типов кадров используется зарезервированный бит в поле управления Control Field.

Формально стандарты именуются следующим образом –

• 2.0A – только с 11–битными идентификаторами;
• 2.0B – расширенная версия с 29–битными или 11–битными идентификаторами (их можно смешивать). Узел 2.0B может быть

• 2.0B active (активным), т.е. способным передавать и получать расширенные кадры, или

• 2.0B passive (пассивным), т.е. он будет молча сбрасывать полученные расширенные кадры (но, смотрите ниже).

• 1.x – относится к оргинальной спецификации и её ревизиям.

В настоящее время новые контроллеры CAN обычно относятся к типу 2.0B. Контроллер типа 1.x или 2.0A прибудет в замешательство, получив сообщения с 29 битами арбитража. Контроллер 2.0B пассивного типа примет их, опознает, если они верны и, затем – сбросит; a контроллер 2.0B активного типа сможет и передавать, и получать такие сообщения.

Контроллеры 2.0B и 2.0A (равно, как и 1.x) совместимы. Можно использовать их все на одной шине до тех пор, пока контроллеры 2.0B будут воздерживаться от рассылки расширенных кадров.

Иногда люди заявляют, что стандартный CAN «лучше» расширенного CAN, потому что в сообщениях расширенного CAN больше служебных данных. Это необязательно так. Если вы используете поле арбитража для передачи данных, то кадр расширенного CAN может содержать меньше служебных данных, чем кадр стандартного CAN.

Основной CAN (Basic CAN) и полный CAN (Full CAN)

Термины Basic CAN и Full CAN берут начало в «детстве» CAN. Когда–то существовал CAN–контроллер Intel 82526, предоставлявший программисту интерфейс в стиле DPRAM. Потом появился Philips с моделью 82C200, в котором применялась FIFO–ориентированная модель программирования и ограниченные возможности фильтрации. Для обозначения различия между двумя моделями программирования, люди стали называть способ Intel – Full CAN, а способ Philips – Basic CAN. Сегодня большинство контроллеров CAN поддерживают обе модели программирования, поэтому нет смысла в использовании терминов Full CAN и Basic CAN – фактически, эти термины могут вызвать неразбериху и стоит воздержаться от их употребления.

В действительности, контроллер Full CAN может взаимодействовать с контроллером Basic CAN и наоборот. Проблемы с совместимостью отсутствуют.

Разрешение конфликтов на шине и приоритет сообщения

Разрешение конфликтов сообщений (процесс, в результате которого два или более контроллера CAN решают, кто будет пользоваться шиной) очень важно для определения реальной доступности полосы пропускания для передачи данных.

Любой контроллер CAN может начать передачу, когда обнаружит, что шина простаивает. Это может привести к тому, что два или более контроллеров начнут передачу сообщения (почти) одновременно. Конфликт решается следующим образом. Передающие узлы осуществляют мониторинг шины в процессе отправки сообщения. Если узел обнаруживает доминантный уровень в то время, как сам он отправляет рецессивный уровень, он незамедлительно устранится от процесса разрешения конфликта и станет приемником. Разрешение конфликтов осуществляется по всему полю арбитража, и после того, как это поле отсылается, на шине остается только один передатчик. Данный узел продолжит передачу, если ничего не случится. Остальные потенциальные передатчики попытаются передать свои сообщения позже, когда шина освободится. В процессе разрешения конфликта время не теряется.

Важным условием для благополучного разрешения конфликта является невозможность ситуации, при которой два узла могут передать одинаковое поле арбитража. Из этого правила есть одно исключение: если сообщение не содержит данных, то любой узел может передавать это сообщение.

Поскольку, CAN–шина является шиной с подсоединением устройств по типу «монтажное И» (wired–AND) и доминантный бит (Dominant bit) является логическим 0, следовательно сообщение с самым низким в численном выражении полем арбитража выиграет в разрешении конфликта.

Читайте также: Шины nokian nordman в минске

Вопрос: Что произойдет в случае, если единственный узел шины попытается отослать сообщение?

Ответ: Узел, разумеется, выиграет в разрешении конфликта и успешно проведет передачу сообщения. Но когда наступит время распознавания… ни один узел не отправит доминантный бит области распознавания, поэтому передатчик определит ошибку распознавания, пошлет флаг ошибки, повысит значение своего счетчика ошибок передачи на 8 и начнет повторную передачу. Этот цикл повторится 16 раз, затем передатчик перейдет в статус пассивной ошибки. В соответствии со специальным правилом в алгоритме ограничения ошибок, значение счетчика ошибок передачи не будет более повышаться, если узел имеет статус пассивной ошибки и ошибка является ошибкой распознавания. Поэтому узел будет осуществлять передачу вечно, до тех пор, пока кто–нибудь не распознает сообщение.

Адресация и идентификация сообщения

Повторимся, нет ничего страшного в том, что в сообщениях CAN нет точных адресов. Каждый контроллер CAN будет получать весь траффик шины, и при помощи комбинации аппаратных фильтров и ПО, определять – «интересует» его это сообщение, или нет.

Фактически, в протоколе CAN отсутствует понятие адреса сообщения. Вместо этого содержимое сообщения определяется идентификатором, который находится где–то в сообщении. Сообщения CAN можно назвать «контентно–адрессовнными».

Определённый адрес работает так: «Это сообщение для узла X». Контентно–адресованное сообщение можно описать так: «Это сообщение содержит данные с маркировкой X». Разница между этими двумя концепциями мала, но существенна.

Содержимое поле арбитража используется, в соответствии со стандартом, для определения очередности сообщения на шине. Все контроллеры CAN будут также использовать всё (некоторые – только часть) поле арбитража в качестве ключа в процессе аппаратной фильтрации.

Стандарт не говорит, что поле арбитража непременно должно использоваться в качестве идентификатора сообщения. Тем не менее, это очень распространенный вариант использования.

Примечание о значениях идентификатора

Мы говорили, что идентификатору доступны 11 (CAN 2.0A) или 29 (CAN 2.0B) бит. Это не совсем верно. Для совместимости с определенным старым контроллером CAN (угадайте каким?), идентификаторы не должны иметь 7 старших бит установленных в логическую единицу, поэтому 11–битным идентификаторам доступны значения 0..2031, а пользователи 29–битных идентификаторов могут использовать 532676608 различных значений.

Заметьте, что все остальные контроллеры CAN принимают «неправильные» идентификаторы, поэтому в современных системах CAN идентификаторы 2032..2047 могут использоваться без ограничений.

Физические уровни CAN

Шина CAN использует код без возвращения к нулю (NRZ) с вставкой битов. Существуют два разных состояния сигнала: доминантное (логический 0) и рецессивное (логическая 1). Они соответствуют определенным электрическим уровням, зависящим от используемого физического уровня (их несколько). Модули подключены к шине по схеме «монтажное И» (wired–AND): если хотя бы один узел переводит шину в доминантное состояние, то вся шина находится в этом состоянии, вне зависмости от того, сколько узлов передают рецессивное состояние.

Различные физические уровни

Физический уровень определяет электрические уровни и схему передачи сигналов по шине, полное сопротивление кабеля и т.п.

Существует несколько различных версий физических уровней: • Наиболее распространенным является вариант, определенный стандартом CAN, часть ISO 11898–2, и представляющий собой двухпроводную сбалансированную сигнальную схему. Он также иногда называется high–speed CAN.

• Другая часть того же стандарта ISO 11898–3 описывает другую двухпроводную сбалансированную сигнальную схему – для менее скоростной шины. Она устойчива к сбоям, поэтому передача сигналов может продолжаться даже в том случае, когда один из проводов будет перерезан, замкнут на «землю» или в состоянии Vbat. Иногда такая схема называется low–speed CAN.

• SAE J2411 описывает однопроводной (плюс «земля», разумеется) физический уровень. Он используется в основном в автомобилях – например GM–LAN.

• Существуют несколько проприетарных физических уровней.

• В былые времена, когда драйверов CAN не существовало, использовались модификации RS485.

Различные физические уровни как правило не могут взаимодействовать между собой. Некоторые комбинации могут работать (или будет казаться, что они работают) в хороших условиях. Например, приемопередатчики high–speed и low–speed могут работать на одной шине лишь иногда.

Абсолютное большинство микросхем приемопередатчиков CAN произведено компанией Philips; в число других производителей входят Bosch, Infineon, Siliconix и Unitrode.

Наиболее распространен приемопередатчик 82C250, в котором реализован физический уровень, описываемый стандартом ISO 11898. Усовершенствованная версия – 82C251.

Распространенный приемопередатчик для «low–speed CAN» – Philips TJA1054.

Максимальная скорость передачи данных по шине

Максимальная скорость передачи данных по шине CAN, в соответствии со стандартом, равна 1 Мбит/с. Однако некоторые контроллеры CAN поддерживают скорости выше 1 Мбит/с и могут быть использованы в специализированных приложениях.

Low–speed CAN (ISO 11898–3, см. выше) работает на скоростях до 125 кбит/с.

Однопроводная шина CAN в стандартном режиме может передавать данные со скоростью порядка 50 кбит/с, а в специальном высокоскоростном режиме, например для программирования ЭБУ (ECU), около 100 кбит/с.

Минимальная скорость передачи данных по шине

Имейте в виду, что некоторые приемопередатчики не позволят вам выбрать скорость ниже определенного значения. Например, при использовании 82C250 или 82C251 вы можете без проблем установить скорость 10 кбит/с, но если вы используете TJA1050, то не сможете установить скорость ниже 50 кбит/с. Сверяйтесь со спецификацией.

Максимальная длина кабеля

При скорости передачи данных 1 Мбит/с, максимальная длина используемого кабеля может составлять порядка 40 метров. Это связано с требованием схемы разрешения конфликтов, согласно которому фронт волны сигнала должен иметь возможность дойти до самого дальнего узла и вернуться назад прежде чем бит будет считан. Иными словами, длина кабеля ограничена скоростью света. Предложения по увеличению скорости света рассматривались, но были отвергнуты в связи с межгалактическими проблемами.

Другие максимальные длины кабеля (значения приблизительные):

• 500 метров при 125 кбит/с;
• 6 километров при 10 кбит/с.

Если для обеспечения гальванической изоляции используются оптопары, максимальная длина шины соответственно сокращается. Совет: используйте быстрые оптопары, и смотрите на задержку сигнала в устройстве, а не на максимальную скорость передачи данных в спецификации.

Оконечное прерывание шины

Шина CAN стандарта ISO 11898 должна заканчиваться терминатором. Это достигается путем установки резистора сопротивлением 120 Ом на каждом конце шины. Терминирование служит двум целям:

1. Убрать отражения сигнала на конце шины.

2. Убедиться, что получает корректные уровни постоянного тока (DC).

Шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Я повторю: шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Для лабораторной работы может хватить и одного терминатора. Если ваша шина CAN работает даже при отсутствии терминаторов – вы просто счастливчик.

Заметьте, что другие физические уровни, такие как low–speed CAN, однопроводная шина CAN и другие, могут требовать, а могут и не требовать наличия оконечного терминатора шины. Но ваша высокоскоростная шина CAN стандарта ISO 11898 всегда будет требовать наличия хотя бы одного терминатора.

Стандарт ISO 11898 предписывает, что волновое сопротивление кабеля номинально должно равнятся 120 Ом, однако допускается интервал значений сопротивления [108..132] Ом.

Немногие, из присутствующих сегодня на рынке, кабели удовлетворяют этим требованиям. Есть большая вероятность, что интервал значений сопротивления будет расширен в будущем.

ISO 11898 описывает витую пару, экранированную или неэкранированную. Идёт работа над стандартом однопроводного кабеля SAE J2411.

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле


    📽️ Видео

    Поиск уровня топлива в CAN шине Toyota Camry 2017Скачать

    Поиск уровня топлива в CAN шине Toyota Camry 2017

    MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

    MCP2515, контроллер CAN шины с интерфейсом SPI

    CAN-шина, простой поиск данных в кан шине автомобиля. Как расшифровать и найти данные в кан шине?Скачать

    CAN-шина, простой поиск данных в кан шине автомобиля. Как расшифровать и найти данные в кан шине?

    Вебинар: Как найти любые данные из CAN-шины любого автомобиля?Скачать

    Вебинар: Как найти любые данные из CAN-шины любого автомобиля?

    лекция 403 CAN шина- введениеСкачать

    лекция 403  CAN шина- введение

    Компьютерная диагностика авто. K-линия и CAN шинаСкачать

    Компьютерная диагностика авто. K-линия и CAN шина

    Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать

    Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus network

    CAN Считывание и определение данных уровня топлива из CAN шиныСкачать

    CAN  Считывание и определение данных уровня топлива из CAN шины

    поиск нерабочей can шины, часть дваСкачать

    поиск нерабочей can шины, часть два

    Кан шина, что это? Поймет школьник! принцип работыСкачать

    Кан шина, что это? Поймет школьник! принцип работы

    #10. Как отправлять сообщения и команды в CAN-шину для управления автомобилем?Скачать

    #10. Как отправлять сообщения и команды в CAN-шину для управления автомобилем?

    CAN шина простыми словами на примере Nissan X-TrailСкачать

    CAN шина простыми словами на примере Nissan X-Trail

    Блокировка can-шины в фаре Toyota/Lexus. Шок для опытных установщиков. Зачем думать и читать схемыСкачать

    Блокировка can-шины в фаре Toyota/Lexus. Шок для опытных установщиков. Зачем думать и читать схемы

    Для чего служит CAN-шина в сигнализацииСкачать

    Для чего служит CAN-шина в сигнализации

    Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".Скачать

    Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".

    CAN шина грузовиков, автобусов, спецтехники описание протокола FMS чтение данных #CANBUS #J1939Скачать

    CAN шина грузовиков, автобусов, спецтехники описание протокола FMS чтение данных #CANBUS #J1939

    Поиск неисправности в шине CAN мультиметром. Suzuki Grand Vitara. U1073, P1674, B1553.Скачать

    Поиск неисправности в шине CAN мультиметром. Suzuki Grand Vitara. U1073, P1674, B1553.
Поделиться или сохранить к себе:
Технарь знаток