Mikrokontrolery Mikrokontroler układ cyfrowy z wyspecjalizowanym mikroprocesorem, niezbędnymi urządzeniami peryferyjnymi zawartymi w jednym układzie scalonym, który jest zdolny do autonomicznej pracy, został zaprojektowany do pracy w systemach kontrolno pomiarowych oraz komunikacyjnych stąd posiada rozbudowany system komunikacyjny z otoczeniem, z reguły pracuje w czasie rzeczywistym.
Kryteria wyboru mikrokontrolerów Liczba linii we/wy niezbędnych do współpracy z otoczeniem; Ilość układów peryferyjnych; parametry timerów, liczników; liczba przerwań; moduły umożliwiające współpracę z układami analogowymi; rodzaje interfejsów. Szacowane wymagania programu: wielkość pamięci programu, danych, architektura, lista rozkazów, częstotliwość taktowania.
Kryteria wyboru mikrokontrolerów Parametry systemu: rodzaj i napięcie zasilania; pobór prądu; możliwość stosowania trybów zmniejszonego poboru energii, zmniejszenie szybkości pracy systemu; wydajność prądowa linii we/wy.
Cechy mikrokontrolerów umieszczenie magistrali danych i adresowej wewnątrz układu scalonego (najczęściej wyprowadzana jest również na zewnątrz), stała struktura pamięci ROM i RAM, niezmienność programu sterującego, rejestrowa struktura jednostki centralnej, dostęp do rejestrów procesora i układów we/wy poprzez mechanizm adresowania pamięci RAM, procesory boolowskie wykonujące operacje na pojedynczych bitach w pamięci, rejestrach i układach we/wy, szeroki zestaw urządzeń peryferyjnych,
Cechy mikrokontrolerów szybkie i rozbudowane systemy przerwań, różnorodne tryby pracy i środki redukcji poboru mocy, rozbudowane mechanizmy kontroli i detekcji nieprawidłowych stanów mikrokontrolera.
Mikrokontrolery Architektura procesora według mapy pamięci architektura Von-Neumana (systemy z jednolitą przestrzenią adresową) jedna szyna danych wspólna dla danych i programu, a podział obszaru pamięci na dane i program jest umowny (zależy wyłącznie od rozmieszczenia tych elementów w obszarze adresowym podczas projektowania systemu. programowanie ułatwione powolna realizacja cyklu rozkazowego.
Mikrokontrolery Architektura procesora według mapy pamięci architektura harwardzka dwie oddzielne szyny dla danych i rozkazów, w trakcie pobierania argumentów wykonywanej właśnie instrukcji można równocześnie zacząć pobieranie następnego słowa rozkazowego. Magistrala danych i rozkazów mają rożną szerokość. Wada: utrudniony przepływ danych z pamięci programu do pamięci operacyjnej
Mikrokontrolery Architektura procesora według mapy pamięci Zmodyfikowana architektura harwardzka obszary pamięci ROM i RAM są rozdzielone, ale mają taką samą długość słowa.
Mikrokontrolery Architektura procesora według listy rozkazów: RISC ang. Reduced instruction set computer: procesor jest zbudowany zgodnie z architekturą harwardzką, procesor wykorzystuje przetwarzanie potokowe (pipeling ) w celu zwiększenia szybkości wykonywania programu, zbiór realizowanych instrukcji jest ograniczony (do kilkudziesięciu) i spełnia warunki ortogonalności (symetrii).
Mikrokontrolery Architektura RISC ortogonalność: każda instrukcja może operować na dowolnym rejestrze roboczym, każda instrukcja może wykorzystywać dowolny tryb adresowania argumentów, brak ukrytych powiązań między instrukcjami (efektów ubocznych), które powodowałyby nieprzewidziane reakcje systemu w zależności od kontekstu użycia rozkazów w programie, kody rozkazów i formaty instrukcji są zunifikowane instrukcje zajmują w pamięci programu taką samą liczbę bajtów.
Mikrokontrolery Rodziny mikrokontrolerów o architekturze RISC: Alpha AMD 29000 ARM Atmel AVR IBM 801 Intel i860 Intel i960 Motorola M88000 MIPS PA-RISC PowerPC SPARC
Mikrokontrolery Architektura procesora według listy rozkazów: CISC ang. Complex instruction set computer charakteryzują się: złożonymi, specjalistycznymi rozkazami (instrukcjami), które do wykonania wymagają od kilku do kilkunastu cykli zegara, szeroką gama trybów adresowania, w przeciwieństwie do architektury RISC rozkazy mogą operować bezpośrednio na pamięci (zamiast przesłania wartości do rejestrów i operowania na nich), powyższe właściwości powodują, iż dekoder rozkazów jest bardzo rozbudowany. W architekturze CISC pojedynczy rozkaz mikroprocesora wykonuje kilka operacji niskiego poziomu pobranie z pamięci, operację arytmetyczną i zapis do pamięci.
Mikrokontrolery Rodziny mikrokontrolerów o architekturze CISC: IBM System/360, VAX Digital, PDP-11 Digital, x86
Mikrokontrolery Architektura procesora według listy rozkazów: MISC ang. Minimal instruction set computer charakteryzują się: bardzo małą liczbą podstawowych operacji i odpowiadającymi im kodami operacji, zestawy instrukcji są częściej oparte na stosie, niż na rejestrach, mniejsza i szybsza jednostka do dekodowania instrukcji, szybsze wykonanie pojedynczych instrukcji. Wadą architektury MISC jest to, że instrukcje mają skłonność do posiadania większej ilości uzależnień sekwencyjnych, to ogranicza liczbę instrukcji wykonywanych jednocześnie. Komercyjne zastosowanie architektury MISC był INMOS transputer
Mikrokontrolery Architektura procesora według listy rozkazów: VLIW ang. Very Long Instruction Word mikroprocesory z bardzo długim słowem instrukcji charakteryzują się: maksymalnym uproszczeniem jednostek sterujących (CU) w samym mikroprocesorze, przerzuceniem na barki oprogramowania złożoności przepływu sterowania w mikroprocesorze, czyli wykonywania rozkazów (programu), uproszczoną logiką, dużą liczbą danych - sygnałów sterujących, pojedynczy rozkaz posiada w sobie zdekodowane (lub wstępnie zdekodowane) sygnały sterujące dane oraz instrukcje dla konkretnych jednostek wykonawczych. Pojedyncza instrukcja procesora VLIW ma wielkość kilkuset bitów 256 i więcej.
Mikrokontrolery Architektura procesora według listy rozkazów: EPIC ang. Explicitly Parallel Instruction Computing odmiana architektury VLIW wykorzystują mechanizmy: ładowania spekulatywnego ang. speculative loading, pobieranie danych z pamięci za nim są one wymagane przez program, minimalizowanie opóźnień dostępu do pamięci, jest kombinacją kompilacji i optymalizacji kodu wynikowego, kompilator wyszukuje instrukcji wymagających danych z pamięci i jeżeli to możliwe wrzuca w strumień instrukcji ich pobranie, przewidywania ang. prediction, jawnej współbieżności ang. explicit parallelism, grupowania instrukcji w paczki, które wykonywane są w jednym cyklu zegara.
Mikrokontrolery Architektura procesora według listy rozkazów: ZISC ang. Zero instruction set computer charakteryzują się: budową opartą na niezależnych komórkach, które mogą być traktowane jak neurony lub równoległe procesory, każdy może porównywać wektor wejściowy z wzorcem zapisanym w pamięci, szybkością działania, nieograniczona skalowalnością. Układów ZISC stosowane są powszechnie w rozpoznawaniu wzorców, ochronie oraz wyszukiwaniu informacji.
MSP430 BLOCK DIAGRAM
MSP430 Snapshot of Integrated Peripherals ADC10 ADC12 SD16 SD24 Comparator DAC12 DMA Multiplier OpAmp Timers Watchdog timer WDT RTC Brouwnout reset PMM SVS A-POOL AES USB SPI I2C UART LIN/IrDA SCAN_IF ESP430 LCD Capacitive Touch
MSP430
MSP430 Applications Metering Portable Medical Data Logging Wireless Communications Capacitive Touch Personal Health and Fitness Energy Harvesting Motor Control Security and Safety
AVR XMEGA Key Features High-precision analog 12-bit ADCs with gain stage and combined throughput of 4 MSPS. Fast 12-bit DAC with high drive strength, as well as other functions that reduce the need for external components. Real-time performance The event system facilitates inter-peripheral signaling with 100% predictable response time. To offload the CPU, all peripherals can use DMA for data transfer. Atmel picopower technology True 1.6 volt operation, and 500 na RTC operation with full SRAM retention for fastest possible wake-up time. High Integration XMEGA devices integrate AES and DES crypto modules, up to 32 PWM outputs, 8 UART, 4 TWI (I2C) and 4 SPI channels, a CRC generator module, and more. AVR Software Library A complete library of device drivers and communication stacks save time and development effort so you can focus on more important design tasks. Atmel QTouch Sensing QTouch Library support enables you to easily realize robust capacitive touch sensing interfaces for button, sliders and wheels. USB Connectivity Delivers full-speed operation without the need for external crystals, 31 endpoints, and a special multi-packet function that maximizes data transfer rates while minimizing CPU load.
AVR XMEGA 1 or 2 ADCs in each device 12-bit resolution Up to 2 MSPS per ADC Built-in gain stage Differential and singleended input Integrated temperature sensor 0 4 DAC channels in each device 12-bit resolution Up to 1MSPS per DAC channels
AVR XMEGA EVENT SYSTEM
AVR XMEGA
AVR XMEGA Sleep mode Active Sleep mode Power save Sleep mode Power down
AVR XMEGA Interrupt Controller
AVR XMEGA Analog Comparators
Digital Signal Processors Procesory sygnałowe ang. Digital Signal Processors układy elektroniczne należące do klasy procesorów, wyspecjalizowane w przetwarzaniu sygnałów analogowych lub cyfrowych w czasie rzeczywistym.
Digital Signal Processors Cechy procesorów sygnałowych: rozdzielenie pamięci programu i danych (architektura harwardzka) z możliwością równoczesnego odczytu instrukcji oraz danych, sprzętowe dostosowanie do wykonywania operacji najczęściej występujących przy przetwarzaniu sygnałów tj. filtracji FIR i IIR, transformacji Fouriera, obliczaniu korelacji wzajemnej, potokowe przetwarzaniem instrukcji, specjalne mechanizmy do realizacji operacji wejścia i wyjścia w czasie rzeczywistym, niższe zużycie energii oraz niższy koszt zakupu w porównaniu z procesorami ogólnego przeznaczenia.
Digital Signal Processor Dziedziny zastosowań procesorów sygnałowych: Cyfrowa telefonia komórkowa Telefonia VOIP (ang. Voice over Internet) Komunikacja satelitarna Sprzęt nawigacyjny Modemy Poczta głosowa Automatyczne sekretarki Systemy wideokonferencjne Cyfrowe kamery Sonary Radary
Digital Signal Processors Dziedziny zastosowań procesorów sygnałowych cd.: Sterowanie napędami Systemy zapobiegania kolizjom pojazdów Systemy bezpieczeństwa w komunikacji Sejsmologia Realizacja nagrań fonicznych Usuwanie szumu Ultradźwiękowe systemy diagnostyki medycznej
TI DSP C5000
TI DSP C5000 Zalety: bardzo niskie zużycie mocy w trybie standby power 0.15mW; niskie zużycie energii w trybie active power 0.15mW/MHz; (75% dual-mac, 25% add operation) wysoki stopień integracji duża ilość układów peryferyjnych; duża ilość pamięci typu on-chip memory; zaawansowane cyfrowe przetwarzanie sygnałów;
TI DSP C55x
TI DSP C5000
Pulsoksymetr TI DSP C5000 Application
Cyfrowy stetoskop TI DSP C5000 Application
TI DSP C5000 Application Elektrokardiogram
TI DSP C5000 Application MP3 Player/Recorder
TI C6000 Single Core
TI DSP C6000 Single Core Application Signal/Waveform Generator
TI DSP C6000 Single Core Application Military: Sonar/Radar
TI DSP C6000 Multicore
TI DSP C6000 Multicore Application High-Speed Data Acquisition and Generation
TI DSP C6000 Multicore Application Military and Avionics Imaging
TI DSP C6000 Multicore Application Military: Munitions and Targeting