Wykład 3 · 2013-11-06 · –J1939/13 Off-boarddiagnosticconnector –J1939/15...

Post on 05-Jul-2020

8 views 1 download

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ę