10 Serial Interface 2015 www

background image

1

Podstawy techniki

mikroprocesorowej

ETEW006

Szeregowa transmisja danych

Andrzej Stępień

Katedra Metrologii Elektronicznej i Fotonicznej

Interface (computing)

Interfejs

W dziedzinie informatyki,

interfejs

jest

narz

ę

dziem

i

poj

ę

cia

, które

odnosz

ą

si

ę

do interakcji mi

ę

dzy składnikami systemu oraz ma

zastosowanie zarówno na poziomie sprz

ę

tu i oprogramowania.

Interfejsy sprz

ę

towe

istniej

ą

w systemach informatycznych mi

ę

dzy

elementami takimi jak magistrale, urz

ą

dzenia pami

ę

ci masowej, inne

urz

ą

dzenia we/wy itp.

Interfejs

spolszczenie angielskiego słowa interface, które w j

ę

zyku

polskim jest tłumaczone jako przej

ś

ciówka lub sprz

ę

g.

urz

ą

dzenie elektroniczne lub optyczne pozwalaj

ą

ce na

komunikacj

ę

mi

ę

dzy dwoma innymi urz

ą

dzeniami, których

bezpo

ś

rednio nie da si

ę

ze sob

ą

poł

ą

czy

ć

http://en.wikipedia.org/wiki/Interface_(computing)

http://pl.wikipedia.org/wiki/Interfejs

Pojęcia podstawowe

ANSI

(American National Standard Institution) - Ameryka

ń

ski Narodowy Urz

ą

d

Normalizacyjny

Tranceiver

/

Driver

- nadajnik, urz

ą

dzenie/układ nadaj

ą

cy/wysyłaj

ą

cy dane

Receiver

- odbiornik, urz

ą

dzenie/układ odbieraj

ą

cy dane

Master

- w systemach wieloprocesorowych urz

ą

dzenie/układ nadrz

ę

dny,

inicjalizuj

ą

cy i ko

ń

cz

ą

cy transmisj

ę

Slave

- w systemach wieloprocesorowych urz

ą

dzenie/układ podporz

ą

dkowany,

obsługiwany przez urz

ą

dzenie nadrz

ę

dne

Data Rate

.

Baud Rate

- szybko

ść

transmisji, liczba bitów przesyłanych znaków

w jednostce czasu (bps - baud per second)

Half Duplex

- czasowe rozdzielenie, naprzemienne nadawanie i odbiór;

mo

ż

liwo

ść

ż

nej szybko

ś

ci pracy nadajnika i odbiornika

Full Duplex

- równoczesne niezale

ż

ne nadawanie i odbiór znaków z t

ą

sam

ą

szybko

ś

ci

ą

nadajnika i odbiornika

Kodowanie ze składową stałą

http://en.wikipedia.org/wiki/NRZI#

Non-Return-to-Zero_Inverted_.28NRZI.29

Odwrócony standard bez powrotu do zera (

NRZI

Non–Return–to–Zero,

Inverted

) – metoda przekształcania binarnego sygnału na dwupoziomowy

sygnał fizyczny, w którym przeł

ą

czenie poziomu sygnału jest synchronizowane

sygnałem zegarowym:

1

– zmiana stanu sygnału,

0

– brak zmiany stanu

0

– zmiana stanu sygnału,

1

– brak zmiany stanu (rysunek, np.

USB

).

1

0

1

1

0

0

1

0

NRZ

NRZI

Dane binarne

Standard bez powrotu do zera (

NRZ

Non–Return–to–Zero

) –

przekszałcenie liniowego kodu binarnego, w którym

1

-ki s

ą

reprezentowane

zwykle przez napi

ę

cie dodatnie, a

0

-a reprezentowane zazwyczaj jako

potencjał masy (standard unipolarny) lub napi

ę

cie ujemne (standard

bipolarny), bez stanów po

ś

rednich (rysunek, np.

RS232

).

Kodowanie bez składowej stałej

http://en.wikipedia.org/wiki/Manchester_code

http://pl.wikipedia.org/wiki/Kod_Manchester

standard

Manchester

(kodowanie fazowe Phase Encoding lub PE) zakłada

jednoznaczn

ą

zmian

ę

warto

ś

ci bitu w

ś

rodku czasu trwania przesyłanego

bitu, np.

zbocze opadaj

ą

cego dla stanu LOW

i

zbocze narastaj

ą

ce dla

stanu HIGH

(konwencja IEEE802.3 – Ethernet, DALI)

brak składowej stałej – łatwo

ść

separacji galwanicznej linii transmisyjnych

dodatkowe zmiany sygnału przy powielaniu warto

ś

ci bitów

0

1

first published by

G. E. Thomas in 1949

0

0

1

1

1

(IEEE802.3)

Transmisja

asynchroniczna

http://en.wikipedia.org/wiki/Asynchronous_communication

sterowanie transmisj

ą

przez

dodatkowe symbole pocz

ą

tku i ko

ń

ca

transmisji lub transmitowanego znaku

transmisja

danych

bez

dodatkowego, zewn

ę

trznego

generatora

sygnału

taktuj

ą

cego

konieczno

ść

wzajemnej, okresowej

re-synchronizacji generatorów

nadajnika i odbiornika

aplikacje

:

RS232x

, USB, CAN, 1-wire, DALI

1

1

0

0

1

dane

RS232

bit

startu

synchronizacja

n-bitowe dane

bit

stopu

t

1–, 1½–, 2–bity

stopu

background image

2

Transmisja

synchroniczna

1

0

1

1

0

0

1

0

dane

sygnał taktuj

ą

cy

lub

sygnał taktuj

ą

cy

przesył danych w chwilach wyznaczonych przez dodatkowy sygnał
taktuj

ą

cy

(zegarowy)

sygnał taktuj

ą

cy przesyłany razem z transmitowanymi danymi

aplikacje

: SPI/Micowire, I

2

C-Bus/SMBus, FireWire (IEEE-1394)

http://pl.wikipedia.org/wiki/Transmisja_synchroniczna

USB

2.0

CAN

DesignCon 2003 TecForum I2C Bus Overview.

January, 27, 2003

3.4 MHz

400 kHz
100 kHz

I

2

C

USB

3.0

Transmisja asynchroniczna

• Brak linii sygnału taktuj

ą

cego

UART

(Universal Asynchronous Receiver - Transmitter)

ACE

(Asynchronous Communication Elements)

SCI

(Serial Communication Interface)

uniwersalny układ do 2-przewodowej, asynchronicznej transmisji
szeregowej:

• ramka danych: bit startu, 5-8 bitów danych, 1-2 bity kontrolne,

1-2 bity stopu

• dane kodowane w standardzie NRZ

• oddzielne linie nadajnika i odbiornika

• transmisja full duplex

RS-232

TIA/EIA-232-F

• ograniczony do

1ms

czas zmian je

ś

li szybko

ść

transmitowanych danych < 40bps

4% limit

czasu zmian dla szybko

ś

ci 40 bps .. 200 kbps

• ograniczenie szybko

ś

ci narostu/opadania sygnału nadajnika do

30 V/

µµµµ

s

• ograniczenie szybko

ś

ci transmitowanych danych do 20 kbps (obecnie do 250 kbps)

1

T

ra

n

si

ti

o

n

T

im

e

[

m

s]

TIA/EIA-232-E and -F,

EIA-232-D, RS-232-C

4% Limit

30 V/

µµµµ

s Limit

20k

250k

J. M. Soltero, J. Zhang, E. Cox: Low-Voltage, Single-Supply

232-Standard Interface Solutions. TI, SLLA083A - SEPTEMBER 2000

TIA/EIA-232

Poziomy napięć

http://en.wikipedia.org/wiki/EIA/TIA-232

znak ASCII "K" (0x4B): 1 bit startu, 8 bitów znaku, 1 bit stopu

zabronione
(forbidden)

LSB

MSB

+5V

–5V

Nadajnik

(Driver)

+3V

–3V

Odbiornik
(Receiver)

Standard C51

Stabilność generatora taktującego

RxD

TxD

Start

LSB

MSB

Stop

T

7

8

9

Bit

K

T
2

T

16

maksymalna zmiana czasu wewn

ę

trznego

testu odebranego bitu:

1 1
2 16

N

δδδδ

T =

dodatkowe zało

ż

enia:

• N = 10 lub 11, liczba przesyłanych bitów znaków
• taka sama tolerancja cz

ę

stotliwo

ś

ci f

OSC

nadajnika i odbiornika

• dodatkowe opó

ź

nienia w wewn

ę

trznej strukturze odbiornika

• stany nieustalone w liniach transmisyjnych

δδδδ

T < 3% dla 8 bitów danych (teoret. < 4,3%)

δδδδ

T < 2,8% dla 9 bitów danych (teoret. < 4,0%)

7-8-9

Stabilno

ść

wewn

ę

trznego generatora mikrokontrolera

δδδδ

T=2,5%

jest wystarczaj

ą

ca dla typowych zastosowa

ń

UARTu.

background image

3

TIA / EIA-422

(RS-422)

TIA / EIA-485

(RS-485)

M. Soltero, J. Zhang, C. Cockril

updated by K. Zhang, C. Kinnaird, T. Kugelstadt:

RS-422 and RS-485 Standards Overview and System Configurations.

Texas Instruments, Application Report, SLLA070D, June 2002–Revised May 2010

RS-422

(nazwa potoczna) –

Charakterystyki elektryczne zrównowa

ż

onego

napi

ę

ciowo interfejsu cyfrowego

(officially standard's title published by the

ANSI Telecommunication Industry Association / Electronic Industries
Association (TIA/EIA): Electrical Characteristics of Balanced Voltage Digital
Interface Circuits)

RS-422

jest prost

ą

, wielopunktow

ą

sieci

ą

z

pojedynczym nadajnikiem

i

maksymalnie 10 odbiornikami

RS-485

(nazwa potoczna) –

Charakterystyki elektryczne generatorów i

odbiorników zrównowa

ż

onego napi

ę

ciowo interfejsu cyfrowego

(officially

standard's title published by the TIA/EIA: Electrical Characteristics of
Generators and Receivers for Use in Balanced Digital Multipoint Systems)

RS-485

kompatybilny z RS-422, zakłada u

ż

ycie w danym momencie

pojedynczego nadajnika

i

do 32 standardowych odbiorników

(U.L. – unit

load, odpowiada rezystancji obci

ąż

enia w warto

ś

ci około 12 k

)

RS-422

Balanced-Voltage Digital-Interface Circuit

Driver

or Generator

Receiver

Termination

impedance

ż

nicowa, symetryczna magistrala

impedancja terminatora Z

T

= impedancji kabla Z

0

(typowa tolerancja

±20%

)

maksymalnie do 9

dodatkowych

odbiorników

mi

ę

dzy punktami A i B

oraz punktami A' i B'

only Physical Layer

Differential balanced line

over twisted pair

RS-422

Balanced-Voltage Digital-Interface Circuit

Driver

or Generator

Receiver

Termination

impedance

długo

ść

magistrali

determinuj

ą

straty sygnału i rozsynchronizowaniu bitów

danych powy

ż

ej 10% (standardowo długo

ść

magistrali nie przekracza1 km, a

pr

ę

dko

ść

transmisji 100 kbps).

Im dłu

ż

sza magistrala tym mniejsza szybko

ść

transmisji, zwykle zgodnie

z reguł

ą

:

szybko

ść

transmisji (w bps)

∗∗∗∗

długo

ść

magistrali (w metrach)

≤≤≤≤

10

8

(np. dla magistrali o długo

ś

ci 500 m szybko

ść

transmisji nie powinna

przekracza

ć

200 kbps (10

8

/500))

only Physical Layer

Differential balanced line

over twisted pair

M. Soltero, J. Zhang, C. Cockril

updated by K. Zhang, C. Kinnaird, T. Kugelstadt:

RS-422 and RS-485 Standards Overview and System Configurations.

Texas Instruments, Application Report, SLLA070D, June 2002–Revised May 2010

RS-422

Balanced-Voltage Digital-Interface Circuit

Driver

or Generator

Receiver

Termination

impedance

only Physical Layer

Differential balanced line

over twisted pair

U

+

U

Mark

Idle

Mark

Idle

1

1

0

0

0

1

1

1

S

to

p

S

ta

rt

transmisja znaku 0xD3 (bit najmniej znacz

ą

cy jako pierwszy) z

asynchroniczn

ą

metod

ą

start-stop

http://en.wikipedia.org/wiki/RS-485

Interfejs dwu-przewodowy

Transmisja half-duplex w standardzie

RS-485 z u

ż

yciem pojedynczej pary

przewodów

.

RS-422 and RS-485. Application Note.

B&B Electronics -- Revised June 2006

Figure 2.2

~1220m

Problem

ż

nic

potencjałów
mas
odległych
nadajników
i
odbiorników

Four Wire Interface

RS-422 systems require a dedicated pair of wires for each signal

, a

transmit pair

, a

receive pair

and an additional pair for each

handshake/control signal used (if required).

RS-422 and RS-485. Application Note.

B&B Electronics -- Revised June 2006

Figure 2.1

~1220m

background image

4

Historia

1985

- Robert Bosch GmbH proponuje interfejs szeregowy w celu

ujednolicenia wymiany danych w przemy

ś

le samochodowym (lotniczym), jako

odpowied

ź

na wymagania stawiane przez dwóch niemieckich producentów

samochodów: Daimler-Benz i BMW (obecnie tak

ż

e: VW, Renault, PSA, Volvo,

Saab i inni)

podstawowe wymagania

:

niskie koszty linii transmisyjnych,

du

ż

a szybko

ść

przesyłanych danych,

du

ż

a niezawodno

ść

i wiarygodno

ść

transmitowanych informacji,

odporno

ść

na zakłócenia elektryczne,

automatyczna (sprz

ę

towa) detekcja mo

ż

liwie wszystkich bł

ę

dów

wyst

ę

puj

ą

cych w trakcie transmisji danych

protokół szeregowej

wymiany danych mi

ę

dzy w

ę

złami nadawczymi i

odbiorczymi, mi

ę

dzy warstwami

fizycznymi

i

logicznymi

obecnie standard

CAN 2.0A

z

11-bitowym identyfikatorem

w

ę

złów, (praktycznie

2032 w

ę

złów) lub

CAN 2.0B

z

29-bitowym identyfikatorem

w

ę

złów

Cechy

identyfikator w

ę

zła nie jest jego adresem – ten sam w

ę

zeł mo

ż

e mie

ć

wiele ró

ż

nych identyfikatorów

w zale

ż

no

ś

ci od pełnionej funkcji

elastyczno

ść

systemu

- doł

ą

czanie kolejnych w

ę

złów bez konieczno

ś

ci

zmian sprz

ę

towych i programowych

konfiguracja sieci typu

Multi-Master

, zorientowana obiektowo

niezawodno

ść

magistrali

- detekcja i sygnalizacja przez ka

ż

dy w

ę

zeł

ę

dów transmisji:

wszystkich bł

ę

dów globalnych,

wszystkich bł

ę

dów lokalnych nadajników,

do 5 przypadkowych bł

ę

dów w ramce,

do 15 bł

ę

dów w ramce powoduj

ą

cych zmian

ę

długo

ś

ci poszczególnych

cz

ęś

ci ramki,

dowolnego bł

ę

du nieparzysto

ś

ci w ramce,

grupowanie danych w ramki, od 0 do 8 bajtów w ramce,

prawdopodobie

ń

stwo niewykrycia bł

ę

du w ramce mniejsze ni

ż

:

stopa_bł

ę

dów

4,7

10

-11

Niezawodność

przykład (np. układ ABS w autobusie):

mo

ż

liwo

ść

pojawienia si

ę

pojedynczego bł

ę

du nie cz

ęś

ciej ni

ż

co 0,7 s,

szybko

ść

transmisji danych równa 500 kbps,

czas pracy systemu:

8 godzin dziennie,

365 dni w roku

prawdopodobie

ń

stwo pomini

ę

cia pojedynczego bł

ę

du

nie cz

ęś

ciej ni

ż

raz na

1000 lat

CAN2.0B

Ramki (Frames)

S
O
F

ID

entifier

ID10..ID0

11 bits

R
T
R

I

D
E

r

0

D

ata

0 .. 8 Bytes

Standard

Format:

Extended

Format:

S

tart

O

f

H

eader

R

emote

T

ransmit

R

equest

ID

entifier

E

xtension bit

r

eserved

bits

ACK

nowledge

INT

erframe space

S
O
F

ID

entifier

ID28..ID18

11 bits

S
R
R

I

D
E

R
T
R

r

1

r

0

D

ata

0 .. 8 Bytes

ID

entifier

ID17..ID0

18 bits

S

ubstitute

R

emote

R

equest

Data

Length

Code
4 bits

Data

Length

Code
4 bits

A
C
K

INT

> 3

bits

E

nd

O

f

F

rame

7 bits

C

yclic

R

edundancy

C

heck

15 bits

CRC
ACK

EOF

INT

CAN Specification Version 2.0.

Robert Bosch GmbH, 1991

Transmisja ramek

automatyczna detekcja bł

ę

dów

transmisji:

grupowanie danych w ramki (

Frame

),

kontrola nadawanych danych i stanu magistrali,

cykliczna kontrola nadmiarowa (

CRC

),

bity separacji i potwierdzenia (

ACK

),

dodatkowe bity synchronizacji (

Stuff bits

),

2-przewodowa-ró

ż

nicowa

lub 1-przewodowa magistrala, prowadzona

za po

ś

rednictwem kabla koncentrycznego, skr

ę

tki lub

ś

wiatłowodu,

szybko

ść

transmisji danych od

5 Kbitów/s .. do 1Mbita/s

(40 m),

maksymalna

odległo

ść

w

ę

złów ograniczona do

10 km

(5 Kbitów/s)

Kodowanie

Dostawianie bitów

brak sygnału zegarowego w magistrali, problem synchronizacji układów
peryferyjnych

kodowanie bitów metod

ą

dostawiania bitu

(

Bit Stuffing

):

po 5 bitach aktywnych (

dominant

) wstawiany 1 bit pasywny (

recessive

)

po 5 bitach pasywny (

recessive

) wstawiany 1 bit aktywny (

dominant

)

1 2 3 4 5 6

5

6

1 2 3 4 5 6

1 2 3 4

1 2 3 4 5

6

wejściowy

strumień

danych

strumień

bitów

7 8 9 10

10

7 8 9

1 2 3 4 5 6

2 3 4 5 6

wyjściowy

strumień

danych

7 8 9 10

Stuff

Bit

1

magistrala
CAN

background image

5

Sygnały napięciowe

(tryb szybki)

CAN_H

CAN_L

Napięcie

5V

3,5V

2,5V

1,5V

0V

t

stan pasywny

(recessive)

stan aktywny

(dominant)

stan pasywny

(recessive)

Węzeł 1

Węzeł 30

CAN_H

CAN_L

Magistrala CAN

120

120

Standardy

CANaerospace

www.mstock.com (Michael Stock Flight Systems)

CANary

www.atmel.com

CANopen

www. can-cia.de

CAN Kingdom

www.cankingdom.org

DeviceNet

www.odva.org

NMEA2000

communication protocol based upon the J1939
Controller Area Network standard from the National
Marine Electronics Association (NMEA) to
interconnect various electronic units onboard ships
and smaller recreational and commercial vessels.

PeliCAN

www.semiconductors.philips.com

SAE J1939

www.sae.org (The Society of Automotive Engineers)

USB

Terminologia

Pakiet

(packet) – najmniejszy element danych przesyłanych magistral

ą

Pipes

– kanał logiczny pomi

ę

dzy Hostem, a urz

ą

dzeniem ko

ń

cowym

(Device)

Punkt ko

ń

cowy

(Endpoint) – bufor typu FIFO urz

ą

dzenia ko

ń

cowego

b

ę

d

ą

cy zako

ń

czeniem kanału logicznego (pipes)

OUT

– kierunek transmisji od Hosta

IN

– kierunek transmisji do Hosta

Deskryptor

(Descriptor) – tablica identyfikuj

ą

ca sprz

ę

t, stosowane

oprogramowanie, typy interfejsów, opisów itp.

tylko jeden Host

warstwa 1

dowolna liczba
koncentratorów

(hub)

maksymalnie
127 urz

ą

dze

ń

ko

ń

cowych

maksymalnie
7 warstw

Topologia magistrali

Topologia gwiazdy

warstwa 2

warstwa 3

warstwa 4

warstwa 5

warstwa 6

warstwa 7

Hub 1

Hub 2

Hub 3

Hub 4

Hub 5

Hub 7

Host

Func

Func

Func

Func

Func

Compound Device

Hub 6

USB

Communication Flow

Typy danych

Typ kontrolny

(Control Transfers)

obsługiwany przez ka

ż

de urz

ą

dzenie, u

ż

ywany do/w trakcie konfiguracji

urz

ą

dzenia; czasami stosowany do przesyłania danych

Typ masowy

(Bulk Data Transfers)

przesył du

ż

ych ilo

ś

ci danych z kontrol

ą

poprawno

ś

ci (powtórne przesyłanie

uszkodzonych pakietów) ale bez gwarancji wymaganego pasma (opó

ź

nie

ń

),

np. drukarki, skanery itp.

Typ izochroniczny

(Isochronous Data Transfers)

przesył du

ż

ych ilo

ś

ci danych bez kontroli poprawno

ś

ci (brak powtórnego

przesyłanie uszkodzonych pakietów) z gwarancj

ą

wymaganego pasma (w

czasie rzeczywistym), np. dane audio, video itp.

Typ przerwaniowy

(Interrupt Data Transfers)

periodyczny przesył niewielkich ilo

ś

ci danych, z gwarancj

ą

pasma (ustalony

czas odpytywania urz

ą

dzenia, okre

ś

lony rozmiar pakietu), np. klawiatura,

myszka, termometr, woltomierz itp.

Universal Serial Bus Specification.

Revision 2.0, April 27, 2000, p.20

background image

6

Szybkość transmisji

Linie danych (D+ D—)

USB 1.1

Low Speed: 1,5 Mbit/s

(0.1875 MB/s)

±1.5% (15,000ppm)

USB 1.1

Full Speed:

12 Mbit/s

(1.5 MB/s)

±0.25% (2,500ppm)

/ host ±0.05% (500ppm)

USB 2.0

High Speed: 480 Mbit/s

(60 MB/s)

±0.05% (500 ppm)

USB 3.0
SuperSpeed
5 Gbit/s
(640MB/s)

Host

or

Hub Port

Transceiver

D+

D+

D–

D–

Z

0

=90

Ω±

15%

R

pd

= 15 k

Ω ±

5%

R

pu

=1.5 k

Ω ±

5%

R

pd

R

pd

or

www.usb.org

3.3 V

Identyfikacja szybkości transmisji

[1#2]

Transceiver

Low-Speed

USB

D+

D+

D–

D–

R

pd

R

pd

Z

0

=90

Ω±

15%

R

pd

= 15 k

Ω ±

5%

R

pu

=1.5 k

Ω ±

5%

Transceiver

Full-Speed

USB

D+

D+

D–

D–

Z

0

=90

Ω±

15%

R

pd

= 15 k

Ω ±

5%

R

pu

=1.5 k

Ω ±

5%

R

pd

R

pd

Host

or

Hub Port

Host

or

Hub Port

Universal Serial Bus Specification.

Revision 2.0, April 27, 2000, p.141

przej

ś

cie do

trybu High–speed rozpoczyna si

ę

trybem Full–speed (linia D+

doł

ą

czona do napi

ę

cia zasilaj

ą

cego V

CC

=3.3 V przez rezystor R

PU

= 1.5 k

)

stałopr

ą

dowe obci

ąż

enie (DC load) ka

ż

dej z linii (D+ oraz D–) powinno wynosi

ć

nominalnie 45

±

10% wzgl

ę

dem masy (40.5

Ω ≤

Z

HSDRV

49.5

, High–speed

Driver Output Resistance

Table 7-8

)

przeł

ą

czenie do trybu High–speed inicjuje urz

ą

dzenie (device), K–J chirp

po rozpocz

ę

ciu inicjalizacji linia D+ zostaje odł

ą

czona od napi

ę

cia V

CC

= 3.3 V

Identyfikacja szybkości transmisji

[2#2]

Transceiver

High-Speed

USB

D+

D+

D–

D–

Z

0

=90

Ω±

15%

2 x R

pd

R

pu

= 1.5 k

Ω ±

5%

Host

or

Hub Port

Universal Serial Bus Specification.

Revision 2.0, April 27, 2000, p.143

2 x R

HSpd

(45

Ω ±

10%)

V

CC

= 3.3 V

2 x R

HSpd

(45

Ω ±

10%)

High—speed

Handshake

SE0

Full-Speed

Device

Chirp K

Device

Chirp K

Host/Hub

Chirp J

High-speed

96 mV

(120 mV max)

3.0 V

800 mV

900 mV

D+

D–

0 mV

Offset

"Tiny J"

SE0

Full-Speed

SE0

Full-Speed

Jerome Tjia: High-Speed Detection Handshake

Considerations. Philips Semiconductors, May9, 2001

Data J state: Low-speed = differential ”0”

Full-speed = differential ”1”

Data K state: Low-speed = differential ”1”

Full-speed = differential ”0”

Single-ended 0 (SE0): D+ and D– < V

OLMAX

Chirp –

ć

wierkanie, bzyczenie, szczebiot,

ś

wiergot

USB

Series "A" Plug

USB 2.0 Specification Engineering Change Notice (ECN) #1:

A connector. Date: 10/20/2000, ecn1.pdf

1

2

3

4

Contact

Typical Wiring

Number

Signal Name

Assignment

1

VBUS

Red

2

D-

White

3

D+

Green

4

GND

Black

Shell

Shield

Drain Wire

0.1 mm

Kodowanie danych

Dostawianie bitów

Bit Stuffed

DATA

Sync Pattern (0x80)

(Synchronization)

1

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

Packed Data

DATA

6 x HIGH

Stuffed Bit

LOW

NRZI

Idle

LSB First

background image

7

Ramki (Frames)

Mikroramki (Micro-Frames)

1 ms

Frame:

Control (SOF)

Isochronous

Interrupt

Bulk

Low / Full Speed Frame:

High Speed Micro-Frames:

125

µ

s

SOF

packets

in each Frame

&

Micro-Frame

Formaty pakietów (Packet Formats)

PID

Addr

ENDP

CRC5

Idle

Token Packet

PID

Frame#

CRC5

Idle

SOF Packet

PID

Data

CRC16

Idle

Data Packet

Sync

PID

Idle

Handshake Packet

0

0

0

0

0

0

0

1

PID

0

PID

1

PID

2

PID

3

PID

0

PID

1

PID

2

PID

3

PID Packet
Format

EOP

EOP

EOP

EOP

Sync Pattern

8 bits

7 bits

4 bits

5 bits

8 bits

2

T

PERIOD

8 bits

11 bits

5 bits

8 bits

2

T

PERIOD

8 bits

0..1023

bytes

16 bits

8 bits

2

T

PERIOD

Sync

Sync

Sync

PID Packet Formats

PID

0

PID

1

PID

2

PID

3

PID

0

PID

1

PID

2

PID

3

Pocket

PID

Type

Name

Token

OUT

1

0

0

0

Token

IN

1

0

0

1

SOF

SOF

1

0

1

0

SOF marker, frame number

Token

SETUP

1

0

1

1

Data

Data0

1

1

0

0

Data packet PID even

Data1

1

1

0

1

Data packet PID odd

Handshake

ACK

0

1

0

0

Error-free data packet

NAK

0

1

0

1

Device cannot accept
or send data

STALL

0

1

1

1

Endpoint halted

Special

PRE

0

0

1

1

Enables low-speed

What is USB Enumeration ?

Czym jest proces enumeracji

Enumeracja

jest procesem systemu operacyjnego, po doł

ą

czeniu do hosta

urz

ą

dzenia USB, którego celem jest rozpoznanie cech doł

ą

czonego

urz

ą

dzenia, przydzielenie 7–bitowego adresu (w zakresie 1..127 lub

2..127

Win2000

) oraz aktywacja sterownika systemu operacyjnego obsługuj

ą

cego

urz

ą

dzenie;

8 etapów

Universal Serial Bus Specification. Revision 2.0, April 27, 2000, p.243

12 etapów

Jan Axelson: USB Complete. The Developer's Guide. 4 Edition. Lakeview Research, June 2009, Chapter 4

w czasie

enumeracji

host ustala typ sterownika stosowanego do obsługi

doł

ą

czonego urz

ą

dzenia na podstawie polecenia odczytu podstawowych

deskryptorów, tablic identyfikuj

ą

cych sprz

ę

t i stosowane oprogramowanie

deskryptor urz

ą

dzenia

(Device Descriptor) – identyfikacja sprz

ę

tu (Device

descriptor type), klasa urz

ą

dzenia (Class and Subclass code: Communication

Device Class, Mass Storage Device Class, Virtual COMM, Human Interface
Device, ..)
, rozmiar transmitowanych pakietów dla zerowego punktu
ko

ń

cowego (

Max packet size for EP0 – EndPoint0) – kolejki FIFO,

liczba

dost

ę

pnych konfiguracji (np. tryby obni

ż

onego poboru mocy), producent

itp.

W. Mielczarek: USB. Uniwersalny interfejs szeregowy.

Helion, Gliwice, 2005

Get Descriptor (Setup)

Host

Sync

0000 0001

SOF

A5

Frame #

52D

CRC5

05

EOP

2,5

Idle

Host

Sync

0000 0001

SetUp

B4

Addr

02

CRC5

15

EOP

2,5

Idle

5

EndP

00

Host

Sync

0000 0001

Data0

C3

Data

80 06

00

01

00 00 40 00

CRC16

B129

EOP

2,5

Idle

6

Host/

/Device

Sync

0000 0001

ACK

4B

EOP

2,5

Idle

11-bit Frame Number

PID: Start Of Frame

Synchronisation Pattern

End OF Packet (

2

T

PERIOD

)

4-bit endpoint

5-bit CRC field
(polynomial: G(X) = X

5

+ X

2

+ 1)

PID: SetUp

7-bit Device address

PID: Data0

16-bit CRC field
(polynomial: G(X) = X

16

+ X

15

+ X

2

+ 1)

PID: Acknowledge

80

Input = Get Descriptor

06

Standard Request = Get Descriptor

01

Descriptor Type = Device

NXP – Cortex-M0

On-chip USB ROM Drivers

The extensible

on-chip USB drivers

include (LPC11U2x):

Human Interface Device (HID)

Mass Storage Device Class (MSC)

Communication Device Class (CDC)

"Driver capability can be further enhanced by

NXP's open-source USB

library

" on

http://www.lpcware.com

http://docs.lpcware.com/usbromlib/v1.0/index.html

background image

8

SPI

Topologies

http://www.byteparadigm.com/kb/article/AA-00255/22/

Introduction-to-SPI-and-IC-protocols.html (Fig.1)

Acronyms and Abbreviations

SPI

Serial Parallel Interface

SS

Slave Select

SCK

Serial Clock

MOSI

Master Output, Slave Input

MISO

Master Input, Slave Output

MOMI

Master Output, Master Input

SISO

Slave Input, Slave Output

SPI Block Guide, V04.01.
Freescale Semiconductor, Inc,
S12SPIV4/D, 14 JUL 2004

SPI master connected to a single slave (point-to-point topology)

SPI master
connected
to a multiple slave

Microwire czy SPI

Microwire

produktem firmy

National Semiconductor

(prekursor standardu

SPI, wył

ą

cznie jeden tryb 0 pracy)

SPI

(Serial Peripheral Interface Bus or SPI bus) produktem firmy

Motorola

(cztery tryby pracy)

Microwire/Plus

produktem firmy

National Semiconductor

(rozszerzenie

trybów pracy dla procesorów rodziny COP800)

synchroniczna

transmisja danych w oparciu o zbocze (narastaj

ą

ce lub

opadaj

ą

ce) sygnału taktuj

ą

cego SK/SCLK (w standardzie

I

2

C

aktywny jest

stan HIGH

sygnału taktuj

ą

cego SCK)

wył

ą

cznie jeden układ "

Master

" generuje sygnał taktuj

ą

cy SK/SCLK dla

wszystkich układów "

Slave

"

jeden sygnał taktuj

ą

cy SK/SCLK niezale

ż

nie od wewn

ę

trznych sygnałów

taktuj

ą

cych wszystkich układów w systemie, pełna synchronizacja

transmitowanych znaków

Microwire / SPI

Microwire

: niezbyt wysoka szybko

ść

transmisji danych (1

1)

.. 3 MHz

2)

)

SPI

: wysoka szybko

ść

transmisji danych (20MHz

3)

, 108 MHz

4)

, 250MHz

5)

)

Microwire/Plus

: niezbyt wysoka szybko

ść

transmisji danych (3 MHz

6)

)

SPI Signals

Microwire or Microwire/Plus Signals

SCLK – Serial Shift Clock

SK – Serial Shift Clock

MOSI – Master Out Slave In

SO – Serial Out (both master & slave)

MISO – Master In Slave Out

SI – Serial In (both master & slave)

/SS – Slave Select

/CS – Chip Select

AT93C86A. Three-wire Serial EEPROM. Atmel, 2007

Atmel AT25320B and AT25640B SPI Serial EEPROM. Atmel, 2012

N25Q00AA. 1Gb, 3V, Multiple I/O Serial NOR Flash Memory. Micron, 1 February 2013

Raspberry Pi (ARM1176)

COP912C 8-Bit Microcontroller. National Semiconductor, SNOS727D, November 19

FM93CS56. (MICROWIRE™ Bus Interface)

2048-Bit Serial EEPROM with Data Protect and Sequential Read. Fairchild, 2000

SPI / Microwire - signals

SPI:

MISO

- Master Input Slave Output

MOSI

- Master Output Slave Input

SCK

- Serial CloCK

/SS

- Slave Select

SCK
SK

SCK
SK

/SS or /CS

Microwire:

SI

– Serial In (both master & slave)

SO

– Serial Out (both master & slave)

SK

– Serial Shift Clock

/CS

– Chip Select

MISO

SI

MISO

SO

MOSI

SO

MOSI

SI

GND

SPI

Tryby

http://www.byteparadigm.com/kb/article/AA-00255/22/

Introduction-to-SPI-and-IC-protocols.html (Fig.3)

Microwire

Toggling edge

Sampling edge

Mode 0

CPOL = 0
CPHA = 0

SCLK idle level

LOW

Toggling edge

Sampling edge

Mode 2

CPOL = 1
CPHA = 0

SCLK idle level

HIGH

Toggling edge

Sampling edge

Mode 1

CPOL = 0
CPHA = 1

SCLK idle level

LOW

Toggling edge

Sampling edge

Mode 3

CPOL = 1
CPHA = 1

SCLK idle level

HIGH

CPOL

(clock polarity) okre

ś

la polaryzacj

ę

stanu

spoczynkowego dla linii taktuj

ą

cej (clock's

idle

state) jako Low (CPOL=0) lub High (CPOL=1)

CPHA

(clock phase) okre

ś

la, podczas którego

zbocza sygnału taktuj

ą

cego s

ą

próbkowane dane:

CPHA=0

dane s

ą

próbkowane
pierwszym
zboczem
sygnału SCLK

CPHA=1

dane s

ą

próbkowane
drugim
zboczem
sygnału SCLK

Dokumenty

smbus20.pdf

System Management Bus (SMBus) Specification
Version 2.0, August 3, 2000

SBS Implementers Forum:
Duracell, Inc., Energizer Power Systems, Inc., Fujitsu, Ltd.,
Intel Corporation, Linear Technology, Inc., Maxim Integrated Products,
Mitsubishi Electric Semiconductor Company, PowerSmart, Inc.,
Toshiba Battery Co. Ltd., Unitrode Corporation, USAR Systems, Inc.

http://www.smbus.org/specs/spec_content.htm

UM10204. I2C-bus specification and user manual.
NXP Rev. 03 — 19 June 2007

http://www.nxp.com

background image

9

Właściwości

(1/2)

doł

ą

czanie lub odł

ą

czanie układów bez zmiany konfiguracji magistrali

2-przewodowa, 2-kierunkowa magistrala:

SDA

(Serial DAta) - linia danych

SCL

(Serial CLock) - linia zegara (taktuj

ą

ca)

obie linie magistrali typu: Open-Drain lub Open-Collector

ka

ż

dy układ

ma

własny

,

indywidualny adres

:

7 bitowy w trybie standardowym (Standard Mode)

10 bitowy w trybie szybkim (Fast Mode)

brak zewn

ę

trznych układów dekoduj

ą

cych adresy urz

ą

dze

ń

szeregowa

,

8-bitowa

,

2-kierunkowa

wymiana danych

wbudowane protokoły wymiany danych

i testowania stanu magistrali

ograniczenie

szybko

ś

ci

transmisji danych:

100 kbit/s (Standard )

400 kbit/s (Fast)

3,4 Mbit/s (High-Speed,

Hs

)

Właściwości

(2/2)

ka

ż

dy układ mo

ż

e pełni

ć

rol

ę

nadajnika danych (

Transmitter

) lub

odbiornika danych (

Receiver

), wyj

ą

tkiem s

ą

sterowniki wy

ś

wietlaczy,

które mog

ą

by

ć

jedynie odbiornikami

ka

ż

dy układ mo

ż

e by

ć

układem zarz

ą

dzaj

ą

cym (

Master

) lub

podporz

ą

dkowanym (

Slave

)

układem nadrz

ę

dnym (

Master

) jest układ inicjalizuj

ą

cy transmisj

ę

,

pozostałe układy staj

ą

si

ę

automatycznie podporz

ą

dkowanymi (

Slave

)

magistral

ą

mo

ż

e zarz

ą

dza

ć

wiele kontrolerów (

Multi

-

Master

)

wbudowane procedury

arbitra

ż

u

w przypadku dost

ę

pu do magistrali

wi

ę

cej ni

ż

jednego układu zarz

ą

dzaj

ą

cego (poł

ą

czenie typu AND na linii

SCL)

procedury

synchronizacji

sygnału taktuj

ą

cego (SCL) w przypadku

równoczesnego dost

ę

pu do magistrali kilku układów

Układy we/wy

Takt

wy

Takt

we

SCL

SDA

Dane

wy

Dane

we

układ 1

Takt

wy

Takt

we

Dane

wy

Dane

we

układ n

R

PD

V

DD

R

PC

V

DD

Transmisja bitów - dane, Start, Stop

SDA

SCL

dane

stabilne

zmiana

danych

SDA

SCL

S

Start

P

Koniec

Sekwencje:

start

stop

Transmisja bitów

SCL

Start

S

Stop

P

2-7

8

9

1-7

8

9

ACK

R/W

Adres

odbiornika

odbiornika

dane

ACK

odbiornika

do

odbiornika

1

nadajnik

odbiornik

odbiornik
niegotowy

MSB

LSB

SDA

7-bitowy

adres odbiornika

S

start

ACK

R/W#

8-bitowe

dane

ACK

8-bitowe

dane

ACK

8-bitowe

dane

P

stop

No

ACK

arbitra

ż

dla linii SDA

w czasie SCL = HIGH

arbitra

ż

dla kolejnych bitów adresu, bitu kierunku R/W# oraz bitów danych

pozostaje nadajnik, który jako pierwszy wygenerował stan niski (LOW) na
linii SDA, podczas gdy inne utrzymywały stan wysoki (HIGH)

układ przegrywaj

ą

cy arbitra

ż

zwalnia linie SDA i SCL

je

ś

li nadrz

ę

dny nadajnik (master) przegrywa arbitra

ż

, to generuje sygnał

taktuj

ą

cy (linia SCL) do zako

ń

czenia bie

żą

cego bajtu

arbitra

ż

zabroniony w trakcie powtarzanej sekwencji startu i stopu

Arbitraż

dane_1

dane_2

SDA

SCL

Start

przegrany arbitra

ż

przez dane_1

SDA

dane_1

background image

10

7-bitowa transmisja danych - wpis

dane z nadrz

ę

dnego nadajnika (Master)

do podporz

ą

dkowanego odbiornika (Slave)

z podaniem wewn

ę

trznego adresu odbiornika

bez zmiany kierunku transmisji danych (nadawanie)

S

7-bitowy

adres

odbiornika

R/W

0

ACK

8-bitowy adres

wewn

ę

trzny

odbiornika

P

ACK

8-bitowe dane

do Slave

ACK

8-bitowe dane

do Slave

ACK

ACK generuje
Slave

7-bitowa transmisja danych - odczyt

dane z podporz

ą

dkowanego odbiornika (Slave)

do nadrz

ę

dnego nadajnika (Master)

z podaniem wewn

ę

trznego adresu odbiornika

ze zmian

ą

kierunku transmisji danych (odbiór)

7-bitowy

adres

odbiornika

R/W

0

ACK

8-bitowy adres

wewn

ę

trzny

odbiornika

P

ACK

8-bitowe dane

do Master

ACK

NO

ACK

Sr

7-bitowy

adres

odbiornika

R/W

1

S

ACK

8-bitowe dane

do Master

ACK generuje
Slave

ACK generuje
Master

Problemy i pytania

1. Czym jest interfejs ?

2. Jakie s

ą

wady i zalety kodowania metod

ą

NRZ ?

3. Jakie s

ą

wady i zalety kodowania metod

ą

NRZI ?

4. Jakie s

ą

wady i zalety kodowania metod

ą

Manchester ?

5. Czym si

ę

ż

ni synchroniczna od asynchronicznej transmisji danych ?

6. Jakie s

ą

podstawowe cechy standardu RS232x ?

7. Jakie s

ą

podstawowe cechy standardu RS485 ?

8. Jakie s

ą

podstawowe cechy standardu CAN ?

9. Jakie s

ą

podstawowe cechy standardu USB ?

10. Na czym polega dostawianie bitów w standardzie CAN i USB ?

11. Jakie s

ą

podstawowe cechy standardu DALI ?

12. Jakie s

ą

podstawowe cechy standardu SPI ?

13. Jakie s

ą

podstawowe cechy standardu I2C-Bus/SMBus ?

14. Jak w standardzie CAN lub I2C-Bus/SMBus rozwi

ą

zano problem arbitra

ż

u ?

15. Jaka jest kolejno

ść

wysyłanych bitów w bajcie w: I2C-Bus, CAN, SPI oraz USB ?


Wyszukiwarka

Podobne podstrony:
10 Serial Interface 2010
9 Liczniki 2015 www
13 Power 2015 www
Fundusze inwestycyjne i emerytalne wykład 10 27 04 2015
sciaga z fizyki, 10-20, Interferencja fal-zjawisko nakładania się dwóch lub więcej fal spójnych,czyl
sciaga z fizyki, 10-20, Interferencja fal-zjawisko nakładania się dwóch lub więcej fal spójnych,czyl
10 przyk szcz czlow www prezentacje orgid 11046 ppt
4 Typy instrukcji Tryby adresowania 2015 www (1)
3 Przetw danych Typy proces 2015 www (1)
7 Stos 2015 www
12 DMA 2015 www
Lokalny program rewitalizacji osiedla „Stara Kolonia” w Brzeszczach 2005 2015 www old brzeszcze pl
6 Pamieci ROM RAM 2015 www
11 Przetworniki 2015 www
10 Projektowanie interfejsu uzytkownikaid 11297 ppt
2 Architektura 2015 www

więcej podobnych podstron