Wykład 3 Interfejsy CAN, LIN, USB
Interfejs CAN
CAN Controller Area Network
CAN Controller Area Network
CAN - podstawy Cechy: - różnicowy protokół komunikacji zdefiniowany w ISO11898 - bardzo niezawodny - dostępna wersja o dużej prędkości (CAN2.0B-1Mb/s) - dostępne również wersja o małej prędkości (125kb/s) ale dużej odporności na szumy
CAN Protokół zdefiniowany pod koniec lat 80-tych przez firmę Bosch Transmisja odbywa się na pojedynczej, terminowanej, parze skręconej Możliwa jest obecność wielu urządzeń typu Master Zasięg od 40m przy 1Mb/s do 10km przy 5kb/s Maksymalne opóźnienie ramki o wysokim priorytecie <120µs przy 1Mb/s Węzły sieci nie mają numerów mają je jedynie komunikaty! Możliwość podłączenia nieskończonej ilości węzłów
CAN warstwa fizyczna CAN może być zaimplementowane na wielu różnych mediach z jednym warunkiem każdy węzeł musi słyszeć co transmituje Zazwyczaj medium jest skrętka o poziomie napięć 5V co pozwala na dużą odporność na szumy i pracę przy rozwartej szynie
CAN warstwa fizyczna Każdy węzeł musi mieć nadany numer od 1 do 127 Maksymalny rozmiar sieci zależy od prędkości, np. około 250 m dla 256 kb/s
CAN arbitraż szyny Każda ramka zaczyna się od Arbitration ID, które służy do arbitrażu dostępu do magistrali Gdy dwa urządzenia próbują nadawać jednocześnie, słowa Arbitration ID pozwalają na bezkrwawe rozwiązanie konfliktu bez zatrzymywania transmisji na szynie (CSMA/CA)
CAN - ramki Ramka danych są dwa rodzaje: standardowa i rozszerzona Ramka zdalna żądanie nadania ramki o takim samym identyfikatorze Ramka błędu wysyłana po wykryciu błędu transmisji
CAN ramka danych
CAN ramka danych Opis bitów: SRR oznacza ramkę rozszerzoną RTR oznacza ramkę danych lub ramkę zdalną R0, R1 zarezerwowane DLC długość pola danych Pole danych długość od 0 do 64 bitów ACK pole potwierdzenia odbioru
CAN modyfikacje standardu
CAN transceiver PCA82C251
CAN transceiver PCA82C251
CAN warstwy ISO/OSI Są różne rodzaje warstw aplikacji: CANopen, DeviceNet, SDS, J1939, NMEA 2000, EnergyBus, MilCAN,
CAN transceiver PCA82C251 Linia Rs określa maksymalną prędkość działania transceivera
CAN - TMS320f2810
SAE J1939
CAN SAE J1939 Protokół zdefiniowany do komunikacji wewnątrz ciężarówek Bit rate: 250kb/s Bus length: 40m Max nodes in network: 30 Używa 29-bit CAN-ID
CAN SAE J1939
CAN SAE J1939 Warstwy zdefiniowane w standardzie: J1939/11 Physical layer (250 kbit/s, twisted shielded pair) J1939/13 Off-board diagnostic connector J1939/15 Reduced physical layer (250 kbit/s, unshielded twisted pair) J1939/21 Data link layer J1939/31 Network layer J1939/71 Vehicle application layer J1939/73 Application layer diagnostics J1939/74 (Draft) Application - Configurable messaging J1939/75 Application layer - Generator sets and industrial J1939/81 Network management
CAN SAE J1939/11 Standard definiuje pojedynczą, liniową, ekranowaną skrętkę łączącą wszystkie urządzenia Wymagane trzy przewody: CAN_HI, CAN_LO, ekran Sieć może składać się z wielu segmentów połączonych mostami
CAN SAE J1939/21 Najważniejszy dokument specyfikacji Opisuje najczęściej używane wiadomości: Request Acknowledgement Transport Protocol: Specifies breaking up larger amount of data into smaller frames
CAN SAE J1939/31 Definiuje repeatery, routery, przełączniki oraz mosty Definiuje sposób w jaki przekazywane są wiadomości CAN z jednej podsieci do drugiej Definiowany jest również sposób filtracji przekazywanych wiadomości
CANopen
CANopen CANopen standardizes the way the communicated data is structured and exchanged. CANopen standards work with Device Profiles Several Device Profiles for CANopen are standardized and new ones get constantly added. Device Profiles specify the data sets and communication models supported by modules such as Generic I/O, Encoders, Drives, etc.
CANopen stany węzła Slave Interfejs USB
CANopen Katalog obiektów Każdy z węzłów posiada katalog obiektów, który może zostać odczytany przez inne węzły podczas komunikacji
CANopen Profile urządzeń Zastosowanie katalogu obiektów pozwala ustrukturyzować przesyłane dane O tym, który z wpisów w katalogu zawiera jakie dane decydują profile urządzeń Niektóre z profili urządzeń są zdefiniowane Można definiować własne profile urządzeń
Interfejs LIN
LIN - cechy LIN Local Interconnect Network Uzupełnienie interfejsu CAN dla prostych aplikacji typu odczyt czujników Umożliwia komunikację dwukierunkową po jednym przewodzie LIN jest prostym protokołem przeznaczonym dla mikrokontrolerów z interfejsem UART lub USI LIN jest połączeniem protokołów I 2 C oraz RS232
LIN - cechy Prędkość do 20kb/s Pojedynczy przewód Jeden Master/ do 16 Slave-ów Autosynchronizacja bez wymogów na rezonatory kwarcowe/ ceramiczne w Slave-ach Gwarantowany czas opóźnienia transmisji
LIN typowe zastosowania
LIN koszty
LIN vs CAN
LIN vs CAN
LIN Bus configuration
LIN transmisja Master: posiada kontrolę nad całą szyną decyduje jaka wiadomość i kiedy może być transmitowana poprzez sieć obsługuje błędy służy jako zegar referencyjny Slave: nadaje odbiera dane TYLKO wtedy, gdy otrzyma ramkę z właściwym ID oczekuje na właściwe ID podczas transmisji slave nadaje: 1, 2, 4 lub 8 bajtów
LIN transmisja
LIN transmisja
LIN ramka Pole synchronizacyjne: specjalny wzór dla określenia częstotliwości transmisji pole synchronizacyjne poprzedza każdą ramkę Pole ID: zawiera informacje: o nadawcy o odbiorcy (odbiorcach) o celu ramki o długości pola danych długość 6 bitów chronione przez aż 2 bity parzystości
LIN ramka
LIN transmisja Slave->Master
LIN transmisja Master->Slave(s)
LIN transmisja Slave -> Slave(s)
LIN interfejs fizyczny
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
Interfejs USB
USB- standardy USB 1.1: Oryginalny standard Do 6 hostów (tier) i do 127 urządzeń Architektura Master/Slave Data rate: 1.5 Mb/s w trybie LowSpeed 12 Mb/s w trybie Full Speed Każde z urządzeń może czerpać do 500 ma
USB- standardy USB 2.0: Zastępuje standard w wersji 1.1 Główną różnicą jest dodanie nowego trybu: HighSpeed z prędkością 480MB/s USB 3.0: Główną różnicą jest dodanie nowego trybu: SuperSpeed z prędkością 4.8 GB/s
Dziękuję za uwagę
FT232R Główne cechy: Pojedynczy układ obsługujący zarówno warstwę sprzętową, jak i programową Dostępne i darmowe sterowniki na komputery PC Zintegrowany EEPROM 1024B do zapamiętywania ustawień Zintegrowany generator sygnału zegarowego Prędkości przesyłu od 300B/s do 3Mb/s (RS422, RS485, RS232) Kompatybilność z trybem USB2.0 FullSpeed Zasilanie 3.3 5.25 V
FT232R Schemat blokowy Dziękuję za uwagę
FT232R Zasilanie z portu Dziękuję za uwagę
FT232R Zasilanie autonomiczne Dziękuję za uwagę
USB 3.0
USB On the Go Features: USB OTG is a supplement to USB 2.0 or USB 3.0 specification It auguments the capability of USB peripherals by adding host functionality The switch between host and peripheral functionality can be made dynamically OTG devices must have Host Negotiation Protocol (HNP) and Session Request Protocol (SRP) implemented
Requirements: USB On the Go A limited Host capability Full-speed operation as a peripheral (high-speed optional) Full-speed support as a host (low-speed and highspeed optional) Session Request Protocol Host Negotiation Protocol One, and only one connection: a Micro-AB receptacle Bus current of minimum 8mA
Host Negotiation Protocol
Host Negotiation Protocol Initial conditions are the A-Device operating as host (a_host state) and the B-Device operating as a peripheral (b_peripheral state) The A-Device has its pull-down resistors turned on The B-Device has its pull-up turned on The A-Device performs all the normal host duties
Host Negotiation Protocol The application running on the A-Device starts the HNP ball rolling by negating an internal signal called a_bus_req, indicating that it does not need to use the bus The A-Device suspends the bus (a_suspend state) stops all bus traffic for at least 3ms The A-Device is still operating as the host, so its pull-down resistors remain on
Host Negotiation Protocol Then the B-device transitions to the b_wait_acon state, meaning the B- Device waits for the ADevice to connect In this state the B-Device disconnects by turning its pullup resistor off and turning its pull-down resistors on
Host Negotiation Protocol After disconnecting, the B-Device waits in the b_wait_acon state for the A-Device to connect as a peripheral The ADevice, which is in the a_suspend state, detects the dual PD state, and transitions to the a_peripheral state
Host Negotiation Protocol The ADevice connects as a peripheral in the normal USB way, by powering its D+ pullup resistor This causes the B-Device to transition to the b_host state, and the role reversal is complete
OTG Device architecture
Dziękuję za uwagę