APS Logo APS_TUNING [ ABOUT ] [ BLOG ]
<- VISSZA A LOGOKHOZ

Bosch ME9/MED9: gázelvételes Anti-Lag rendszer tervezése

TIMESTAMP: 2026.02.24 | UPDATED: 2026.10.24 | TARGET: BOSCH ME9 / MED9 | AUTHOR: APS TUNING

A többprogramos vezérlés, vagyis a mapswitch lehetőséget ad arra, hogy egy kiválasztott programálláshoz külön motorsportfunkciókat rendeljünk. Ilyen a gázelvételes Anti-Lag System, röviden ALS.

Az ALS célja, hogy gázelvételkor mérsékelje a turbó fordulatszámának visszaesését. Ehhez összehangolt levegő-, gyújtás- és üzemanyag-vezérlés szükséges. A kipufogó durrogása önmagában nem bizonyítja, hogy a rendszer érdemi anti-lag hatást ér el.

Megjegyzés: Az alábbi leírás fejlesztési koncepció. Nem közvetlenül beilleszthető patch: a pontos címeket, skálázásokat, végrehajtási pontokat és felügyeleti kapcsolatokat minden szoftververziónál külön kell azonosítani.

1. Memória és kalibráció

A megvalósításhoz háromféle terület szükséges:

Egy 0xFF bájtokkal feltöltött flashblokk önmagában még nem bizonyítja, hogy szabadon felhasználható. Ellenőrizni kell a memóriakiosztást, a hivatkozásokat, az ellenőrzőösszegeket és az íróeszköz által kezelt tartományokat. A RAM-nál az inicializálást és a többi feladat memóriahasználatát is vizsgálni kell.

A paraméterek külön kalibrációs területen történő tárolása megkönnyítheti a hangolást. Az OBD-n keresztüli módosíthatóság azonban az ECU-tól, a protokolltól és az íróeszköztől függ. Nem általános szabály, hogy a programkód csak BDM/bench módban, a kalibráció pedig mindig OBD-n írható.

Lehetséges paraméterek:

Minden paraméterhez dokumentálni kell a mértékegységet, a nyers skálázást, az előjelet és a megengedett tartományt.

2. Közös állapotgép

A levegő-, gyújtás- és üzemanyag-rutinoknak ugyanazt az ellenőrzött ALS-állapotot kell használniuk.

Az aktiválás feltétele lehet a kiválasztott map, a felengedett gázpedál, a megfelelő fordulatszám és a fékpedál állapota. Ezek mellett szükséges a hőállapot, a jelérvényesség, az aktív hibák és az időkorlátok kezelése is.

Figyelem: A konkrét hőmérsékleti küszöbök motor- és alkalmazásfüggők. Egyetlen hűtőfolyadék-határérték nem védi önmagában a turbót, a kipufogószelepeket vagy a katalizátort.

Az ALS-állapotot inicializáláskor és hibás bemenetnél inaktívra kell állítani. A különböző ütemezésű rutinok között meg kell akadályozni egy korábbról megmaradt aktív jel használatát.

A launch control és a gázelvételes ALS legyen külön állapot. Az első álló vagy kis sebességű induláshoz, a második gázelvételhez kapcsolódik, beavatkozásaik prioritását és kölcsönös kizárását egyértelműen meg kell határozni.

3. Levegővezérlés

Az ALS működéséhez gázelvételkor is szükség lehet szabályozott levegőáramra. Ennek megvalósítása a fojtószelep- és nyomatékvezérlés megfelelő pontján történhet.

Nem elegendő egy fojtószelephez kapcsolódó RAM-változót átírni. Előbb azonosítani kell, hogy az adott jel mért érték, célérték, köztes szabályozási érték vagy tényleges kimeneti parancs.

A beavatkozás hat a motorfékre és a hajtónyomatékra. Fékezéskor az ALS kikapcsolása indokolt, de egyetlen fékjel-ellenőrzés önmagában nem garantálja a fékrásegítés vagy a motorfék azonnali helyreállását.

4. Gyújtáskésleltetés és felügyelet

Az ALS egyik eszköze a késleltetett gyújtás. A használható szöget és időtartamot a motor, a turbó és a kipufogórendszer terhelhetősége korlátozza.

Egyes szoftverek a gyújtáshoz kapcsolódó értékeket redundáns formában is tárolják, például az értékkel és annak bitenkénti komplemensével. Ha a vizsgált program ilyen párt használ, annak konzisztenciáját meg kell őrizni.

A helyes komplemens azonban csak ezt az egy konzisztenciafeltételt teljesíti. Nem bizonyítja a nyomatékfelügyelet, a plausibilitásvizsgálatok, a watchdog vagy a többi védelmi funkció kompatibilitását.

A belépési és visszatérési pontnál a regisztereket, a feltételregisztert és a felülírt gyári utasításokat is ellenőrizni kell. A gyújtásszög előjeles kezelése szintén az adott jel formátumától függ.

5. Gyújtáskihagyás és az LFSR

A gyújtáskihagyási mintázat előállítható determinisztikus pszeudovéletlen-generátorral, például LFSR-rel. Ez azonban nem teszi automatikusan kíméletessé a beavatkozást, és nem garantál egyenletes hengerenkénti hőterhelést.

Javítás a korábbi kódrészlethez: a bemutatott PowerPC maszkolás hibás volt. A visszacsatolás az andi. r10, r10, 1 műveletnél nullázódott, ezért a generátor legfeljebb nyolc lépés alatt nulla állapotba jutott. Pozitív küszöbnél ez folyamatos vágási ágat eredményezhetett.

A helyes megvalósításnál ellenőrizni kell:

Javított PowerPC-példa: 8 bites LFSR

Az alábbi rutin jobbra léptetett, 8 bites Fibonacci-LFSR-t használ. A visszacsatolás a szokásos, legkisebb helyiértéktől induló bitszámozás szerinti 0., 2., 3. és 4. bit XOR-ja, amely az új állapot 7. bitjébe kerül.

A példa egyszerű shiftutasításokkal kerüli el a PowerPC maszkolási bitszámozásának félreérthetőségét. A srwi és slwi PowerPC kiterjesztett mnemonikák.

LFSR VÁGÁSDÖNTÉS (JAVÍTOTT)
; 8 bites LFSR, 255 allapotos periodussal.
;
; RAM_Condition_ALS es RAM_als_core:
;   ellenorzott, r13-hoz viszonyitott RAM-eltolasok.
;
; Kimenet:
;   r3 = 0: nincs vagas keres
;   r3 = 1: vagas keres
;
; Modositja: r3, r9, r10, r11, CR0
; Nem ir kozvetlenul trafovezerlesi vagy dwell-kimenetet.
; A hivo felelos a regiszterek es CR megorzeseert.

als_cut_decision:
    li      r3, 0

    ; Inaktiv ALS mellett nincs vagas.
    lbz     r9, RAM_Condition_ALS(r13)
    cmpwi   r9, 1
    bne     als_cut_return

    ; Allapot betoltese, nulla allapot javitasa.
    lbz     r9, RAM_als_core(r13)
    cmpwi   r9, 0
    bne     lfsr_step
    li      r9, 0xA5

lfsr_step:
    ; feedback = (s ^ (s>>2) ^ (s>>3) ^ (s>>4)) & 1
    srwi    r10, r9, 2
    xor     r10, r10, r9

    srwi    r11, r9, 3
    xor     r10, r10, r11

    srwi    r11, r9, 4
    xor     r10, r10, r11

    andi.   r10, r10, 1

    ; s = (s >> 1) | (feedback << 7)
    srwi    r9, r9, 1
    slwi    r10, r10, 7
    or      r9, r9, r10

    stb     r9, RAM_als_core(r13)

    ; Egybajtos kuszob: 0..255.
    ; @h + ori: a cim felso es also 16 bitjenek osszeallitasa.
    lis     r11, kalibracio_ALS_cut_threshold@h
    ori     r11, r11, kalibracio_ALS_cut_threshold@l
    lbz     r11, 0(r11)

    ; Vagas keres, ha az uj allapot kisebb a kuszobnel.
    cmplw   r9, r11
    bge     als_cut_return

    li      r3, 1

als_cut_return:
    blr

Egy maximális periódusú, 8 bites LFSR 255 nem nulla állapotot jár be. A generátor az 1 és 255 közötti értékeket járja be, a nullát nem. A küszöbérték ezért nem közvetlen százalék: az elért arányt az összehasonlítás szabálya és a generált állapotok alapján kell kiszámítani. A szigorú "kisebb mint" összehasonlítás miatt a vágáskérések aránya egy teljes periódusban:

KÜSZÖBÉRTÉKEK ÉS VÁGÁSARÁNY (TELJES PERIÓDUS)
Küszöb Vágáskérés / 255 lépés Arány
0x00 0 0%
0x80 127 49,8%
0xCC 203 79,6%
0xFF 254 99,6%

Ez determinisztikus mintázat, nem független véletlen döntések sorozata. A táblázat teljes periódusra érvényes, rövid aktiválásokra és az egyes hengerekre nem garantál ugyanilyen arányt. A teljes periódus sem garantál hengerenként azonos eloszlást: a periódus és a hengerszám kapcsolata ismétlődő mintázatot hozhat létre.

Integrációs feltétel: a rutint a megfelelő gyújtási eseményhez kell kapcsolni. Az r3 vágáskérést a szoftververzióhoz igazított, külön ellenőrzött gyújtásengedélyezési logika dolgozza fel. Egy tetszőleges dwell-változó nullázása nem tekinthető általánosan helyes megoldásnak, és csak a teljes kimeneti jelút vizsgálata után állítható, hogy valóban egy adott gyújtási eseményt tilt le.

A RAM-címek helykitöltők. A tényleges beépítés előtt ellenőrizni kell az eltolásokat, az inicializálást, a hívási gyakoriságot, a megszakításokkal való együttműködést és a hívási ponton élő regiszterek megőrzését. A rutin az ALS engedélyezési és védelmi állapotgépét nem helyettesíti.

6. Üzemanyag-vezérlés

A tolóüzemi üzemanyag-elzárás és az ALS üzemanyagigénye összehangolást igényel. Egy befecskendezési időhöz kapcsolódó RAM-változó átírása önmagában nem bizonyítja, hogy a befecskendezés engedélyezett és megfelelően időzített lesz.

ME9 és MED9 között, valamint az egyes szoftververziók között sem feltételezhető azonos jelút. Közvetlen befecskendezésnél az üzemanyagnyomás, a befecskendezési időablak és az események időzítése különösen lényeges.

A célértékeket mérés alapján kell meghatározni. A kívánt turbóhatás mellett a lambda, az üzemanyagnyomás, a hőterhelés és az égéskimaradások következményei is számítanak.

<- VISSZA A LOGOKHOZ