Fault-tolerant innebygde systemer er designet for å fortsette å fungere riktig selv om enkelte komponenter mislykkes. De er avgjørende i applikasjoner der pålitelighet og sikkerhet er kritiske, som aerospace, medisinsk utstyr og industriell automatisering. Denne artikkelen utforsker de grunnleggende begrepene og praktiske tilnærminger til å utvikle slike systemer.

Teoretiske stiftelser av fault tolerance

Fault toleranse innebærer å designe systemer som kan oppdage, isolere og gjenopprette fra feil. Nøkkelkonsepter inkluderer redundans, feildeteksjon og feilmaske. Redundans kan implementeres gjennom maskinvareduplisering eller programvareteknikker, noe som sikrer at en sikkerhetskopieringskomponent kan ta over hvis primæren mislykkes.

Feildetekteringsmetoder som kontrollsummer, paritetsbiter og vakthundstimere bidrar til å identifisere feil tidlig. Falsk maskeringsteknikker, som stemmesystemer i tremodulær redundans (TMR), hindrer feil fra å påvirke systemets utgang.

Praktiske implementeringsstrategier

Implementering av feiltoleranse i innebygde systemer krever nøye planlegging. Maskinvarenedløselighet, som for eksempel dobbelt-kjerne prosessorer eller sikkerhetskopiering strømforsyninger, forbedrer påliteligheten. Programvarestrategier inkluderer vakthund timere, unntakshåndtering og periodiske selvtester.

Designere bruker ofte feil injeksjonstesting for å evaluere systemets robusthet. Denne prosessen innebærer med vilje å introdusere feil for å verifisere systemets evne til å oppdage og gjenopprette fra feil.

Felttoleranceteknikker

  • Hardware Redundance: Ved hjelp av dupliserte komponenter for å sikre kontinuerlig drift.
  • Programvare Redundans: Implementere flere algoritmer eller rutiner for kritiske funksjoner.
  • Feilmåling: Sjekksummer, paritet og vakthund timere.
  • Fault Masking: stemmeordninger som TMR.
  • Selv-Testing: Periodiske diagnoser for å identifisere feil tidlig.