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

 

Rys. 1. Schematy blokowe rdzeni e200z stosowanych w mikrokontrolerach SPC56

Rys. 1. Schematy blokowe rdzeni e200z stosowanych w mikrokontrolerach 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).

 

Rys. 2. Rodzina mikrokontrolerów SPC56 składa się z 7 podrodzin optymalizowanych dla różnych zastosowań

Rys. 2. Rodzina mikrokontrolerów SPC56 składa się z 7 podrodzin optymalizowanych dla różnych zastosowań

 

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.

 

Rys. 3. Rodzinę SPC56 tworzą mikrokontrolery w „przyjaznych” obudowach, pośród których najmniejsze to LQFP64, dostępne m.in. w rodzinie Bolero

Rys. 3. Rodzinę SPC56 tworzą mikrokontrolery w „przyjaznych” obudowach, pośród których najmniejsze to LQFP64, dostępne m.in. w rodzinie Bolero

 

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.

 

Fot. 4. Debugger-emulator dla mikrokontrolerów SPC56 - UDE 3.0 firmy PLS

Fot. 4. Debugger-emulator dla mikrokontrolerów SPC56 – UDE 3.0 firmy PLS

 

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).

O autorze