Magistrale szeregowe
Download
Report
Transcript Magistrale szeregowe
Magistrale szeregowe
Magistrale
2/22
pamięci
zewn.
ukł.obsługi
PAO
dekodery
adresów
kontrolery
przerwań
timery
RTC
magistrala
systemowa
procesor
pamięć
programu
(ROM)
pamięć
danych
(RAM)
urz.
operatorskie
urz.
komunikacyjne
urz.
obiektowe
magistrale
komunikacyjne
inne systemy
panel operatorski
urządzenia
kontr-pomiar.
Magistrale komunikacyjne - I2C
I2C - “międzyscalakowa” synchroniczna magistrala szeregowa Philips’a
(I2C = IIC = Inter-Integrated Circuit)
Zastosowania:
komunikacja w rozproszonych systemach automatyki i pomiarów;
sterowanie urządzeniami peryferyjnymi;
nowoczesny sprzęt powszechnego użytku.
Budowa:
SCL - linia zegara o fMAX=100kHz (pierwotnie), 400kHz (standard 1.0
z 1992r.) 1MHz-3,4MHz (rozszerzenie 2.0 standardu z 1998r.);
SDA - linia danych;
wspólna masa;
linie SCL i SDA są sterowane przez wyjścia typu OC (OD)
- konieczna jest polaryzacja opornikami do Vcc;
do jednej magistrali może być dołączonych do 32 urządzeń.
3/22
Magistrale komunikacyjne - I2C
4/22
Charakterystyczne bity:
SCL
SCL
SCL
SCL
SDA
SDA
SDA
SDA
“S”
bit startu
“D”
bit danych
“A”
bit potwierdzenia
“E”
bit stopu
Transmisja polega na transmisji bajtów:
SCL
SDA
D7
D6
D5
D4
D3
D2
D1
D0
A
Magistrale komunikacyjne - I2C
5/22
Transmisja jest realizowana między urządzeniem nadrzędnym (master),
dostarczającym sygnału SCL i podrzędnym (slave), obsługującym tylko SDA.
Możliwe typy urządzeń dołączonych do jednej gałęzi I2C:
Vcc
SCL
SDA
master
nad/odb
slave
nad/odb
slave
odb
master
nad/odb
slave
nad/odb
slave
nad/odb
Magistrale komunikacyjne - I2C
6/22
Przy transmisji master slave bit “A” generuje slave gdy został poprawnie
zaadresowany i odebrał daną. Transmisję rozpoczyna master bitem “S”.
Transmisję kończy master bitem “E” lub nowym bitem “S”.
SCL
master
SDA
master S
SDA
slave
D7
D6
D5
D4
D3
D2
D1
D0
E
A
S
D7
D6
D5
Magistrale komunikacyjne - I2C
7/22
Przy transmisji slave master bit “A” generuje master gdy odebrał daną i ma
zamiar odbierać następne dane od slave. Nie podanie przez master bitu “A”
zmusza slave do przerwania nadawania. Transmisję kończy master bitem “E” lub
nowym bitem “S”.
SCL
master
SDA
slave
SDA
master
D0
D7
D6
D5
A
jest potwierdzenie od master
D4
D3
D2
D1
D0
S D7 D6 D5
brak potwierdzenia od master
Magistrale komunikacyjne - I2C
8/22
Adresowanie urządzeń
Podstawowe mechanizmy adresowania pozwalają zaadresować do 128 urządzeń
na jednej magistrali. Każde z urządzeń musi mieć nadany sprzętowo 7-bitowy
adres. Urządzenia mogą mieć różny charakter: master albo slave i realizować
transmisję jako: nadajniki, odbiorniki lub nadajniki-odbiorniki. Aby slave mógł
uczestniczyć w transmisji, musi najpierw zostać zaadresowany przez aktywnego
mastera. Master wysyła adres wywoływanego slave-a razem z bitem R/W
określającym kierunek transmisji następnych bajtów.
Magistrale komunikacyjne - I2C
9/22
Typowe protokoły transmisji:
1. master slave z pojedynczym rejestrem wewnętrznym
master
S
R/W
slave
adres
0 A
master
bajt
danych
slave
master
A X
slave
2. slave z pojedynczym rejestrem wewnętrznym master
master
S
R/W
slave
adres
1 A
slave
master
bajt
danych
slave
1 X
Magistrale komunikacyjne - I2C
10/22
3. master slave o wielu rejestrach wewnętrznych
master
S
R/W
slave
adres
xN
0 A adres wewn. slave
slave
A
bajt
danych
slave
master
A X
+
slave
4. slave o wielu rejestrach wewnętrznych master
master
S
R/W
slave
adres
1 A
slave
master
bajt
danych
x (N-1)
A
+
slave
master
bajt
danych
N
1 X
+
slave
Magistrale komunikacyjne - I2C
11/22
Przykładowa gałąź magistrali I2C:
VCC
4k7
SCL
SDA
4k7
5 6 7
5 6 7
_
S S I
D C N
A L T
O O
S S
C C A
I O 0
1 2 3
5 6 7
10k
S S R
D C C
A L
100n
VCC
PCF8583
RTC+240B
CMOSRAM
32768
ADR=1010000
A A A
0 1 2
1 2 3
PCF8582
256B
EEPROM
VCC
ADR=1010101
5 6 7
S S T
D C E
A L S
T
S S T
D C E
A L S
T
A A A
0 1 2
1 2 3
PCF8570
256B
CMOSRAM
VCC
ADR=1010001
A A A
0 1 2
1 2 3
PCF8570
256B
CMOSRAM
VCC
ADR=1010011
Magistrale komunikacyjne - D2BUS
D2BUS (D2BUS = DDBUS = Digital Data Bus)
Cechy D2BUS:
szybkość do 100kb/s;
zasięg do 150m;
możliwość zaadresowania do 4096 urządzeń;
do 50 urządzeń w jednej gałęzi magistrali;
jako łącze występuje najczęściej skrętka;
możliwość przejęcia sterowania magistralą przez którekolwiek
z urządzeń mające funkcję D2BUS master;
usunięcie lub wyłączenie urządzenia nie wpływa na komunikację
pomiędzy pozostałymi urządzeniami;
magistrala służy do komunikacji pomiędzy urządzeniami,
wewnątrz których zastosowano I2C.
12/22
Magistrale komunikacyjne - D2BUS
Przykład ramki magistrali D2BUS:
S - bit startu, P - bit parzystości, A - bit potwierdzenia, E - bit stopu
Zastosowania D2BUS:
łączenie niewielkiej liczby urządzeń rozmieszczonych na niedużym obszarze
(np. rozproszone lokalnie układy automatyki, sprzęt audio-wideo).
13/22
Magistrale komunikacyjne - D2BUS
Przykład wykorzystania D2BUS:
14/22
Magistrale komunikacyjne - CAN
CAN (Controller Area Network)
opracowanie firm Bosch i Intel
Cechy magistrali:
asynchroniczna, o dużej liczbie nadajników i odbiorników
(do 2032 w wersji 2.0A; do 500mln w wersji 2.0B);
usunięcie lub wyłączenie urządzenia nie wpływa na komunikację
pomiędzy pozostałymi urządzeniami;
szybkość do 1Mb/s przy 40m;
zasięg do 1000m przy 40kb/s;
nośnik: skrętka symetryczna;
bity są kodowane napięciami różnicowymi;
niewrażliwa na zakłócenia elektromagnetyczne.
15/22
Magistrale komunikacyjne - CAN
Gałąź CAN:
Standardowa ramka danych CAN:
16/22
Magistrale komunikacyjne - CAN
Zastosowania:
technika motoryzacyjna (wtrysk paliwa, ABS, poduszki powietrzne, systemy
oświetlenia, klimatyzacja, zabezpieczenia), technika lotnicza, roboty
przemysłowe, sterowniki przemysłowe (Siemens).
J1850 - odmiana amerykańska, niekompatybilna elektrycznie z CAN,
stosowana m.in. przez Chrysler, General Motors, Ford
ABUS - podobny do CAN system Volkswagena
VAN - podobny do CAN system Peugeot i Renault
17/22
Magistrale komunikacyjne - SPI
18/22
SPI (Serial Peripherial Interface)
opracowanie Motoroli
Cechy magistrali:
transmisja synchroniczna, pełnodupleksowa;
szybkość typowo 1,5Mb/s, maksymalnie do 6..10Mb/s;
trzy linie transmisyjne + linia wyboru układu podrzędnego;
4 tryby transmisji, zależnie od polaryzacji i wykorzystania zboczy zegara;
podział na układy master i slave;
master jest odpowiedzialny za generację sygnałów zegarowego i wyboru;
możliwe jest dołączenie wielu master i slave do jednej magistrali;
brak mechanizmów adresowania.
Zastosowania SPI:
obsługa szeregowych pamięci konfiguracji, przetworników A/C i C/A,
komunikacja wieloprocesorowa.
Magistrale komunikacyjne - SPI
Przykład
magistrali SPI:
Przykład ramki komunikacji z pamięcią EEPROM:
19/22
Magistrale komunikacyjne - SMBUS
SMBUS (System Management Bus)
opracowanie Intela z lat 80-tych
Cechy SMBUS:
• koncepcyjnie zbliżony do I2C;
• magistrala składa się z linii SMBDAT i SMBCLK;
• kompatybilny z I2C przy częstotliwości taktowania do 100kHz;
• określony jest limit czasu wykonania operacji - 25ms;
• taktowanie może być z przedziału 10kHz-100kHz.
20/22
Magistrale komunikacyjne - Microwire
Microwire
opracowanie National Semiconductor
Cechy magistrali:
• koncepcyjnie zbliżona do SPI;
• transmisja synchroniczna, pełnodupleksowa, zgodna z trybem 0 SPI;
• maksymalna szybkość transmisji 650kb/s;
• magistrala składa się z linii: SI (wejście), SO (wyjście) i SC (zegar);
• brak sygnałów wyboru układu podrzędnego.
Zastosowania:
komunikacja z pamięciami EEPROM, przetwornikami A/C i C/A,
specyficzne układy wykorzystywane w torach radiowych,
sprzęcie telekomunikacyjnym i urządzeniach audio.
21/22
Magistrale komunikacyjne - 1-Wire
22/22
1-Wire
opracowanie Dallas Semiconductor/Maxim
Cechy magistrali:
• jednoprzewodowa magistrala - połączenie zasilania i linii transmisyjnej;
• transmisja synchroniczna, półdupleksowa;
• szybkość transmisji 16,3kb/s (tryb standard) i 115,2kb/s (tryb overdrive);
• ograniczony czas trwania bitu (60s);
• występują układy master i slave;
• układy mają unikalne identyfikatory - możliwość adresowania slave-ów.
Zastosowania:
rodzina układów iButton, mierniki temperatury, pamięci RAM , ROM, EPROM
i EEPROM, zegary RTC, przetworniki A/C, interfejsy do innych łączy
szeregowych (RSxxx, USB), monitory zasilania, potencjometry cyfrowe.