Эээ чет не получилось, тогда вот так: Работа алгоритма детектирования детонации.
Начало работы детектора детонации (окна обзора) задается в калибровке "фаза начала измерения детонации", конец - "фаза окончания измерения детонации". Калибровки, изначально заданные в градусах по коленчатому валу транслируются главным циклом вычислений в раскладку 180-ти градусного такта двигателя на 6 градусные интервалы и к ним добавляется смещение реперного диска ПКВ (20-й зуб). В обработчике ДПКВ при совпадении "фазы начала измерения" взводится бит P1.5, соединенный с контактом INT/HOLD мс HIP9010, при этом начинается процесс накопления сигнала на интеграторе. Накопление продолжается, пока не совпадет угол поворота коленчатого вала и "фаза окончания измерения", после чего вывод INT/HOLD переводится в состояние лог 0 и микросхема HIP9010 фиксирует состояние интегратора.
Чтение состояния интегратора из 7-го канала АЦП производится обработчиком ДПКВ при повороте коленчатого вала на угол 102 градуса после ВМТ. Из прочитанного значения вычитается собственный шум интегратора. Это значение прочитанное из канала детонации при остановленном двигателе и ограниченное сверху порогом 0.5v. Полученное после вычитания значение является уровнем сигнала в канале детонации (ADET) на основании которого и производятся все дальнейшие вычисления.
Запуск задачи обнаружения детонации производится обработчиком ДПКВ через 114 градусов после ВМТ. Обработчик ДПКВ передает в задачу номер цилиндра в котором идет рабочий ход для поцилиндровой селекции.
Нормализация по времени окна.
Поскольку окно оценки сигнала детонации (время интегрирования) задается угловыми интервалами, алгоритм должен использовать механизмы нормализации уровня сигнала в канале учитывающий изменение продолжительности окна в зависимости от оборотов двигателя. Для такой нормализации используется встроенный в микросхему HIP9010 аттенюатор.
Калибровка "Настройка аттенюатора" на низких оборотах позволяет уменьшить общее усиление канала детонации, практически не влияя на него на высоких, обеспечивая тем самым необходимый уровень сигнала во всем диапазоне оборотов. Таким образом нормализация производится аппаратно не требуется высокая точность для снятия отсчетов АЦП.
Адаптация по шуму двигателя.
Механизм детектирования детонации позволяет компенсировать изменение уровня сигнала с датчика детонации связанного с моментом его затяжки и собственным шумом двигателя. Для такой адаптации используется механизм настройки постоянной времени интегратора. Система производит адаптацию по шуму двигателя в точке, где детонация физически не возможна. Режимная точка для такой адаптации заданна в калибровке "зона адаптации по шуму" обычно 2500 rpm 0% дросселя. При попадании в зону адаптации система производит фильтрацию ADET асимметричным фильтром, коэффициент фильтрации которого задан в калибровках детонации. Полученное значение собственно считается уровнем шума (NOISE), оно должно вписываться в диапазон заданный калибровками "макс порог шума для переключения аттенюатора на уменьшение" и "минимальный порог шума для переключения аттенюатора на увеличение". Если уровень шума выходит за указанные пределы - производится изменение состояния постоянной времени интегратора микросхемы HIP9010. Существует всего 3 возможных integrator time constant - 40,80,160 мкс. Если уровень шума высокий - система увеличивает постоянную времени интегратора, таким образом уменьшая результирующее напряжение на его выходе, если низкий - наоборот уменьшает постоянную времени увеличивая напряжение.
Детектирование ошибок низкий и высокий шум двигателя при адаптации.
Если постоянная времени интегратора = 40мкс система сравнивает уровень шума двигателя с порогом "низкого уровня шума" и выставляет соответствующую ошибку, если NOISE < порога. Если постоянная времени = 160 мкс - проверяет превышение порога "высокого уровня шума", ошибка выставляется если NOISE > порога.
Для обнаружения детонации в микропрограмме реализовано 2 алгоритма - пороговый и дифференциальный.
Пороговый механизм обнаружения детонации.
Пороговый механизм детектирования детонации оперирует уровнем сигнала однозначно указывающего на детонацию в двигателе. Детонация в цилиндре обнаруживается, если выполняется следующее условие:
ADET > NOISE * "Относительный порог детонации" * "Коррекцию порога детонации".
Калибровка "Коррекция порога детонации" может быть настроена на ПАК Матрица в автоматическом режиме.
Дифференциальный механизм обнаружения детонации.
Дифференциальный алгоритм позволяет обнаруживать детонационные стуки по превышению уровня сигнала данного такта над средней мощностью сигнала текущего цилиндра. Средняя мощность рассчитывается для каждого цилиндра индивидуально путем фильтрации ADET этого цилиндра на достаточно длительном интервале. Если уровень сигнала не превышает 0.5 NOISE - считается, что шум в цилиндре слишком слабый и детонация данным методом не обнаруживается.
Детонация обнаруживается, если: ADET > Средняя мощность сигнала в цилиндре * "Порог детонации".
Ну и это автор не я, а всем известный Emmibox/