Přehled architektury
Řídicí software je navržen modulárně s důrazem na bezpečnost, aktualizovatelnost a oddělení licencovaných částí.
Základním principem je oddělení bootloaderu a aplikačního software, přičemž citlivé algoritmy zůstávají chráněny.
Bloková struktura software
Zjednodušené schéma architektury software
Řídicí software
Bootloader tvoří základ bezpečnostního modelu celého řešení. Je uložen v chráněné oblasti paměti a nahrává se jednorázově pomocí rozhraní JTAG.
- nahrání přes JTAG ze zapůjčené programovací desky
- zabezpečený start systému
- dešifrování aplikačního firmware
- kontrola integrity software
Bez přítomnosti bootloaderu není možné spustit ani dešifrovat aplikační software.
Aplikační software
Aplikační software je distribuován ve formě šifrovaného HEX souboru. Samotný obsah firmware není čitelný ani použitelný bez odpovídajícího bootloaderu.
- vektorové řízení BLDC motoru (FOC)
- řízení momentu a otáček
- optimalizace účinnosti
- ochranné a diagnostické funkce
- aktualizace přímo z PC přes USB nebo převodníkem USB-CAN
Proces aktualizace software
- uživatel připojí zařízení k PC přes USB nebo převodníkem USB-CAN
- nahraje šifrovaný aplikační HEX soubor
- bootloader ověří integritu
- proběhne dešifrování firmware
- aplikace je spuštěna
Bezpečnost a licence
Kombinace šifrovaného aplikačního software a chráněného bootloaderu umožňuje bezpečnou distribuci firmware bez zpřístupnění zdrojových kódů.
Tento model umožňuje:
- ochranu know-how
- licencování software
- jednoduché aktualizace v terénu
- oddělení hardware a software