Bosch ME9/MED9: gázelvételes Anti-Lag rendszer tervezése
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.
1. Memória és kalibráció
A megvalósításhoz háromféle terület szükséges:
- Ellenőrzötten használható RAM az állapotváltozóknak és időzítőknek.
- Megfelelő programterület az új rutinoknak.
- Kalibrációs terület a hangolható paramétereknek.
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:
- ALS levegő- vagy fojtószelep-célérték,
- ALS gyújtásszög,
- gyújtáskihagyási arány,
- üzemanyag-célérték,
- fordulatszám- és pedálküszöbök,
- maximális aktív idő és újraengedélyezési késleltetés,
- hőmérsékleti és egyéb engedélyezési határok.
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.
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.
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:
- a polinomhoz illeszkedő shiftirányt és tap-pozíciókat,
- a PowerPC bitszámozást és maszkolást,
- a nem nulla inicializálást és a nulla állapot kezelését,
- a teljes állapotperiódust,
- a hengerenkénti meghívás és a gyújtási sorrend kapcsolatát,
- az ALS inaktív állapotában történő biztos kikapcsolást.
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.
; 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 | 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