Wykład 3 · 2013-11-06 · –J1939/13 Off-boarddiagnosticconnector –J1939/15...
Transcript of Wykład 3 · 2013-11-06 · –J1939/13 Off-boarddiagnosticconnector –J1939/15...
Interfejsy CAN, LIN, USB
Wykład 3
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,O
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.
Interfejs USB
CANopen – stany węzła Slave
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 podczaskomunikacji
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 I2C 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
Dziękuję za uwagę
FT232R – Schemat blokowy
Dziękuję za uwagę
FT232R – Zasilanie z portu
Dziękuję za uwagę
FT232R – Zasilanie autonomiczne
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 peripheralfunctionality can be made dynamically
– OTG devices must have Host NegotiationProtocol (HNP) and Session Request Protocol(SRP) implemented
USB On the Go• Requirements:
– A limited Host capability
– Full-speed operation as a peripheral (high-speed
optional)
– Full-speed support as a host (low-speed and high-
speed 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ę