Systemy wbudowane
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

Systemy wbudowane PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

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


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

    • 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


    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Ω


    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

    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


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


    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

    • 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


    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


    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


  • Login