Multicore för funktionell säkerhet
Att konstruera säkra system brukar innebära att en hel del hårdvara måste dubbleras. Här beskriver Aaron McDonald från Freescale hur man med multicore kan nå hög säkerhet med få komponenter.
För att kunna avgöra hur säkert ett system behöver vara måste man undersöka risken för varje given händelse som kan leda till fara. I det ingår risken för att problemet uppstår och graden av den potentiella skadan. Dessa steg leder till vilka säkerhetskrav som bör ställas på systemet.
Då säkerhetskraven är definierade, måste konstruktören avgöra hur riskerna för fara skall reduceras till en acceptabel nivå. Att använda redundanta system för att öka ett systems säkerhet är en standardprocedur, men att konstruera och implementera ett redundant system kräver ofta en hel del kreativitet. Elektronikkonstruktioner är inget undantag.
Redundans
Det traditionella valet för systemkonstruktörer då det gäller lösningar för funktionell säkerhet har varit konstruktioner med redundans. Konstruktören väljer processorer, minnen, watchdogs och andra komponenter för att skapa den övervakning och redundans som krävs för den specifika säkerhetskritiska applikationen. Dessa multichipsystem fungerar, men är mödosamma att skapa. Att skapa hårdvarulösningar och implementera mjukvara för multichipkonstruktioner är signifikant mer komplext och tidsödande än att göra samma sak för ett enchipssystem.
Problemet har varit att enchipssystem inte har gett den redundans som behövts för säkerhetskritiska applikationer. Detta har generellt varit sant tills nyligen. Nu tas i många fall ett nytt angreppsätt då det gäller säkerhetskritiska applikationer och det är användandet av komponenter med flera processorkärnor i samma komponent.
Dual-core
Freescales PXS20-familj är baserad på Power-arkitekturen och integrerar nyckelfunktioner för funktionell säkerhet. PXS20, en processor i Freescales SafeAssure-program, baseras på en dual-core säkerhetsplattform och är avsedd för att klara säkerhetsnivåer enligt IEC1508 SIL 3.
Detta är möjligt genom att de kritiska delarna av komponenten har integrerad redundans. Det gäller t ex CPU-kärnan, DMA-hanteraren, interrupthanteraren, crossbar-bussen, minnesskyddsenheten, flashminnet, RAM-hanteraren, periferibryggan, systemtimers och watchdogtimern. Lockstep-redundans används för varje utgång i denna sfär av replikering för redundant behandling och redundanta beräkningar.
Fig 1. PXS-familjen har integrerad redundans av kritiska delar. Det gäller t ex CPU-kärnan, DMA-hanteraren, interrupthanteraren, crossbar-bussen, minnesskyddsenheten, flashminnet, RAM-hanteraren, periferibryggan, systemtimers och watchdogtimern.
Det integrerade flashminnet och RAM-minnet är skyddat med ”error correction code”, ECC, vilket ytterligare reducerar risken för fel. En ”fault collection and control”-enhet övervakar processorn och genererar en flexibel fellägeskontroll. PSX20 har en 120 MHz dubbelkärna, upp till 1 Mbyte integrerat flashminne och avancerade motorstyrningsfunktioner, vilket ger goda förutsättningar för att hantera komplexa säkerhetskritiska applikationer.
Förcertifierade lösningar
Vid sidan av att konstruktionstiden, konstruktionens storlek och kostnaden för det ingående materialet minskar, finns det ett antal andra fördelar med en säkerhetslösning baserad på enchips dual-core, jämfört med ett traditionellt multichipsystem. En av de största fördelarna är att en enchipslösning kommer att bli implementerad på samma sätt för flera applikationer, medan konstruktionen och implementationen för ett multichipsystem kommer att förändras beroende på applikation.
Detta gör att enchipslösningar kan bli förcertifierade för användning i säkerhetskritiska system, vilket i sin tur leder till att signifikanta tidsbesparingar uppnås vid certifieringen av konstruktionen genom att systemkonstruktören inte behöver koncentrera sig på processorns egenskaper relaterat till säkerhetsstandarden. En annan fördel med enchipslösningen är att den interna kommunikationen är mycket snabbare i och med att alla delar är på samma chip. Detta gör att fler säkerhetskontroller kan utföras per cykel, jämfört med mjukvarukontroller i ett flerchipssystem. Mjukvaruutveckling och debugging blir också enklare genom att redundansen av kärnorna i lockstep mode bara kräver en mjukvaru-"image".
Safeassure
Att möta uppsatta krav relaterat till funktionell säkerhet är tidsödande, så varje förenkling då det gäller att möta dessa krav kommer att spara tid och pengar. Freescales program för funktionell säkerhet, SafeAssure, är skapat för att underlätta denna utmaning.
Freescale lanserade SafeAssure-programmet i September 2011 för att hjälpa systemtillverkare att enklare möta standarder relaterat till funktionell säkerhet, inklusive IEC61508 och ISO26262 för industri och fordonsmarknaden. Freescales angreppsätt är att huvudsakligen fokusera på fyra huvuddelar enligt fig 2.
Fig 2. SafeAssure-programmet fokuserar på fyra huvuddelar.
Kraven relaterat till funktionell säkerhet startar med den konstruktions- och implementeringsprocess ett företag tillämpar då det gäller funktionell säkerhet. Freescale har gjort funktionell säkerhet till en integrerad del av produktutvecklingsprocessen för att möta de stränga kraven relaterat till IEC 61508 och ISO26262. I tillägg till detta så är produkter som PXS20 konstruerade från grunden att möta dessa standarder, genom att säkerhetsanalys är genomförd vid varje steg i utvecklingsprocessen.
Inom ramen för SafeAssure-programmet finns en mix av mikroprocessorer, analoga komponenter, power management och sensorer för att kunna möta kraven från en stor mängd applikationer som berörs av krav relaterade till funktionell säkerhet. PXS-serien är den första enkapseldatorn för den industriella marknaden som inkluderas i SafeAssure-programmet och därmed täcker en mängd säkerhetskritiska applikationer.
En viktigt del är att säkerställa att hårdvara och mjukvara fungerar smidigt tillsammans. För att underlätta detta har Freescale ett tätt samarbete med ett antal mjukvaruleverantörer. Där finns t ex Green Hills Software med sitt MULTI Integrated Development Environment, innehållande debugger, editor, code browser, configuration manager och andra verktyg i ett integrerat paket. Där finns också Scioptas IEC61508 SIL3-certifierade säkerhetskärna med många integrerade säkerhetsfunktioner.
Viktigt är också en robust support, med målsättningen att underlätta integration på systemnivå och uppfyllelse av säkerhetskrav. Här finns teknisk support och en omfattande dokumentation gällande funktionell säkerhet. En ”Failure Modes Effects and Diagnostic Analysis” (FMEDA) är tillgänglig för PXS20. Denna ger bl a tillgång till en kundorienterad produktfelsmatris. En säkerhetsmanual som beskriver hur säkerhetsfunktionerna kan användas finns också tillgänglig för PXS20.
Aaron McDonald, Freescale Product marketing skriver kontinuerligt om detta ämne på Freescales Embedded Beat Blogs. Följ hans inlägg på blogs.freescale.com.
Aaron McDonald, Freescale Product marketing
Filed under: Fordonselektronik