Geneza powstania mikrokontrolerów 32-bitowych jest zupełnie inna niż mikrokontrolerów 8- i 16-bitowych. Już w latach 90-tych stało się jasne, że rozwój oprogramowania nie nadąża za rozwojem mikroprocesorów. W tej sytuacji naturalnym pomysłem było wykorzystanie mikroprocesorów poprzednich generacji jako bazy do tworzenia mikrokontrolerów. W taki sposób zaprojektowane mikrokontrolery określane są czasem jako mikroprocesory zagnieżdżone (embedded microprocessor). Podstawową zaletą takiego rozwiązania jest możliwość wykorzystania istniejącego oprogramowania, a przede wszystkim programów narzędziowych do ich tworzenia (kompilator, linker itp.) opracowanych dla bazowego mikroprocesora. Wadą tego rozwiązania jest czasami niedostateczne dostosowanie architektury takich mikrokontrolerów do wymagań pracy w systemach pomiarowo-kontrolnych i komunikacyjnych. Dotyczy to głównie układów przerwań. 1
Tendencja do tworzenia mikrokontrolerów jako mikroprocesorów zagnieżdżonych wydaje się trwała. Obecnie praktycznie każdy mikroprocesor 32-bitowy oferowany jest w wersji embedded. Rynek mikrokontrolerów 32-bitowych jest najbardziej dynamicznie rozwijającym się segmentem rynku mikrokontrolerów Motorem napędowym rozwoju tej grupy mikrokontrolerów jest telekomunikacja. Współczesne aplikacje z dziedziny telekomunikacji wymagają zarówno dużych mocy obliczeniowych ze względu na konieczność obsługi wielu szybkich łączy komunikacyjnych jak i bardzo zaawansowanych specjalizowanych układów peryferyjnych W ostatnich latach obserwuje się zwiększone zapotrzebowanie na mikrokontrolery 32- bitowe ze strony przemysłu komunikacyjnego (automotive, aerospace) 2
Przykładowe rodziny mikrokontrolerów 32-bitowych oznaczenie rodziny producent mikroprocesor bazowy 80960VH Intel i960 80386EX Intel 80386 oldfire Motorola/Freescale 68k MP5xx/6xx/7xx/8xx Motorola/Freescale PowerP ARM embedded Freescale, TI ARM archtecture 3
Mikrokontrolery 32 bitowe Intel 80386EX From Wikipedia, the free encyclopedia The Intel 80386EX (386EX) is a variant of the Intel 386 microprocessor designed for embedded systems. Introduced in August 1994 and was successful in the market being used aboard several orbiting satellites and microsatellites. haracteristics Introduced August 1994 Variant of 80386X intended for embedded systems tatic core, i.e. may run as slowly (and thus, power efficiently) as desired, down to full halt On-chip peripherals: clock and power mgmt timers/counters watchdog timer serial I/O units (sync and async) and parallel I/O DMA RAM refresh JTAG test logic Used aboard several orbiting satellites and microsatellites Used in NAA's FlightLinux project 4
ARM architecture From Wikipedia, the free encyclopedia The ARM architecture (previously, the Advanced RI Machine, and prior to that Acorn RI Machine) is a 32-bit RI processor architecture developed by ARM Limited that is widely used in a number of embedded designs. Because of their power saving features, ARM PUs are dominant in the mobile electronics market, where low power consumption is a critical design goal. Today, the ARM family accounts for approximately 75% of all embedded 32-bit RI PUs, making it the most widely used 32-bit architecture in the world. ARM PUs are found in all corners of consumer electronics, from portable devices (PDAs, mobile phones, media players, handheld gaming units, and calculators) to computer peripherals (hard drives, desktop routers). 5
ARM architecture From Wikipedia, the free encyclopedia ARM11 PU: RI, 8-stage pipeline MIP: 740 @ 600 MHz Applications: Nokia N93, Nokia N95, Apple iphone Motorola RIZR Z8, Motorola RIZR Z10 6
Mikrokontrolery rodziny MP860 wprowadzone zostały na rynek w drugiej połowie lat dziewięćdziesiątych. Jest to zatem najnowsza generacja mikrokontrolerów. Ich opracowanie przez firmę Motorola wiązało się z następującymi faktami: Motorem rozwoju mikrokontrolerów w latach 90-tych stały się techniki komunikacyjne (m.in. takie tendencje jak integracja sieci komputerowych i telekomunikacyjnych, rozwój sieci szerokopasmowych oraz upowszechnianie się Internetu). Dla zaspokojenia tych wymagań firma Motorola oferowała dotychczas 32-bitowe mikrokontrolery bazujące na jednostce centralnej 68000. Dla najbardziej zaawansowanych zastosowań zarówno moc obliczeniowa jednostki centralnej jak i zestaw wewnętrznych układów peryferyjnych okazywały się często niewystarczające. Od połowy lat 90-tych firma Motorola dysponowała bardzo nowoczesnymi jednostkami centralnymi określanymi jako PowerP. Zostały one opracowane wspólnie z firmą IBM jako alternatywa dla jednostek centralnych typu Pentium w zastosowaniach dla komputerów osobistych. Logiczną konsekwencją tej sytuacji było zatem wykorzystanie jednostki centralnej PowerP do budowy nowej generacji mikrokontrolerów zorientowanych są na zastosowania komunikacyjne. 7
chemat blokowy mikrokontrolerów rodziny MP860 jednostka centralna (PU) PowerP pamięci podręczne moduł integracji przez szyny systemowe (IU) moduł procesora komunikacyjnego (PM) PU - jednostka centralna bazująca na PowerP z pamięciami podręcznymi danych (Data ache Memory) i programu (Instruction ache Memory) IU (ystem Integration Unit) - moduł zawierający urządzenia peryferyjne przeznaczone głownie do integracji mikrokontrolera z układami zewnętrznymi poprzez szyny systemowe PM (ommunication Processor Module) moduł zawierający urządzenia peryferyjne, głównie zaawansowane łącza komunikacji szeregowej 8
PU PowerP pamięć podręczna programu moduł zarządzania IU kontroler pamięci zewnętrznych sterownik zewnętrznych szyn systemowych moduł zarządzania pamięć podręczna danych zegar czasu rzeczywistego porty PMIA DP RAM 1 2 3 4 M 1 M 2 P I I 2 32-bit RI jednostka centralna układy czasowe generatory prędkości transmisji moduł multipleksacji czasowej PM porty Budowa wewnętrzna mikrokontrolera MP860 9
zasilanie układu port A (0-15) port B (14-31) port (4-15) port D (3-15) standard JTAG / wewnętrzny debugger MP860 szyna adresowa (0-31) szyna danych (0-31) szyna sterująca przerwania zewnętrzne kontrola pamięci zewnętrznych reset jednostki centralnej zegar taktujący PMIA port A PMIA port B Wyprowadzenia w liczbie 357 można podzielić na następujące grupy: napięcia zasilające (+5 oraz 3.3 V) wyprowadzenia dla podłączenia oscylatora kwarcowego (80 MHz) szyny systemowe (szyna danych, adresowa oraz sterująca) sygnały sterujące pamięciami zewnętrznymi (m.in. typu hip elect) wejścia przerwań zewnętrznych sygnały związane z resetowaniem jednostki centralnej wyprowadzenia portów (z alternatywną funkcją wejść i wyjść łączy komunikacyjnych) wyprowadzenia portów zgodnych ze standardem PMIA wyprowadzenia służące do testowania układu (według standardu JTAG) oraz umożliwiające dostęp do wewnętrznych mechanizmów sprzętowych wspomagających uruchamianie oprogramowania (Debugger Port) 10