SPC56: 32 bity nie tylko dla aplikacji automotive
Firma STMicroelectronics wprowadziła do produkcji kolejną rodzinę 32-bitowych mikrokontrolerów, tym razem bazujących na rdzeniach z serii PowerPC. Rodzina SPC56 jest ukierunkowana przede wszystkim na rynek samochodowy, ale ich cechy i możliwości są interesujące także dla konstruktorów tradycyjnych urządzeń.
Rdzenie PowerPC kojarzą się – i słusznie – z mikroprocesorami, ale w opracowanej przez IBM rodzinie znalazło się także miejsce dla rdzeni mikrokontrolerowych, jakie zostały użyte miedzy innymi w mikrokontrolerach SPC56 firmy STMicroelectronics. Rdzenie e200z są następcami architektur POWER4 i POWER5 oraz PowerPC 400, stosuje je w swoich mikrokontrolerach MPC55 i MPC56 także firma Freescale.
Dodatkowe informacje o mikrokontrolerach SPC56 są dostępne pod adresem: www.st.com/spc56 |
W mikrokontrolerach SPC56 producent stosuje trzy wersje rdzeni (rysunek 1), których cechy i możliwości są dobrane do wymogów docelowych aplikacji:
- Najprostszy ze stosowanych rdzeni – e200z0 – przypomina klasyczne rdzenie mikrokontrolerowe, nie jest wyposażony w FPU czy MMU, ma zintegrowaną także nieco prostszy funkcjonalnie system sprzętowego wspomagania debugowania. Maksymalna częstotliwość taktowania rdzeni e200z0 produkowanych w technologiach używanych przez STMicroelectronics wynosi do 100 MHz.
- Rdzeń e200z3 jest rozbudowana wersją e200z0, zintegrowano w nim m.in. koprocesor zmiennoprzecinkowy oraz jednostkę zarządzania pamięcią MMU, przystosowaną do zarządzania 8 wydzielonymi regionami. Rdzeń e200z3 komunikuje się z otoczeniem za pomocą dwóch magistral (specyfikacja AMBA 2.0 v6 AHB), wyposażono go także w jednostkę wspomagającą debugowanie Nexus 3 (IEEE-ISTO 5001-2003), której możliwości są porównywalne z nieco bardziej popularnym rozwiązaniem firmy ARM – CoreSight. Maksymalna częstotliwość taktowania rdzeni e200z3 produkowanych w technologiach używanych przez STMicroelectronics wynosi do 100 MHz.
- Najbardziej zaawansowane rdzenie z serii PowerPC dostępne w mikrokontrolerach SPC56 – oznaczone symbolem e200z4 – są rozwinięciem e200z3: wyposażono jej dodatkowo koprocesor DSP oraz pamięć cache dla instrukcji i danych, zastąpiono 4-poziomowy pipelineing systemem 5-poziomowym, a MMU przystosowano do obsługi 16 niezależnych regionów pamięci. Maksymalna częstotliwość taktowania rdzeni e200z4 produkowanych w technologiach używanych przez STMicroelectronics wynosi do 150 MHz.
Firma STMicroelectronics produkuje 7 grup mikrokontrolerów SPC56, które są przeznaczone dla różnych aplikacji (rysunek 2).
Rdzenie e200z w skrócie
e200z0 Core | e200z3 Core | e200z4 Core |
4 stage pipeline In-order execution 32 bit external Databus, 32 bit Addressbus Brak MMU, no FPU VLE instruction set only – Variable length support for high code density Big endian support only |
4 stage pipeline 1 to 2 cycle branch 64 bit external Databus, 32 bit Addressbus FPU 16 MMU entries 32bit and VLE instrcution set – Variable length support for high code density |
5 stage pipeline 1 to 3 cycle branch 64 bit external Databus, 32 bit Addressbus FPU, DSP 16 MMU entries 32bit and VLE instrcution set 16-Kbyte cache |
Podział rodziny mikrokontrolerów SPC56 na podrodziny pokazane na rysunku 2 wiąże się z optymalizacją ich wyposażenia pod kątem wymogów docelowych aplikacji, przy czym wszystkie są „celowane” w aplikacje samochodowe. Najtańsze i przy tym najbardziej uniwersalne mikrokontrolery (podrodziny Bolero i Pictus) są montowane w najmniejszych obudowach (między innymi) – LQFP64, wyposażono jej w pamięć Flash o pojemności do 256 kB (lub 512 kB, wersje w obudowach LQFP100), przykłady pokazano na rysunku 3. Aplikacyjny „przechył” mikrokontrolerów SPC56 w kierunku automotive dobrze widać w ich wyposażeniu: interfejs I2C nie jest w nich oczywistym elementem wyposażenia, każda podrodzina ma natomiast wbudowany CAN, LIN, większość także FlexRay.
W ramach maksymalizacji niezawodności, mikrokontrolery SPC są standardowo przystosowane do pracy w zakresie temperatur od -40 do +105°C, dostępne są także wersje przystosowane do pracy w temperaturze otoczenia do +125°C przy temperaturze struktury +150°C.
Dla mikrokontrolerów SPC56 producent oferuje bazujące na Eclipse środowisko programistyczne o nazwie SPC5 Studio (dostępne bezpłatnie na stronie producenta), wspierany przez wielu zewnętrznych producentów oferujących m.in. interfejsy do debugowania i programowania, własne kompilatory, pakiety bibliotek i wsparcie techniczne. Firma STMicroelectronics przygotowała także własne zestawy startowe z mikrokontrolerami SPC56 (jak płyta bazowaSPC56XXMB oraz adaptery SPC56xxxADPT), podobne rozwiązania oferują producenci zewnętrzni (jak na przykład współpracujący z Eclipse Universal Debug Engine 3.0 firmy PLS – fotografia 4).