Komunikacja mikrokontrolerów ze światem zewnętrznym

Slides:



Advertisements
Podobne prezentacje
Watchdog Paweł Trojanowski
Advertisements

Taktowanie mikroprocesorów Jednostka sterująca mikroprocesora jest układem sekwencyjnym synchronicznym, czyli wymagającym sygnału taktującego (zegarowego).
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Architektura jednostki centralnej RD MBR MAR IRPC +1 WR jednostka sterująca ALU A F Adres Dane Rejestry: MAR – (Memory Address Register) rejestr adresowy.
Przetworniki C / A budowa Marek Portalski.
Liczniki.
Architektura szynowa systemu mikroprocesorowego szyna danych szyna sterująca szyna adresowa µP szyna danych szyna adresowa D7,..., D1, D0 A15,..., A1,
Wykład 9 Dedykowane procesory DSP oraz mikrokontrolery z jednostką DSP
Wykład 4 Przetwornik Analogowo-Cyfrowy
Magistrale.
Mikrokontrolery - - podstawowe architektury
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Magistrala & mostki PN/PD
Komputer, procesor, rozkaz.
Temat nr 10: System przerwań
Płyty główne Budowa.
1-Wire® Standard 1-Wire®, zwany też czasami siecią MicroLAN, oznacza technologię zaprojektowaną i rozwijaną przez firmę Dallas Semiconductor polegającą.
Mikroprocesory i mikrokontrolery
Procesory jednoukładowe
Układy wejścia-wyjścia
Komputer a system komputerowy
Programowalny układ we-wy szeregowego 8251
Architektura komputerów
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Wyjścia obiektowe analogowe
Przerzutniki.
Układy kombinacyjne cz.2
MCS51 - wykład 2.
Dekodery adresów.
Programowalny układ we/wy równoległego.. Wyprowadzenia układu.
Architektura komputerów
MCS51 - wykład 6.
Architektura komputerów
Mikrokontrolery PIC.
Interfejs Technologie informacyjne – laboratorium Irmina Kwiatkowska
Rodzina AVR wykład 4.
Struktura systemu mikroprocesorowego
Wykonał Piotr Jakubowski 1ET
Magistrale szeregowe.
Cyfrowe układy logiczne
ARCHTEKTURA KOMPUTERA
Płyta główna. Magistrale I/O
Sekwencyjne bloki funkcjonalne
Zasada działania komputera
Etapy pracy biosu.
Budowa i rodzaje procesorów.
Mikroprocesory.
Mikroprocesory mgr inż. Sylwia Glińska.
Prezentacja Multimedialna
Procesor – charakterystyka elementów systemu. Parametry procesora.
Złożone układy kombinacyjne
BUDOWA I ZASADA DZIAŁANIA
Klawiatura i mysz.
Przerzutniki Przerzutniki.
Procesor, pamięć, przerwania, WE/WY, …
Pamięć DRAM.
Struktura wewnętrzna mikrokontrolera zamkniętego
Architektury procesorów rdzeniowych mikrokontrolerów.
ATXMEGA128A4U 128 kB pamięci Flash Zasilanie 1.6V-3.6V Maksymalne taktowanie 32 MHz 34 Programowalne WE-WY System zdarzeń (Event System) 4 kanały DMA.
Układy i systemy mikroprocesorowe
Powtórzenie wiadomości na sprawdzian 12 lutego (wtorek)
Przerwania timera i przerwania zewnętrzne
POLITECHNIKA POZNAŃSKA
SunFollower Projekt zespołowy Prowadzący: Dr inż. Marek Woda Wykonał: Bartosz Przybyłek Data prezentacji:
Płyta główna. Magistrale I/O
Nowe rozwiązania sieci miejscowych - sieć LIN
Interfejsy synchroniczne
Mikrokontrolery System przerwań
Mikrokontrolery MSP430 DMA
Zapis prezentacji:

Komunikacja mikrokontrolerów ze światem zewnętrznym Systemy wbudowane Wykład nr 6: Komunikacja mikrokontrolerów ze światem zewnętrznym Piotr Bilski

Bloki współpracy z otoczeniem Wejścia i wyjścia cyfrowe (porty) Przetworniki A/C i C/A Bloki sterowania szynami i pamięciami zewnętrznymi Liczniki, układy pomiaru czasu Układy obsługi przerwań Bloki transmisji szeregowej i równoległej

Współpraca z pamięcią zewnętrzną Komunikacja poprzez szynę (cykl szyny) Sposoby adresowania i przesyłania danych (synchronizacja) Konieczność stabilizacji sygnałów na odpowiednich liniach W przypadku wolniejszych pamięci konieczne jest wprowadzenie stanów oczekiwania (z góry ustalona lub dynamiczna)

Przykład cyklu szyny XTAL1 CLKOUT ALE READY Szyna ADRES DANE RD WR

Tryby pracy szyny pamięci Tryb pracy nominalny i obniżonej mocy, tryb ochrony pamięci i ograniczenie liczby stanów oczekiwania Rejestr konfiguracji (CCR): 7 6 5 4 3 2 1 4 – IRC0 (Internal Ready Control Mode) 5 – IRC1 6 – LOC0 (Program Lock Mode) 7 – LOC1 0 – zezwolenie na tryb obniżonej mocy 1 – szerokość szyny (8/16b) 2 – Wybór strobu zapisu 3 – Wybór strobu ważnego adresu

Sterowanie szynami Sygnały sterujące: ALE, WR, BHE Wyprowadzenia sygnałów pełnią dwie funkcje: w trybie ze strobowanym zapisem i ze strobowaniem ważnego adresu Możliwa kombinacja obu trybów Sposób sterowania zależy od szerokości szyny: 8 lub 16 bitów

Wstrzymanie dostępu do szyny Konieczne, gdy do tej samej szyny jest podłączonych wiele urządzeń Wymagane sygnały HOLD, HLDA, BREQ Sygnały mogą mieć własne wyprowadzenia lub być częścią portów Możliwe jest blokowanie żądania wstrzymania

Ilustracja wstrzymania dostępu do szyny (hold) – Intel 8xC196 CLKOUT HOLD HLDA BREQ dane/ adresy ADRES DANE ALE

Obsługa asynchronicznego sygnału wstrzymania CLKOUT a) HOLD HLDA b) HOLD HLDA

Podłączenie zewnętrznych pamięci ROM Sposób podłączenia zależy od liczby dostępnych pamięci Problem implementacji przestrzeni adresowych Wybór układu poprzez sygnał na wyjściu ADV mikrokontrolera podawanego na wejście CS układu pamięci W bardziej skomplikowanych przypadkach stosowane są wbudowane kodery adresów

Komunikacja z pamięciami EEPROM i Flash Jeśli pamięci zostały zaprogramowane wcześniej, współpracują tak, jak pamięci ROM Programowanie bez potrzeby wyjmowania z mikrokontrolera (in-circuit programming) Możliwość programowania oraz dostęp szeregowy wymusza dodatkowy interfejs

Pamięci z dostępem szeregowym Są zasilane napięciem 3V lub 5V Mają małe rozmiary i niewielką pojemność (kilka kB) Wymagają wewnętrznego lub zewnętrznego napięcia programującego Główne rodzaje: Pracujące z niestandardowym protokołem wymiany danych I2C EEPROM z protokołem transmisji szeregowej firmy Philips

Podłączenie pamięci EEPROM do mikrokontrolera przez port Vcc OSC1 OSC2 PA0 CS PA1 SK PA2 RESET RESET DI PA3 DO Vcc IRQ/VPP EEPROM PA7 390 Ω Operacje wykonywanie przez procedury programowe (konwersja szeregowo-równoległa) Kody polecenia 3-bitowe (READ, ERASE, ERAL itp.) Vcc Vss Vcc Tryb 8- i 16-bitowy

Podłączenie pamięci EEPROM do mikrokontrolera przez SPI Vcc PA5 CS Vcc SCK SK MOSI DI ORG/NC MISO DO Vss GND PA4 SS 4.7kΩ Sprzętowa konwersja szeregowo-równoległa Praca w trybie z przerwaniami

Bezpośredni dostęp do pamięci (DMA) Transmisja danych między pamięciami i urządzeniami wejścia-wyjścia bez użycia jednostki centralnej Wykorzystuje mechanizm wstrzymania dostępu do szyny Wymagane kontrolery DMA Zwykle istnieje kilka kontrolerów w systemie

Budowa kontrolera DMA Wbudowana pamięć ROM SARn SARn Sterowanie iteracjami SARn Wbudowana pamięć RAM Rejestr kontrolny SARn Wbudowane układy peryferyjne Kontroler startu DMA CHCRn Kontroler priorytetów żądań dostępu DREQ0, DREQ1 ITU/SCI/ konwe. A/C, SCI DEIn DACK0, DACK1 DMAOR Zewnętrzna pamięć ROM Interfejs szyny Zewnętrzna pamięć RAM Sterownik szyny Urządzenia zewnętrzne

System przerwań Obsługa urządzeń zewnętrznych Programowe testowanie stanu urządzeń (polling) System przerwań (obsługa sprzętowo-programowa) Wymagany rejestr kontrolny dla każdego urządzenia Możliwość obsługi priorytetowej

Obsługa przerwań Wykonywana tylko gdy przynajmniej jedno urządzenie zgłosiło przerwanie Identyfikacja urządzenia Polling Łańcuchowanie urządzeń (daisy chain) Przerwania wektoryzowane Obsługa przerwania programowa (procedury)

Porty transmisji równoległej Zestawy linii jednocześnie przesyłających sygnały Najczęściej 8- lub 16-bitowe Rodzaje linii Dwukierunkowe Z otwartym obwodem drenu tranzystora O zwiększonej obciążalności Zwykle istnieje wiele portów równoległych

Programowanie układy wejścia-wyjścia (PIO) Uniwersalne scalone układy wejścia-wyjścia Służą do obsługi dużej liczby urządzeń Wykorzystanie rejestru sterującego: D7 D6 D5 D4 D3 D2 D1 D0 D7 – dostęp do słowa trybów D6,D5 – wybór trybu: 0/1/2 (00/01/1X) D4 – port A (wejście/wyjście) D3 – port C - 4 starsze bity (wejście/wyjście) D2 – wybór trybu: 0/1 D1 – port B (wejście/wyjście) D0 – port C – 4 młodsze bity (wejście/wyjście)

Interfejsy transmisji szeregowej Transmisja synchroniczna i asynchroniczna Bajty przesyłane jako ciągi następujących po sobie bitów, uzupełnione bitem parzystości Dupleks – możliwość jednoczesnego wysyłania danych w obie strony (potrzebne dwie linie danych) Możliwa programowa definicja trybu pracy

Porty uniwersalne Reprezentowane przez układy do pracy: synchronicznej i asynchroniczej (UART/USART) synchronicznej (SPI) Asynchronicznej (SCI) Z portem związany jest bufor na dane W zaawansowanych mikrokontrolerach istnieją bloki zawierające wiele portów

Standard UART Podstawowy szeregowy moduł wejścia-wyjścia w mikrokontrolerach Komunikacja dwustronna (full duplex) asynchroniczna, 8 lub 9 bitów Prosta konstrukcja bitów parzystości Pętla sprzężenia zwrotnego do celów diagnostycznych Przykłady interfejsów: RS-232C, RS-485, IrDA Prędkości w zakresie 15bps do 1 Mbps

Schemat UART

Rejestry UARTx (Microchip PIC24F) UxMODE – rejestr trybu pracy UxSTA – rejestr statusu i kontrolny UxRXREG – rejestr odbiorczy UxTXREG – rejestr nadawczy UxBRG – rejestr generatora baud rate UARTEN UFRZ USIDL IREN RTSMD ALTIO UEN1 UEN0 WAKE LPBACK ABAUD RXINV BRGH PDSEL1 PDSEL0 STSEL UTXISE1 UTXINV UTXISE0 -- UTXBRK UTXEN UTXBF TRMT URXISE1 URXISE0 ADDEN RIDLE PERR FERR OERR URXDA

Interfejs I2C Standard w elektronice przemysłowej i ogólnego użytku Transmisja szeregowa, dupleksowa Taktowanie szyny do 100kHz Za transmisję odpowiadają specjalizowane kontrolery Tryb pracy master/slave

Liczniki Służą do zliczania impulsów (z wewnętrznego lub zewnętrznego zegara) oraz pomiaru czasu Wykorzystywane są do: Odmierzania czasu między zewnętrznymi zdarzeniami Generowania impulsów o określonym czasie trwania Sterowania transmisją w portach szeregowych Wykonywania zadań licznika nadzorcy

Blok licznika – konfiguracja podstawowa Zegar/prescaler zerowanie Programowanie aktywnego zbocza Licznik n-bitowy zezwolenie Rejestr zatrzaskowy rejestratora zdarzeń Układ wyboru zbocza zdarzenie Szyna danych Podstawowy układ – programowany dzielnik częstotliwości impulsów zegarowych (prescaler) Zajście zdarzenia może powodować generowanie przerwania do CPU

Blok licznika – generator impulsów z podwójnym kanałem Rejestr kanału 1 Szyna danych = Komparator kanału 1 Zerowanie Licznik modulo Układ selekcji kanału Zegar (prescaler) = Komparator kanału 2 Rejestr kanału 2 Tzw. licznik z buforem (nie gubi impulsów zegara na wyjściu)

Bloki liczników ogólnego przeznaczenia OC1/PGP3 OC1-2/PGP4 OC3-1/PGP5 OC4-1/PGP6 IC4/OC5-1/ PGP7 Blok rejestratora/komparatora IC1/PGP0 IC2/PGP1 IC3/PGP2 Licznik impulsów PAI Prescaler PCLK PWMA PWMB Blok PWM Interfejs szyny Szyna IMB

Przetworniki A/C Wykorzystują metody: Sukcesywnej aproksymacji Jednozboczowego ładowania pojemności Zawierają układ próbkująco-pamiętający (sample-and-hold), komparator, rejestr aproksymacyjny oraz układ sterujący

Charakterystyki przejściowe i dokładność przetwarzania A/C