Skip to content

Latest commit

 

History

History
785 lines (543 loc) · 48.9 KB

mikas.md

File metadata and controls

785 lines (543 loc) · 48.9 KB

МИКАС 7

Железо

Питание

Клемма 27 - питание от зажигания. Именитая и известная клемма "15" на замке зажигания. Взрослые дяди её лично видели. Мне же, увы, не довелось её лицезреть лично. А так хотелось!

Датчики

Вход ДПКВ

Ожидание (возможного) - выход датчика (или его вход в 'мозок') логический. Смысл сигнала - срез (переход 0-1 или 1-0) есть сообщение о провороте коленвала на некую дельту. Должно быть обозначение "ноля" или "начала отсчёта" (ВМТ первого цилиндра).

Ожидание (невозможного, ибо три провода всего) - выход есть готовое значение положения коленвала (энкодер).

Название Клемма
"+" 49
"-" 48

Назначение компонентов:

  • C17 - шунт на входе;
  • R15 - разрядник для C17;
  • R17 - ограничитель тока через VD1.1, VD1.2;
  • C16, C22 - ??? // приведение к имеющемуся "нулю"?;
  • DA2-1 - триггер Шмитта;
  • VD1.1, VD1.2 - ограничитель входного напряжения, диоды типа BAS70 или 1N4148, V_f = 0.5 V (approx.) // zero-crossing detector?
  • R12, R13 - задают ширину петли гистерезиса на DA2-1;
  • R19, R20 - делитель напряжения (1-1 => 2.5 V), который:
    • задаёт центр петли гистерезиса;
    • задаёт смещение ограничителя входного напряжения.

Ширина петли гистерезиса: H = (R12 / R13) * 5V = 0.1 V (approx.). Верхний порог V_high = 2.5 + 0.1 = 2.6 V, нижний порог V_low = 2.5 - 0.1 = 2.4 V.

Ограничитель входного напряжения: 2.5 - 0.5 ... 2.5 + 0.5 = 2 .. 3 V. Преобразование происходит из диапазона -250 .. 250 V в диапазон 2 .. 3 V посредством ограничения (обрезания) до -0.5 .. 0.5 V и смещение на +2.5 V.

DA2-1 преобразует имеющиеся 2 .. 3 V в логические уровни (0 V и +5 V). Порог переключения в 'единицу' - 2.6 V, в 'ноль' - 2.4 V.

Такі це Zero-Crossing Detector чи ні? Схоже, що "ча да".

Разность напряжений на выходе ДПКВ, равная 0 V, говорит о прохождении середины зуба. Граница перехода выхода триггера DA2-1 в любую сторону говорит об уже случившемся прохождении середины зуба. Вот такая бяка...

Выход триггера DA2-1 уходит напрямую в 'мозок' SAF-C509L на ногу P1.3.

ВМТ первого и четвёртого цилиндров совпадает с 20-м (после выреза) зубом синхродиска. Один зуб, вместе с промежутком до следующего, имеет ширину 6 градусов оборота ДПКВ. На синхродиске 58 зубов (схема 60 - 2).

Ожидание (возможного) пока оправдалось. Начало отсчёта имеется. Правда, оно не совсем ВМТ первого цилиндра. Точнее, совсем не ВМТ. Возможное объяснение -- так сделано для лучшего удобства счёта.

// Считать зубы на шкиве КВ будем по порядку их прохождения через ДПКВ, то есть, против часовой стрелки от выреза.

Вход ДПРВ

Ожидание - выход логический, срез 0-1 сигнализирует о том, что следующее начало отсчёта совпадёт с ВМТ первого цилиндра.

Из "камасутры". ДПРВ позволяет определить ВМТ такта сжатия (перед рабочим ходом) первого цилиндра. При положении середины отметчика (на распредвале) относительно оси ДПРВ коленвал должен быть повёрнут в положение, при котором середина первого перед вырезом зуба синхродиска совпадает с осью ДПКВ. То есть, к моменту, когда с ДПКВ будет считан первый зуб с ДПРВ уже должна быть считана "1". Ширина отметчика распредвала составляет не менее 24 +/- 1 градус положения распредвала или 12 +/- 0.5 градус положения коленвала (два зуба).

Название Клемма
Сигнал 8

Назначение компонентов:

  • C30, R26, R30, C31 - фильтр.

Сигнал - проходит через ФВЧ с частотой среза около 7961Гц.

Считываются показания датчика с ноги P1.2 мозгов SAF-C509L.

Сигнал с ДПРВ трактуется только как "есть/нет". Такой сигнал формируется лишь однажды за два оборота коленвала.

Один раз за два оборота колена датчик выдаст сигнал. При частоте вращения коленвала в 6.5k датчик выдаст сигнал с частотой 3.25 kHz. Что вполне укладывается в частоту среза.

Ожидание пока оправдалось.

Вход ДМРВ

Питание датчик получает от главного реле. Оттуда же питается нога 37 мозгов.

Схем две. Для плёночного и нитевого ДМРВ.

Ожидание - используется аналоговый вход "мізків" (процессора). Аналоговое значение преобразуется в значение расхода воздуха (кг/час) через тарировочную таблицу. Прожиг управляется от мозгов через реле.

Название Клемма
"+" 7
"-" 6
Прожиг 31
Потенциометр регулировки CO 36
Плёнка

Клемма потенциометра корректировки CO заземлена через конденсатор. "Минус" опущен на землю через перемычку. "Плюс" - проходит через ФВЧ с частотой среза около 361Гц и попадает на ногу P8.3 процессора.

Ожидания пока оправдались.

Нитка

Выходы потенциометра и "плюса" значения массового расхода воздуха включены по схеме дифференциального усилителя относительно "минуса", который, кстати, опущен на "ноль" через перемычку.

Дифф-усилители имеют некий гистерезис.

Потенциометр заходит на ногу P8.0 процессора. Значение расхода - на ногу P8.3.

Прожиг управляется аналогично "плёнке".

Ожидания пока оправдались.

Прожиг

Прожиг управляется через отключением ноги OUT4 ИС HIP0045 (переход в состояние высокого импеданса).

Этот HIP0045 управляется мозгами так:

HIP0045 input SAF-C509L output
MOSI P5.5
MISO P5.7
CLK P5.6
!CE P6.6
IN0 P5.4
IN1 P9.1
!RESET вы будете смеятся, но оно болтается в воздухе как то НЛО

Вход ДПДЗ

Ожидание - используется аналоговый вход процессора.

Из "камасутры". Сам датчик представляет собой делитель напряжения. При полностью закрытом дросселе выходное напряжение в пределах 0.25 .. 0.65 V. При полностью открытом - напряжение на выходе пределах 3.9 .. 4.7 V. Сопротивление - в пределах 1.8 .. 2 kOhm.

Название Клемма
Сигнал 53
+U 12
GND 30

Назначение компонентов:

  • C4, R4, R1, C5 - фильтр.

Сигнал - проходит через ФВЧ с частотой среза около 361Гц и попадает на ногу P8.4 процессора.

Ожидания - пока оправдались.

Вход ДТВ/ДТОЖ

Ожидание - используется аналоговый вход процессора.

Из "камасутры". Датчик представляет собой залитую компаундом ИС К1019ЕП1. Ближайший аналог - LM135 (по слухам, не сверял).

Название Клемма
Сигнал ДТВ 44
Сигнал ДТОЖ 45

Сигнальная клемма одновременно есть и питательная. Однако, питание датчику нужно подавать от источника тока. Характеристика датчика линейная при питании датчика током в 1 mA.

Сигнал ДТВ - проходит через ФВЧ с частотой среза около 361Гц и попадает на ногу P8.6 процессора. Сигнал ДТОЖ - аналогично и попадает на ногу P7.7 процессора.

Каждый датчик питается от источника питания 5 V через сопротивление 1.8 kOhm. То есть предельный ток - 2.78 mA. Маленько не сходится ток питания с предельным для ИС (0.45 .. 2.5 mA). Однако, по тарировочной таблице с номинальным током (1 mA), при температуре -45 C разность потенциалов на выходе составит 2.23 ... 2.33 V. Получаем сопротивление 2230 .. 2330 Ohm. В купе с имеющимся 1.8 kOhm получим ток 1 mA (approx). При температуре 125 C разность потенциалов на выходе составит 3.95 .. 4.01 V. Это даёт сопротивление 3950 .. 4010 Ohm. В совокупности с имеющимся 1.8 kOhm это даёт ток 0.86 mA (approx).

Ожидания пока оправдались.

Вход ДД

Ожидание - используется логический вход процессора. Сигнал 1 говорит, что имеет место детонация.

Название Клемма
Сигнал ДД1 11
Сигнал ДД2 41

Сигнал датчика через конденсатор (для отсечения постоянной составляющей) поступает на вход ИС HIP9010 или HIP9011.

Эта ИС управляется "мозгами" так:

HIP9010 / HIP9011 SAF-C509L
MISO NC
MOSI P1.5
SCK P9.6
OSCIN P1.6
OSCOUT NC
INTEGRATE/!HOLD P1.4
INTEGRAL OUTPUT P7.0
!TEST NC
!CS P9.7

Ноги S0IN, S0FB и соответствующие входы второго канала использованы по назначению для подключения обоих датчиков.

Датчик пъезоэлектрический. Сигнал с датчика не логический, а аналоговый. В добавок, двигатель - штука вибрирующая постоянно. В рабочем режиме датчик генерирует ЭДС с некоторой амплитудой и характеристикой. Назовём этот сигнал штатным. Детонация сопровождается (или предваряется) неким "шумом" среди "штатного" сигнала.

Суть работы HIP9010/HIP9011 заключается в фильтрации входного сигнала с последующим интегрированием за некий промежуток времени. Входы SPI (MOSI, SCK) использутся для установки параметров фильтра и длительности промежутка времени, за который нужно делать интегрирование. Выход - аналоговый.

Ожидания - разбились о скалы действительности и физики. Используется аналоговый вход. Превышение интегрального значения некоего порога говорит а наличии детонации.

Вход L-зонда

Ожидания - используется аналоговый вход процессора.

Название Клемма
Сигнал 1 28
Сигнал 2 39

По значению с датчика меняется смесеобразование (изменение длительности впрыска и/или кол-ва добавочного воздуха).

Выход датчика проходит через ФВЧ с частотой среза 1592 Hz (approx.) и далее на ногу P7.1 процессора. Второй L-зонд проходит через такой же фильтр и далее на ногу P7.2.

Ожидания - пока оправдались.

Вход "запрос включения кондиционера"

Ожидания - используется логический вход процессора.

Название Клемма
Сигнал 40

Выход "запроса" проходит через ФВЧ и поступает на ногу P7.6 процессора.

Ожидания - пока оправдались.

Вход клапана рециркуляции (СРОГ) / ДАД

Из разных источников - клемма 50 это либо сигнал с клапана рециркуляции либо сигнал с ДАД. Питание этот "клапан ДАД" получает от клеммы 47 +5 V.

Название Клемма
Сигнал 50
+U 47

Ожидания - используется аналоговый вход процессора.

Сигнал проходит через ФВЧ с частотой среза 361 Hz (approx.) и попадает на ногу P8.5 процессора.

Ожидания - пока да (c) (Бородатый анекдот).

Исполнительные механизмы

Реле

Главное реле

Реле управляется с клеммы 46 подачей "минуса" (включением соответствующего выхода) с ноги OUT5 ИС HIP0045.

Реле ЭБН

Реле управляется с клеммы 3 подачей "минуса" (включением соответствующего выхода) с ноги OUT7 ИС HIP0045.

Реле муфты электровентилятора

Реле управляется с клеммы 33 отключением ноги OUT3 ИС HIP0045 (переход в состояние высокого импеданса).

Реле муфты кондиционера

Реле управляется с клеммы 25 отключением ноги OUT2 ИС HIP0045 (переход в состояние высокого импеданса).

Зажигание

Питание катушек:

  • однин вывод включен постоянно от замка зажигания (клемма "15"), +12 V
  • второй - от клемм 1 (КЗ 1/4) и 20 (КЗ 2/3) ЭБУ

Управляются катушки с клемм 1 и 20 и клеммой 27. Управление производится через ИС TPS2814 и полевой транзистор (в ключевом режиме). Транзистор КЗ 1/4 - с ноги OUT2, КЗ 2/3 - с ноги OUT1. Когда выход ИС TPS2814 активен (+5 V) полевик открыт (в насыщенном состоянии) и замыкает клемму 1 (20) на землю. Таким образом включается питание на катушку. В противном случае полевик закрыт и на клемму 1 (20) поступает напряжение +12 V. Таким образом от катушки отключается питание (на оба вывода подано +12 V). В момент переключения выхода TPS-ины 1 => 0 должно произойти искрообразование.

Управляется TPS2814 так:

TPS2814 SAF-C509L
IN1 !RESO
IN2 !RESO
!IN1 P5.0
!IN2 P5.1

Неисправности определяются посредством считывания напряжения с ноги P7.5 (P7.4).

Смесеобразование

Воздух: РДВ aka РХХ

Управляется с клемм 4 (закрытие) и 26 (открытие). Питание от главного реле.

У РХХ две обмотки, три вывода - один вывод общий для обмоток. Общий вывод - "плюс" (+12 V). Управление "минусом". "Минус" заводится на клемму 4 или 26.

Питание ("минус") на клеммы 4 и 26 подаётся с ИС TLE5216G/MC33385DH с выходов OUT3 и OUT1 соответственно.

Управление этой ИС выполняется так:

TLE5216G SAF-C509L
IN1 P1.1
IN2 P4.4
IN3 P1.0
IN4 P4.5
!RESET !RESO
DI +5 V
DO P9.0
CLK P4.6
!CS P6.7
Топливо: форсунки

Форсунки получают питание (+12 V) от главного реле. Включение управляется подачей минуса.

Форсунки управляются с клемм:

Форсунка Клемма
1 17
2 16
3 35
4 34

Минус подаётся на управляющие клеммы с ИС TLE5216G/MC33385DH с выходов OUT2, OUT3, OUT1, OUT4 для первой, второй, третьей, четвёртой форсунок соответственно.

Управление этой ИС выполняется так:

TLE5216G SAF-C509L
IN1 P4.2
IN2 P4.0
IN3 P4.1
IN4 P4.3
!RESET !RESO
DI +5 V
DO P4.7
CLK P4.6
!CS P6.7

Продувка адсорбера и клапан СРОГ

Управление производится с клемм 5 (продувка адсорбера) и 23 (клапан СРОГ).

Управляются всё той же (первой) ИС TLE5216G/MC33385DH.

Управление всё так же минусом в силу логики работы данной ИС.

Диагностическая лампа

Диагностическая лампа зажигается подачей минуса (включением соответствующего выхода) от ИС HIP0045 с ноги OUT6 на клемму 22.

Тахометр (водительский ?)

Клемма 43 (D) управляется переходом в состояние высокого импеданса ноги OUT0 ИС HIP0045.

На клемму 38 (A) поступает интегрированное RC-цепочкой напряжение с клемм 1 и 20, управляющих катушками зажигания.

Расходомер топлива

Клемма 32 управляется переходом в состояние высокого импеданса ноги OUT1 ИС HIP0045.

Итог по железу

HIP0045 - octal low side power driver with serial bus control and fault protection

HIP0045 SAF-C509L Клемма мозгов Назначение Способ подачи сигнала на включение
MOSI P5.5
MISO P5.7
CLK P5.6
!CE P6.6
IN0 P5.4
IN1 P9.1
!RESET вы будете смеятся, но оно болтается в воздухе как то НЛО
OUT0 43 Тахометр (D) high-Z
OUT1 32 Расходомер топлива high-Z
OUT2 25 Реле кондиционера high-Z
OUT3 33 Реле карлсона high-Z
OUT4 31 Прожиг ДМРВ high-Z
OUT5 46 Главное реле turn on
OUT6 26 Диагностическая лампа turn on
OUT7 3 Реле ЭБН turn on

HIP9010/9011 - engine knock signal processor

HIP9010 / HIP9011 SAF-C509L Назначение
MISO NC
MOSI P1.5
SCK P9.6
OSCIN P1.6
OSCOUT NC
INTEGRATE/!HOLD P1.4
INTEGRAL OUTPUT P7.0
!TEST NC
!CS P9.7
S0IN Обвязка ДД1. Прямой вход.
S0FB Обвязка ДД1. Вход обратной связи.
S1IN Обвязка ДД2. Прямой вход.
S1FB Обвязка ДД2. Вход обратной связи.

TPS2814 - dual high-speed mosfet driver

Их две. Одна для управления катушками зажигания. Вторая, как ни странно, управляет другими двумя катушками зажигания (V8 ?).

Первая:

TPS2814 SAF-C509L Клемма мозгов Название Способ подачи сигнала
IN1 !RESO
IN2 !RESO
!IN1 P5.0 КЗ 2/3 Включение КЗ при 0, искрообразование при переходе 0 => 1
!IN2 P5.1
OUT1 P7.4 20 КЗ 2/3 Катушка питается при "0" на соответствующем входе TPS-ины. Искрообразование происходит при переходе 1 => 0
OUT2 P7.5 1 КЗ 1/4

Второй тут не будет.

TLE5216G/MC33385DH - smart quad channel low-side switch

ВНИМАНИЕ! Эти две ИС не взаимозаменяемы по распиновке, хотя и работают одинаково. Каждая ИС имеет своё семейство аналогов.

Их две. Одна для управления РХХ, продувкой адсорбера и клапаном СРОГ . Вторая - управляет форсунками.

Первая:

TLE5216G/MC33385DH SAF-C509L Клемма мозгов Назначение Способ подачи сигнала
IN1 P1.1 Открытие РХХ set low
IN2 P4.4 Продувка адсорбера
IN3 P1.0 Закрытие РХХ
IN4 P4.5 Клапан СРОГ
!RESET !RESO
DI +5 V
DO P9.0
CLK P4.6
!CS P6.7
OUT1 26 Открытие РХХ turn on
OUT2 5 Продувка адсорбера
OUT3 4 Закрытие РХХ
OUT4 23 Клапан СРОГ

Вторая:

TLE5216G/MC33385DH SAF-C509L Клемма мозгов Назначение Способ подачи сигнала
IN1 P4.2
IN2 P4.0
IN3 P4.1
IN4 P4.3
!RESET !RESO
DI +5 V
DO P4.7
CLK P4.6
!CS P6.7
OUT1 35 Форсунка 3 turn on
OUT2 17 Форсунка 1
OUT3 16 Форсунка 2
OUT4 34 Форсунка 4

SAF-C509L

P0, P2

Вход-выход шины адреса и шины данных. См. ISA.

P1
SAF-C509L Logic/Analog In/Out Designation Pin special function Action to turn on (for outputs)
P1.0 Logic Out IN3 @ TLE5216G / MC33385DH #1, закрытие РХХ. INT3/CC0 - external interrupt 3/capture 0/compare 0 Set high
P1.1 - - IN1 @ TLE5216G / MC33385DH #1, открытие РХХ. INT4/CC1 - external interrupt 4/capture 1/compare 1 -
P1.2 - In ДПРВ. Срез 0 => 1 говорит о том, чте следующая ВМТ первого цилиндра будет в конце такта сжатия. INT5/CC2 - external interrupt 5/capture 2/compare 2
P1.3 - - ДПКВ. Срез 0 => 1 и 1 => 0 говорит о прохождении середины зуба. INT6/CC3 - external interrupt 6/capture 3/compare 3
P1.4 - Out INTEGRATE/!HOLD @ HIP9010 / HIP9011, настройка фильтра ДД. INT2/CC4 - external interrupt 2/capture 4/compare 4
P1.5 - - MOSI @ HIP9010 / HIP9011, настройка фильтра ДД. T2EX - Timer 2 ext. reload trigger input
P1.6 - - OSCIN @ HIP9010 / HIP9011, настройка фильтра ДД. CLKOUT - System clock output
P1.7 - - SCL @ NM24C04 / AT24C04 (EEPROM, I2C). T2 - Timer 2 external count input
P3
SAF-C509L Logic/Analog In/Out Designation Pin special function Action to turn on (for outputs)
P3.0 Logic In RxD @ MC33199 (ISO9141). RxD0 - serial channel 0 rx (input)
P3.1 - Out TxD @ MC33199 (ISO9141). TxD0 - serial channel 0 tx (output)
P3.2 External interrupt 0 INT0 - external interrupt 0
P3.3 - In/Out SDA @ NM24C04 / AT24C04 (EEPROM, I2C). External interrupt 1 INT1 - external interrupt 1
P3.4 T0 - Timer 0 external count input
P3.5 Датчик скорости, клемма 9 (?). T1 - Timer 1 external count input
P3.6 WR - External data memory write strobe
P3.7 RD - External data memory read strobe
P4
SAF-C509L Logic/Analog In/Out Designation Pin special function Action to turn on (for outputs)
P4.0 Logic Out IN2 @ TLE5216G / MC33385DH #2, форсунка 1. CCM0 - compare output for the CM0 register Set high
P4.1 - - IN3 @ TLE5216G / MC33385DH #2, форсунка 2. CCM1 - compare output for the CM1 register -
P4.2 - - IN1 @ TLE5216G / MC33385DH #2, форсунка 3. CCM2 - compare output for the CM2 register -
P4.3 - - IN4 @ TLE5216G / MC33385DH #2, форсунка 4. CCM3 - compare output for the CM3 register -
P4.4 - - IN2 @ TLE5216G / MC33385DH #1, продувка адсорбера. CCM4 - compare output for the CM4 register -
P4.5 - - IN4 @ TLE5216G / MC33385DH #1, клапан СРОГ. CCM5 - compare output for the CM5 register -
P4.6 - - CLK @ TLE5216G / MC33385DH #1, #2. CCM6 - compare output for the CM6 register
P4.7 - In DO @ TLE5216G / MC33385DH #2. CCM7 - compare output for the CM7 register
P5
SAF-C509L Logic/Analog In/Out Designation Pin special function Action to turn on (for outputs)
P5.0 Logic Out !IN1 @ TPS2814 #1, КЗ 2/3. CCM0 - concurrent compare 0 output Switch 0 => 1 to ignite, set low to power coil
P5.1 - - !IN2 @ TPS2814 #1, КЗ 1/4. CCM1 - concurrent compare 1 output -
P5.2 - - !IN1 @ TPS2814 #2, КЗ #3 (?). CCM2 - concurrent compare 2 output -
P5.3 - - !IN2 @ TPS2814 #2, КЗ #4 (?). CCM3 - concurrent compare 3 output -
P5.4 - - IN0 @ HIP0045, управление прожигом ДМРВ, РГл, Реле ЭБН, Реле карлсона, Реле кондиционера, диагностической лампой, расходомером и тахометром. CCM4 - concurrent compare 4 output Depends on config word
P5.5 - - MOSI @ HIP0045 (SPI), управление прожигом ДМРВ, РГл, Реле ЭБН, Реле карлсона, Реле кондиционера, диагностической лампой, расходомером и тахометром. CCM5 - concurrent compare 5 output
P5.6 - - CLK @ HIP0045 (SPI), управдение прожигом ДМРВ, РГл, Реле ЭБН, Реле карлсона, Реле кондиционера, диагностической лампой, расходомером и тахометром. CCM6 - concurrent compare 6 output
P5.7 - In MISO @ HIP0045 (SPI), управление прожигом ДМРВ, РГл, Реле ЭБН, Реле карлсона, Реле кондиционера, диагностической лампой, расходомером и тахометром. CCM7 - concurrent compare 7 output
P6
SAF-C509L Logic/Analog In/Out Designation Pin special function
P6.0 Logic Out HOLD (E6) @ TLE4267, 5V drop regulator. ADST - external A/D converter start
P6.1 RxD1 - serial channel 1 rx (input)
P6.2 TxD1 - serial channel 1 tx (output)
P6.3 ~WRF - write external flash
P6.4 None
P6.5 In (?) +5 V sensor (?). None
P6.6 Logic Out !CE @ HIP0045, управление прожигом ДМРВ, РГл, Реле ЭБН, Реле карлсона, Реле кондиционера, диагностической лампой, расходомером и тахометром. None
P6.7 Logic - !CS @ TLE5216G / MC33385DH #1, #2, управление РХХ, продувкой адсорбера и клапаном СРОГ и форсунками. None
P7
SAF-C509L Logic/Analog In/Out Designation
P7.0 Analog In INTEGRAL OUTPUT @ HIP9010 / HIP9011, сигнал детонации.
P7.1 - - L-зонд #1.
P7.2 - - L-зонд #2.
P7.3 L-зонд #2 "-".
P7.4 Analog In Напряжение на КЗ 2/3.
P7.5 - - Напряжение на КЗ 1/4.
P7.6 Logic - Запрос включения кондиционера.
P7.7 Analog - ДТОЖ.
P8
SAF-C509L Logic/Analog In/Out Designation
P8.0 Analog In Потенциометр регулировки CO на нитевом ДМРВ.
P8.1 Logic (?) In Вывод 15 замка зажигания = включение зажигания, INHIBIT @ TLE4267.
P8.2 ФВН (диагн.), клемма 51 (?).
P8.3 Analog In ДМРВ.
P8.4 Analog - ДПДЗ.
P8.5 Analog - Клапан СРОГ.
P8.6 Analog - ДТВ.
P9
SAF-C509L Logic/Analog In/Out Designation Pin special function
P9.0 Logic In DO @ TLE5216G #1, сведения об отказах в РХХ, СРОГ, адсорбере. CC10 - compare output/capture input for CC10 register
P9.1 Logic Out IN1 @ HIP0045, управление прожигом ДМРВ, РГл, Реле ЭБН, Реле карлсона, Реле кондиционера, диагностической лампой, расходомером и тахометром. CC11 - compare output/capture input for CC11 register
P9.2 PWM @ TPIC0107B, ФВН 1 и ФВН 2. CC12 - compare output/capture input for CC12 register
P9.3 DIR @ TPIC0107B, ФВН 1 и ФВН 2. CC13 - compare output/capture input for CC13 register
P9.4 STATUS2 @ TPIC0107B, ФВН 1 и ФВН 2. CC14 - compare output/capture input for CC14 register
P9.5 Logic In LO @ MC33199 (ISO9141). CC15 - compare output/capture input for CC15 register
P9.6 Logic Out SCK @ HIP9010/HIP9011 (SPI). CC16 - compare output/capture input for CC16 register
P9.7 Logic Out !CS @ HIP9010/HIP9011. CC17 - compare output/capture input for CC17 register

Прошивка

Разбираться будет прошивка e591.

Ожидания

  • показания с ДПКВ поступают через прерывание - логический вход;
  • показания с ДПРВ поступают через прерывание - логический вход;
  • показания с остальных датчиков поступают по прерыванию через аналоговый вход.

Аналоговые датчики

Обработчик прерывания готовности сведений ADC записывает оцифрованные показания в RAM для дальнейшего их использования.

ДПРВ

Обработчик прерывания выставляет флаг, говорящий о том, что следующая ВМТ... ну, вы поняли.

ДПКВ

Два варианта:

  • обработчик прерывания инкрементирует номер зуба [0..57, 60..117] (цикличность работы = два оборота коленвала) и записывает время, когда прерывание сработало;
  • обработчик прерывания выполняет калькуляцию подачи топлива, дополнительного воздуха и времени зажигания.

Первый вариант не может занимать много команд. Второй варианд должен занимать много команд. При частоте вращения коленвала 6.5k прерывание должно происходить с частотой 390k (300k для частоты вращения КВ 5k). При частоте работы CPU 16M большая часть инструкций (58%) выполняется за 375nsec. За одну секунду можно выполнить 2.66M команд или 6.837 команд за интервал между прерываниями ДПКВ.

Для тих, хто має розум та розуміє мову, кажу - не підходить.

Ни тот, ни другой обработчик прерывания ДПКВ не влезет в наш выдуманный лимит в шесть с лишним команд. Потому, схема работы должна быть иной - срабатывание прерывания, видимо, должно происходить реже.

Зубьев на "шкиве"-отметчике достаточно всего два - "двадцатый" для ВМТ первого и четвёртого цилиндров и "пятидесятый" для ВМТ второго и третьего цилиндров. Остальные зубья, видимо, нужны для измерения частоты вращения коленвала на более коротких дистанциях, чем пол-оборота. Обработчик прерывания в таком режиме, наверное, может работать через хвалёный CCU у SAF-C509. С его работой предстоит разобраться детально. Итерации срабатывания чередуются - через 30 зубов (для ВМТ второго и третьего цилиндров) и через 28 зубьев (для ВМТ первого и четвёртого цилиндров). Тут частота срабатывания прерывания будет лишь в два раза выше чем частота обращения коленвала - 13k. За интервал времени между прерываниями можно выполнить 204.6 команд. Эти команды должно потратить на:

  • переконфигурирование CCU (поскольку количество зубьев на половинках таки разное);
  • запись временной отметки (для вычисления частоты вращения КВ).

Ходит в интернете такая хохма, будто получение сигнала с ДПКВ работает таки через CCU в режиме Capture + Compare (Timer2):

  1. PREREQ: Пусть, Capture работает по положительному срезу сигнала + прерывание; Compare - вызывает прерывание.
  2. По прерыванию вычисляем - сколько времени прошло от предыдущего прерывания (первое прерывание стартовое) => delta_t_tooth.
  3. Устанавливаем Compare через delta_t_tooth * 1.75 (коэффициент подбирается опытно по максимальному возможному торможению вращения зубчатого диска).
  4. Если сработало прерывание Compare - был пропуск зуба.

Риск - обработчик прерывания может не успеть выполнить все команды при максимально резком ускорении вращения зубчатого диска (или на высокой скорости вращения) и тогда будет выполнен пропуск счёта зубьев.

Таким образом выделяется начало отсчёта (пропуск зубьев). Отсюда можно получить номер текущего зуба в обработчике прерывания. ВМТ первого/четвёртого цилиндров на двадцатом зубе и второго/третьего цилиндров на пятидесятом зубе.

Вопрос - каким образом реализуется время подачи топлива и искрообразование? Предполагаемый ответ:

  • Искрообразование (Port5) - через Timer2 в режиме Compare Mode 2: COMSET/COMCLR, + Reload для задания частоты.
  • Подача топлива (Port4) - через Timer в режиме Compare Mode 0 + Reload для задания частоты.

Вопрос - как задать фазу этих таймеров? Предполагаемый ответ - Timer2 - тут задающий, потому нужно задать только фазу Timer - по моменту старта относительно Timer2.

Основная программа

Должны быть внутренние часы. Наверное, работают через отдельное прерывание и инкрементируют какой-то счётчик.

В основной программе (рабочем цикле) выполняется вычисление подачи топлива, дополнительного воздуха, опережения зажигания. Пожалуй, должна тут же выполнятся фильтрация оцифрованных показаний аналоговых датчиков.

Подача топлива - два параметра: когда включить форсунки и на какое время (то есть, когда отключить). Когда включить - через сколько времени времени после ВМТ такта впуска. Когда выключить - через сколько времени после включения. ВМТ одной пары цилиндров соответствует НМТ другой пары цилиндров. ВМТ такта впуска одного цилиндра соответствует НМТ такта сжатия предыдущего цилиндра.

Cylinder Stroke 1 Stroke 2 Stroke 3 Stroke 4
1 Intake Compr. Combust. Exhaust
2 Compr. Combust. Exhaust Intake
3 Exhaust Intake Compr. Combust.
4 Combust. Exhaust Intake Compr.
Stroke Direction
Intake TDC => BDC
Compr. BDC => TDC
Comb. TDC => BDC
Ex-st BDC => TDC

// Не забываем, что форсунки это просто клапана. В их названии форс - пустой звук. Лучше понятно импортное injector (від укр. інжектор, для тих, хто знає мову :-) ).

Подача дополнительного воздуха - два параметра: частота и скважность открывания РХХ. Можно свести к одному при работе на максимально допустимой частоте работы РХХ.

Опережение зажигания - два параметра: когда должно быть зажигание, сколько времени питать катушку. Сводится к одному, если катушка питается всё "свободное время".

Вопросы

  1. Работа CCU @ SAF-C509L. Использование CCU для обработки сигнала с ДПКВ и ДПРВ. Используется CCU совместно с прерываниями. Нужно смотреть иницилазацию.
  2. Работа основной программы, т.е. после инициализации.
  3. Функция capture = чтение состояния внутреннего таймера в выделенный регистр? capture is short for "capture timer value". read timer2 operation + compare modes 0 and 1 (sect 6.3.3{.1,.2}, 6.3.4{.1,.2}).
  4. Назначение PSW.5 (general purpose flag 0) - уже работал?
  5. Назначение PSW.6 (general purpose flag 1) - error ?
  6. Назначение RAM[7E], RAM[7F] - инициализируются значением 0x40
  7. Назначение RAM[7C..7F] - ?
  8. Назначение FLASH[87A7] = 2C?
  9. Механизм управления РХХ
  10. Вывод диагностических сообщений (ощибок, тут нет опечатки, просто мне не нравится слово "ошибка", применяемоле тут не к месту)
  11. Каким образом определяется ВМТ первого цилиндра?

Реальная работа

Аналоговые датчики

ДПКВ

ДПРВ

Основная программа

Вопросы