Skriv ut

En OTA-uppdatering – särskilt FOTA (Firmware Over The Air) – innebär generellt att ändra (uppdatera) ett program i en applikation eller dess konfiguration medan den körs på distans (over the air), via trådlös kommunikation.


Ladda ner artikeln här (länk, pdf).

Fler tekniska rapporter finns på etn.se/expert

OTA-uppdatering görs normalt på mobiltelefoner, set-top-boxar, säkerhetsenheter, med mera. Men nu kommer tekniken även till den annars mycket konservativa fordonsbranschen.

Kärnan i en OTA-uppdatering är att:
1. Det går att ändra enhetens fulla ­funktionalitet
2. Mottagaren inte har möjlighet att neka uppdateringen

Att använda OTA-uppdateringar är en billig, tillförlitlig och säker metod för att ändra firmware. Ett alternativ är att den som äger bilen får boka tid på ett servicecenter där uppdateringen kan göras som en del av andra serviceuppgifter. OTA-uppdateringar sparar tid och pengar för leverantörer och kunder.

En typisk arkitektur för OTA-uppdateringar för bilar inkluderar biltillverkarens moln från vilket programvaran distribueras. Data­överföringen är krypterad och går över ett mobilnät eller wifi. Den tas emot av det som kallas TCU, Telematics Control Unit, i bilen. Sedan går den vidare till OTA-uppdateringshanteraren (vanligtvis Gateway-enheten) varifrån den distribueras via någon intern buss i bilen till en specifik styrenhet (ECU) som ska uppdateras. Hela processen hanteras från OTA-uppdateringshanteraren i bilen, där det också finns tillräckligt med minne för att lagra programvaran.

För tillfället hoppar vi över den trådlösa kommunikationen och fokuserar bara på programändringen i styrenheten.

Den viktigaste egenskapen hos OTA-uppdateringen är att allt görs med full funktionalitet. För att garantera att programvaran kommer att bytas ut fullständigt, måste det finnas tillräcklig med minne för den nya programvaran medan den befintliga programvaran fortfarande körs.

Detta villkor leder vanligtvis till att minnet (oftast flash) måste vara dubbelt så stort som en version av programvaran upptar. Vi kommer dock att visa att det också finns en typ av minne som tillåter tillfällig fördubbling av kapaciteten under en begränsad tidsperiod.

Hela processen med att byta firmware måste vara garanterad och säker. Att lagra den nya versionen i RAM-minnet, och sedan radera den befintliga versionen för att därefter programmera den nya skulle vara en riskabel operation som kan leda till en krasch i händelse av fel som ett strömavbrott. Ett sådant förfarande är oacceptabelt, särskilt inom fordonsindustrin.

Efter programmering och kontroll av den nya programvaran sker bytet, vanligtvis under en återställning av enheten. Detta avslutar operationen och minnet där den ursprungliga versionen av firmware lagrades kan frigöras.

OTA-X1
Det finns olika metoder för att göra OTA. Den som kallas OTA-X1 kräver dubbelt så mycket minne för uppdateringen för att både rymma befintlig firmware och för att lagra ny firmware. Fast dubbelt räcker vanligtvis inte, det behövs också hårdvarustöd för minnesbanksväxling. Ur programvaruutvecklingssynpunkt är det fördelaktigt att programmet alltid lagras på samma adress i minnet. Minnesutrymmet är uppdelat i två banker som var och en börjar på olika fysisk adress. I den ena banken lagras ursprunglig firmware medan ny firmware successivt laddas in i den andra. För att undvika att behöva hantera olika adressering i det fasta programmet, beroende på vilken minnesbank det skall köras från, är det en fördel om mikrokontrollern har hårdvarustöd för bankväxling. Den bank från vilket firmware för närvarande körs kommer alltid att ha samma adress. När bankerna ska bytas uppdateras adressen för den nya versionen av firmware till adressutrymmet för ursprunglig firmware. Och ursprunglig firmware får det adressutrymme där ny firmware ursprungligen lagrades. Växlingsprocessen sker en gång och så snabbt att det inte kan finns en tidsperiod där varken den ursprungliga eller den nya versionen av firmware är tillgänglig och enheten kraschar.

SPC58-seriens mikrokontroller för fordonsindustrin har ett sådant hårdvarustöd för OTA-X1.

Principen för PCM-minnen upptäcktes redan på 1960-talet. Det var dock först nyligen (2018) som ST Microelectronics utvecklade och patenterade en CMOS-process på FD-SOI och 28 nm vilket gjorde det möjligt att integrera denna typ av ickeflyktigt minne tillsammans med en styrkrets.

En typisk representant för ickeflyktiga minnen är flash där det logiska värdet för varje bit bestäms av den lagrade elektriska laddningen i minnescellen. PCM-minnen arbetar däremot enligt en helt annan princip.

PCM-minnen utnyttjar egenskaperna hos legeringen Ge2Sb2Te5 (GST), som gör att en extern temperatur kan ändra det fysiska tillståndet mellan amorft och kristallint. I varje tillstånd har materialet sedan olika elektrisk resistans, vilket representerar en logisk nivå för lagring av information. I det amorfa tillståndet har legeringen en hög elektrisk resistivitet och representerar därmed en logisk nolla och i det kristallina tillståndet är resistiviteten låg och representerar en logisk etta.

För att uppnå den temperatur som krävs för att ändra tillståndet hos en bit används ett lokalt värmeelement som drivs av elektriska pulser med varierande längd, i storleksordningen nanosekunder.

Till skillnad från flashteknik, där det bara är möjligt att skriva en logisk etta till hela blocket samtidigt (minnesradering), tillåter PCM-teknik att varje bit programmeras individuellt till valfritt värde.

PCM-tekniken är tillräckligt robust för att minnet ska kunna användas inte bara inom hela fordonsområdet, definierat av AEC-Q100 Grade 0, –40 °C till +150 °C, utan även upp till +165 °C. För att uppnå den erforderliga minsta datalagringstiden på upp till 25 år över hela temperaturområdet är varje logisk bit i PCM-minnet fysiskt sammansatt av ett par komplementära PCM-celler.

OTA-X2
För OTA-X2-metoden behövs inte mer minne än vad som går åt till en version av firmware. OTA-X2-metoden använder egenskaperna hos PCM-minnet, där en logisk bit består av ett komplementärt par fysiska bitar. PCM-minne gör att det komplementära paret tillfälligt kan kopplas isär och de två fysiska ­bitarna kan användas som två separata logiska bitar.

Bortkopplingen av de komplementära bitarna medför vissa begränsningar, men gör det möjligt att uppfylla de grundläggande kraven för OTA-uppgradering:
• Möjligheten att på ett säkert sätt köra befintlig firmware från minnet medan ny firmware laddas ned.
• Säkert byte till ny firmware

Tiden för att på ett säkert sätt lämna det komplementära läget i PCM-minnet beror på omgivningstemperaturen. Vid rumstemperatur är denna tid upp till 30 dagar, vid temperaturer upp till +90 °C förkortas tiden till fyra dagar, men för en maximal temperatur på +165 °C är den mindre än en timme. Det är dock möjligt att när som helst uppdatera det befintliga minnesinnehållet och tiden börjar då om från noll.

ST Microelectronics styrkrets i Stellar SRx-serien med Arm-kärnor tillverkas i en 28 nm FD-SOI-process och har hårdvarustöd för både OTA-X1 och OTA-X2.

Slutsats
OTA-uppdateringar har blivit en allmänt efterfrågad standard inom fordonsbranschen. Utvecklingen går mot att användarna förväntar sig att firmware byts ut, oavsett om det är för att åtgärda buggar eller utöka funktionaliteten. I praktiken krävs hårdvarustöd för OTA-uppgraderingar av styrkretsar.

Vi har demonstrerat två metoder för OTA-uppgradering och beskrivit grunderna i en ny teknik med PCM-minnen som möjliggör en tillfällig fördubblering av den befintliga kapaciteten. Denna unika egenskap kan användas i OTA-X2-metoden.