Title: INTERFEJSY SZEREGOWE
1INTERFEJSY SZEREGOWE
- UART 1-WIRE SPI I²C RS-232
2UART(Universal Asynchronous Receiver and
Transmitter)
- W skrócie jest to obwód zintegrowany uzywany do
- asynchronicznego przekazywania i odbierania
informacji poprzez - port szeregowy, czyli wykorzystuje on szeregowa
transmisje - danych tzn. bit po bicie. Zawiera on konwerter
typu parallel-to - serial sluzacy do konwersji danych przesylanych z
komputera - i serial-to-parallel do konwersji danych
przychodzacych do - komputera poprzez port szeregowy. UART zawiera
takze bufor do - tymczasowego gromadzenia danych w przypadku
szybkiej - transmisji. Obok UART stworzony zostal równiez
- USART i rózni sie on tym, ze transmisja moze
odbywac sie w sposób - asynchroniczny jaki i synchroniczny. Port
szeregowy w - mikrokontrolerze 8051 moze pracowac
asynchronicznie i - synchronicznie.
3A co to znaczy asynchronicznie lub synchronicznie?
4Odbieranie i wysylanie danych przez port szeregowy
- Port szeregowy wysyla i odbiera dane w postaci
- bajtów (8-bitowych slów danych). Konwersja
- danej wyslanej lub odebranej przez procesor z
- postaci bajtu do postaci szeregowej lub
- odwrotnie, odbywa sie automatycznie.
- Dzieki temu wystarczy wskazac tylko dana która
- chcemy wyslac lub czekac na odbiór jej z
- zewnetrznego urzadzenia, takze wyposazonego w
- port szeregowy.
5Schemat dla UART
61-WIRE
- Interfejs elektroniczny jak równiez i protokolu
komunikacyjny pomiedzy - dwoma (lub wiecej) urzadzeniami. Jego nazwa
wywodzi sie stad, ze do - calkowitej komunikacji uzywana jest tylko jedna
linia danych (i jedna linia - masy). Dodatkowo, odbiornik moze byc zasilany
bezposrednio z linii danych, - Wykorzystujac zasilanie pasozytnicze, co jest
ogromna zaleta tego interfejsu. - Odbiornik wyposazony jest bowiem w kondensator o
pojemnosci 800 pF, - który jest ladowany bezposrednio z linii danych -
nastepnie energia w nim - zgromadzona uzywana jest do zasilania odbiornika.
Polaczenie 1-Wire zostalo - opracowane przez Dallas Semiconductor. Umozliwia
ono stosunkowo - niewielka przepustowosc transmisji danych -
standardowo 16 kbps, ze - wzgledu na pojedyncza linie komunikacyjna, przez
co jest tanszy. - Zazwyczaj uzywany jest do komunikacji pomiedzy
niewielkimi urzadzeniami, - takimi jak termometry cyfrowe, instrumenty
metrologiczne, sterowniki - ladowania akumulatorów itp..
7Zasada transmisji danych w 1-WIRE
1. Wysylanie informacji przez master
- Przeslanie logicznej jedynki na magistrale
- oznacza wystawienie przez mastera
- krótkiego (od 1 do 15µs) impulsu niskiego
- (zwarcie linii) oraz nastepnie wysokiego o
- dlugosci 60 µs.
- Logiczne zero odpowiada niskiemu
- impulsowi o dlugosci 60 µs. Opadajace
- zbocze impulsu aktywuje przerzutnik
- astabilny w urzadzeniu slave.
- Przerzutnik ten taktuje wewnetrzny
- mikroprocesor, co powoduje odczyt danych z
- linii po ok. 30 µs od momentu pojawienia
- sie zbocza rosnacego. Z uwagi na
- wewnetrzne opóznienia urzadzenia
- slave czas trwania pojedynczego
- impulsu musi wynosic wlasnie
- 60 µs (a impuls startujacy nie moze
- byc dluzszy niz 15 µs) - zapewnia to
- poprawny odczyt danych w kazdej
Uz5V
R
masters
slave
linia danych
Rozpoczecie nadawania
Impuls obecnosci o czasie 60µs po przez
zwarcie l.danych do masy
Reset o czasie 480µs po przez zwarcie l. danych
do masy, slave zeruje sie
8Zasada transmisji danych w 1-WIRE
2. Odbieranie informacji przez master
- Jesli slave chce wyslac
- logiczna jedynke nie
- robi nic, pozostawiajac
- linie w stanie wysokim.
- Jesli slave chce wyslac
- zero, wówczas zwiera
- linie danych do masy na
- 60 µs. Po przeslaniu 8
- bitów nastepuje
- wyslanie komendy
- (rozkazu) (równiez
- osmiobitowej).
Uz5V
R
masters
slave
linia danych
Rozpoczecie odbierania
Przed odbiorem kazdego bitu danych master wysyla
niski impuls startu (od 1 µs do 15 µs), po czym
wraca do stanu wysokiego na linii danych
9SPI(Serial Peripheral Interface)
- Interfejs ten jest przeznaczony do komunikacji
pomiedzy - mikrokontrolerami i urzadzeniami zewnetrznymi
- w malych systemach mikrokomputerowych.
Zaprojektowany - po raz pierwszy przez Motorole w latach 80.
- Przesylanie danych odbywa sie przy pomocy
szeregowej - transmisji
- Synchronicznej wykorzystujacej trzy linie
- - SCK (Serial ClocK) - zegar synchronizujacy
transmisje, - - MOSI (Master Out / Slave In) - dane od
jednostki nadrzednej do podporzadkowanej, - MISO (Master In / Slave Out) - dane od jednostki
podporzadkowanej do nadrzednej.
10Dzialanie SPI
- Dane wysylane sa z Master do Slave
- przez linie MOSI i Slave czyta je równiez
- przez MOSI. Slave wysyla dane przez
- linie MISO i podobnie jak w przypadku
- wczesniejszym Masters czyta je przez ta
- sama linie czyli tez MISO. W przypadku
- polaczenia wiekszej liczby urzadzen
- Slave wybór urzadzenia odbywa sie
- przez linie Chip Select.
- Urzadzeniami zewnetrznymi
- przylaczanymi przez intrfejs SPI sa
- najczesciej przetworniki analogowo-
- cyfrowe i cyfrowoanalogowe,
- Sterowniki wyswietlaczy alfanumerycznych,
- pamieci EEPROM, zegary czasu
- rzeczywistego, uklady wejsc i wyjsc
- bitowych.
Polaczenie Master z Slave
Mozliwosc polaczenia kilku Slave
11Polaczenie SPI z µC
12QSPI(Queued Serial Peripheral Interface)
- W tej wersji mozna wstepnie ustawic do 16 zadan i
zainicjowac ich wykonanie - (równiez w trybie cyklicznego powtarzania), co
uwalnia procesor od - koniecznosci sledzenia przebiegu transmisji
pojedynczych slów. Oprócz - wymienionych sygnalow QSPI zawiera cztery linie o
charakterze adresów, - które w jednostce nadrzednej (Master) moga byc
ustawiane niezaleznie dla - kazdego zadania w kolejce. Pozwala to na
cykliczna obsluge kilku jednostek - podporzadkowanych (do 15 w przypadku zastosowania
dekoderów - adresowych, lub do 4 w przypadku wybierania
liniowego). Jednostka - podporzadkowana jest wyposazona w wejscie
wybierajace (CS - Chip Select), - zazwyczaj aktywne w stanie niskim, choc nie jest
to regulowane standardem. - Trójstanowe wyjscie danych jednostki
podporzadkowanej (MISO) jest - wlaczane tylko przy atywnym stanie linii wyboru
(CS), co pozwala na - równoczesna prace wielu ukladów na magistrali
QSPI.
13I²C
- Inna nazwa TWI (Two Wire Interface), stosowane w
- mikrosterownikach firmy Atmel wiaze sie z tym,
firma Philips - opatentowala swoje polaczenie z nazwa i w zwiazku
z tym - Atmel stworzyl inna nazwe.
- Na szyne I2C skladaja sie tylko dwie linie linia
danych - (oznaczana jako SDA, ang. serial data) i linia
zegara - taktujacego transmisje (oznaczana jako SCL, ang.
serial - clock). Tymi dwiema liniami przesylane sa
wszystkie - informacje dane, adresy i sygnaly sterujace.
Obie linie - sa liniami dwukierunkowymi i przez rezystor
podciagajacy - podlaczone sa do dodatniego napiecia
zasilajacego. Gdy na - szynie nie odbywa sie zadna transmisja to na obu
liniach jest - poziom wysoki. Obwody wyjsciowe podlaczonych
ukladów - musza byc typu otwarty-dren lub otwarty-kolektor,
ze - wzgledu na koniecznosc realizacji funkcji
galwaniczne-AND. - Dane na szynie I2C moga byc przesylane z
predkoscia do - 100kb/s w trybie standardowym (ang.
Standard-mode) lub do - 400kb/s w trybie szybkim (ang. Fast-mode). Liczba
ukladów - podlaczonych do szyny jest zalezna od maksymalnej
R
Uz
SDA
Master
Slave
SCL
14Transmisja w I²C
- Kazdy uklad podlaczony do szyny I2C rozpoznawany
jest przez - swój adres i moze pracowac zarówno, jako
nadajnik, jak i - odbiornik. Oczywiscie sterownik wyswietlacza LCD
jest tylko - odbiornikiem, ale np. pamiec moze byc jednym i
drugim. - Transmisja na szynie I2C jest transmisja
start-stopowa, tzn. - kazdy transfer rozpoczyna sie od bitu START, po
którym - przesylane sa informacje i konczy sie
- bitem STOP.
-
15START i STOP w I²C
- Gdy na linii SDA stan logiczny zmienia sie z '1'
na '0', - podczas gdy na linii SCL jest stan '1', to
sytuacja taka - nazywa sie START. Natomiast, gdy na linii SDA
stan - logiczny zmienia sie z '0' na '1', podczas
wysokiego - poziomu na linii SCL, to sytuacja taka nazywa sie
STOP.
16Zastosowania I²C
- I²C stosuje sie w przypadkach, gdy prostota i
niski koszt sa wazniejsze od - wysokich predkosci transmisji. Znalazlo ono
zastosowanie m.in. w - Odczytywaniu zegarów czasu rzeczywistego (RTC) w
komputerach i urzadzeniach wbudowanych - Komunikacji z prostymi i wolnymi przetwornikami
cyfrowo-analogowymi i analogowo-cyfrowymi - Odczycie czujników diagnostycznych w komputerze
(predkosc obrotu wentylatorów, temperatury
procesora i wazniejszych ukladów na plycie
glównej) - Komunikacja z czujnikami i elementami
wykonawczymi w malych systemach wbudowanych - Dostepie do pamieci NVRAM komputera
- Sterowanie diodami LED w urzadzeniach przenosnych
(np. komórkach) - Komunikacji pomiedzy ukladami w telewizorach i
innym sprzecie RTV (jest to pierwotne miejsce
zastosowania magistrali I²C)
17Polaczenie dla I²C
18RS-232
- RS-232 jest magistrala komunikacyjna
- przeznaczona do szeregowej transmisji danych.
- Najbardziej popularna wersja tego standardu,
- RS-232C (przedstawiony na obrazku obok)
- pozwala na transfer na odleglosc nie
- przekraczajaca 15m z szybkoscia maksymalna
- 20 kbit/s. Standard ten nie jest
- zasilany przez interfejs.
- Zastosowanie
- modemy, telefony komórkowe, laczenie dwóch
komputerów kablem nullmodem, starsze drukarki,
tunery satelitarne, sprzet specjalistyczny,
programowanie ukladów logicznych.
RS-232C
Widok gniazda PC (meskiego) typu DB-9 od strony
wtyczki
19Polaczenie przez RS-232
20Sposób polaczenia RS-232 do µC
Sposób podlaczenia RS-232 do µC
21Sposób podlaczenia RS-232 do µC