TSM - dôležitosť konceptu; Funkčná bezpečnosť; n vývoj SW automobilových výrobkov

Radu Ivănuș - vedúci obchodnej jednotky pre pokročilé zabudované technológie @ NTT DATA Romania

Náš príbeh začínam popisom toho, čo znamená „ECU“, čo je termín, ktorý sa zvyčajne používa v korelácii s automobilovou oblasťou. Názov ECU pochádza z angličtiny: Electronic Control Unit, označujúci elektronické zariadenie, ktoré obsahuje niekoľko elektronických komponentov a najmenej jeden mikrokontrolér, na ktorom beží softvér, napísaný v ASM alebo C. Inými slovami, ECU sú počítače v strojoch.

Ak autá na začiatku neboli vybavené elektronickými riadiacimi jednotkami (ECU), počnúc 70. rokmi sa stali štandardnou výbavou. Prvá ECU bola uvedená na trh v roku 1968, bola venovaná palivovému systému motora a vyrábala ju spoločnosť Bosch pre automobily Volkswagen.

Dnešné stroje obsahujú stovky ECU a milióny riadkov kódu, čo dosahuje výpočtový výkon a zložitosť. S rozširovaním moderných strojov, ktoré pracujú a sú nimi riadené, sa potreba bezpečnostných prvkov stala nevyhnutnou aj „funkčnou bezpečnosťou“.

ECU sa za tie roky veľmi vyvinuli a dnes sa k nim pripájajú spolu s mikrokontrolérmi a mikroprocesormi. Pre tých, ktorí sú zvedaví na súhrn vývoja ECU v priebehu rokov, uvádzame nižšie nasledujúce údaje:

Prvý počítač uvedený na trh spoločnosťou VW (1968)

1969 - Ford predstavuje prvý počítačom riadený protišmykový systém.

1971 - General Motors predstavuje svoju prvú počítačom riadenú prevodovku.

1976 - General Motors a Motorola sú vybavené na použitie vo svojich vozidlách.

1978 - Cadillac predstavuje počítačom riadený palubný počítač poháňaný mikrokontrolérom Motorola.

1981 - Všetky vozidlá spoločnosti General Motors majú ECM založený na motore Motorola 6802 s reguláciou emisií.

1983 - Vo vozidlách Ford sa začínajú používať vlastné čipy mikrokontroléra Intel 8061

1986 - „Navlab 1“ univerzity Carnegie Mellon University sa stáva prvým samohybným autonómnym autom.

1986 - Chrysler predstavuje multiplexné káblové komunikačné moduly s čipmi poskytované spoločnosťou Harris Semiconductor.

1987 - Prvé mikrokontroléry vyrobené s integrovanou čipovou sadou CAN od spoločností Intel a Philips Semiconductor.

1991 - Ford a Motorola uzavreli partnerstvo s cieľom navrhnúť a vyrobiť pohonné a prevodové mikrokontroléry PTEC.

2000 - Ford Microelectronics Inc. (MMF) získava spoločnosť Intel Corp.

2014 - Bolo uvedené na trh prvé samohybné vozidlo Navia.

  • 2015 - „Freightliner Inspiration“ od spoločnosti Daimler sa stáva prvým semi-autonómnym nákladným autom („s vlastným riadením“) Sem Truck.
  • konceptu

    2017 - Spoločnosť Tesla „Semi“ predstavila svoj prvý model nákladného vozidla, elektrický a čiastočne autonómny.

    2017 Intel Corp získava spoločnosť Mobileye, vývojára pokročilých asistenčných systémov vodičov založených na videní.

    2017 Audi uvádza na trh prvé vozidlo série A8 s automatizáciou úrovne 3, „Audi AI traffic jam pilot“.

  • 2018 Vývoj prvej hodinyet „Smart City“, Las Vegas, partnerstvo medzi štátom Nevada v USA a japonskou spoločnosťou NTT (Nippon Telegraph and Telephone Corporation).
  • Ako proces sa „funkčná bezpečnosť“ stala podstatnou súčasťou vývojového cyklu softvéru ECU. Tieto schémy bezpečnosti automobilov pomáhajú odhaliť poruchy (elektrické a elektronické) a určujú činnosti, techniky a metódy na zmiernenie rizík a škôd spôsobených chybami softvéru a hardvéru.

    Nedodržanie alebo nesprávne uplatnenie bezpečnostných pravidiel môže mať vážne následky: zranenie cestujúcich alebo dokonca straty na životoch, čo vedie k finančným stratám a stratám imidžu/značky pre výrobcov automobilov.

    Preto musia dnes moderné automobily vyhovovať medzinárodným bezpečnostným normám definovaným v norme ISO 26262: „Cestné vozidlá - funkčná bezpečnosť“

    Úroveň integrity bezpečnosti automobilov (ASIL) je schéma klasifikácie rizika v rámci normy ISO 26262. V rámci normy existujú štyri definované úrovne bezpečnosti: ASIL A, ASIL B, ASIL C a ASIL D. ASIL D určuje najprísnejšiu úroveň bezpečnosti. bezpečnostná požiadavka na výrobok, pričom ASIL A je najprísnejší. Riziká označené ako QM („riadené kvalitou“) nezahŕňajú žiadne samostatné ochranné opatrenia.

    Rozdelenie úrovní ASIL sa robí na základe troch úvah: frekvencia výskytu (F), kontrolovateľnosť (C) a závažnosť (S) pri chybe HW alebo SW, kde frekvencia = expozícia * λ

    Vyššie sme opísali úrovne bezpečnosti aplikované na systémy, ale keď nie je možné zabezpečiť maximálnu hladinu ASIL priamo v systéme, norma ISO26262 umožňuje ich takzvaný rozklad, ako je znázornené na obrázku nižšie. Čím vyššie je hodnotenie bezpečnosti systému, tým vyššie sú náklady na implementáciu HW a SW. Pri použití rozkladu nám pomáha rozdeliť systém na nadbytočné prvky s nižšou úrovňou bezpečnosti, čo vedie k splneniu požiadaviek systému bez toho, aby to malo vplyv na nadmerné náklady.

    V ďalšom opíšem spôsoby/príklady metód používaných v SW na sledovanie a zisťovanie systémových chýb.

    Detekcia, riadenie a indikácia systémových chýb na nasledujúcich HW komponentoch:

    A. Chyby na úrovni mikrokontroléra:

    • Zámok bitov v registri (zaseknutý);
    • Nesprávny výpočet adries skokov v RAM (zaseknutý);
    • ALU - aritmetická a logická jednotka mikrokontroléra (nesprávna postupnosť kódu, čas vykonania príliš pomalý alebo príliš rýchly);
    • rutina vektor/prerušenie, smerovanie prerušenia systému.

    Testovanie a monitorovanie RAM (vrátane CSA - Context Switch Area) a dátového zásobníka (pretečenia/pretečenia zásobníka), ROM a EEPROM.

    • Testovanie RAM je možné vykonať pri každom štarte systému a voliteľne po každom resete (závisí od systému a projektu). Cyklické alebo podľa potreby a počas behu programu na celej RAM alebo iba na určitých blokoch. K tomu musia byť implementované niektoré bezpečnostné metódy, a to ako v SW, tak aj v HW: ochrana bezpečnostných premenných alebo registrov s nadbytočnou hodnotou alebo doplnkom. Aktivácia mechanizmov korekcie a detekcie pamäte kódovej pamäte (ECC) na opravu chýb. Ďalej uvádzame všeobecný príklad funkcií na manipuláciu s bezpečnosťou dátovej pamäte.

      Aplikácia CRC na určité jasne definované dátové bloky;

      • Ochrana pamäte konfiguráciou určitých registrov HW - spôsob je možný iba u niektorých mikrokontrolérov.

      • Použite CRC alebo údajové značky s predvolenou hodnotou.

    B. Testovanie a monitorovanie periférií: ADC (analógový prevodník), SPI, CAN a ďalšie.

    Prevodník ADC mikrokontroléra možno testovať na zistenie nasledujúcich chýb:

    Chyby referenčného napätia (zisk zosil./Drift VA).

    Na zistenie tohto typu chyby musí byť jeden zo vstupov analógového prevodníka pripojený k nezávislému referenčnému pevnému napätiu s priemernou hodnotou medzi VGnd a VRref (napr. Pre VGnd - 0V a VRef 3.3V -> Vref test - > 1,6 V);

    Chyby posunu (blokované bity „zaseknuté na 1 alebo 0“);

  • Chyby multiplexora; Pre detekciu chyby offsetu a multiplexora musí byť jeden zo vstupov analógového prevodníka pripojený k „prepínaciemu“ napätiu, ktoré sa môže meniť medzi VGnd a Vref (00000000xxxx, 1111111xxxx) alebo k dvom vstupom pripojeným k VGnd (prepínač V HIGH - 3,3) V) a prepínač V NÍZKY - 0 V).
  • C. Monitorovanie a detekcia chýb v systéme HW/ECU:

    • Monitorovanie hlavných napájacích vedení/ECU: 1,5V, 3,3.V, 5V a 12V

    D. Monitorovanie vykonávania SW pomocou (PFM - Program Flow Monitor)

    E. Monitorovanie operačného systému - „Úlohy OS“:

    Správne vykonávanie úloh v čase (nakonfigurované opakovanie);

  • Kontrola ich cyklickosti (ich včasné vykonanie alebo nevykonanie);
  • napr. Pre úlohu s dĺžkou 2 milisekundy, ktorú chceme monitorovať v intervale 10 milisekúnd, budeme očakávať, že bude mať ideálne počet piatich prevedení úlohy s dĺžkou 2 milisekundy; normálne môžeme tiež vypočítať toleranciu ± 1 úlohy, výsledkom čoho je správny interval vykonávania, ktorý môže byť medzi [4-6] vykonaniami.

    F. Monitorovanie a komunikácia s externým strážnym psom (WDT). Toto je elektronický čip, ktorý komunikuje s mikrokontrolérom založeným na SPI. Jeho úlohou je monitorovať správne fungovanie mikrokontroléra na základe QA (hra na otázky a odpovede) a generovania resetu, inak.

    Hra QA funguje na základe náhodného vygenerovania súboru 15 otázok (podľa vopred nastaveného algoritmu), ktoré sa posielajú mikrokontroléru na linke SPI vo vopred určených časových intervaloch.

    Každá otázka zodpovedá pevnej, preddefinovanej odpovedi, ktorú WDT čaká cez SPI v nakonfigurovanom časovom intervale.

    Aby sme dosiahli vysokú úroveň bezpečnosti, musíme vykonať nasledujúce testy:

    zámerné odoslanie nesprávnej odpovede a kontrola WDT, ktorá správne reaguje zvýšením počítadla chýb tak, aby si prečítal chybový protokol.

  • odoslanie/vynechanie odpovede v časovom rámci očakávanom WDT (tzv. „watchdog window“) a kontrola jej odpovede.
  • Úroveň ASIL daného systému je ovplyvnená jeho použiteľnosťou vo vozidle: o aký typ ECU ide a čo ovláda (napr. Zavesenie, prevodovka, motor, sedadlá, informačný systém atď.).

    Je dôležité spomenúť niekoľko pojmov týkajúcich sa bezpečnostnej zóny automobilu:

    FTI (Fault Tolerant Time) - čas, ktorý uplynie od času, keď dôjde k chybe, kým sa systém neuvedie do takzvaného bezpečného stavu („bezpečný stav“).

    FDT (Fault Detection Time) - čas, ktorý uplynie od času chyby po detekciu pomocou SW.

    FRT (Fault Reaction Time) - maximálny akceptovaný reakčný čas v prípade chyby, od jej zistenia po bezpečnú zónu systému.

  • Počítadlo odrazov - hodnota odozvy systému v prípade zistenej chyby (v prípade opakujúcich sa chýb softvér zvyšuje čitateľ, ktorý ju opakovane kontroluje prahovou hodnotou, v prípade rovnosti sa systém prepne z normálneho do bezpečného stavu) "). Obnovenie systému nie je vždy potrebné a závisí od projektu a systému.
  • Na záver tohto článku uvádzam príklad architektúry riadenia ECU pre solenoidové ventily alebo elektromotory s uplatniteľnosťou v oblasti automatickej prevodovky, riadeného pruženia alebo riadenia. Komponenty označené červenými bodkami predstavujú bezpečnostné zóny v systéme, ktoré je potrebné monitorovať a ovládať SW, aby sa dosiahla požadovaná úroveň ASIL.