07 interfejsy szeregowe

background image

Interfejsy szeregowe

Dariusz Chaberski

background image

Interfejs I

2

C

SCL

SDA

progra-

mowalna

matryca

bramek

sterownik

wyświe-

tlacza

LCD

mikro-

kontroler

A

prze-

twornik

A/C

pamięć

RAM lub

EEPROM

mikro-

kontroler

B

I

2

C - Inter IC - Inter Integrated Circuit

2

background image

§ elektryczne podłączenie dwóch urządzeń z wykorzystaniem magistrali I

2

C

SDA (Serial Data Line) - linia danych

urządzenie 1

CLK1

OUT

CLK1

IN

DATA1

OUT

DATA1

IN

SCL (Serial Clock Line) - linia zegara

rezystory

podwieszające R

p

R

p

V

DD

urządzenie 2

CLK2

IN

DATA2

IN

DATA2

OUT

CLK2

OUT

3

background image

§ transfer pojedynczego bitu

SCL

SDA

linia danych

stabilna

zm

ia

n

a

d

a

n

y

ch

d

o

zw

o

lo

n

a

4

background image

§ rozpoczęcie i zakończenie transmisji

SDA

SCL

warunek STOPu

warunek STARTu

S

P

5

background image

§ transfer danych (2 bajty)

SDA

SCL

S

lub

Sr

MSB

9

3-8

2

1

8

9

ACK

1

2

Sr

lub

P

potwierdzenie z układu

podrzędnego

warunek Startu lub

powtórzonego

Startu

warunek Stopu lub

powtórzonego

Startu

bajt skompletowany - przerwanie wewnątrz

układu podrzędnego

linia zegara utrzymywana na niskim poziomie

w momencie obsługi przerwania

Sr

P

ACK

7

6

background image

§ potwierdzenie

warunek Startu

SDA (nadajnik)

SDA (odbiornik)

SCL (układ

nadrzędny)

brak potwierdzenia

potwierdzenie

impuls zegarowy

dla potwierdzenia

S

1

2

8

9

7

background image

§ synchronizacja zegara podczas procedury arbitrażu

rozpoczęcie

odmierzania czasu

trwania stanu

wysokiego

reset licznika

SCL (1)

SCL (2)

SCL

stan oczekiwania

8

background image

§ procedura arbitrażu dwóch MASTERów

S

układ nadrzędny 1

traci arbitraż

SDA16=SDA

SDA (1)

SDA (2)

SDA

SCL

9

background image

§ kompletny transfer danych

SCL

SDA

S

1-7

8

9

1-7

8

9

1-7

8

9

dane

potwierdzenie

dane

R

/W

adres

warunek

Startu

potwierdzenie

potwierdzenie warunek

Stopu

P

10

background image

§ adresowanie SLAVE’a 7-bitowym adresem poprzez MASTERa, który jest nadajnikiem

§ natychmiastowy odczyt SLAVE’a

11

background image

§ format kombinowany

12

background image

PCF8574 Remote 8-bit I/O expander for I2C-bus

13

background image

§ Simplified schematic diagram of each I/O

14

background image

§ Addressing

15

background image

§ WRITE mode (output)

16

background image

§ READ mode (input)

17

background image

§ Interrupt generated by a change of input to I/O P5

18

background image

§ Transient pull-up current I

OHt

while P3 changes from LOW-to-HIGH and back to LOW

19

background image

Interfejs SPI

20

background image

§ SPI Transfer Format with CPHA = 0 (8-bit)

21

background image

§ SPI Transfer Format with CPHA = 1 (8-bit)

22

background image

§ 16-bit SPI Transfer Format

23

background image

§ Setup & Hold Timing

24

background image

§ Timing Master Mode

25

background image

§ Timing Slave Mode

26

background image

USART

Universal (Synchronous) Asynchronous Receiver Transmitter

§ UART

TX/RX

D0 D1 D2 D3 D4 [D5] [D6] [D7] Pa Sto Sto

Sta

RS - Recommended Standard

RS 232 H = -12 V, L = +12V

RXD Received eXchange Data

TXD Transmit eXchange Data

D0

D1

D2

Sta

TX/RX

27

background image

§ USRT

D0 D1 D2 D3 D4 [D5] [D6] [D7] Pa

TX/RX

CLK

TX/RX -> CLK

28

background image

1-Wire

29

background image

§ Pin electrical scheme

30

background image

§ Communication sequence

31

background image

§ WRITE/READ

32

background image

§ 1-Wire waveforms/Master Timing

33

background image

§ RESET

unsigned char reset1w(void){

unsigned char ret=0, i;

PORTA&=0xfe;

DDRA|=0x01;

for(i=0; i<48; i++)

delay us(10);

DDRA&=0xfe;

PORTA|=0x01;

delay us(65);

if((PINA&0x01)==0x00)

ret=1;

delay us(90);

if((PINA&0x01)==0x00)

ret=0;

for(i=0; i<15; i++)

delay us(30);

return ret;

}

34

background image

§ WRITE

void w1w(unsigned char w){

unsigned char i;

for(i=0; i<8; i++){

PORTA&=0xfe;

DDRA|=0x01;

delay us(11);

if((w & (1<<i))==0)

delay us(60);

DDRA&=0xfe;

PORTA|=0x01;

delay us(60);

}

}

35

background image

§ READ

unsigned char r1w(void){

unsigned char i, ret=0, j;

for(i=0; i<8; i++){

PORTA&=0xfe;

DDRA|=0x01;

delay us(1);

DDRA&=0xfe;

PORTA|=0x01;

delay us(14);

if((PINA & 0x01)!=0)

ret|=(1<<i);

delay us(60);

}

return ret;

}

36

background image

§ 8-bit CRC (Cyclic Redundancy Check)

37

background image

unsigned char crc1w(unsigned char * tab){

unsigned char crc=0, i, j, t1, t2, t, tt=0;

for(i=0; i<8; i++){

t=tab[i]; t1=t;

for(j=0; j<8; j++){

t^=crc;

t2=t&0x01;

t=crc;

if(t2)

t^=0x18;

t=(t>>1)+0x80*t2;

crc=t;

t1=(t=t1>>1);

}

tt|=tab[i];

}

if(tt==0) return 1;

return crc;

}

38


Wyszukiwarka

Podobne podstrony:
Program testujący dla wyświetlaczy VFD firmy Noritake z interfejsem szeregowym
#6 INTERFEJSY SZEREGOWE
AVT5351 Modul interfejsow szeregowych dla Arduino
Interface szeregowy MODBUS
Interface szeregowy MODBUS
Pytania dodatkowe na zajęcia laboratoryjne z KSPD, Budowa, właściwości i zastosowania pomiarowe inte
Interfejsy szeregowe RS232, PROFIBUS
Interface szeregowy PROFIBUS
INTERFEJSY SZEREGOWE
Interfejs szeregowy i równoległy
Interfejsy szeregowe, ELEKTRONIKA I PROGRAMOWANIE, Mikroprocesory, programowanie Bascom, AVR,
INTERFEJSY SZEREGOWE, technika
Interfejsy szeregowe
USB Uniwersalny interfejs szeregowy komusb
USB Uniwersalny interfejs szeregowy komusb

więcej podobnych podstron