STM32 w aplikacjach kryptograficznych
Mikrokontrolery z rodziny STM32F4 dzięki rdzeniowi Cortex-M4F i wysokiej częstotliwości taktowania doskonale nadają się do stosowania w aplikacjach DSP i dowolnych innych, wymagających dużej mocy obliczeniowej, także przy obliczeniach zmiennoprzecinkowych. Dzięki bogatemu i zaawansowanemu wyposażeniu wewnętrznemu, są także doskonałym rozwiązaniem dla bardziej specyficznych aplikacji, jak na przykład kryptografii.
Mikrokontrolery STM32F4 uchodzą – nie bez racji – za szybszą (168 MHz vs 120 MHz) i lepiej wyposażoną wersję mikrokontrolerów STM32F2. Siła wyposażenia wynika m.in. z zastąpienia rdzenia Cortex-M3 rdzeniem Cortex-M4F (F – oznacza, że rdzeń jest zintegrowany z FPU) co powoduje, że prawdziwe aplikacje DSP stoją przed mikrokontrolerami STM32F4 otworem.
Rys. 1. Instrukcje rozpoznawane przez poszczególne rdzenie Cortex-M
Na rysunku 1 pokazano zestawienie „obszarów” instrukcji obsługiwanych przez wszystkie rdzenie Cortex-M: jak widać Cortex-M4 obsługuje znacznie więcej instrukcji niż Cortex-M3, co pozwala na wykonywanie wielu złożonych operacji na danych za pomocą pojedynczych poleceń asemblerowych.
Rys. 2. Budowa mikrokontrolerów STM32F4
Budowę mikrokontrolerów STM32F4 pokazano na rysunku 2. Schemat do złudzenia przypomina budowę mikrokontrolerów STM32F2. W nowych mikrokontrolerach zastosowano znany ze starszych rodzin moduł ART (rysunek 3) pozwalający na odczyt zawartości Flash z pełną prędkością taktowania CPU (o konieczności stosowania wait-state’ów podczas odczytu tej pamięci na razie nic nie wiadomo, jest dość prawdopodobne, że nie będą potrzebne), zastosowano w nich także zoptymalizowaną 7-poziomową magistralę AHB (rysunek 4), dzięki której użytkownik może wpływać na sposób komunikacji niektórych, najbardziej wymagających bloków peryferyjnych z CPU i innymi blokami peryferyjnymi.
Rys. 3. Schemat ilustrujący sposób działania interfejsu ART, który obsługuje dostęp CPU do pamięci Flash