// Хорошо читаемые базовые принципы работы ЭБУ
// --------------- дабы не потерять безвозвратно -----------------
// раньше было тут http://rotorman.nm.ru/j5-sport/j5_tech.htm
// видимо в связи с массовым наплывом в хостинг
// эффективного менеджмента, куда то делось
Характеристики и работа контроллера управления впрыском Январь-5.1 с микропрограммой J5LS
Микроконтроллер SAF80C509 производства фирмы Infineon, с расширенной архитектурой MCS51 работает с тактовой частотой 16 мгц, что обеспечивает производительность логических операций 2.66 mips, или 375 наносекунд на 1 инструкцию.
Встроенный сопроцессор позволяет работать с целочисленной арифметикой и обеспечивает следующее время выполнения математических операций в зависимости от разрядности (включая загрузку и выгрузку операндов): 8*8 - 1.5мкс, 8/8 - 1.5мкс, 32/16 - 6.75 мкc, 16*16 - 6 мкс , 16/16 - 6 мкс
15-ти канальный Аналогово-цифровой преобразователь, разрядностью 10 бит, может в зависимости от требуемой точности преобразования, обеспечивать время преобразования от 3 до 52 мкс на канал. Реально большинство каналов использует разрешение 8 бит и опрашиваются за 3мкс.
Функции 2D table lookup работают с таблицами размером 33 точки Диапазон значений по оси X - от 0 до 255, выборка из таблицы с учетом линейной интерполяции производится за 15 мкс.
Функции 3D table lookup могут работать с таблицами размера 16x16 и 32x16. Диапазон значений X Y - от 0 до 240, при выборке для получения промежуточных значений микропрограмма также использует функцию линейной интерполяции. Выборка из таблицы 16x16 производится за 38мкс а из таблицы 32x16 - за 47мкс.
Пятиуровневая аппаратная система приоритетов выполнения задач позволяет рационально распределять процессорное время. Задачи с уровнем приоритета выше текущего могут прерывать выполнение текущей задачи. Задачи имеющие приоритет такой же как и текущие будут выполнены после завершения текущей.
Самый низкий уровень (0) имеет главный 20мс цикл вычислений.
Уровень 1 имеют задачи:
1) Фильтрация ДМРВ или ДАД, расчет обогащения при увеличении дросселя и необходимой базовой топливоподачи для текущего такта работы двигателя и открытие соответствующей форсунки. Расчет производится на основе требуемого состава смеси и информации о наполнении воздухом полученной непосредственно на этом такте работы двигателя. Эта задача инициируется обработчиком ДПКВ при совпадении углового поворота диска с установленной в системе "фазой впрыска". Периодичность вызова задачи соответствует интервалу работы цилиндров (180 градусов ПКВ).
2) Обработка сигнала канала детонации. Вызывается после прохода всех фазовых окон и чтения состояния интеграторов (114 градусов после ВМТ).
Уровень 2 имеет задача обработки пакетной отправки и приема байт по протоколу K-Line. (сами пакеты создаются и обрабатываются в главном цикле).
Уровень 3 имеет задача Цикла вычислений с интервалом 1мс.
Уровень 4 имеет задача обработки сигналов датчиков положения коленчатого вала и фазы.
В составе микропроцессора имеются 3 таймера счетчика. Основной из них T2. Его частота 16000000/96, что обеспечивает тик таймера = 6мкс. Это значение является базовым дискретом задержки при реализации многих алгоритмов. Регистры Т2 используются модулями захвата и сравнения для обеспечения управления форсунками и зажиганием, а также определения оборотов двигателя и привязки всех событий по углу поворота коленчатого вала.
Цикл 1мс:
Таймер T1 микропроцессора используется для формирования временного интервала с периодичностью 1мс, в цикле 1мс микропрограмма обеспечивает работу следующих задач:
1) Отсчет времени для запуска главного цикла вычислений (интервалов 20мс).
2) Определение потери связи по K-line и закрытие диагностической сессии при такой потере.
3) Тестирование каналов зажигания с диагностического сканера (только в режиме прямого управления зажиганием на остановленном двигателе).
4) Обеспечение движения шагового РХХ (выбор направления и разгон) для синхронизации текущего положения шагового РХХ (FSM) c желаемым положением шагового РХХ (SSM).
5) Опрос канала АЦП ДМРВ или ДАД для последующей фильтрации сигнала.
6) Работу многоискрового режима зажигания при пуске двигателя (только Я5).
7) ШИМ управление клапаном адсорбера (частота 15.6гц) (Только Я7 - в Я5 адсорбер управляется аппаратно).
8) Опрос датчика скорости автомобиля, и подсчет импульсов c датчика скорости.
9) Отсчет времени для СVS лога ПАК "Матрица" c дискретом 1мс.
Обработчик датчика положения коленчатого вала.
Обработчик ДПКВ имеет наивысший приоритет в системе управления, он может прервать выполнение абсолютно любого процесса, поэтому при его реализации используются методики экономии процессорного времени путем распределения всех вычислительных задач обработчика по углу поворота КВ (номеру зуба). Обработчик определяет работу абсолютно всех процессов в системе управления, так или иначе связанных с углом поворота коленчатого вала.
Для синхронизации системы управления по углу поворота используется специализированный реперный диск BOSCH MOTRONIC 60-2. На диске с равным интервалом в 6 градусов расположены 58 зубьев c номерами от 1 до 58, зубья номер 59 и 60 отсутствуют. Диск привязан по углу таким образом, что при установке первого цилиндра двигателя в ВМТ вершина 20-го зуба оказывается напротив датчика положения коленчатого вала, 1-м считается зуб после отсутствующих по ходу вращения диска.
Событие обработчика ДПКВ инициируется изменением состояния входа P1.3 микроконтроллера, при этом производится аппаратный захват слепка таймера счетчика T2 и копирование его состояния в регистры CCL3 CCH3. В дальнейшем эта информация будет использоваться при всех расчетах с привязкой по углу, определения оборотов, установки момента зажигания и прочих.
Исходя из формы задающего диска обработчик ДПКВ может работать в 2-х режимах:
Поисковый - система управления производит поиск маркерного отрезка с отсутствующими 59 и 60 зубьями, в этом режиме невозможно формирование импульсов зажигания и впрыска.
Синхронизированный - когда системе управления точно известен номер зуба задающего диска, который вызвал текущее событие обработчика, в этом режиме могут формироваться импульсы зажигания и впрыска четко привязанные к номеру зуба и номеру цилиндра.
Обработчик прерывания ДПКВ имеет несколько важных локальных переменных.
1) Раскладка одного оборота двигателя на 6-ти градусные интервалы - переменная принимает значения от 0 (1 зуб) до 59 (60 зуб) и обеспечивает привязку событий обработчика к номеру зуба шестерни.
2) Раскладка одного такта двигателя на 6-ти градусные интервалы - переменная принимает значения от 0 (1 зуб или 31 зуб) до 29 (30 зуб или 60 зуб) и обеспечивает привязку событий к 180 градусному такту двигателя.
3) Номер цилиндра двигателя - переменная принимает значения от 0 до 3 и обеспечивает привязку событий к конкретному цилиндру двигателя.
4) Интервал между соседними зубьями в 6мс тиках таймера Т2 - в поисковом режиме позволяет производить синхронизацию с диском, в синхронизированном используется имитатором отсутствующих зубьев и логикой формирования импульсов УОЗ.
Поисковый режим.
Программа проверяет предположение, что текущий зуб является первым. Для чего, проверяет интервал между двумя последними зубьями на минимум двукратное превышение интервала между двумя предпоследними зубьями. Как только это условие выполнится - программа переходит в синхронизированный режим. Если условие не выполняется в течении продолжительного периода - возникает состояние "ошибка ДПКВ".
Работа имитатора отсутствующих зубьев.
Для возможности привязки событий в системе управления во всем диапазоне углов с точностью 6 градусов программа использует имитацию отсутствующих зубьев номер 59 и 60, таким образом для менеджмента событий ДПКВ восстанавливается целостность реперного диска и обеспечивается полная незаметность отсутствующих зубьев. При этом программа естественно предполагает равноускоренное движение реперного диска на интервале 57-58-59-60 зубьев, поскольку в реальности это движение может быть и не равноускоренным - положение прорези специально выбрано таким образом, чтоб зубья 59 и 60 не попадали в критическую зону управления двигателем по углу КВ (например область формирования УОЗ - +60 -10 ПКВ для каждого цилиндра соответственно, или область детонационного окна). В системах управления, где положение прорези может меняться в широких пределах, зачастую неопытные установщики не учитывают подобные тонкие моменты, что может привести к серьезному ухудшению качества управления двигателем, приводя к возникновению значительных динамических ошибок установки УОЗ для одной из пар цилиндров и др важных переменных. Таким образом положение прорези не может быть изменено! Для 4-х (2х) цилиндровых двигателей в ВМТ должен находится 20 зуб шестерни, для 6-ти(3х) цилиндровых - 15-й.
В синхронизированном режиме при обработке события 58 зуба ДПКВ программа предполагает отсутствие 59-го зуба, поэтому она переключает 3-й канал модуля capture-compare из режима захвата в режим сравнения, путем сброса битов 6 и 7 в регистре CCEN, после чего микропрограмма берет ранее захваченное состояние таймера T2 на 58 зубе и добавляет к нему угловой интервал в тиках Т2 между зубьями 57 и 58, таким образом предугадывая момент прохода над датчиком 59 зуба на основе предположения о равноускоренном вращении диска в этом угловом интервале. Полученное значение записывается в ССL3 CCH3, после чего происходит выполнение событий привязанных к 58 зубу и передача управления задачам с низшим приоритетом. Когда модуль сравнения обнаружит совпадение регистров таймера T2 и 3-го канала сравнения возникнет новый флаг события ДПКВ, который будет обработан как отсутствующий 59 зуб. Точно также будет установлен момент прохождения отсутствующего 60-го зуба, обработчик которого снова переводит 3-й канал модуля capture-compare в режим захвата, таким образом имитатор будет отключен и следующий вызов обработчика будет инициирован аппаратно - 1-м зубом шестерни.
Контроль синхронизации.
В синхронизированном режиме с имитацией зубьев 59-60 обработчик физически присутствующих зубьев 1-58 постоянно проверяет период импульсов с ДПКВ на признак отсутствующих зубьев (текущий период импульсов/2>прошлый период импульсов). Обнаружение такого состояния выставляет флаг признака ошибки ДПКВ и переводит программу в поисковый режим. При этом формирование импульсов зажигания и впрыска прекращается. Такое состояние является срывом синхронизации - множественные признаки ошибки ДПКВ приводят к фиксированию ошибки ДПКВ для диагностики..
Опрос датчика фазы.
Производится в момент прохождения 1-го зуба реперного диска 60-2 напротив ДПКВ. При этом положение прорези датчика определяет конец фазы впуска для 1 цилиндра (посадка на седло впускных клапанов 1 цилиндра). Если уровень сигнала на пине входного порта ДФ P1.2 не изменился после двух идущий подряд опросов - возникает состояние "ошибка ДФ".
Формирование импульсов зажигания.
Угол опережения зажигания представляет собой знаковое число с разрядностью 8 бит и шагом 0.5 угловых градуса, что позволяет реализовать УОЗ в диапазоне от +72 до -56 угловых градуса. Для точного формирования импульса зажигания в главном цикле вычислений микропрограмма для каждого цилиндра производит индивидуальный расчет 4-х параметров:
1) Момент зажигания по номеру зуба ДПКВ (привязка по углу с точностью 6 градусов)
2) Задержка момента зажигания по углу, выраженная как коэффициент имеющий значение 1.00 при 6 градусах (привязка по углу с точностью 0.5 град)
3) Момент начала накопления энергии по номеру зуба ДПКВ.
4) Задержка момента накопления энергии по углу, выраженная как коэффициент имеющий значение 1.00 при 6 градусах.
При расчетах, из общего "базового УОЗ" после всех необходимых преобразований для каждого цилиндра вычитается смещение по детонации, и индивидуальная цилиндровая коррекция заданная в калибровках, результат делится на 6 (интервал зубьев по углу) и трансформируется с учетом нахождения 20 зуба диска в ВМТ 1 цилиндра. Остаток от операции деления умножается на 6 (выделяется) и трансформируется в раскладку задержки момента зажигания от выбранного зуба.
Время накопления полученное из калибровки "Время накопления зажигания" трансформируется в угловые градусы, путем перемножения на обороты двигателя и связывающий коэффициент и ограничивается сверху значением 174 град а снизу 12 град, чтобы не допустить перекрытие импульса и пропуск формирования УОЗ. Момент начала накопления определяется путем вычитания из расчетного углового момента зажигания полученного углового времени накопления.
Алгоритм установки зажигания находится в обработчике ДПКВ.
Подготовка данных для очередного цилиндра зажигания производится одновременно с запуском обработчика детонации предыдущего, в точке 66 градусов до ВМТ. При этом микропрограмма используя переменную номера цилиндра двигателя в котором прошел рабочий ход, определяет, какой цилиндр из пары с ним будет следующим, например если рабочий ход был в 4-м следующим будет первый, если первый то 4-й. Определив номер следующего парного цилиндра, микропрограмма перебрасывает 4 рассчитанных связанных с ним переменных УОЗ в рабочие ячейки управления соответствующего канала зажигания. Управление каналами зажигания на выходах P5.1 P5.2 после этого производится полностью раздельно и автономно.
Для формирования сигнала начала накопления энергии в катушке зажигания диспетчер прерывания ДПКВ проверяет совпадение текущего номера зуба шестерни 60-2 с "Моментом начала накопления по зубу", если обнаружено соответствие - программа производит вычисление времени задержки:
Коэффициент задержки момента накопления энергии по углу перемножается на переменную "время 6-ти градусного поворота коленчатого вала" и добавляется к состоянию Т2 захваченному на входе в обработчик ДПКВ (прочитанного из регистров CCL3 CCH3) полученный результат используется для программирования модуля сравнения и сброса (compare and clear), и записываются в регистры COMCLRH COMCLRL. В зависимости от выбранного канала зажигания в регистр CLRMSK помещается значение 02h (P5.1) или 04h (P5.2). На этом функции диспетчера прекращаются и дальнейшее управление зажиганием производится аппаратно с использованием COMCLR модуля.
При совпадении значений в таймере T2 и регистрах COMCLR, которое произойдет через заданное время задержки, микроконтроллер переводит выбранную линию порта P5 в состояние логического нуля. Драйвер зажигания TPS2814 производит инверсию этого сигнала и усиление по току, таким образом на соответствующем выходе ЭБУ появляется управляющее напряжение +5v. Если в системе имеется модуль зажигания General Motors - сигнал непосредственно подается на его выходные ключи, что приводит к подключению соответствующей катушки зажигания в режим накопления энергии.
Установка момента зажигания начинается при совпадении текущего зуба шестерни с "Моментом зажигания по номеру зуба", также как описано ранее производится вычисление времени задержки: Коэффициент задержки момента зажигания по углу перемножается на время 6-ти градусного поворота коленчатого вала и добавляется к состоянию Т2 захваченному на входе в обработчик ДПКВ (прочитанного из регистров CCL3 CCH3) полученный результат используется для программирования модуля сравнения и установки (compare and set), и записываются в регистры COMSETH COMSETL. В зависимости от выбранного канала зажигания в регистр SETMSK помещается значение 02h (P5.1) или 04h (P5.2). На этом функции диспетчера прекращаются и дальнейшее управление производится аппаратно с использованием COMSET модуля.
При совпадении значений в таймере T2 и регистрах COMSET микроконтроллер переводит выбранную линию порта P5 в состояние логической 1. Драйвер зажигания TPS2814 производит инверсию этого сигнала и усиление по току, таким образом на выходе ЭБУ оказывается низкий потенциал, который информирует модуль зажигания о необходимости разорвать цепь подачи тока на катушку. Магнитное поле, пересекая витки катушки индуцирует во вторичной обмотке высокое напряжение, пробивающее зазор в свече, возникает искра.
Подобная методика формирования импульса зажигания позволяет достичь абсолютную вычислительную точность по углу и 6мкс по времени задержки, что в сумме на 10000 оборотах двигателя дает максимальную погрешность установки УОЗ +-0.3 угловых градуса если диск 60-2 установлен в нулях. Однако возможно увеличение этой цифры за счет постоянной времени работы интегрирующих звеньев как самого канала формирования сигнала ДПКВ так и исполнительных устройств зажигания. Поэтому в ЭБУ предусмотрена компенсация динамической ошибки связанной с увеличением оборотов. Для компенсации в программе имеется поправочный коэффициент определяемый опытным путем на реальном наборе датчиков и исполнительных механизмов и устраняющий рассогласование прохождения сигнала, коэффициент представляет собой поправку по углу, заданную для оборотов 10240 и уменьшающуюся пропорционально уменьшению оборотов (реальное значение 2.5 град). Таким образом достигается финальная точность УОЗ не хуже 0.5 угловых градуса во всех режимах работы ЭСУД для любых поддерживаемых оборотов двигателя. Подобная точность на высоких оборотах в настоящее время не доступна на многих aftermarket системах, в которых используются программные методики менеджмента в ос реального времени, где динамические ошибки на высоких оборотах могут быть достаточно велики.
Работа мягкой отсечки.
Мягкая отсечка позволяет реализовать более точное управление двигателем на предельных оборотах, и подразумевает не только управление подачей топлива но и управление зажиганием. Микропрограмма вычисляет разницу между текущими оборотами и порогом оборотов отсечки и производит вырезание зажигания если эта разница менее 200rpm, разница оборотов определяет сколько импульсов зажигания необходимо пропускать. Если разницы между оборотами нет - отключается топливо и зажигание. Если разница 40 rpm - отключаются каждый 2-й импульс зажигания (2 цилиндра), 80rpm - каждый 3-й итд. Пропуск импульса зажигания осуществляется путем обхода процедуры начала накопления энергии в катушке зажигания по флагу взведенному диспетчером мягкой отсечки.
Работа форсунок.
Работа алгоритма детектирования детонации.
Начало работы детектора детонации (окна обзора) задается в калибровке "фаза начала измерения детонации", конец - "фаза окончания измерения детонации". Калибровки, изначально заданные в градусах по коленчатому валу транслируются главным циклом вычислений в раскладку 180-ти градусного такта двигателя по КВ на 6 градусные интервалы и к ним добавляется смещение реперного диска ПКВ (20-й зуб). В обработчике ДПКВ при совпадении "фазы начала измерения" взводится бит P1.5, соединенный с контактом INT/HOLD мс HIP9010, при этом начинается процесс накопления сигнала на интеграторе микросхемы. Накопление продолжается, пока не совпадет угол поворота коленчатого вала и "фаза окончания измерения", после чего вывод INT/HOLD переводится в состояние лог 0 и микросхема HIP9010 фиксирует состояние интегратора.
Чтение состояния интегратора подключенного к 7-му канала АЦП микропроцессора, производится обработчиком ДПКВ, при повороте коленчатого вала на угол 102 градуса после ВМТ. Из прочитанного значения вычитается собственный шум интегратора, которым является значение, прочитанное из канала детонации при остановленном двигателе (первом включении зажигания) и ограниченное сверху порогом 0.5v. Полученное после вычитания значение является уровнем сигнала в канале детонации (ADET) на основании которого и производятся все дальнейшие вычисления.
Запуск задачи обнаружения детонации производится обработчиком ДПКВ через 114 градусов после ВМТ. Обработчик ДПКВ передает в задачу номер цилиндра в котором идет рабочий ход для поцилиндровой селекции.
Нормализация по времени окна.
Поскольку окно оценки сигнала детонации (время интегрирования) задается угловыми интервалами, алгоритм должен использовать механизмы нормализации уровня сигнала в канале учитывающий изменение продолжительности окна в зависимости от оборотов двигателя. Для такой нормализации используется встроенный в микросхему HIP9010 аттенюатор.
Калибровка "Настройка аттенюатора" на низких оборотах позволяет уменьшить общее усиление канала детонации, практически не влияя на него на высоких, обеспечивая тем самым необходимый уровень сигнала во всем диапазоне оборотов. Таким образом нормализация производится аппаратно и не требуется высокая точность для снятия отсчетов АЦП. Соответствие значений в калибровке коэффициентам усиления микросхемы можно найти в DataSheet HIP9010.
Частотная настройка фильтров.
В программе предусмотрено изменение частоты настройки фильтра HIP9010 в зависимости от оборотов двигателя, для чего используется калибровка "Частота настройки фильтра" содержащая непосредственные численные значения из таблицы частот (см. DataSheet HIP9010).
Адаптация по шуму двигателя.
Механизм детектирования детонации позволяет компенсировать изменение уровня сигнала с датчика детонации связанного с моментом его затяжки и собственным шумом двигателя. Для такой адаптации используется механизм настройки постоянной времени интегратора. Система производит адаптацию по шуму двигателя в точке, где детонация физически не возможна. Режимная точка для такой адаптации заданна в калибровке "зона адаптации по шуму" обычно 2500 rpm 0% дросселя. При попадании в зону адаптации система производит фильтрацию ADET асимметричным фильтром, коэффициент фильтрации которого задан в калибровках ЭБУ. Полученное значение собственно считается уровнем шума (NOISE), оно должно вписываться в диапазон заданный калибровками "макс порог шума для переключения аттенюатора на уменьшение" и "минимальный порог шума для переключения аттенюатора на увеличение". Если уровень шума выходит за указанные пределы - производится изменение состояния постоянной времени интегратора микросхемы HIP9010. Существует всего 3 возможных integrator time constant - 40,80,160 мкс. Если уровень шума высокий - система увеличивает постоянную времени интегратора, таким образом уменьшая результирующее напряжение на его выходе, если низкий - наоборот уменьшает постоянную времени увеличивая напряжение. При этом уровень шума и значения всех фильтров автоматически пересчитываются, с учетом нового значения постоянной времени интегратора
Обновление состояния аттенюатора, интегратора и частотной настройки фильтров HIP9010 производится по окончании каждого вызова обработчика детонации (1 раз за 180градусов поворота КВ).
Детектирование ошибок низкий и высокий шум двигателя при адаптации.
Если постоянная времени интегратора = 40мкс система сравнивает уровень шума двигателя с порогом "низкого уровня шума" и выставляет соответствующую ошибку, если NOISE < порога. Если постоянная времени = 160 мкс - проверяет превышение порога "высокого уровня шума", ошибка выставляется если NOISE > порога.
Для обнаружения детонации в микропрограмме реализовано 2 алгоритма - пороговый и дифференциальный.
Пороговый механизм обнаружения детонации.
Пороговый механизм детектирования детонации оперирует абсолютным значением уровня сигнала, однозначно указывающего на детонацию в двигателе. Детонация в соответствующем цилиндре обнаруживается, если выполняется следующее условие:
ADET > NOISE * "Относительный порог детонации" * "Коррекцию порога детонации".
Калибровка "Коррекция порога детонации" может быть настроена на ПАК Матрица в автоматическом режиме.
Дифференциальный механизм обнаружения детонации.
Дифференциальный алгоритм позволяет обнаруживать детонационные стуки по превышению уровня сигнала в цилиндре для данного такта над средней мощностью сигнала текущего цилиндра. Средняя мощность рассчитывается для каждого цилиндра индивидуально путем фильтрации ADET этого цилиндра на достаточно длительном интервале. Если уровень сигнала не превышает 0.5 NOISE - считается, что шум в цилиндре слишком слабый и детонация данным методом не обнаруживается.
Детонация обнаруживается, если: ADET > Средняя мощность сигнала в цилиндре * "Порог детонации".
Обнаружив детонацию, система взводит один из четырех флагов (в соответствии с номером цилиндра) которые в дальнейшем обрабатываются в главном цикле вычислений.
Диагностирование ошибки "Обрыв датчика детонации".
Производится путем сравнения в главном цикле вычислений суммы средних мощностей сигналов во всех цилиндрах деленной на 4 (средней мощности всех цилиндров) с калибровкой "Минимальный уровень шума для диагностики". И установкой флага ошибки "Обрыв датчика детонации" если при статистическом анализе, в более чем 50% таких проверок сумма средних мощностей окажется ниже заданного порога.
Обработчик детонации в главном цикле вычислений (20ms).
Обработчик проверяет признак нахождения системы в "Зоне контроля детонации" если признака нет - контроль не производится. При появлении признака (первичный вход в зону контроля с низких нагрузок) производится обнуление переменных всех цилиндровых отскоков УОЗ (если таковые были ранее). Так же проверяется "Температура включения контроля детонации" - она должна быть превышена для начала работы алгоритма обработки.
При активных в системе ошибках ДМРВ, ДАД или ДПДЗ детонация не обрабатывается - смещение УОЗ не производится.
В случае обнаружения любой из трех ошибок датчика детонации обработчик устанавливает постоянное смещение УОЗ в соответствии с калибровкой "Максимальное смещение УОЗ при детонации".
В нормальном режиме функционирования, единичное детектирование детонации не приводит к изменению УОЗ, для исключения возможных ошибок детектирования, вызванных механическими ударами по двигателю (например мелкими камушками) или щелчками связанными с температурным расширением его компонентов. Однако каждое детектирование детонации выставляет флаг "признак обнаружения детонации" передаваемый на диагностику. Если же в течении времени указанного в калибровке "Минимальное время детектирования детонации" происходит вторичное детектирование - в соответствующем цилиндре производится отброс УОЗ на 2 градуса, и отсчет периода времени детектирования начинается заново, таким образом следующее детектирование детонации в период этого времени так же приводит к отбросу УОЗ на 2 градуса и так далее. Калибровка "Максимальное смещение УОЗ при детонации" ограничивает значение отскока УОЗ которое может быть достигнуто алгоритмом. Все значения рассчитываются индивидуально для каждого цилиндра.
Возвращение УОЗ к базовым расчетным значениям происходит с дискретностью шага 0.5 градуса и интервалом шага заданного в калибровке "Период восстановления УОЗ" в том случае, если за этот период не происходило нового детектирования детонации в соответствующем цилиндре двигателя.
// --------------- дабы не потерять безвозвратно -----------------
// раньше было тут http://rotorman.nm.ru/j5-sport/j5_tech.htm
// видимо в связи с массовым наплывом в хостинг
// эффективного менеджмента, куда то делось
Характеристики и работа контроллера управления впрыском Январь-5.1 с микропрограммой J5LS
Микроконтроллер SAF80C509 производства фирмы Infineon, с расширенной архитектурой MCS51 работает с тактовой частотой 16 мгц, что обеспечивает производительность логических операций 2.66 mips, или 375 наносекунд на 1 инструкцию.
Встроенный сопроцессор позволяет работать с целочисленной арифметикой и обеспечивает следующее время выполнения математических операций в зависимости от разрядности (включая загрузку и выгрузку операндов): 8*8 - 1.5мкс, 8/8 - 1.5мкс, 32/16 - 6.75 мкc, 16*16 - 6 мкс , 16/16 - 6 мкс
15-ти канальный Аналогово-цифровой преобразователь, разрядностью 10 бит, может в зависимости от требуемой точности преобразования, обеспечивать время преобразования от 3 до 52 мкс на канал. Реально большинство каналов использует разрешение 8 бит и опрашиваются за 3мкс.
Функции 2D table lookup работают с таблицами размером 33 точки Диапазон значений по оси X - от 0 до 255, выборка из таблицы с учетом линейной интерполяции производится за 15 мкс.
Функции 3D table lookup могут работать с таблицами размера 16x16 и 32x16. Диапазон значений X Y - от 0 до 240, при выборке для получения промежуточных значений микропрограмма также использует функцию линейной интерполяции. Выборка из таблицы 16x16 производится за 38мкс а из таблицы 32x16 - за 47мкс.
Пятиуровневая аппаратная система приоритетов выполнения задач позволяет рационально распределять процессорное время. Задачи с уровнем приоритета выше текущего могут прерывать выполнение текущей задачи. Задачи имеющие приоритет такой же как и текущие будут выполнены после завершения текущей.
Самый низкий уровень (0) имеет главный 20мс цикл вычислений.
Уровень 1 имеют задачи:
1) Фильтрация ДМРВ или ДАД, расчет обогащения при увеличении дросселя и необходимой базовой топливоподачи для текущего такта работы двигателя и открытие соответствующей форсунки. Расчет производится на основе требуемого состава смеси и информации о наполнении воздухом полученной непосредственно на этом такте работы двигателя. Эта задача инициируется обработчиком ДПКВ при совпадении углового поворота диска с установленной в системе "фазой впрыска". Периодичность вызова задачи соответствует интервалу работы цилиндров (180 градусов ПКВ).
2) Обработка сигнала канала детонации. Вызывается после прохода всех фазовых окон и чтения состояния интеграторов (114 градусов после ВМТ).
Уровень 2 имеет задача обработки пакетной отправки и приема байт по протоколу K-Line. (сами пакеты создаются и обрабатываются в главном цикле).
Уровень 3 имеет задача Цикла вычислений с интервалом 1мс.
Уровень 4 имеет задача обработки сигналов датчиков положения коленчатого вала и фазы.
В составе микропроцессора имеются 3 таймера счетчика. Основной из них T2. Его частота 16000000/96, что обеспечивает тик таймера = 6мкс. Это значение является базовым дискретом задержки при реализации многих алгоритмов. Регистры Т2 используются модулями захвата и сравнения для обеспечения управления форсунками и зажиганием, а также определения оборотов двигателя и привязки всех событий по углу поворота коленчатого вала.
Цикл 1мс:
Таймер T1 микропроцессора используется для формирования временного интервала с периодичностью 1мс, в цикле 1мс микропрограмма обеспечивает работу следующих задач:
1) Отсчет времени для запуска главного цикла вычислений (интервалов 20мс).
2) Определение потери связи по K-line и закрытие диагностической сессии при такой потере.
3) Тестирование каналов зажигания с диагностического сканера (только в режиме прямого управления зажиганием на остановленном двигателе).
4) Обеспечение движения шагового РХХ (выбор направления и разгон) для синхронизации текущего положения шагового РХХ (FSM) c желаемым положением шагового РХХ (SSM).
5) Опрос канала АЦП ДМРВ или ДАД для последующей фильтрации сигнала.
6) Работу многоискрового режима зажигания при пуске двигателя (только Я5).
7) ШИМ управление клапаном адсорбера (частота 15.6гц) (Только Я7 - в Я5 адсорбер управляется аппаратно).
8) Опрос датчика скорости автомобиля, и подсчет импульсов c датчика скорости.
9) Отсчет времени для СVS лога ПАК "Матрица" c дискретом 1мс.
Обработчик датчика положения коленчатого вала.
Обработчик ДПКВ имеет наивысший приоритет в системе управления, он может прервать выполнение абсолютно любого процесса, поэтому при его реализации используются методики экономии процессорного времени путем распределения всех вычислительных задач обработчика по углу поворота КВ (номеру зуба). Обработчик определяет работу абсолютно всех процессов в системе управления, так или иначе связанных с углом поворота коленчатого вала.
Для синхронизации системы управления по углу поворота используется специализированный реперный диск BOSCH MOTRONIC 60-2. На диске с равным интервалом в 6 градусов расположены 58 зубьев c номерами от 1 до 58, зубья номер 59 и 60 отсутствуют. Диск привязан по углу таким образом, что при установке первого цилиндра двигателя в ВМТ вершина 20-го зуба оказывается напротив датчика положения коленчатого вала, 1-м считается зуб после отсутствующих по ходу вращения диска.
Событие обработчика ДПКВ инициируется изменением состояния входа P1.3 микроконтроллера, при этом производится аппаратный захват слепка таймера счетчика T2 и копирование его состояния в регистры CCL3 CCH3. В дальнейшем эта информация будет использоваться при всех расчетах с привязкой по углу, определения оборотов, установки момента зажигания и прочих.
Исходя из формы задающего диска обработчик ДПКВ может работать в 2-х режимах:
Поисковый - система управления производит поиск маркерного отрезка с отсутствующими 59 и 60 зубьями, в этом режиме невозможно формирование импульсов зажигания и впрыска.
Синхронизированный - когда системе управления точно известен номер зуба задающего диска, который вызвал текущее событие обработчика, в этом режиме могут формироваться импульсы зажигания и впрыска четко привязанные к номеру зуба и номеру цилиндра.
Обработчик прерывания ДПКВ имеет несколько важных локальных переменных.
1) Раскладка одного оборота двигателя на 6-ти градусные интервалы - переменная принимает значения от 0 (1 зуб) до 59 (60 зуб) и обеспечивает привязку событий обработчика к номеру зуба шестерни.
2) Раскладка одного такта двигателя на 6-ти градусные интервалы - переменная принимает значения от 0 (1 зуб или 31 зуб) до 29 (30 зуб или 60 зуб) и обеспечивает привязку событий к 180 градусному такту двигателя.
3) Номер цилиндра двигателя - переменная принимает значения от 0 до 3 и обеспечивает привязку событий к конкретному цилиндру двигателя.
4) Интервал между соседними зубьями в 6мс тиках таймера Т2 - в поисковом режиме позволяет производить синхронизацию с диском, в синхронизированном используется имитатором отсутствующих зубьев и логикой формирования импульсов УОЗ.
Поисковый режим.
Программа проверяет предположение, что текущий зуб является первым. Для чего, проверяет интервал между двумя последними зубьями на минимум двукратное превышение интервала между двумя предпоследними зубьями. Как только это условие выполнится - программа переходит в синхронизированный режим. Если условие не выполняется в течении продолжительного периода - возникает состояние "ошибка ДПКВ".
Работа имитатора отсутствующих зубьев.
Для возможности привязки событий в системе управления во всем диапазоне углов с точностью 6 градусов программа использует имитацию отсутствующих зубьев номер 59 и 60, таким образом для менеджмента событий ДПКВ восстанавливается целостность реперного диска и обеспечивается полная незаметность отсутствующих зубьев. При этом программа естественно предполагает равноускоренное движение реперного диска на интервале 57-58-59-60 зубьев, поскольку в реальности это движение может быть и не равноускоренным - положение прорези специально выбрано таким образом, чтоб зубья 59 и 60 не попадали в критическую зону управления двигателем по углу КВ (например область формирования УОЗ - +60 -10 ПКВ для каждого цилиндра соответственно, или область детонационного окна). В системах управления, где положение прорези может меняться в широких пределах, зачастую неопытные установщики не учитывают подобные тонкие моменты, что может привести к серьезному ухудшению качества управления двигателем, приводя к возникновению значительных динамических ошибок установки УОЗ для одной из пар цилиндров и др важных переменных. Таким образом положение прорези не может быть изменено! Для 4-х (2х) цилиндровых двигателей в ВМТ должен находится 20 зуб шестерни, для 6-ти(3х) цилиндровых - 15-й.
В синхронизированном режиме при обработке события 58 зуба ДПКВ программа предполагает отсутствие 59-го зуба, поэтому она переключает 3-й канал модуля capture-compare из режима захвата в режим сравнения, путем сброса битов 6 и 7 в регистре CCEN, после чего микропрограмма берет ранее захваченное состояние таймера T2 на 58 зубе и добавляет к нему угловой интервал в тиках Т2 между зубьями 57 и 58, таким образом предугадывая момент прохода над датчиком 59 зуба на основе предположения о равноускоренном вращении диска в этом угловом интервале. Полученное значение записывается в ССL3 CCH3, после чего происходит выполнение событий привязанных к 58 зубу и передача управления задачам с низшим приоритетом. Когда модуль сравнения обнаружит совпадение регистров таймера T2 и 3-го канала сравнения возникнет новый флаг события ДПКВ, который будет обработан как отсутствующий 59 зуб. Точно также будет установлен момент прохождения отсутствующего 60-го зуба, обработчик которого снова переводит 3-й канал модуля capture-compare в режим захвата, таким образом имитатор будет отключен и следующий вызов обработчика будет инициирован аппаратно - 1-м зубом шестерни.
Контроль синхронизации.
В синхронизированном режиме с имитацией зубьев 59-60 обработчик физически присутствующих зубьев 1-58 постоянно проверяет период импульсов с ДПКВ на признак отсутствующих зубьев (текущий период импульсов/2>прошлый период импульсов). Обнаружение такого состояния выставляет флаг признака ошибки ДПКВ и переводит программу в поисковый режим. При этом формирование импульсов зажигания и впрыска прекращается. Такое состояние является срывом синхронизации - множественные признаки ошибки ДПКВ приводят к фиксированию ошибки ДПКВ для диагностики..
Опрос датчика фазы.
Производится в момент прохождения 1-го зуба реперного диска 60-2 напротив ДПКВ. При этом положение прорези датчика определяет конец фазы впуска для 1 цилиндра (посадка на седло впускных клапанов 1 цилиндра). Если уровень сигнала на пине входного порта ДФ P1.2 не изменился после двух идущий подряд опросов - возникает состояние "ошибка ДФ".
Формирование импульсов зажигания.
Угол опережения зажигания представляет собой знаковое число с разрядностью 8 бит и шагом 0.5 угловых градуса, что позволяет реализовать УОЗ в диапазоне от +72 до -56 угловых градуса. Для точного формирования импульса зажигания в главном цикле вычислений микропрограмма для каждого цилиндра производит индивидуальный расчет 4-х параметров:
1) Момент зажигания по номеру зуба ДПКВ (привязка по углу с точностью 6 градусов)
2) Задержка момента зажигания по углу, выраженная как коэффициент имеющий значение 1.00 при 6 градусах (привязка по углу с точностью 0.5 град)
3) Момент начала накопления энергии по номеру зуба ДПКВ.
4) Задержка момента накопления энергии по углу, выраженная как коэффициент имеющий значение 1.00 при 6 градусах.
При расчетах, из общего "базового УОЗ" после всех необходимых преобразований для каждого цилиндра вычитается смещение по детонации, и индивидуальная цилиндровая коррекция заданная в калибровках, результат делится на 6 (интервал зубьев по углу) и трансформируется с учетом нахождения 20 зуба диска в ВМТ 1 цилиндра. Остаток от операции деления умножается на 6 (выделяется) и трансформируется в раскладку задержки момента зажигания от выбранного зуба.
Время накопления полученное из калибровки "Время накопления зажигания" трансформируется в угловые градусы, путем перемножения на обороты двигателя и связывающий коэффициент и ограничивается сверху значением 174 град а снизу 12 град, чтобы не допустить перекрытие импульса и пропуск формирования УОЗ. Момент начала накопления определяется путем вычитания из расчетного углового момента зажигания полученного углового времени накопления.
Алгоритм установки зажигания находится в обработчике ДПКВ.
Подготовка данных для очередного цилиндра зажигания производится одновременно с запуском обработчика детонации предыдущего, в точке 66 градусов до ВМТ. При этом микропрограмма используя переменную номера цилиндра двигателя в котором прошел рабочий ход, определяет, какой цилиндр из пары с ним будет следующим, например если рабочий ход был в 4-м следующим будет первый, если первый то 4-й. Определив номер следующего парного цилиндра, микропрограмма перебрасывает 4 рассчитанных связанных с ним переменных УОЗ в рабочие ячейки управления соответствующего канала зажигания. Управление каналами зажигания на выходах P5.1 P5.2 после этого производится полностью раздельно и автономно.
Для формирования сигнала начала накопления энергии в катушке зажигания диспетчер прерывания ДПКВ проверяет совпадение текущего номера зуба шестерни 60-2 с "Моментом начала накопления по зубу", если обнаружено соответствие - программа производит вычисление времени задержки:
Коэффициент задержки момента накопления энергии по углу перемножается на переменную "время 6-ти градусного поворота коленчатого вала" и добавляется к состоянию Т2 захваченному на входе в обработчик ДПКВ (прочитанного из регистров CCL3 CCH3) полученный результат используется для программирования модуля сравнения и сброса (compare and clear), и записываются в регистры COMCLRH COMCLRL. В зависимости от выбранного канала зажигания в регистр CLRMSK помещается значение 02h (P5.1) или 04h (P5.2). На этом функции диспетчера прекращаются и дальнейшее управление зажиганием производится аппаратно с использованием COMCLR модуля.
При совпадении значений в таймере T2 и регистрах COMCLR, которое произойдет через заданное время задержки, микроконтроллер переводит выбранную линию порта P5 в состояние логического нуля. Драйвер зажигания TPS2814 производит инверсию этого сигнала и усиление по току, таким образом на соответствующем выходе ЭБУ появляется управляющее напряжение +5v. Если в системе имеется модуль зажигания General Motors - сигнал непосредственно подается на его выходные ключи, что приводит к подключению соответствующей катушки зажигания в режим накопления энергии.
Установка момента зажигания начинается при совпадении текущего зуба шестерни с "Моментом зажигания по номеру зуба", также как описано ранее производится вычисление времени задержки: Коэффициент задержки момента зажигания по углу перемножается на время 6-ти градусного поворота коленчатого вала и добавляется к состоянию Т2 захваченному на входе в обработчик ДПКВ (прочитанного из регистров CCL3 CCH3) полученный результат используется для программирования модуля сравнения и установки (compare and set), и записываются в регистры COMSETH COMSETL. В зависимости от выбранного канала зажигания в регистр SETMSK помещается значение 02h (P5.1) или 04h (P5.2). На этом функции диспетчера прекращаются и дальнейшее управление производится аппаратно с использованием COMSET модуля.
При совпадении значений в таймере T2 и регистрах COMSET микроконтроллер переводит выбранную линию порта P5 в состояние логической 1. Драйвер зажигания TPS2814 производит инверсию этого сигнала и усиление по току, таким образом на выходе ЭБУ оказывается низкий потенциал, который информирует модуль зажигания о необходимости разорвать цепь подачи тока на катушку. Магнитное поле, пересекая витки катушки индуцирует во вторичной обмотке высокое напряжение, пробивающее зазор в свече, возникает искра.
Подобная методика формирования импульса зажигания позволяет достичь абсолютную вычислительную точность по углу и 6мкс по времени задержки, что в сумме на 10000 оборотах двигателя дает максимальную погрешность установки УОЗ +-0.3 угловых градуса если диск 60-2 установлен в нулях. Однако возможно увеличение этой цифры за счет постоянной времени работы интегрирующих звеньев как самого канала формирования сигнала ДПКВ так и исполнительных устройств зажигания. Поэтому в ЭБУ предусмотрена компенсация динамической ошибки связанной с увеличением оборотов. Для компенсации в программе имеется поправочный коэффициент определяемый опытным путем на реальном наборе датчиков и исполнительных механизмов и устраняющий рассогласование прохождения сигнала, коэффициент представляет собой поправку по углу, заданную для оборотов 10240 и уменьшающуюся пропорционально уменьшению оборотов (реальное значение 2.5 град). Таким образом достигается финальная точность УОЗ не хуже 0.5 угловых градуса во всех режимах работы ЭСУД для любых поддерживаемых оборотов двигателя. Подобная точность на высоких оборотах в настоящее время не доступна на многих aftermarket системах, в которых используются программные методики менеджмента в ос реального времени, где динамические ошибки на высоких оборотах могут быть достаточно велики.
Работа мягкой отсечки.
Мягкая отсечка позволяет реализовать более точное управление двигателем на предельных оборотах, и подразумевает не только управление подачей топлива но и управление зажиганием. Микропрограмма вычисляет разницу между текущими оборотами и порогом оборотов отсечки и производит вырезание зажигания если эта разница менее 200rpm, разница оборотов определяет сколько импульсов зажигания необходимо пропускать. Если разницы между оборотами нет - отключается топливо и зажигание. Если разница 40 rpm - отключаются каждый 2-й импульс зажигания (2 цилиндра), 80rpm - каждый 3-й итд. Пропуск импульса зажигания осуществляется путем обхода процедуры начала накопления энергии в катушке зажигания по флагу взведенному диспетчером мягкой отсечки.
Работа форсунок.
Работа алгоритма детектирования детонации.
Начало работы детектора детонации (окна обзора) задается в калибровке "фаза начала измерения детонации", конец - "фаза окончания измерения детонации". Калибровки, изначально заданные в градусах по коленчатому валу транслируются главным циклом вычислений в раскладку 180-ти градусного такта двигателя по КВ на 6 градусные интервалы и к ним добавляется смещение реперного диска ПКВ (20-й зуб). В обработчике ДПКВ при совпадении "фазы начала измерения" взводится бит P1.5, соединенный с контактом INT/HOLD мс HIP9010, при этом начинается процесс накопления сигнала на интеграторе микросхемы. Накопление продолжается, пока не совпадет угол поворота коленчатого вала и "фаза окончания измерения", после чего вывод INT/HOLD переводится в состояние лог 0 и микросхема HIP9010 фиксирует состояние интегратора.
Чтение состояния интегратора подключенного к 7-му канала АЦП микропроцессора, производится обработчиком ДПКВ, при повороте коленчатого вала на угол 102 градуса после ВМТ. Из прочитанного значения вычитается собственный шум интегратора, которым является значение, прочитанное из канала детонации при остановленном двигателе (первом включении зажигания) и ограниченное сверху порогом 0.5v. Полученное после вычитания значение является уровнем сигнала в канале детонации (ADET) на основании которого и производятся все дальнейшие вычисления.
Запуск задачи обнаружения детонации производится обработчиком ДПКВ через 114 градусов после ВМТ. Обработчик ДПКВ передает в задачу номер цилиндра в котором идет рабочий ход для поцилиндровой селекции.
Нормализация по времени окна.
Поскольку окно оценки сигнала детонации (время интегрирования) задается угловыми интервалами, алгоритм должен использовать механизмы нормализации уровня сигнала в канале учитывающий изменение продолжительности окна в зависимости от оборотов двигателя. Для такой нормализации используется встроенный в микросхему HIP9010 аттенюатор.
Калибровка "Настройка аттенюатора" на низких оборотах позволяет уменьшить общее усиление канала детонации, практически не влияя на него на высоких, обеспечивая тем самым необходимый уровень сигнала во всем диапазоне оборотов. Таким образом нормализация производится аппаратно и не требуется высокая точность для снятия отсчетов АЦП. Соответствие значений в калибровке коэффициентам усиления микросхемы можно найти в DataSheet HIP9010.
Частотная настройка фильтров.
В программе предусмотрено изменение частоты настройки фильтра HIP9010 в зависимости от оборотов двигателя, для чего используется калибровка "Частота настройки фильтра" содержащая непосредственные численные значения из таблицы частот (см. DataSheet HIP9010).
Адаптация по шуму двигателя.
Механизм детектирования детонации позволяет компенсировать изменение уровня сигнала с датчика детонации связанного с моментом его затяжки и собственным шумом двигателя. Для такой адаптации используется механизм настройки постоянной времени интегратора. Система производит адаптацию по шуму двигателя в точке, где детонация физически не возможна. Режимная точка для такой адаптации заданна в калибровке "зона адаптации по шуму" обычно 2500 rpm 0% дросселя. При попадании в зону адаптации система производит фильтрацию ADET асимметричным фильтром, коэффициент фильтрации которого задан в калибровках ЭБУ. Полученное значение собственно считается уровнем шума (NOISE), оно должно вписываться в диапазон заданный калибровками "макс порог шума для переключения аттенюатора на уменьшение" и "минимальный порог шума для переключения аттенюатора на увеличение". Если уровень шума выходит за указанные пределы - производится изменение состояния постоянной времени интегратора микросхемы HIP9010. Существует всего 3 возможных integrator time constant - 40,80,160 мкс. Если уровень шума высокий - система увеличивает постоянную времени интегратора, таким образом уменьшая результирующее напряжение на его выходе, если низкий - наоборот уменьшает постоянную времени увеличивая напряжение. При этом уровень шума и значения всех фильтров автоматически пересчитываются, с учетом нового значения постоянной времени интегратора
Обновление состояния аттенюатора, интегратора и частотной настройки фильтров HIP9010 производится по окончании каждого вызова обработчика детонации (1 раз за 180градусов поворота КВ).
Детектирование ошибок низкий и высокий шум двигателя при адаптации.
Если постоянная времени интегратора = 40мкс система сравнивает уровень шума двигателя с порогом "низкого уровня шума" и выставляет соответствующую ошибку, если NOISE < порога. Если постоянная времени = 160 мкс - проверяет превышение порога "высокого уровня шума", ошибка выставляется если NOISE > порога.
Для обнаружения детонации в микропрограмме реализовано 2 алгоритма - пороговый и дифференциальный.
Пороговый механизм обнаружения детонации.
Пороговый механизм детектирования детонации оперирует абсолютным значением уровня сигнала, однозначно указывающего на детонацию в двигателе. Детонация в соответствующем цилиндре обнаруживается, если выполняется следующее условие:
ADET > NOISE * "Относительный порог детонации" * "Коррекцию порога детонации".
Калибровка "Коррекция порога детонации" может быть настроена на ПАК Матрица в автоматическом режиме.
Дифференциальный механизм обнаружения детонации.
Дифференциальный алгоритм позволяет обнаруживать детонационные стуки по превышению уровня сигнала в цилиндре для данного такта над средней мощностью сигнала текущего цилиндра. Средняя мощность рассчитывается для каждого цилиндра индивидуально путем фильтрации ADET этого цилиндра на достаточно длительном интервале. Если уровень сигнала не превышает 0.5 NOISE - считается, что шум в цилиндре слишком слабый и детонация данным методом не обнаруживается.
Детонация обнаруживается, если: ADET > Средняя мощность сигнала в цилиндре * "Порог детонации".
Обнаружив детонацию, система взводит один из четырех флагов (в соответствии с номером цилиндра) которые в дальнейшем обрабатываются в главном цикле вычислений.
Диагностирование ошибки "Обрыв датчика детонации".
Производится путем сравнения в главном цикле вычислений суммы средних мощностей сигналов во всех цилиндрах деленной на 4 (средней мощности всех цилиндров) с калибровкой "Минимальный уровень шума для диагностики". И установкой флага ошибки "Обрыв датчика детонации" если при статистическом анализе, в более чем 50% таких проверок сумма средних мощностей окажется ниже заданного порога.
Обработчик детонации в главном цикле вычислений (20ms).
Обработчик проверяет признак нахождения системы в "Зоне контроля детонации" если признака нет - контроль не производится. При появлении признака (первичный вход в зону контроля с низких нагрузок) производится обнуление переменных всех цилиндровых отскоков УОЗ (если таковые были ранее). Так же проверяется "Температура включения контроля детонации" - она должна быть превышена для начала работы алгоритма обработки.
При активных в системе ошибках ДМРВ, ДАД или ДПДЗ детонация не обрабатывается - смещение УОЗ не производится.
В случае обнаружения любой из трех ошибок датчика детонации обработчик устанавливает постоянное смещение УОЗ в соответствии с калибровкой "Максимальное смещение УОЗ при детонации".
В нормальном режиме функционирования, единичное детектирование детонации не приводит к изменению УОЗ, для исключения возможных ошибок детектирования, вызванных механическими ударами по двигателю (например мелкими камушками) или щелчками связанными с температурным расширением его компонентов. Однако каждое детектирование детонации выставляет флаг "признак обнаружения детонации" передаваемый на диагностику. Если же в течении времени указанного в калибровке "Минимальное время детектирования детонации" происходит вторичное детектирование - в соответствующем цилиндре производится отброс УОЗ на 2 градуса, и отсчет периода времени детектирования начинается заново, таким образом следующее детектирование детонации в период этого времени так же приводит к отбросу УОЗ на 2 градуса и так далее. Калибровка "Максимальное смещение УОЗ при детонации" ограничивает значение отскока УОЗ которое может быть достигнуто алгоритмом. Все значения рассчитываются индивидуально для каждого цилиндра.
Возвращение УОЗ к базовым расчетным значениям происходит с дискретностью шага 0.5 градуса и интервалом шага заданного в калибровке "Период восстановления УОЗ" в том случае, если за этот период не происходило нового детектирования детонации в соответствующем цилиндре двигателя.
Комментариев нет :
Отправить комментарий