1 / 32

Systemy wbudowane

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

palmer
Télécharger la présentation

Systemy wbudowane

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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)

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

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

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

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

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

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

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

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

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

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

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

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

  16. Budowa kontrolera DMA Wbudowana pamięć ROM SARn Sterowanie iteracjami SARn Wbudowana pamięć RAM SARn Rejestr kontrolny 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

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

  18. 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)

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

  20. 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 – 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)

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

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

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

  24. Schemat UART

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

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

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

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

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

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

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

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

More Related