mikrokontrolery · 2016-12-05 · 100% predictable response time. to offload the cpu, all...

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

Upload: others

Post on 27-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

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.

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.

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

• 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,

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

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

• 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

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

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

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 single-ended input •Integrated temperature sensor

•0 – 4 DAC channels in each device •12-bit resolution •Up to 1MSPS per DAC channels

AVR XMEGA

AVR XMEGA

Sleep mode Active Sleep mode Power save Sleep mode Power down

AVR XMEGA

Interrupt Controller

AVR XMEGA

Analog Comparators

SYSTEMY PRZERWAŃ

Sprzętowe: Zewnętrzne Wewnętrzne (wyjątki)

Faults (niepowodzenia) Traps (pułapki) Aborts (nienaprawialne)

Programowe

Maskowalne Niemaskowalne

SYSTEMY PRZERWAŃ

Ogólnie można wyróżnić kilka podejść do obsługi przerwań wielokrotnych: obsługa sekwencyjna — kolejne przerwanie (zgłoszone

podczas obsługi) obsługiwane jest po zakończeniu bieżącego, obsługa zagnieżdżona — po zgłoszeniu nowego przerwania

obsługa bieżącego jest zawieszana i kontynuowana po obsłużeniu przerwania nowo zgłoszonego,

obsługa priorytetowa — zawieszenie obsługi bieżącego przerwania następuje tylko wówczas, gdy nowo zgłoszone przerwanie ma wyższy priorytet, w przeciwnym razie obsługa następuje po obsłużeniu wszystkich zgłoszonych przerwań o wyższym priorytecie.

AVR XMEGA – EVENT SYSTEM

The event system can be divided into three distinct parts: • Event generators, with one or more event sources • The event routing network • Event users

AVR XMEGA – EVENT SYSTEM

Two types of events exist in the XMEGA event system, signaling events and data events. A signaling event does not contain any information except the fact that a change has occurred. A data event contains additional information about the change of state. The encoding of a data event is determined by the event source.

AVR XMEGA – EVENT GENERATOR

An event generator is a peripheral module having one or more event sources. There is generally a strong correlation between the available event sources and the available interrupt and DMA trigger sources belonging to a peripheral module. An event generator is feeding all its event sources to the event routing system, and is not aware of which event sources is being used by other modules.

AVR XMEGA

The Event Routing Network handles the routing of events from the event generator to the event user. The Event Routing Network consists of 8 equal event channels. Each channel consists of a multiplexer (controlled by the CHnMUX register) and a control and filtering logic (controlled by the CHnCTRL register), where n is the channel number. Every event source from every event generator is connected to the inputs of each of the eight multiplexers. This means that each event channel can be connected to any event source. Several event channels can also choose to relay the same event source.

AVR XMEGA – EVENT USER

An event user is a peripheral module that can make use of an event to trigger an action, referred to as an event action. An event user selects the event source to react to by selecting an event channel. The actual event source is determined by the multiplexer setting in the selected event channel. Event users can also be event generators. For example Timer/Counter modules have several event sources, and can also use an event from another peripheral module to trigger an input capture.

AVR XMEGA – EVENT TIMING

An event user is a peripheral module that can make use of an event to trigger an action, referred to as an event action. An event user selects the event source to react to by selecting an event channel. The actual event source is determined by the multiplexer setting in the selected event channel. Event users can also be event generators. For example Timer/Counter modules have several event sources, and can also use an event from another peripheral module to trigger an input capture.

AVR XMEGA – EVENT TIMING

It is possible to generate events either from software or using the on-chip debugging system. The generated events are injected directly in the event channels. The event channel does not need to have an event source associated with it to use the manual event generation possibilities. If an event source is associated with the event channel, the manually generated event has priority and will override the peripheral event. Two registers are used for manual event generation, STROBE and DATA. The event generation is triggered by a write to the STROBE register. When generating signaling events, only the STROBE register is needed. When generating data events, both STROBE and DATA must be used and STROBE must be written after DATA. The STROBE and DATA registers contain one bit for each event channel. Bit n corresponds to event channel n. It is possible to generate events on several channels at the same time by writing to several channels at once.

AVR XMEGA – EVENT SYSTEM

The event system is operative in Active and Idle mode. In all other sleep modes, peripheral modules will not be able to communicate using the event system.

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.

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.

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

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

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 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;

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 C5000

TI DSP C5000 Application

Pulsoksymetr

TI DSP C5000 Application

Cyfrowy stetoskop

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