KPiSW część 3

Transkrypt

KPiSW część 3
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.
MSP430 BLOCK DIAGRAM
MSP430
Snapshot of Integrated Peripherals
• ADC10
•Timers
• ADC12
•Watchdog timer
• SD16
WDT
• SD24
• RTC
• Comparator •Brouwnout reset
• DAC12
• PMM
• DMA
• SVS
• Multiplier • A-POOL
• OpAmp
• AES
• USB
• SPI
• I2C
• UART
• LIN/IrDA
• SCAN_IF
• ESP430
• LCD
• Capacitive Touch
MSP430
MSP430 Applications
Metering
Wireless Communications
Energy Harvesting
Portable Medical
Data Logging
Capacitive Touch
Personal Health and Fitness
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
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
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.
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
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

Podobne dokumenty