2016-05-15
1
AKiSO
Interfejsy cyfrowe: I2C, SPI, 1-Wire, CAN
Interfejsy cyfrowe
I2C
Interfejs I2C (ang. inter-integrated circuit bus)
– standardowy protokół transmisji szeregowej
opracowany przez firmę Philips i przyjęty
powszechnie do sterowania zespołami cyfrowymi
– inne oznaczenia (I
2
C, IIC, SMBUS, Two-wire)
Materiały i szczegółowe informacje
www.semiconductors.philips.com/i2c
2016-05-15
2
Interfejsy cyfrowe
Cechy interfejsu I2C
– transmisja dwukierunkowa przy użyciu dwóch linii SCL (zegar) i
SDA (dane)
– układ nadrzędny (Master) oraz jeden lub więcej układów
podrzędnych (Slave)
– przemysłowa norma szyny I2C (Philips) zakłada możliwość
taktowania transmisji sygnałem zegarowym SCL o
częstotliwości od 0 do 100 kHz
– spotykane maksymalne częstotliwości to 400 kHz i 3,4 MHz
– układy współpracujące z szyną I2C muszą być wyposażone w
wyjścia z otwartym drenem dla linii SCL i SDA
– rezystory podciągające do VCC o rezystancji rzędu kΩ
I2C
Interfejsy cyfrowe
I2C
Elementy sieci I2C
2016-05-15
3
Interfejsy cyfrowe
I2C
Struktura sieci I2C
Interfejsy cyfrowe
I2C
Definicja sygnałów sterujących I2CBUS
SDA
SCL
START
STOP
Zmiana
stanu
na linii
SDA
Stabilny
stan
na linii
SDA
Charakterystyczne stany interfejsu I2C
2016-05-15
4
Interfejsy cyfrowe
I2C
Przesyłanie danych magistralą I2C
SDA
START
Dowolna ilość danych
STOP
SCL
1-7
8
8
9
9
1-7
ADRES
R/W
ACK
ACK
DANE
DANE
DANE
Interfejsy cyfrowe
I2C
S
S
S
Sr
R/W
R/W
R/W
R/W
DANE
DANE
DANE
D ANE
DAN E
DAN E
A
A
A
A
Format tran smisji: nadawca - master, odbiorca - slave
Format transmisji: nadawca - slave, odbiorc a - master
For mat transmisji ze zmianą nadawcy
S - sygnał start
A - sygnał potwier dzenia
P - sygnał stop
Sr - powtórzenie sygnału start
dane prze syłane do urząd zenia slave
dane prze syłane do urząd zenia master
A
A
A/A
A/A
A/A
A/A
P
P
P
A dres urz. Slave
A dres urz. Slave
A dres urz. Slave
Adres urz. Slave
Formaty transmisji I2C
2016-05-15
5
Interfejsy cyfrowe
I2C
Problemy sieci I2C
Interfejsy cyfrowe
I2C
Problemy sieci I2C
2016-05-15
6
Interfejsy cyfrowe
I2C
Problemy sieci I2C
Interfejsy cyfrowe
I2C
PCA9554
PCA9554A
Przykład: 8-bitowy port I/O z wyjściem przerwań
2016-05-15
7
Interfejsy cyfrowe
SPI
Interfejs SPI (ang. Serial Peripheral Interface)
– opracowany przez firmę Motorola
– wykorzystywany do połączeń między urządzeniami peryferyjnymi
i/lub mikroprocesorem
– transmisja realizowana za pomocą rejestru przesuwającego
– transmisja synchroniczna, w pełni dupleksowa
– 4 linie sygnałowe:
SCLK
: Serial Clock
MOSI
: Master Out Slave In - dane z Master do Slave
MISO
: Master In Slave Out - dane z Slave do Master
SS
: Slave Select
– sieć typu Master-Slave, w danej chwili tylko jeden Master
– max. częstotliwość zegara (SCLK), np. 20 MHz
– Microwire - odpowiednik firmy National Semiconductors
Interfejsy cyfrowe
SPI - Microwire
Interfejs Microwire – opis sygnałów
– CS (Chip Select)
sygnał generowany przez Master, najczęściej
mikrokontroler. Jeśli CS jest nieaktywny układ zachowuje się
tak jakby był odłączony od szyny.
– SK (Serial Clock)
jest to wejście sygnału zegarowego
generowanego przez Master. Sygnał ten jest wykorzystywany
do synchronizacji komunikacji pomiędzy współpracującymi
urządzeniami.
– DI (Data Input)
linia danych wejściowych. Służy do przesyłania
danych do urządzenia, synchronizowanych sygnałem z linii
SK.
– DO (Data Output)
linia danych wyjściowych. Służy do
przesyłania informacji o stanie pracy układu np. zajęty lub
gotowy do wykonania zadania nakazanego przez urządzenie
sterujące, oraz do przesyłania danych do Master,
synchronizowanych sygnałem SK.
2016-05-15
8
Interfejsy cyfrowe
SPI
Struktura połączeń SPI
Sygnały SS muszą być oddzielne !
Interfejsy cyfrowe
SPI
Może być różna konfiguracja sygnałów SCLK
2016-05-15
9
Interfejsy cyfrowe
SPI
Przykładowe przebiegi Microwire (EEPROM FM93C46)
Interfejsy cyfrowe
SPI
np.
FM93C46N
FM93C46LEM8
Symbol układu FM93C46 i pełne oznaczenie
2016-05-15
10
Interfejsy cyfrowe
1-Wire
Interfejs jednoprzewodowy 1-Wire
1-Wire
– interfejs szeregowy opracowany przez firmę Dallas Semiconductors,
składający się z 2 przewodów (linii sygnałowej i masy).
1-Wire® net
– system komunikacyjny w którym pojedyncze układ Master
komunikuje się z jednym lub więcej układami Slave poprzez protokół 1-Wire.
Master inicjuje i steruje wszystkimi urządzeniami poprzez sieć 1-Wire
.
Transfer danych odbywa się w trybie półdupleks, bajtowo bit po bicie
w kolejności od LSB do MSB.
Interfejsy cyfrowe
1-Wire
Cechy:
– poziomy logiczne: typowe CMOS/TTL
– maksymalna szybkość: 16,3kb/s
– maksymalna długość połączeń: do kilkudziesięciu m
– rezystor podciągający do V+
– synchronizacja odbywa się przez zbocze opadające i poprzez
określenie odcinków czasowych o różnych długościach (tzw.
time slots)
– istnieje możliwość zasilania układów Slave z układu Master
Sposób adresowania:
– każdy układ posiada niepowtarzalny 64-bitowy adres
– adres składa się z 8-bitowego pola określającego rodzinę
układu, 48-bitowego numeru seryjnego oraz 8-bitowego pola
CRC wyznaczonego z pierwszych siedmiu bajtów
2016-05-15
11
Interfejsy cyfrowe
1-Wire
Przykład podłączenia czujnika temperatury DS18B20
Podstawowe przebiegi
Reset i potwierdzenie obecności
Interfejsy cyfrowe
1-Wire
Podstawowe przebiegi cd.
Zapis 1. bitu
Odczyt 1. bitu
2016-05-15
12
Interfejsy cyfrowe
CAN
CAN − (ang. controller area network), protokół transmisji szeregowej
przy użyciu dwóch linii w warunkach silnych zakłóceń; zaprojektowany
specjalnie do zastosowania mikrokontrolerów w samochodach.
Cechy:
• asynchroniczną szyną transmisji szeregowej z tylko jedną linią transmisyjną
• ma strukturę otwartą, to znaczy może być rozszerzana o nowe węzły
(odbiorniki/nadajniki) oraz liniową, czyli nie zawiera pętli
• liczba węzłów w trakcie pracy szyny może się zmieniać bez wpływu na działanie szyny
• poszczególne węzły są przyłączone do szyny na zasadzie funkcji „zwarty iloczyn”
• maksymalna szybkość transmisji szyną CAN wynosi 1 Mbps przy długości linii nie
przekraczającej 40 m
• dane przesyłane są transmitowane metodą NRZ
• specyfikacja standardu CAN w wersjach 1.0, 1.2 i 2.0A przewiduje 11-bitowe
identyfikatory, czyli umożliwia współpracę 2048 węzłów
Interfejsy cyfrowe
CAN
S
z
y
b
k
o
ś
ć
t
ra
n
s
m
is
ji
[
k
b
it
/s
]
1000
100
10
5
40
100
1000
10000
Długość szyny CAN [m]
Szybkość
transmisji
2016-05-15
13
Interfejsy cyfrowe
CAN
Typowa struktura uczestnika sieci CAN
Interfejs
fizyczny
Protokół
kontrolera
Pamięć
komunikatów
Kontroler CAN
M
a
g
is
tr
a
la
C
A
N
Mikro-
kontroler
Interfejsy cyfrowe
CAN
Stany logiczne magistrali CAN
zgodnie ISO 11898
Recesywny
(
)
Recesive
Napięcie
na magistrali
CANH
CANL
Dopuszczalne
napięcie
różnicowe
2.5 V
3.5 V
2.5 V
1.5 V
0 - 0.5 V
0.9 - 2.0 V
Stan magistrali
Dominujący
(
)
Dominant
N
a
p
ię
c
ie
[
V
]
3.5
2.5
1.5
Recesywny (
)
Recesive
Dominujący (
)
Dominant