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