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ę