Cílem článku je přinést čtenářům úvod do oblasti OTA (Over The Air) – upgrade pro moderní mikrokontrolery v oblasti automobilového průmyslu − automotive. Dále budou popsány základy technologie pamětí PCM (Phase-Change Memory), které mj. umožňují dočasné zdvojnásobení jejich kapacity.
Úvod − OTA upgrade obecně
OTA upgrade − a zde máme na mysli zejména její podmnožinu FOTA (Firmware Over The Air) − obecně znamená vestavěnou funkcionalitu v zařízení, která umožňuje změnu (upgrade) programu v aplikaci nebo jeho konfiguraci za běhu na dálku (vzduchem), tj. nějakým bezdrátovým způsobem. OTA upgrade se týká obecně různých elektronických zařízení jako mobilních telefonů, set-top boxů, zabezpečovacích zařízení aj. Nyní však OTA upgrade přichází i do jinak velmi konzervativní oblasti automotive.
Podstatou OTA upgradu je, že:
1. vše probíhá za plné funkcionality zařízení,
2. příjemce nemá možnost změnu odmítnout.
OTA upgrade v automotive
OTA upgrade v automotive představuje levnou, spolehlivou a bezpečnou metodu změny firmwaru (základní řídicí SW). Alternativou k OTA upgradu je svolávací akce do autorizovaných servisů, kde může být upgrade firmwaru proveden v rámci ostatních servisních úkonů. OTA upgrade ušetří čas a peníze dodavatelům i uživatelům automobilů.
Typická architektura OTA upgradu pro automotive zahrnuje cloud automobilky, ze kterého je firmware distribuován. Přenos dat probíhá šifrovaně přes mobilní data (GSM nebo wi-fi), kde je na straně automobilu přijat telematickou jednotkou TCU. Dále je předán do OTA upgrade manageru (typicky jednotka Gateway), odkud je prostřednictvím některé vnitřní sběrnice automobilu distribuován dále do konkrétní jednotky ECU (Electronic Control Unit), která má obdržet upgrade. Celý proces upgradu je v rámci automobilu řízen z OTA upgrade manageru, kde je i dostatek paměti pro ukládání dat.
OTA upgrade na úrovni mikrokontroleru
Pro tuto chvíli pomineme celý řetězec přenosu dat vzduchem a budeme se věnovat jen změně programu na úrovni mikrokontroleru v ECU.
Podstatnou vlastností OTA upgradu je, že vše probíhá za plné funkcionality. Aby bylo možno kdykoliv zaručit, že během plné funkcionality bude firmware kompletně vyměněn, je potřeba mít zaručeno dostatečné úložiště pro nový firmware, zatímco stávající firmware je stále používán.
Tato podmínka zpravidla vede k potřebě dvojnásobné kapacity NVM (Non Volatile Memory) paměti (typicky flash), kde je firmware uložen. Ukážeme si však dále, že existuje i takový typ paměti, který umožňuje dočasné zdvojnásobení stávající kapacity po omezenou dobu změny firmwaru.
Celý proces změny firmwaru musí být zaručený a bezpečný. Uložení nového firmwaru do paměti RAM a následné smazání stávajícího a naprogramování nového firmwaru by byla riskantní operace, která by v případě selhání (například kvůli výpadku napájení) vedla ke kolapsu zařízení. Takový postup je zejména v oblasti automotive nepřípustný.
Po naprogramování a kontrole nového firmwaru dojde k jednorázovému přepnutí – zpravidla během resetu zařízení. Tím je operace dokončena a paměť, kde byl uložen původní firmware, se může uvolnit.
OTA − X1
Metoda OTA − X1 vyžaduje pro OTA upgrade dvojnásobné množství paměti, tj. pro uložení stávajícího firmwaru i pro uložení nového. Samotná dvojnásobná velikost paměti zpravidla nestačí, ale je potřeba ještě HW podpora pro přepínání paměťových bank. Z hlediska vývoje SW je totiž výhodné, aby SW byl v paměti uložen vždy na stejné adrese. Paměťový prostor je rozdělen na dvě paměťové banky, kde každá začíná na jiné fyzické adrese. V jedné bance je uložen původní firmware a do druhé je postupně nahrán firmware nový. Aby nebylo potřeba řešit v programu firmwaru různou adresaci na základě toho, ze které paměťové banky bude spuštěn, je výhodné, aby mikrokontroler obsahoval HW podporu pro přepínání bank:
– aktuální banka, ze které je aktuálně spuštěn firmware, se bude nacházet vždy na stejné adrese. Při přepnutí bank se paměťová banka s novým firmwarem jednorázově přemapuje do adresového prostoru původního firmwaru a původní firmware se ocitne v adresovém prostoru, kam byl původně ukládán nový firmware. Proces přepnutí musí být jednorázový a okamžitý, aby nemohlo dojít k žádnému mezistavu, kdy by nebyl dostupný ani původní, ani nový firmware a zařízení by tak zkolabovalo.
Automotivní mikrokontrolery řady SPC58 takovou HW podporu OTA − X1 obsahují:
– Paměti PCM (Phase-Change Memory) Samotný princip PCM pamětí byl objeven již v šedesátých letech minulého století. Teprve nedávno (2018) však byla firmou STMicroelectronics vyvinuta a patentována technologie 28nm FD-SOI CMOS, která umožnila tento typ pamětí integrovat do mikrokontrolerů jako paměť NVM.
Typickým představitelem NVM pamětí jsou dnes paměti technologie flash, kde logická hodnota každého bitu je určena uloženým elektrickým nábojem v paměťové buňce. PCM paměti ovšem pracují na úplně jiném principu.
PCM paměti využívají vlastnosti slitiny Ge2Sb2Te5 (GST), která umožňuje pomocí vnější teploty změnu fyzikálního stavu mezi amorfním a krystalickým. V každém stavu pak má materiál odlišný elektrický odpor, který je představitelem logické úrovně pro uložení informace. V amorfním stavu má slitina vysoký elektrický odpor a je tak představitelem logické nuly a v krystalickém stavu je odpor nízký a je představitelem logické jedničky.
K dosažení teploty potřebné pro změnu stavu jednoho bitu je využito lokální topné těleso, které je řízeno elektrickým pulsem o různé délce v řádu nanosekund.
Na rozdíl od technologie flash, kde je možno zapsat logickou jedničku pouze najednou do celého bloku (mazání paměti), umožňuje technologie PCM libovolně naprogramovat kterýkoliv bit samostatně do libovolné hodnoty.
Technologie PCM je dostatečně robustní a umožňuje použití této paměti nejen v plném automotivním rozsahu podle AEC-Q100 Grade 0 (–40 °C to +150 °C), ale až do +165 °C.
Aby bylo dosaženo požadované minimální doby uchování dat v paměti až 25 let v celém teplotním rozsahu, je každý jeden logický bit PCM paměti tvořen fyzicky dvojicí komplementárních PCM buněk.
OTA − X2
Pro metodu OTA – X2 postačuje základní kapacita NVM paměti pouze pro jeden firmware. Nevyžaduje dvojnásobné množství paměti pro uložení stávajícího firmwaru a také pro uložení nového. Metoda OTA – X2 využívá vlastnosti PCM paměti, kde jeden logický bit je tvořen komplementární dvojicí fyzických bitů. PCM paměť umožňuje dočasně rozpojit komplementární dvojici paměťových buněk a využít oba fyzické bity jako dva samostatné logické bity.
Rozpojení komplementárních bitů přináší jistá omezení, ale umožňuje splnit základní požadavky OTA upgradu:
– možnost z paměti bezpečně provádět stávající firmware po dobu, kdy je ukládán firmware nový,
– bezpečné jednorázové přepnutí na nový firmware.
Doba, po kterou je možno bezpečně opustit komplementární mód PCM paměti, je závislá na okolní teplotě. Při pokojové teplotě je tato doba až 30 dní, při teplotě do 90 °C se doba zkrátí na 4 dny, ale pro maximální teplotu +165 °C již jen na méně než hodinu. Je však možnost kdykoliv provést občerstvení stávajícího obsahu paměti a doba se začne počítat znovu od začátku.
Automotivní mikrokontrolery STMicroelectronics řady Stellar SRx s jádry Arm® jsou vyráběny v technologii 28nm FD-SOI a obsahují HW podporu pro obě metody OTA − X1 i OTA − X2.
Závěr
OTA upgrade se stal obecně vyžadovaným standardem v oblasti automotivních systémů. Automobilový průmysl se ubírá cestou, kde se počítá s výměnou firmwaru, ať už z důvodu opravy chyb, nebo rozšíření funkcionality. V praxi je vyžadována HW podpora OTA upgradu ze strany mikrokontrolerů. Ukázali jsme si dvě metody OTA upgradu a popsali základy nové technologie PCM pamětí, které umožňují dočasné zdvojení své stávající kapacity. Tuto unikátní vlastnost lze využít při metodě OTA – X2.
Odkazy:
[1] https://en.wikipedia.org/wiki/Over-the-air_programming
[3] https://www.st.com/content/st_com/en/about/innovation---technology/PCM.html