background image

 

 

INTERFEJSY SZEREGOWE

RS-232  –  prosty,  do  wiekowy,  standardowy 
interfejs  szeregowy,  służący  do  komunikacji 
pomiędzy 

urządzeniem 

nadrzędnym, 

peryferyjnym.

I2C  –  interfejs  będący  poprzednikiem  innych 
współczesnych  interfejsów  szeregowych  w  tym 
CAN.  Pozwala  na  szybka  komunikację  (do 
100kB/s).

SPI – interfejs o możliwościach i właściwościach 
podobnych  do  I2C,  o  większej  szybkości 
transmisji  danych  sięgającej  kilka  MB/s. 
Stworzony  przez  Motorolę,  obecnie  jest  dość 
często 

wykorzystywany 

przez 

innych 

producentów.  Interfejs  ten  zosta  standardowo 
wbudowany w wiele mikrokontrolerów.

background image

 

 

INTERFEJSY SZEREGOWE

D

2

BUS – Interfejs Digital Data Bus opracowany przez 

firmę  Philips,  stworzony  z  myślą  o  łączeniu 
niewielkiej  liczby  urządzeń  na  małym  obszarze, 
umożliwiający  transmisję  danych  z  szybkością 
100kbit/s  pomiędzy  urządzeniami  oddalonymi  od 
siebie o 150m. Pozwala zaadresować 4096 jednostek. 
Jako medium transmisyjne najczęściej używa się pary 
skręconych przewodów, lub kabla koncentrycznego.

background image

 

 

INTERFEJSY SZEREGOWE

Do  głównych  cech  magistrali  D

2

BUS,  które  zresztą 

upodobniają ten interfejs do CAN należą:

•Możliwość  przejścia  i  utrzymania  kontroli  przez 
którekolwiek  
  z urządzeń wyposażonych w taką możliwość,

•Odłączenie 

urządzenia, 

lub 

podłączenie 

do 

magistrali nowego, nie
    wpływa  na  komunikację  pomiędzy  pozostałymi 
urządzeniami 
  w sieci,

•Zakłócenia  na  magistrali  nie  powodują  błędów  w 
transmisji,

•Transmisja 

przez 

D

2

odbywa 

się 

przy 

wykorzystaniu urządzeń
  typu master i slave oraz procedury arbitrażu.

background image

 

 

INTERFEJSY SZEREGOWE

background image

 

 

INTERFEJSY SZEREGOWE

background image

 

 

INTERFEJSY SZEREGOWE

background image

 

 

INTERFEJSY SZEREGOWE

I

I

2

2

C bus

C bus

Inter

Inter

 

 

Integrated Circuits bus

Integrated Circuits bus

by Philips Semiconductors

by Philips Semiconductors

background image

 

 

Wires and Signals

• magistrala dwuprzewodowa

– serial data line (SDA) 
– serial clock line (SCL)

• Poziomy napięć

– Wysoki (HIGH) 

1

– Niski     (LOW) 0
transfer bitów
– SCL = 1  SDA = poprawna dana
– Jeden impuls zegara na bit danych
– Bit danej stabilny podczas stanu linii zegara SCL =1
– Zmiana bitu danej dla SCL = 0

INTERFEJSY SZEREGOWE

background image

 

 

Wired-AND connection

Magistrala wolna  SDA i SCL są w stanie 1

– (poziom ustalany przez rezystor pull-up lub źródło nadajnika)

Wy/We są zrównoleglone 

INTERFEJSY SZEREGOWE

background image

 

 

Frame

• Bit startu (S)

– SDA 10  dla  SCL = 1

• Bit stopu (P)

– SDA 01 dla SCL = 1

• powtórzenie startu (Sr)

– start jest generowany zamiast stopu

• Stany magistrali

– busy     … po  S i przed następnym P
– Wolna  … po  P i przed następnym S

INTERFEJSY SZEREGOWE

background image

 

 

Masters and Slaves

• Urządzenie typu Master

– Kontroluje linię  SCL
– Generuje bity startu i stopu
– Kontroluje (generuje) adresy innych urządzeń

• Urządzenie typu Slave

– Urządzenie adresowane (podległe)  master

• Nadajnik/ Odbiornik (Transmitter/Receiver)

– master lub slave
– master-nadaje (wysyła) daną do slave-odbiornika 
– master-odbiera żądaną daną z urządzenia slave-

nadajnika

INTERFEJSY SZEREGOWE

background image

 

 

Data Transfer

• Bity danych wysyłane są po bicie startu (S lu Sr)
• Transmitowany jest pojedynczy bajt
• Bajt  = 8 bits  + jeden  acknowledge bit (ACK)
• Bit MSB (most significant bit) nadawany jako 

pierwszy

• slave adres jest traktowany jako dana

– Transmitowany jest pierwszy bajt
– W trakcie transferu: 

• master jest nadajnikiem
• Adresowany slave jest odbiornikiem

– Następny bajt: wysyłany jest po ostatnim bicie w 

bajcie adresowym

INTERFEJSY SZEREGOWE

background image

 

 

Data Transfer - SCL

• master ustawia SCL = 0 i generuje impulsy dla innych bitów 

danych

• 8 impulsów dla bitów danych są zakończone przez impuls dla bitu 

ack. 

• po ack. 

– master przygotowuje się do  generowania impulsów pod następny bajt

– slave jest w stanie HOLD  SCL low  master przechodzi do stanu 

oczekiwania

INTERFEJSY SZEREGOWE

background image

 

 

Data Transfer - SDA

• bity danych są wysyłane przez nadajnik w takt  impulsów SCL 

• 9 impuls:

– Nadajnik zwalnia  SDA

– Odbiornik musi być w stanie  hold,  SDA jest w stanie niskim, po  

ack. Odbiera daną

– slave musi zwolnić  SDA po  bicie ack. (master może zakończyć 

ramkę)

INTERFEJSY SZEREGOWE

background image

 

 

Multiple Masters

• Do magistrali może być dołączonych wiele 

kontrolerów (urządzeń master)

• Kilka urządzeń masters może wystawiś start 

swojej ramki

• synchronizacja poprzez SCL

• arbitraż poprzez SDA

• Połączenia typu wired-AND do linii  SCL/SDA

INTERFEJSY SZEREGOWE

background image

 

 

Synchronization on SCL

• frame started  SCL = 1
• first 10 transition

(*)

– involved masters restart their clocks 
– master holds 0 until its low-period is over

• master finished its low-period

– releases SCL
– SCL = 0  switches to wait state, waits for SCL = 1
– SCL = 1 or waiting finished  starts counting high-period

• first master finished its high-period

– sets SCL = 0
– equivalent to (*) state

INTERFEJSY SZEREGOWE

background image

 

 

Synchronized Clocks

• low-period

– determined by max{low-periods of involved 

masters}

• high-period

– determined by min{high-periods of 

involved masters}

INTERFEJSY SZEREGOWE

background image

 

 

Arbitration on SDA

• frame started, SCL synchronized  high periods = valid data
• each master generates its data
• master aborts if there is another level on SDA than it generates

 it loses arbitration, releases SDA and tries again when bus is free

INTERFEJSY SZEREGOWE

background image

 

 

Notes on Arbitration

• can continue for many bits
• adresses are compared at first stage
• if the same slave is addressed in the same mode (R/W): 

– masters are transmitters  data-bits are compared
– masters are receivers  acknowledge-bits are compared

• if arbitration is not over before stop or repeated start:

– comparation not allowed: stop-data, repeated start-data, 

stop-repeated start

– involved masters must generate stops/repeated starts in the 

same positions

• loser can generate SCL pulses for synchronization until 

the byte is over

• losing master which can be also a slave 

– must switch immediately to slave mode

INTERFEJSY SZEREGOWE

background image

 

 

Addressing by 7 bits

• the first byte transmitted by master:

– 7 bits:

address

– 1 bit:

direction (R/W)

0 … master writes data (W), becomes transmitter
1 … master reads data (R), becomes receiver

• data transfer terminated by stop condition
• master may generate repeated start and address another device
• each device listens to address

– address matches its own  device switches state according to R/W 

bit

• address = fixed part + programmable part

– fixed part assigned by I

2

C committee

background image

 

 

Frame Formats

master-transmitter

master-receiver (since second byte)

INTERFEJSY SZEREGOWE

background image

 

 

Special Addresses

• general call 

0000 000 | 0

• start byte 

0000 000 

| 1

• CBUS address

0000 001 | * 

– used for cooperation of I

2

C and CBUS

• High-speed mode master code 

0000 1** | 

*

• 10-bit slave addressing

1111 0** | 

*

INTERFEJSY SZEREGOWE

background image

 

 

• device connection to bus:

– fast 

• on-chip hardware I

2

C bus interface

• device interrupted by requests from bus

– slow

• no hardware interface
• software bus monitoring (polling)

• longer start procedure needed

• start condition, first byte = 0000 0001, ack., repeated start 

condition

• fast device ignores, slow device can use lower sampling rate to 

detect frame start

INTERFEJSY SZEREGOWE

background image

 

 

• standard mode 

– speed limit: 100 kbps, address space limit: 112 addresses

• improvements

– fast mode (up to 400 kbps)
– high-speed mode (up to 3.4 Mbps)
– 10-bit addressing – can be mixed with 7-bit one (special 

address)

• Fast mode

– unchanged: frame format, logic levels, max. capacitance
– faster devices must be able to synchronize at 400 kbps
– downward-compatible, can communicate with standard mode 

devices

– not compatible with CBUS
– changed timing

INTERFEJSY SZEREGOWE

background image

 

 

• downward compatible with Standard mode and Fast mode
• same frame format 
• neither synchronization nor arbitration performed during data 

transfer

– arbitration always finishes before data bits transfer
– master code arbitrates (special 7-bit address: 0000 1***) 

• unique  max. 8 masters
• software programmable

– master code signals HS mode data transfer

• HS devices connection to bus differs
• wires: SDAH, SCLH

INTERFEJSY SZEREGOWE

background image

 

 

HS-device Connection

INTERFEJSY SZEREGOWE

background image

 

 

INTERFEJSY SZEREGOWE

Charakterystyka 

magistrali USB

Dwa standardy USB.

Dwa standardy USB.

USB 1.1 - jego transfer wynosi, w 

USB 1.1 - jego transfer wynosi, w 

zależności od typu urządzenia 1.5 lub 

zależności od typu urządzenia 1.5 lub 

12 Mbit/s.

12 Mbit/s.

USB 2.0 - osiąga transfer do 480 

USB 2.0 - osiąga transfer do 480 

Mbit/s.

Mbit/s.

background image

 

 

INTERFEJSY SZEREGOWE

Topologia magistrali 
USB 

Magistrala USB 
tworzy strukturę 
warstwową, jednak 
zachowuje logiczną 
strukturę gwiazdy, a 
komunikacja 
przebiega tak, jakby 
urządzenia były 
podłączone 
bezpośrednio do 
hosta. Gdy hub jest 
odłączony, wszystkie 
urządzenia 
podłączone do huba 
zostają usunięte z 
logicznej topologii 
hosta. 

background image

 

 

INTERFEJSY SZEREGOWE

Przepływ danych podczas komunikacji USB 

background image

 

 

INTERFEJSY SZEREGOWE

Przepływ danych w systemie USB 

Punkty końcowe posiadają 
cechy, które determinują typu 
transferów pomiędzy nimi a 
oprogramowaniem klienckim. 

Endpointy opisywane są przez:

-zalecenia częstotliwości 
taktowania 
  magistrali, 
- numer endpointu, 
- rozmiar pakietów, 

-zachowanie w wypadku błędów 

  transmisji, 
- typ transferu, 
- kierunek przepływu danych. 

background image

 

 

INTERFEJSY SZEREGOWE

SOF

SOF

SOF

SOF

Dane 

Audio

Dane 

Audio

Ostatnie 

dane 

Audio

VOUTR

VOUTL

D+
D-

1ms

Odłączenie

Dane kontrolne

SOF

VBUS (PIN 
3)

Włączenie

20ms

Dźwięk 

Dane sterujące

Dane sterujące

Warstwa fizyczna 

Sekwencje Start,Stop, Zakończ

background image

 

 

1. Sygnał zerowania SE0 (single ended zero) - napięcie pary 

przewodów sygnałowych D+ i D- wprowadzone w stan 0 

logicznego na 2,5 mikrosekundy.

2. Zawieszenie działania urządzenia ma miejsce w razie 

wykrycia stanu spoczynkowego linii sygnałowych przez co 

najmniej 3 ms. Zawieszenie trwa nie dłużej niż 10 ms.

3. Wznowienie działalności urządzenia następuje w razie 

wykrycia stanu logicznego K linii sygnałowych, czyli 0 dla 

trybu FS lub 1 dla LS. Wznowienie działania wymusza 

kontroler USB przez ustawienie stanu logicznego K szyny 

przez co najmniej 20 ms.

4. Znacznik końca pakietu EOP (End of Packet) składa się z 

2-bitowego sygnału zerowania SE0 oraz 1-bitowego 

sygnału o stanie logicznym J, tzn. 1 dla FS lub 0 dla LS.

INTERFEJSY SZEREGOWE

Rodzaje sygnałów sterowania w magistrali USB :

background image

 

 

INTERFEJSY SZEREGOWE

Format pakietu danych

 

Zasada kodowania binarnego sygnału 
cyfrowego do postaci kodu NRZI 

background image

 

 

• SYNC(8b) - sygnał synchronizacji pakietów USB (8 bitów); 

• PID(8b) - identyfikator rodzaju pakietu; 

• ADRESS(7b) - adres urządzenia peryferyjnego dołączonego do magistrali 

USB; 

• ENDP(4b) - adres bufora (rejestru) cyfrowego w wybranym urządzeniu 

USB odpowiedzialnego za wymianę danych z komputerem w magistrali 

USB; 

• FRAME(11b) - kolejny numer ramki; 

• DATA(1024b) - dane cyfrowe przesyłane w magistrali USB; 

• EOP(3b) - znacznik końca pakietu; 

• CRC(5b) (cykliczny kod nadmiarowy) - służy do detekcji błędów w 

transmisji danych. Po każdym pakiecie informacji cyfrowej przesyłany 

jest przykładowo 5-bitowy kod CRC obliczony na podstawie wartości 

bitowej tego pakietu. Jeżeli odbiorca otrzyma pakiet informacji cyfrowej 

z błędem, to obliczony na jego podstawie kod CRC będzie różny od 

nadanego i odbiorca może zażądać powtórzenia transmisji pakietu 

cyfrowego. 

INTERFEJSY SZEREGOWE

Skróty literowe nazw: 

background image

 

 

• identyfikacja rodzaju transmisji; 
• przesyłanie danych pomiędzy kontrolerem 

USB komputera a urządzeniem 
peryferyjnym, zgodnie z kierunkiem 
określonym w fazie identyfikacji rodzaju 
transmisji; 

• potwierdzenie realizacji lub informacja o 

błędach transmisji danych.

 

INTERFEJSY SZEREGOWE

Obsługa magistrali USB

background image

 

 

INTERFEJSY SZEREGOWE

Format pakietu SOF 

Pakiet  SOF  (Start  of  Frame)  wskazuje  na  początek 
ramki  transmisyjnej  synchronizującej  magistralę 
USB  z  okresem  1  mikrosekunda  (0,5  ms  dla 
przepustowości  LS  i  FS,  a  125  ns  +/-  6,25  ns  dla 
przepustowości  HS),  czyli  do  480  Mb/s.  Pakiet 
zawiera  11-bitowe  pole  numeru  bieżącego  ramki, 
która  może  być  wykorzystana  przy  synchronizacji 
transmisji danych, szczególnie izochronicznych.

background image

 

 

INTERFEJSY SZEREGOWE

Format pakietu SETUP 

Pakiet  SETUP  sygnalizuje  wysyłanie  w  kolejnych  pakietach 
danych,  które  sterują  urządzeniami  peryferyjnymi  przez 
kontroler USB. 

Do danych sterujących zaliczamy np. komendy:
SET_ADDRESS  (ustawienie  adresu  dla  wybranego  urządzenia 
peryferyjnego),  GET_DEVICE_DESCRIPTOR  (żądanie  przez 
kontroler  USB  pełnej  informacji  o  konfiguracji  wybranego 
urządzenia 

peryferyjnego 

podłączonego 

do 

magistrali), 

SET_CONFIGURATION  (ustawienie  wymaganej  konfiguracji 
dla wybranego urządzenia peryferyjnego).

background image

 

 

Format pakietu danych 

INTERFEJSY SZEREGOWE

Protokoły danych (o maksymalnej długości 1024 bajtów) dla 
transmisji LS i FS rozróżniane są za pomocą nagłówka pakietu 
PID (Packed Identifier) - Data0/Data1. 

Format pakietu potwierdzenia 

background image

 

 

• ACK (acknowledgement - potwierdzenie 

odbioru danych przez urządzenie pełniące 

funkcje odbiornika), 

• NAK (negative acknowledgement - 

urządzenie odbiorcze chwilowo nie może 

odebrać ani wysyłać danych (w przypadku 

transferu obsługi przerwania NAK informuje 

kontroler USB, że nie ma żadnych danych do 

wysłania);

• STALL - urządzenie końcowe znajduje się w 

stanie wymagającym interwencji kontrolera.

INTERFEJSY SZEREGOWE

Mamy trzy typy pakietów potwierdzenia, 
różniące się wartością nagłówka PID:

background image

 

 

INTERFEJSY SZEREGOWE

Rodzaje transferu danych

• masowy (asynchroniczny); 
• izochroniczny (synchroniczny); 
• obsługi przerwania; 
• sterująco-kontrolny. 

background image

 

 

Organizacja 

transferu masowego

Organizacja transferu 

izochronicznego

Organizacja 

transferu 

obsługi 

przerwania

INTERFEJSY SZEREGOWE

background image

 

 

INTERFEJSY SZEREGOWE

Organizacja transferu 

sterującego

Transfer 

sterująco-kontrolny 

przeznaczony  jest  do  konfiguracji 
każdego urządzenia peryferyjnego USB 

procesie 

enumeracji 

urządzeń 

podłączonych  do  magistrali  USB.  Po 
włączeniu 

nowego 

urządzenia 

kontroler 

rozpoznaje 

rodzaj 

urządzenia 

oraz 

jego 

parametry 

obsługi. Transfer sterujący realizowany 
jest  w  trzech  etapach:  SETUP,  DATA, 
STATUS.

background image

 

 

INTERFEJSY SZEREGOWE

Komunikacja z 
Hostem 

background image

 

 

INTERFEJSY SZEREGOWE

Architektura Huba 

background image

 

 

INTERFEJSY SZEREGOWE

Przykładowa budowa Kontrolera Huba 

Budowa Translatora Transmisji 

background image

 

 

INTERFEJSY SZEREGOWE

Wartość

hex

Deskryptor

1

1

Audio

2

2

CDC-Control

3

3

HID

5

5

Physical

6

6

Image

7

7

Printer

8

8

Mass-Storage

9

9

HUB

10

A

CDC-Data

11

B

Chip/Smart Card

13

D

Content-Security

14

E

Video

220

DC

Diagnostic Device

224

E0

Wireless Controller

254

FE

Application-Specific

255

FF

Vendor-Specific

Klasy urządzeń USB 

background image

 

 

INTERFEJSY SZEREGOWE

Program 

Klient

Oprogramowan

ie systemowe

Interfejs USB

Sterownik 

USB

Urządzenie 

logiczne

Funkcja

Komputer

Karta dźwiękowa

Potoki danych audio

Przekaz izochroniczny

Potoki sterujące

Linie sygnałowe

Warstwa funkcjonalna

Warstwa logiczna

Warstwa fizyczna

Struktura magistrali 

USB

background image

 

 

INTERFEJSY SZEREGOWE

Sposób przekazu HID-

ów

 

Ep0      Ep1     Ep2     Ep3      Ep4      Ep5 

Program Klient 

Komputer 

 

 

 

 

 

Magistrala USB 

 

 

 

 

 

Karta Dźwiękowa 

Bufor 

Bufor

 

Bufor

 

Bufor

 

Bufor

 

Bufor 

P

o

background image

 

 

INTERFEJSY SZEREGOWE

DZIĘKUJĘ ZA UWAGĘ


Document Outline