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

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

ą

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

ść

 ró

ż

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 PEzakłada 

jednoznaczn

ą

  zmian

ę

 warto

ś

ci bitu w 

ś

rodku czasu trwania przesyłanego 

bitu, np. 

zbocze opadaj

ą

cego  dla stanu LOW

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

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

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

= 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) 

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 

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

logicznymi

obecnie standard 

CAN 2.0A

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

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

D-

White

D+ 

Green

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

ę

 ró

ż

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 ?