Вы находитесь на странице: 1из 48

Шина CAN на автомобилях

Скания

Разъем шины CAN на Разъемы шины CAN на


автомобилях Скания 4 серии автомобилях Скания 5 серии
CAN = Controller Area Network
• Протокол CAN разработан для автомобильной
промышленности совместно фирмами INTEL и BOSCH
• Протокол CAN описан в стандарте ISO 11898
Шина CAN может быть
Высокоскоростная (скорость передачи информации до 1 Мбит/сек)
(используется на автомобилях и автобусах Scania, скорость 0,125 и 0,25 Мбит/сек)
Низкоскоростная (скорость передачи информации до 0,125 Мбит/сек) (в отличие от
высокоскоростной передача не прерывается при обрыве одного из проводов)
Однопроводная – LAN (скорость передачи информации до 0,05 Мбит/сек)
(используется на легковых автомобилях)
EMS 00 GMS 03 BMS 0B RET 10

ICL 17 LAS 1D VIS 1E COO 27

BWS 2E SMS 2F APS 30 TCO EE


Структура сообщения
• Идентификатор (см
рашифровку на
следующем слайде)
В зависимости от шины СAN идентификатор
• DLC = Data Length Code
может содержать 11(CAN Brake, CAN кузова
автобуса) или 29 бит (CAN Powertrain) Количество байтов
информации в сообщении.
Всегда 8 байтов
29
• CRC = Контрольная
сумма (вычисляется
автоматически контроллером
CAN)
• АСК = Подтверждение
приема (при правильном
приеме сообщения каждый
блок управления посылает
доминантный бит)
Структура IDENTIFIER
• Приоритет
Важен в случае, если 2 сообщения
начинают передаваться одновременно,
Самый высокий приоритет 000 (3
доминантных бита подряд)
• Что содержится в блоке данных
Для сообщений в стандарте J1939
опубликован справочник J1939-71
Если сообщение нестандартное (т.е.
используется только в Скании), в его
наименование входит слово Proprietary
• Для кого предназначены данные
В случае, если адрес находится в
диапазоне 0 – 239, данное сообщение
предназначено для конкретного устройства
(см список адресов). Если адрес 240-255,
это широковещательное сообщение
• Кто передает сообщение (см список
адресов)

Пример – сообщение ТСО 1 от тахографа

0С FE 6C EE = 0 1100 1111 1110 0100 1100 1110 1110:


011 – Приоритет 3, 0 – резервный бит, 0 – количество данных (0 – 8 байт), 1111 1110
(FE = 254) информация для всех потребителей, 1110 1110 (ЕЕ) источник - тахограф
Описание информации, содержащейся в сообщениях CAN

Стандарт J1939-71 SAE. Всем доступен (за деньги)

Руководство по промышленным и Руководство по установке


морским двигателям SCANIA дополнительного кузовного
оборудования (Bodybuilder manual)
SCANIA
Пример описания сообщений в руководстве по промышленным двигалелям
Cообщения, принимаемые EMS
Наименование идентификатор что содержит
Пример описания сообщений в руководстве по промышленным двигалелям

Спецификация сообщения
(сообщение от координатора DLN1-Proprietary)

• 1 столбец –
номер байта
• 2 – номер бита
• 3 – длина
информации
(бит)
Пример, CAN-сообщение посылается
каждые 20 ms

4V CAN H
2.5 V
CAN L
1V

20 ms

1 0 1 1 0 0 1 0 1 0 0 ...... 29 bits Identifier + 64 bits of data

4 µs ( 250 kBit/s )
Байт, бит, двоичное, шестнадцатиричное,
десятичное представление....
1 Байт = 8 Бит
При помощи 8 бит можно представить 256 различных чисел, ( 28 = 256 ).

Двоичное Шестнадцатиричное Десятичное


0000 0000 00 0
0000 0001 01 1
0000 0010 02 2
0000 0011 03 3
0000 0100 04 4
0000 0101 05 5
0000 0110 06 6
0000 0111 07 7
0000 1000 08 8
0000 1001 09 9
0000 1010 0A 10
0000 1011 0B 11
0000 1100 0C 12
0000 1101 0D 13
0000 1110 0E 14
0000 1111 0F 15
0001 0000 10 16
0001 0001 11 17
. . .
. . .
. . .
1111 1110 FE 254
1111 1111 FF 255
Байт, бит, двоичное,
шестнадцатиричное,
десятичное представление....

bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1


27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1

Пример перевода двоичного числа 01 01 00 11 в десятичное

0101 0011 0 1 0 1 0 0 1 1
* * * * * * * *
128 64 32 16 8 4 2 1
= 0 + 64 + 0 + 16 + 0 + 0 + 2 + 1 = 83
Идентификатор сообщения координатора
DLN1 - Proprietary (allspeed engine)
Identifier Tmin Tmax PGN Default R1 DP Source Destination Group
Priority Extension
0C FF 80 27 20 20 00 FF 80 3 0 0 27 00 80

Частота повторения сообщения 50 Гц, (одно сообщение каждые 20 ms)

0 C F F 8 0 2 7
0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1
not used Prio R DP PF (PDU format) PS (PDU specific) SA (Source Adress)

Биты приоритета: 000 = Высший приоритет, 111 = Низший приоритет

R, DP, PF and PS: составляют PGN - Parameter Group Number определяющий содержание сообщения в соответствии с J1939.

Если значение PF составляет FF, содержание сообщения определяется изготовителем транспортного средства (proprietary)
Байт, используемый для передачи информации о состоянии переключателей

Пример 0С FF 80 27 – cообщение Координатора, байт 3


8 7 6 5 4 3 2 1
x x x
0 x1 x0 x
0 x
0 x1
Low idle выключатель
концевой switch холостого хода
Kickdownвыключатель
концевой switch Kick Down
Engine двигателя
Запуск start
Engine stopдвигателя
Остановка (with error code) 01 Сигнал активен
00 Сигнал неактивен
Педаль акселератора нажата 10 Ошибка
11 Сигнал недоступен
Педаль акселератора нажата не полностью
( выключатель Kick down неактивен) (если в расшифровке не
оговорено другое значение)
Координатор посылает команду блоку EMS
на включение стартера
Как на практике перевести число из десятичного представления в двоичное?

Достаем калькулятор
START
All Programs
Accessories
Calculator
Переводим калькулятор в режим Scientific
Вводим интересующее нас число
Нажав кнопку BIN, переводим число в двоичное
представление

Внимание! Если старшие биты = 0, они не выводятся на экран


Если Вы видите 1 01 00 11 (всего 7 битов), число соответствует 01 01 00 11
Представление аналоговой информации с невысокой точностью (1%, 0.4%)
(Давление, температура, крутящий момент и т.п.)
В описании сообщения указывается разрешение (т.е какому изменению
параметра соответствует изменение байта на одну единицу) и Offset
(определяет, при каком значении байта параметр становится нулевым)
Температура охлаждающей жидкости (разрешение 1 оС, Offset 40)
18FEEE00 64 255 255 255 255 255 255 255
18FEEE00 64 255 255 255 255 255 255 255
18FEEE00 65 255 255 255 255 255 255 255
T = 65 – 40 = 25oC В случае, если сигнал недоступен (не законфигурирован датчик) – 255
если датчик неисправен (ошибка) – 254
Фактический момент двигателя (разрешение 1%, Offset 125) 0С F0 04 00 байт3

Offset
Представление аналоговой информации с высокой точностью
(два и более байт)
(Пример – частота вращения двигателя, скорость автомобиля)

Частота вращения двигателя (0С F0 04 00 байт 5 – старший)


Частота вращения двигателя (0С F0 04 00 байт 4 – младший)
Подобно тому, как в десятичной системе число единиц изменяется от 0 до 9, после чего
увеличивается значение числа десятков ....
младший байт пробегает значения от 0 до 255, после чего увеличивается на единицу значение
старшего байта
Попробуем нарисовать более красивый график.
Выбираем свободный столбец и вставляем в него формулу

Insert
Function
Выбираем тип функции -
сумму
Появляется табличка – в ней
мы должны указать, где
брать слагаемые
Указываем, где взять первое
слагаемое (в той же строчке
– байт 5)
Так как байт 5 старший, его
значение следует умножить
на 256
Указываем, где взять второе
слагаемое (в той же строчке
– байт 4)
Корректируем формулу – умножаем результат на
множитель 0,125 (это число дается в описании)
Смотрим, что получилось – похоже на правду!
Копируем формулу
Выделяем столбец под ячейкой, в
которой находится формула
И вставляем в него содержимое ячейки
(формулу)
Теперь в каждой ячейке – свое
значение частоты вращения
То, что получилось в итоге – график зависимости частоты вращения
двигателя от времени

Выделяем весь столбец (в нашем


случае нажатием литеры К) и
нажимаем F11
DLN1 - Proprietary (allspeed engine)
Byte 1 bit 1-8
A 1
1 0 1 0 0 0 0 1
Version

Byte 2 bit 1-8


x x
x x x x x x x x
Accelerator Pedal Position

Byte 3
8 7 6 5 4 3 2 1
x x x x x x x x
Low idle switch
Kickdown switch
Engine start
Engine stop (with error code)
DLN1 - Proprietary (allspeed engine)
Byte 4
8 7 6 5 4 3 2 1
1 1 1 1 1 1 x x
Engine stop (without error code)
Not used for I/M

Byte 5
8 7 6 5 4 3 2 1
x x x x x x x x
Active error in COO
Active control panel
Lamp test
CC - off
DLN1 - Proprietary (allspeed engine)
Byte 6
8 7 6 5 4 3 1 2
x x x x x x x x
ISSW1 (PTO-mode)
ISSW2 (PTO-mode)
Torque Limit 1
Torque Limit 2

Byte 7
8 7 6 5 4 3 2 1
x x x x x x x x
Exhaust brake Floor sw
Exhaust brake Brake Assist Switch
Idle Command
White smoke limit request

Byte 8
x x
x x x x x x x x
Retarder selection
Уровни напряжения на шине CAN

Доминантный уровень – при передаче «0»


3,5 = 3,5 В (для CAN_H)
Рецессивный уровень – при отсутствии
2,5 сообщения, а также при передаче «1» =
2,5 Вольт (одинаков для CAN_H и CAN_L)
1,5
Доминантный уровень – при передаче «0»
= 1,5 В (для CAN_L)

Нагрузочные резисторы между CAN H и CAN L

• Нагрузочные резисторы устанавливаются


- Для уменьшения отражений от концов линии (Эхо)
- Для поддержания значения уровней напряжения
Пример записи CAN_L с одним
нагрузочным резистором

1.5 В

Затягивание заднего фронта


Увеличение амплитуды сигнала
Сигнал на шине СAN
• CAN High (Цифровой
сигнал, «1» -
рецессивный -
соответствует
напряжению 2,5 Вольт,
«0» - доминантный -
соответствует
напряжению 3,5 Вольт
• СAN Low (Цифровой
сигнал, «1» -
рецессивный -
соответствует
напряжению 2,5 Вольт,
«0» - доминантный -
соответствует
напряжению 1,5 Вольт
• Уровень нуля.
• 250 kBit/s
Сигнал CAN High на
осциллографе С1-94
Сигнал на шине Can High,
записанный цифровым осциллографом
Сигнал на шине Can Low,
записанный цифровым осциллографом
Для обмена информацией между тягачом и прицепом используется
стандарт 11992 с более высокими уровнями напряжения (9 и 18 Вольт)
Сигнал на шине CAN Trailer

18
Вольт

9
Вольт
16:07-02
Нарушение связи с бортовыми
блоками управления
Рекомендации по диагностике неисправностей
Расположение разъемов шины CAN

На автомобилях 5 серии
разъемы находятся под блоком
предохранителей справа
На автомобилях 4 серии разъем
CAN находится на разъеме С56,
расположенном под блоком
предохранителей

Разъемы не фиксируются в гнездах


Определение неисправности шины CAN
1 Измерьте с помощью
мультиметра напряжение между
массой и контактами шины CAN
при включенном зажигании.
Величина напряжения должна
составлять примерно 2,5 В
(как на шине CAN High так и на
шине CAN Low.
2 Измерьте электрическое
сопротивление между Измерение
контактами CAN High и CAN Low напряжения
при выключенном зажигании.
Величина сопротивления
должна составлять около 60
Ом.
3 Измерьте сопротивление
между контактами шины CAN и
массой для того чтобы
убедиться в наличии достаточно
высокого сопротивления.
Величина сопротивления
должна быть не менее 1000
Ом.
Измерение сопротивления
Определение неисправности шины CAN
• Если мультиметр показывает - В случае замыкания между
слишком высокое контактами CAN High и CAN
напряжение на шине, то это Low надо отсоединить разъемы
может означать нарушение и проверить, в каком из блоков
соединения с массой одного управления (или в проводке
из блоков управления, какого блока управления)
подключенных к возникло замыкание.
проверяемой шине CAN. - При подозрении на
Отсоедините разъемы и неисправности шины CAN
измерьте напряжение на (соответствующие коды
выводах шин CAN блоков неисправности или свечение
управления по отдельности. желтой контрольной лампы ABS
- Если сопротивление между системы EBS), даже при
контактами CAN High и CAN отсутствии отклонений по
Low составляет 120 Ом, это напряжению или
означает, что не установлен сопротивлению рекомендуется
один из нагрузочных прочистить контакты шины CAN
резисторов на разъемах CAN и блоках
управления

Вам также может понравиться