Systemy wbudowane

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

description

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 - PowerPoint PPT Presentation

Transcript of Systemy wbudowane

Page 1: Systemy wbudowane

Systemy wbudowane

Wykład nr 6:

Komunikacja mikrokontrolerów ze światem zewnętrznym

Piotr Bilski

Page 2: Systemy wbudowane

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

Page 3: Systemy wbudowane

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)

Page 4: Systemy wbudowane

Przykład cyklu szyny

ADRES DANE

XTAL1

CLKOUT

ALE

READY

Szyna

RD

WR

Page 5: Systemy wbudowane

Tryby pracy szyny pamięci

7 6 5 4 3 2 1 0

• Tryb pracy nominalny i obniżonej mocy, tryb ochrony pamięci i ograniczenie liczby stanów oczekiwania

• Rejestr konfiguracji (CCR):

• 0 – zezwolenie na tryb obniżonej mocy

• 1 – szerokość szyny (8/16b)• 2 – Wybór strobu zapisu• 3 – Wybór strobu ważnego

adresu

• 4 – IRC0 (Internal Ready Control Mode)

• 5 – IRC1• 6 – LOC0 (Program Lock

Mode)• 7 – LOC1

Page 6: Systemy wbudowane

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

Page 7: Systemy wbudowane

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

Page 8: Systemy wbudowane

Ilustracja wstrzymania dostępu do szyny (hold) – Intel 8xC196

ADRES DANE

CLKOUT

HOLD

HLDA

BREQ

dane/adresy

ALE

Page 9: Systemy wbudowane

Obsługa asynchronicznego sygnału wstrzymania

CLKOUT

HOLD

HLDA

HOLD

HLDA

b)

a)

Page 10: Systemy wbudowane

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

Page 11: Systemy wbudowane

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

Page 12: Systemy wbudowane

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

Page 13: Systemy wbudowane

Podłączenie pamięci EEPROM do mikrokontrolera przez port

• Operacje wykonywanie przez procedury programowe (konwersja szeregowo-równoległa)

• Kody polecenia 3-bitowe (READ, ERASE, ERAL itp.)

OSC1 OSC2

RESET

IRQ/VPP

PA0PA1PA2

PA3

CSSK

DIDO

Vcc Vss

EEPROM

Vcc

Vcc

RESET

PA7

390 Ω

Vcc

• Tryb 8- i 16-bitowy

Page 14: Systemy wbudowane

Podłączenie pamięci EEPROM do mikrokontrolera przez SPI

• Sprzętowa konwersja szeregowo-równoległa• Praca w trybie z przerwaniami

PA5SCK

MOSI

MISO

CSSK

DIDO

PA4 SS

Vcc

GND

Vcc

Vss

ORG/NC

4.7kΩ

Page 15: Systemy wbudowane

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

Page 16: Systemy wbudowane

Budowa kontrolera DMAWbudowana pamięć ROM

Wbudowana pamięć RAM

Wbudowane układy

peryferyjne

Zewnętrzna pamięć ROM

Urządzenia zewnętrzne

Zewnętrzna pamięć RAM

Sterownik szyny

Interfejs szyny

SARn

SARn

SARn

CHCRn

DMAOR

Kontroler priorytetów

żądań dostępu

Kontroler startu DMA

Rejestr kontrolny

Sterowanie iteracjami

DREQ0, DREQ1ITU/SCI/ konwe. A/C, SCI

DEInDACK0, DACK1

Page 17: Systemy wbudowane

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

Page 18: Systemy wbudowane

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)

Page 19: Systemy wbudowane

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

Page 20: Systemy wbudowane

Programowane 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ówD6,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/1D1 – port B (wejście/wyjście)D0 – port C – 4 młodsze bity (wejście/wyjście)

Page 21: Systemy wbudowane

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

Page 22: Systemy wbudowane

Porty uniwersalne

• Reprezentowane przez układy do pracy:– synchronicznej i asynchronicznej

(UART/USART)– synchronicznej (SPI)– Asynchronicznej (SCI)

• Z portem związany jest bufor na dane

• W zaawansowanych mikrokontrolerach istnieją bloki zawierające wiele portów

Page 23: Systemy wbudowane

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

Page 24: Systemy wbudowane

Schemat UART

Page 25: Systemy wbudowane

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 URXISE1URXISE0 ADDEN RIDLE PERR

FERR OERR URXDA

Page 26: Systemy wbudowane

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

Page 27: Systemy wbudowane

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

Page 28: Systemy wbudowane

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

Rejestr zatrzaskowy rejestratora zdarzeń

Licznik n-bitowy

Układ wyboru zbocza

zerowanie

zezwolenieProgramowanie aktywnego zbocza

Szyna danych

zdarzenie

Page 29: Systemy wbudowane

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

Komparator kanału 1

Licznik modulo

Komparator kanału 2

Rejestr kanału 2

Układ selekcji kanału

=

=

Szyna danych

Zegar (prescaler)

Zerowanie

Page 30: Systemy wbudowane

Bloki liczników ogólnego przeznaczenia

Blok rejestratora/komparatora

Licznik impulsów

Prescaler

Blok PWM

Interfejs szyny

IC1/PGP0

IC2/PGP1

IC3/PGP2

OC1/PGP3OC1-2/PGP4OC3-1/PGP5OC4-1/PGP6IC4/OC5-1/ PGP7

PAI

PCLK

PWMAPWMB

Szyna IMB

Page 31: Systemy wbudowane

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

Page 32: Systemy wbudowane

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