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