Диагностика по CAN Запросы, посылаемые по шине CAN к блокам управления Стандарт ISO
Команда инициализации диагностики ТА (Target Address) – адрес блока управления, к которому посылается запрос SA (Source Address) – адрес блока управления, посылающего сообщение PCI – количество байтов информации в посылаемом запросе DATA – собственно команда (смотри описания команд далее) Пример: 18DA0ВFA Здесь: 18DA – Адресация к блоку управления 0В – Блок управления тормозной системы, к которому адресуется тестер FA – тестер (F1 –стандартный тестер, FA – программа SDP3, F9 – ECOM) 3 – (PCI) Количество байтов в сообщении (=17 16 ) – Команда на считывание кодов неисправности – Старший и младший байты группы кодов неисправности (если требуется считать все коды = FF) Идентификатор Короткое сообщение (менее 8 байт)
Обработка больших объемов (содержащих более 8 байт информации) Если передается большой объем информации, первое сообщение (First Frame) включает информацию (Protocol Control Information - РСI) о количестве байт в виде (0001 хох хох хох), где хох хох хох - количество байтов информации Последующие сообщения (Consecutive Frame) содержат информацию о месте расположения сообщения (РСI) в виде 0010 хох, где хох = SN (Sequence number) пробегает значения от 0 до F 16 Таким образом, первый байт принимает значения 32, 33, , 32, 33...
DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF DAF900 First Frame - Первое сообщение Если первый байт в сообщении 16, второй байт содержит информацию о полном количестве байт передаваемой информации
Обработка больших объемов (содержащих более 8 байт информации) После передачи первого сообщения (First Frame), блок управления, принимающий поток информации, должен передать сообщение (Flow Control) – Управление потоком информации. Первый байт PCI сообщения Flow Control может принимать 2 значения: (48 10 )- разрешение передавать информацию (49 10 )- WAIT Второй байт PCI – параметр BS = Block Size – означает количество сообщений, которое может быть передано без повторной передачи сообщения Flow Control (параметр 0 означает, что сообщение FC более передаваться не будет) Третий байт – параметр ST = Separation Time – означает минимальное время между передачей сообщений DA00F DA00F9 Запрос от программы ЕСОМ (F9) блоку управления двигателя (00) на считывание данных по общему идентификатору После получения в ответ первого сообщения, передается сообщение Flow Control
Наиболее полезные команды Перезапуск (Reset) блока управления Команда – байт 1: = Команда – байт (Power on – имитация полного выключения питания) (Key on – имитация выключения зажигания) 18DA0ВFA Пример: Ответ блока управления Положительный: = Пример: 18DAFA0B Отрицательный: = Общий отказ = Подфункция не поддерживается – неверный формат = Неверные условия, ошибка последовательности запроса = Нет доступа по соображениям безопасности = Необходим правильный Rcvd-rsp = C ссервис не поддерживается в активной сессии диагностики
Наиболее полезные команды Считывание данных по локальному идентификатору (При диагностике не рекомендуется адресовать сообщения для считывания данных по адресу элемента памяти – только по локальному идентификатору) Команда – байт 1: = Команда – байт 2 Локальный идентификатор 18DA00F Пример: Ответ блока управления Положительный: = Пример: 18DAF Отрицательный: = Общий отказ = Подфункция не поддерживается – неверный формат = Неверные условия, ошибка последовательности запроса = Нет доступа по соображениям безопасности = Необходим правильный Rcvd-rsp = C ссервис не поддерживается в активной сессии диагностики (диагностика блока EMS программой ECOM) Первый байт для ответа, состоящего из неск сообщений Байтов в сообщении Положительный ответ Локальный идентификатор
Наиболее полезные команды Считывание данных по общему идентификатору (Такой запрос позволяет получить ответ о схеме адресации, о возможных локальных идентификаторах или о серверах, подключенных к дополнительной шине CAN) Команда – байт 1: = Команда – байт 2F0, Ответ блока управления Положительный: = 98 10, Далее должны следовать повторение байтов 2 – 3 и адреса Байт 3: 10 – в ответе сервера должна содержаться информация о схеме адресации, которая должна использоваться при взаимодействии 11 – В ответе должна содержаться информация о локальных идентификаторах, которые содержатся в сервере 12 – 14 – В ответе должна содержаться информация о локальном идентификаторе, по которому следует обращаться к данному серверу 15 – В ответе должна содержаться информация об идентификаторах серверов, подключенных к другой сети CAN данного мастер-сервера 16 – В ответе должен содержаться адрес, используемый для диагностики
Наиболее полезные команды Считывание данных по адресу (Такой запрос позволяет получить ответ о схеме адресации, о возможных локальных идентификаторах или о серверах, подключенных к дополнительной шине CAN) Команда – байт 1: = Команда – байт 2 - 4Адрес (байт 2 = Старший байт адреса байт 3 = средний байт адреса байт 4 = младший байт адреса) Команда – байт 5 Объем памяти Ответ блока управления Положительный: = 99 10,
Наиболее полезные команды Считывание всех кодов неисправности (Позволяет считать все возможные коды неисправности, в том числе незаписанные в память) Команда – байт 1: = Команда – байт 2 статус запроса кода неисправности = Считывание записанных в память кодов = Считывание всех возможных кодов Команда – байт 3, 4 Адрес кода неисправности. B случае необходимости считать все коды, передается сообщение FF 16 FF 16 = Ответ блока управления Байт 1: Положительный: = 88 10, Байт 2: Количество кодов в памяти Байты 3, 4, 5: Информация по 1 коду – Байт 3 = старший байт кода Байт 4 = младший байт кода Байт 5 = статус кода Байты 6, 7,8: Информация по 2 коду (и т.д.) Статус кода: Бит 0 Неактивный код Бит 1 Код был активен за последний цикл Бит 2 Проводится тестирование Бит 3 Тест не проходит из-за других кодов Бит 4 Тест не завершен Бит 5 Код активен и занесен в память Бит 6 Код активен Бит 7 Код был активен за последний цикл
Наиболее полезные команды Считывание занесенных в память кодов неисправности Команда – байт 1: = Команда – байт 2, 3 Адрес кода неисправности. B случае необходимости считать все коды, передается сообщение FF 16 FF 16 = Ответ блока управления Байт 1: Положительный: = 87 10, Байт 2: Количество кодов в памяти Байты 3 -12: Инфо по 1 коду – Байт 3 = старший байт кода Байт 4 = младший байт кода Байт 5 = статус кода (см описание на предыдущем сл)Байт 6 = Количество переходов в активное состояние Байты 7 – 12 Дата (в стандарте Секунды – минуты – часы – месяц – день – год
Наиболее полезные команды Считывание Freeze Frames (информации, заносимой в память при возникновении кодов неисправности) Команда – байт 1: = Команда – байт 2 Адрес записи. B случае необходимости считать все записи, передается сообщение FF 16 = Команда – байт 3 может принимать следующие значения: 00 – запрашиваются все данные 04 – запрашиваются данные по соответствующему коду (определяемому байтами 4 – 5) При этом байт 2 должен иметь значение FF 16 = = – запрашивается таблица данных, в которой каждая серия Freeze Frames озаглавлена кодом неисправности, к которому она относится. Команда – байты 4-5 ( – FFFF 16 ) код неисправности ( используется в случае, если должны быть считаны параметры только для одного кода неисправности) Ответ блока управления Описание содержится в отдельной презентации
Наиболее полезные команды Cтирание кодов неисправности Команда – байт 1: = Команда – байт 2, 3 Адрес кода. B случае необходимости стереть все коды, передается сообщение FFFF 16 = Примечание: Данная команда не стирает активные коды неисправности. Для стирания активного кода используйте рутину (см. Следующий слайд)
Наиболее полезные команды Активация рутин Команда – байт 1: = Команда – байт 2Локальный идентификатор рутины Пример рутины для блока управления EBS = Cтирание всех (в том числе активных) кодов неисправности
Наиболее полезные команды Проверка/управление сигналами на входах по локальному идентификатору Команда – байт 1: = Команда – байт 2Локальный идентификатор Команда – байт 3 Байт 3 может принимать следующие значения: 00 – возврат к нормальному управлению 01 – выдача информации о входных/выходных сигналах, параметрах 03 – выдача информации о масштабировании сигналов 06 – режим управления выходными сигналами Пример локальных идентификаторов для данного режима для системы EBS 5 см на следующем слайде
Локальные идентификаторы для режима «Проверка/управление сигналами на входах по локальному идентификатору» - пример для системы EBS = Крутящий момент двигателя в режиме считывания – 01 – фактический момент в соответствии с сообщением ЕЕС1 (Offset 125, диапазон +/- 125%) в режиме управления – 06 – требуемый момент – сообщение TSC1_AE = Момент ретардера в режиме считывания – 01 – фактический момент в соответствии с сообщением ЕRС1_RD (Offset 125, диапазон +/- 125%) в режиме управления – 06 – требуемый момент – сообщение TSC1_ARD = Момент моторного замедлителя в режиме считывания – 01 – фактический момент в соответствии с сообщением ЕRС1_RЕХ (Offset 125, диапазон +/- 125%) в режиме управления – 06 – требуемый момент – сообщение TSC1_ARЕХ = Датчики ESP В режиме считывания – 01: Байт 4 – 5 Угол поворота руля. Разрешение 1/512 рад, offset Байт 6 – 7 Показания датчика угла рыскания. Разрешение 1/2048 рад/с, offset 4095 Байт 8 – 9 Боковое ускорение. Разрешение 1/256 м/с 2, offset 4095 Байт 10 – 11 Поправка угла поворота руля. Разрешение 1/16384 рад, offset Байт 12 – 13 Поправка бокового ускорения. Разрешение 1/4096 м/с 2, offset Байт 14 – 15 Поправка датчика угла рыскания. Разрешение 1/65536 рад/с, offset 8590 Байт 16 – 17 Чувствительность датчика угла рыскания. Разрешение 1/8192 1/бит
Локальные идентификаторы для режима «Проверка/управление сигналами на входах по локальному идентификатору» - пример для системы EBS = Цифровые входы/выходы в режиме считывания – 01 : Байт 4 – информация по клапанам ABS. (00 – выкл, 01 – вкл, 10 – ошибка, 11 – не опр) Левый клапан: подача – биты 0, 1; вентиляция – биты 2, 3 Правый клапан: подача – биты 4, 5; вентиляция – биты 6, = Требуемое замедление в режиме считывания – 01 Байты Разрешение 1/64 м/с 2 offset = Параметры ISC в режиме считывания – 01 Байты Параметр Каппа управления замедлением Разрешение 5 кг/м 2 /g = 0,0005 атм/g Байты 6 – 7 Параметр Phi_a (cтатич) = Р передн /Р задн Разрешение 1%, диапазон 0 – 510% Байты 8 – 9 Параметр Phi_в (динамический) Байты 10 – 11 Параметр Phi_ist (для поддерживающей оси) Байт 12. Параметр Abbrband (согл торм усилий) Разрешение 1%, диапазон 0 – 100% Байт 13 Масса. Разрешение 0,4 тонны, Offset 0. Байт 14 Количество реальных торможений. Разрешение 1, максимум = Токи питания модуляторов. Разрешение 1/1024 А, диапазон 5 Ампер Байт 4 – 5 Модулятор добавочный 1 Байт 6 – 7 Модулятор добавочный 2 Байт 8 – 9 Модулятор передний Байт 10 – 11 Модулятор задний Байт 12 – 13 Датчики ESP Байт 14 – 15 TCM
21 16 = = DAF DAF DAF DA00F DA00F9 Запрос тестера на считывание данных по локальному идентификатору = F байта информации Команда считать данные Считываемый идентификатор Ответ блока управления двигателя Информация – более 1 сообщения Количество байтов Да, я отвечу Разрешение продолжить передачу данных
DA00F DAF900 Запрос тестера на считывание данных по общему идентификатору
DA00F DA00F DAF DAF900
ISO :2004(E) Более общая информация в ISO
Y 486 R Диагн адресация
16Diagnostic Session Control ECU Reset Read Freeze Frame Data6.3 20Clear Diagnostic Information Read Status of DTC6.2 24Read DTC by Status6.1 25Read DTC Information Read ECU Identification4.4 33Read Data by Local Identifier5.1 34Read Data by Common Identifier Read Memory by Address Read Scaling Data by Identifier Security Assess4.2 40Disable Normal Messages Transmission Enable Normal Messages Transmission Read Data by Periodic Identifier Dynamically Define Data Identifier9.3.5
45Write Memory By Address Write Data by Common Identifier Input/Output Control by Identifier Input/Output Control by Local Identifier7.1 49Start Routine by Local Identifier Start Routine by (Common) Identifier8.2 51Request Routine Result8.3 52Request Download Request Upload Transfer Data Request Transfer Exit Start Routine by Address8.4 59Write Data by Local Identifier5.4 61Write Memory by Address6.1 62Tester Present