Interfejsy szeregowe TEO 2009/2010
Plan wykładów Wykład 1: - Wstęp. Interfejsy szeregowe SCI, SPI Wykład 2: - Interfejs I 2 C, OneWire, I 2 S, 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.
Typy interfejsów: - Sprzętowe - Programowe - Szeregowe - Równoległe: - 4-bitowe - 8-bitowe - 16-bitowe - 32-bitowe - inne Interfejsy po co?
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 = 1 c + 2 ε c r Stripline = ε c r
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 80- pinowego 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ę