Interfejsy szeregowe

Transkrypt

Interfejsy szeregowe
Interfejsy szeregowe
TEO – 2009/2010
Plan wykładów
Wykład 1:
- Wstęp. Interfejsy szeregowe SCI, SPI
Wykład 2:
- Interfejs I2C, OneWire, I2S, CAN
Wykład 3:
- Interfejs USB
Wykład 4:
- Interfejs FireWire, Ethernet 1/2
Wykład 5:
- Interfejs Ethernet 2/2
Wykład 6:
- Interfejsy bezprzewodowe ZigBee i Bluetooth
Wykład 7:
- Zaliczenie
Wykład 1
Wprowadzenie
Interfejsy szeregowe vs interfejsy równoległe
Interfejsy SCI,SPI
Interfejsy – po co?
Interface:
a. equipment or programs designed to
communicate information from one system
of computing devices or programs to
another.
b. any arrangement for such
communication.
Interfejsy – po co?
Typy interfejsów:
- Sprzętowe
- Programowe
- Szeregowe
- Równoległe:
-
4-bitowe
8-bitowe
16-bitowe
32-bitowe
inne
Interfejsy szeregowe vs równoległe
Cechy interfejsów szeregowych:
- prostota:
- od średniej (RS232C)
- do bardzo dużej (OneWire)
- wydajność:
- b. mała do małej (RS232, I2C)
- średnia (ZigBee, SPI)
- duża do b. dużej (USB, Ethernet)
- trudność implementacji:
- mała (OneWire, SCI)
- średnia (USB, Ethernet)
- duża (Bluetooth)
Interfejsy szeregowe vs równoległe
Cechy interfejsów równoległych:
- prostota:
- średnia
- wydajność:
- duża (teoretycznie największa),
- tym większa im szersza magistrala
- limitowana przez błędy propagacji i przesłuchy
- trudność implementacji:
- mała przy niskich prędkościach
- średnia przy wysokich
- trudności z uzyskaniem dużego zasięgu
- problemy z odbiciami
Błędy propagacji
Czas propagacji sygnału na płytce PCB:
Microstrip
Stripline =
1
+
= c
εr
c
εr
c
2
Błędy propagacji
Przykład:
Dla laminatu FR4 przenikalność względna εr=4 przy
technologii wykonania Microstrip (lub podobnej):
τp = 1.5/c = 5 ns/m = 0.5 ns/10 cm
Dla laminatu FR4 przenikalność względna εr=4 przy
technologii wykonania Stripline (lub podobnej):
τp = 2/c = 6,7 ns/m = 0.67 ns/10 cm
Okres sygnału o częstotliwości 1 GHz to 1ns.
Interfejsy równoległe
Interfejsy równoległe
Zastosowanie:
- szeroko wykorzystywane do wzajemnych połączeń na
płytach PCB (krótki zasięg) procesorów, pamięci,
wyświetlaczy,układów programowalnych itp., itd.
- wykorzystywane do połączeń między układami
mikroprocesorowymi (średni zasięg), np. Parallel ATA
- bardzo rzadko wykorzystywane do połączeń między
systemami mikroprocesorowymi (duży zasięg), np. LPT
Parallel ATA
Standard używany od prawie 20 lat do połączeń między
płytami głównymi, a dyskami twardymi czy też napędami
optycznymi.
Początkowo używano przewodu 40-pinowego, później 80pinowego z dodatkowymi pinami masy (zmniejszenie
przesłuchów).
Powstało wiele standardów (np. PCMCIA, S.M.A.R.T.)
Parallel ATA
Parallel ATA
Zalety PATA:
- długi czas rozwoju – sprawdzona technologia
Wady PATA:
- wydajność poniżej 100MBps
- niewygodny kabel połączeniowy
- problemy Master/Slave
- wykorzystanie napięć 5V – obecnie zdecydowanie
niepożądanych
- CRC tylko danych, nie poleceń
Interfejs SCI
RS232C
Przez długi czas najpopularniejszy interfejs szeregowy
używany w komunikacji zarówno między procesorowej,
jak i między systemowej.
Opracowany w 1962 roku. Wersja RS-232C pozwala na
osiągnięcie 20 kbit/s na długości 15m.
Wymaga wielu dodatkowych linii kontroli transmisji danych
oraz ujemnych napięć.
Na krótszych dystansach można osiągać prędkości do
kilkuset kb/s. Transmisja asynchroniczna – wymagane
uzgodnienie prędkości transmisji.
RS232C
SCI – serial communication interface
Uproszczona wersja RS232C:
– wystarczające są tylko dwa piny transmisji danych
RxD, TxD oraz masa GND
- nie jest wymagana używanie ujemnych napięć
- można użyć standardowych układów konwersji
poziomów do standardu RS232C (np. MAX232)
- prędkości osiągalne – do kilku Mb/s (w ramach
jednej płyty PCB, w wykorzystaniem warstwy RS422/485)
MAX232
MAX232
• Układ bardzo popularny,
• Układ wytwarzany przez wielu producentów,
• Układ wytwarzany w bardzo wielu wersjach, np.:
–
–
–
–
Dla napięć LVTTL33: MAX3232
Z zabezpieczeniem ESD: MAX3230E
Dla obsługi pełnego portu RS232C: MAX3237E
O dużej prędkości działania: MAX13235E
• Układ dostępny w wielu wersjach obudów od µMax i
SOT-6 do PLCC44, czy DIP16
SCI
USART (ATMega)
SCI – ustawienia prędkości
SCI TMS320f2810 1/2
SCI TMS320f2810 2/2
SCI TMS320f2810
Cechy:
- prędkość programowalna na 64k poziomów
- edytowalna długość słowa:
- od 1 do 8 bitów danych
- parzystość, nieparzystość lub brak bitu
- jeden lub dwa bity danych
- buforowanie nadawanie i odczyt
- obsługa przez przerwania lub sprawdzanie bitu
- 16-to poziomowe FIFO odczytu i nadawania
- automatyczna detekcja prędkości transmisji
- możliwość komunikacji międzyprocesorowej
SCI Multiprocessor Communication
Cechy:
- komunikacja międzyprocesorowa umożliwia efektywną
wymianę danych między procesorami podłączonymi do
linii szeregowej,
- możliwe do osiągnięcia prędkości sięgają kilkunastu
Mb/s
- pierwszy bajt jest adresem;
- procesory o właściwym adresie odbierają następujące
bajty danych
- pozostałe procesory przechodzą w stan
uśpienia/oczekiwania
SCI Multiprocessor Communication
Interfejs SPI
SPI – serial peripheral interface
Cechy:
– wydajny interfejs szeregowy do połączeń z
układami peryferyjnymi,
- architektura typu master-slave
- połączenie z wykorzystaniem co najmniej czterech
linii (MISO, MOSI, SCK, GND)
- zazwyczaj nie jest wymagana konwersja poziomów
sygnałów
- transmisja synchroniczna względem linii zegara
SCK
- prędkości osiągalne – do kilkudzisięciu Mb/s
SPI - podłączenie
•
•
•
•
MISO – master input slave output
MOSI – master output slave input
SCLK – serial clock
SS – slave select
SPI – przebieg komunikacji
• Zarówno w obiekcie Master, jak i Slave występują rejestry
przesuwne (zazwyczaj 8-bit) typu SIPO (serial-in, parallelout) i PISO (parallel-in, serial-out)
• W takt zegara następuje wymiana danych
• Po 8 (16) cyklach zegara wymiana danych jest
zakończona
SPI – konfiguracja
Konfiguracji wymaga:
• Częstotliwość zegara (tylko master)
• Polaryzacja zegara
• Faza zegara
– CPOL=0 – wartością bazową zegara jest 0
• CPHA=0 – dane czytane na narastającym zboczu
• CPHA=1 – dane czytane na opadającym zboczu
– CPOL=1 – wartością bazową zegara jest 1
• CPHA=0 – dane czytane na opadającym zboczu
• CPHA=1 – dane czytane na narastającym zboczu
SPI – konfiguracja
SPI – podłączenia wielu urządzeń
• Typowa magistrala
• Daisy chain
(łańcuch)
SPI – AVR
SPI – DSP 1/2
SPI – DSP 2/2
SPI – Pamięć EEPROM M95256 1/2
SPI – Pamięć EEPROM M95256 2/2
SPI – ADC MAX1402 1/3
SPI – ADC MAX1402 2/3
SPI – ADC MAX1402 3/3
Dziękuję za uwagę