Как это реализовано в прошивке, описание основных функций и алгоритмов при формировании ошибок.

Эта блок-схема иллюстрирует процесс мониторинга и обработки сигналов DFC (Data Flow Control) в системе DDRC (DDR Controller).
Monitoring Function (Функция мониторинга)
- Назначение: Отслеживает “сырой” статус DFC (например, сигналы с датчиков или других узлов системы).
- Процесс:
- Выполняет Limit Check — проверку, что сигналы находятся в допустимых пределах (например, напряжение, частота, логические уровни).
- Если сигнал выходит за установленные лимиты, формируется Report of raw DFC status — отчёт о текущем “сыром” состоянии DFC.
- Этот отчёт передаётся в блок DDRC.
DDRC (DDR Controller)
- Назначение: Обработка “сырых” сигналов для устранения помех и нестабильностей.
- Процесс:
- Predebouncing — фильтрация сигналов для устранения дребезга (кратковременных ложных срабатываний). Это аналогично аппаратному или программному дебансингу кнопок: сигнал стабилизируется, чтобы избежать ложных изменений состояния.
- Например, если сигнал быстро меняется между “0” и “1” из-за помех, predebouncing сглаживает его, оставляя только устойчивые состояния.
DFC (Data Flow Control)
- Назначение: Контроль и управление потоком данных на основе обработанных сигналов.
- Процесс:
- Получает стабилизированный сигнал от DDRC.
- Detection of DFC status change — обнаружение изменения состояния DFC:
- Сравнивает текущий статус с предыдущим (хранится в DFC Status Array).
- Если обнаружено изменение, обновляет DFC Status Array — массив, который хранит текущие и предыдущие состояния DFC.
- DFC Status Array — это буфер или регистр, где хранятся актуальные состояния сигналов для дальнейшей обработки или передачи в другие блоки системы.
DSM (Device State Machine)
- Назначение: Управляет состоянием устройства на основе данных от DFC.
- Процесс:
- Получает данные об изменениях статуса от DFC.
- Использует эти данные для принятия решений (например, корректировка работы системы, активация аварийных режимов, логирование событий).
Поток данных
- Monitoring Function → DDRC:
- Передача “сырого” статуса DFC.
- DDRC → DFC:
- Передача стабилизированного (отфильтрованного) статуса.
- DFC → DFC Status Array:
- Обновление массива состояний при обнаружении изменений.
- DFC → DSM:
- Передача информации об изменениях для дальнейшей обработки.
Пример работы
Представьте, что DFC контролирует сигнал с датчика давления:
- Monitoring Function фиксирует скачки напряжения с датчика и отправляет “сырые” данные в DDRC.
- DDRC фильтрует помехи и передаёт стабильное значение в DFC.
- DFC сравнивает это значение с предыдущим в DFC Status Array:
- Если значение изменилось (например, давление упало ниже нормы), фиксирует это изменение.
- DSM реагирует на изменение (например, включает аварийный режим или отправляет сигнал на приборную панель).

Этот раздел документации описывает концепцию калибровочных параметров (Fehlerklassen) в контексте диагностики ошибок (DFC — Diagnostic Function Control) в автомобильных системах. Давайте подробно разберём, как организованы и используются Fehlerklassen (классы ошибок):
Концепция Fehlerklassen (Классов ошибок)
- Fehlerklasse определяет поведение записи об ошибке в памяти ошибок (Fehlerspeicher). Каждый класс ошибок — это набор аппликационных параметров, которые задают это поведение.
- Описание всех аппликационных параметров класса ошибок можно найти в таблице “Fehlerklassen-Table”.
- Каждая диагностическая проверка (Fehlerprüfung, DFC) имеет Applikationslabel (например,
DFES_ClsDFC_xxx_C), с помощью которого определяется её Fehlerklasse.
Назначение Fehlerklasse
- Fehlerklasse определяет:
- Как ошибка будет записана в память ошибок.
- Какие параметры будут использоваться для этой записи.
- Перед каждой проверкой (DFC) требуются дополнительные аппликационные значения, которые определяют поведение ошибки в Fehlerspeicher.
Структура Fehlerklasse
- Cal.Label (Калибровочная метка): Например,
DFES_ClsDFC_xxx_C. - Fault Class number per check: Каждой проверке (check) присваивается определённый класс ошибок (class1, class2, class3 и т.д.).
Параметры Fehlerklasse
- OBD-Behavior: Определяет, как ошибка будет обрабатываться в рамках OBD-диагностики.
- OBD – Limp home – Behavior: Определяет, как система будет себя вести при активации аварийного режима.
- Security relevant – Behavior: Определяет, как ошибка будет обрабатываться, если она связана с безопасностью.
- Service only – Behavior: Определяет, будет ли ошибка видна только в сервисном режиме.
- Special Behavior: Специальные параметры поведения ошибки.
Применение Fehlerklasse
- Каждая Fehlerprüfung (DFC) может быть связана с определённым классом ошибок через калибровочную метку
DFES_ClsDFC_xxx_C. - Класс ошибок 0 является особым случаем: для всех проверок, которые относятся к этому классу, запись в Fehlerspeicher не создаётся.
Главное
Для редактирования параметров диагностики ошибок в прошивке блока управления двигателем (например, EDC17C46) с целью отключения или изменения реакции на определённые ошибки, вам необходимо изменить значения в следующих параметрах: DFC_CtlMsk.DFC_xxx_C, DFES_Cls.DFC_xxx_C, DFC_DisblMsk.DFC_xxx_C, оставив таблицу ошибок DFES_DTCO.DFC_xxx_C без изменений.
DFC_CtlMsk.DFC_xxx_C (установить значение в 0000) – Отключает реакцию на ошибки, связанные с этой маской
DFES_Cls.DFC_xxx_C – (установить значение в 00) Отключает запись ошибок в память (Fehlerspeicher)
DFC_DisblMsk.DFC_xxx_C (установить значение в FFFF)- Отключает диагностику для всех условий, связанных с данным DFC
DFES_DTCO.DFC_xxx_C – это таблица, в которой хранятся коды ошибок и их описания.
Каждой ошибке в DFES_DTCO.DFC_xxx_C присваивается CARB Fehlercode (код ошибки, соответствующий стандартам CARB — California Air Resources Board).
Вот таблица ошибок для DPF которые необходимо отключить
| Параметр | Значение (hex) |
|---|---|
| DFES_DTCO.DFC_EngPrtfacTrbnTemp_C | 102E |
| DFES_DTCO.DFC_EnhSRCMaxT0ExhTMon_C | 0544 |
| DFES_DTCO.DFC_EnhSRCMaxT1ExhTMon_C | 242A |
| DFES_DTCO.DFC_EnhSRCMinPPFltDiff_C | 2453 |
| DFES_DTCO.DFC_EnhSRCMinT0ExhTMon_C | 2080 |
| DFES_DTCO.DFC_EnhSRCMinT1ExhTMon_C | 0545 |
| DFES_DTCO.DFC_EnhSRCMinT2ExhTMon_C | 2032 |
| DFES_DTCO.DFC_ExhTMonPlaus0_C | 2080 |
| DFES_DTCO.DFC_ExhTMonPlaus1_C | 242B |
| DFES_DTCO.DFC_ExhTMonPlaus2_C | 246F |
| DFES_DTCO.DFC_ExhTMonPlausPos0_C | 0544 |
| DFES_DTCO.DFC_ExhTMonPlausPos1_C | 242B |
| DFES_DTCO.DFC_ExhTMonPlausPos2_C | 246F |
| DFES_DTCO.DFC_PFltAshLdMax_C | 242F |
| DFES_DTCO.DFC_PFltCharPDiffMax_C | 2002 |
| DFES_DTCO.DFC_PFltCharPDiffMinFulL_C | 2002 |
| DFES_DTCO.DFC_PFltCharPDiffMinLowL_C | 2002 |
| DFES_DTCO.DFC_PFltDstrMin_C | 2002 |
| DFES_DTCO.DFC_PFltEngPrt_C | 2002 |
| DFES_DTCO.DFC_PFltRgnPerm_C | 2002 |
| DFES_DTCO.DFC_PFltSRCMaxFlwRstn_C | 2002 |
| DFES_DTCO.DFC_PFltSRCMinFlwRstn_C | 2002 |
| DFES_DTCO.DFC_PFltSotMsDvtMax_C | 2002 |
| DFES_DTCO.DFC_PFltSotMsDvtMin_C | 2002 |
| DFES_DTCO.DFC_PFltSotMsMax_C | 2463 |
| DFES_DTCO.DFC_PPFltDiffNpl_C | 2453 |
| DFES_DTCO.DFC_NplDynPPFltDiff_C | 2456 |
| DFES_DTCO.DFC_SRCMaxTOxiCatDs_C | 242A |
| DFES_DTCO.DFC_SRCMaxTOxiCatUs_C | 2031 |
| DFES_DTCO.DFC_SRCMaxTTrbnUs_C | 0544 |
| DFES_DTCO.DFC_SRCMaxPPFltDiff_C | 2452 |
| DFES_DTCO.DFC_SRCMaxPPFltUs_C | 2452 |
| DFES_DTCO.DFC_SRCMinPPFltDiff_C | 2454 |
| DFES_DTCO.DFC_SRCMinPPFltUs_C | 2454 |
| DFES_DTCO.DFC_SRCMinTOxiCatDs_C | 242C |
| DFES_DTCO.DFC_SRCMinTOxiCatUs_C | 2032 |
| DFES_DTCO.DFC_SRCMinTTrbnUs_C | 0545 |
| DFES_DTCO.DFC_PFltEmptyNotOk_C | 2002 |
| DFES_DTCO.DFC_ExhTMonGradPlausPos0_C | 2080 |
| DFES_DTCO.DFC_ExhTMonGradPlausPos1_C | 2084 |
| DFES_DTCO.DFC_ExhTMonGradPlausPos2_C | 242B |
| DFES_DTCO.DFC_ExhTMonMeanPlausPos0_C | 2080 |
| DFES_DTCO.DFC_ExhTMonMeanPlausPos1_C | 2084 |
| DFES_DTCO.DFC_ExhTMonMeanPlausPos2_C | 242B |
| DFES_DTCO.DFC_NplPresSensPPFltDiff_C | 2453 |
| DFES_DTCO.DFC_PFltEff_C | 2002 |
| DFES_DTCO.DFC_PFltRgnNoComplTmr_C | 2458 |
Давайте подробно разберём процесс отключения реакции блока управления на ошибку с кодом 102E (уникальное имя: EngPrtfacTrbnTemp). Мы будем редактировать три параметра: DFC_CtlMsk, DFES_Cls, и DFC_DisblMsk.
Поиск параметров
Найдите следующие параметры в прошивке:
- DFC_CtlMsk.DFC_EngPrtfacTrbnTemp_C
- DFES_Cls.DFC_EngPrtfacTrbnTemp_C
- DFC_DisblMsk.DFC_EngPrtfacTrbnTemp_C
Редактирование DFC_CtlMsk.DFC_EngPrtfacTrbnTemp_C
- Цель: Отключить все специальные функции контроля диагностики для данной ошибки.
- Действие: Установите значение
0000.
Пояснение:
- DFC_CtlMsk — битовая маска, управляющая поведением диагностики.
- Установка значения
0000отключает все функции контроля для данной ошибки. - Каждый бит в маске отвечает за определённую функцию. Установка всех битов в
0полностью отключает контроль.
Редактирование DFES_Cls.DFC_EngPrtfacTrbnTemp_C
- Цель: Отключить запись ошибки в память (Fehlerspeicher).
- Действие: Установите значение
00.
Пояснение:
- DFES_Cls определяет класс ошибки и её поведение.
- Установка значения
00(илиclass0) означает, что ошибка не будет записываться в память ошибок. - Класс
00— специальный класс, который не создаёт записей в Fehlerspeicher.
Редактирование DFC_DisblMsk.DFC_EngPrtfacTrbnTemp_C
- Цель: Отключить диагностику для всех условий, связанных с данной ошибкой.
- Действие: Установите значение
FFFF.
Пояснение:
- DFC_DisblMsk — битовая маска, управляющая отключением диагностики для определённых условий.
- Установка значения
FFFFозначает, что все биты установлены в1, что отключает диагностику для всех условий, связанных с данной ошибкой.
Остальные ошибки удаляются аналогичным способом
Заключение
Эта статья описывает профессиональный подход к редактированию диагностических параметров в прошивке блока управления двигателем. Все действия основаны на использовании Damos-файла и технической документации, что гарантирует точность и корректность изменений.
