You are on page 1of 27

Cliquez ici pour avancer Ici pour reculer

Ch.Dupaty 11/97

Les BUS S.P.I : Architechture


CLK :CLOCK MOSI : Master In Slave Out MISO : Master Out Slave In SELx : Slection du botier
CLK MOSI MISO SEL1 EEPROM

Matre (uC)

CLK

MOSI
MISO SEL1 RTC CLK MISO MOSI SEL1 SEL2 SEL3

CLK
MOSI MISO SEL1 Afficheur cristaux liquides

Quatre fils dont trois communs tous les botiers

Une horloge : CLK (max 250 MHz) Synchrone MISO : Master In / Slave Out De l esclave vers le matre MOSI : Master Out / Slave In Du matre vers l esclave Un fil de slection de botier : SELx
3

AVANTAGES !!!
Moins de broches sur les botiers Facilit de cblage Fiabilit (moins de soudures)

Le rapport liaisons / botiers est inversement proportionnel au nombre d esclaves Nombreux priphriques disponibles au standard S.P.I
4

Nombreux priphriques ...


Convertisseurs Analogiques Numriques Convertisseurs Numriques Analogiques Afficheurs cristaux liquides, LED Mmoires : RAM, EEPROM Timers Ports Etc.
5

PRINCIPE

Chaque composant possde un registre dcalage (8 ou 9 bits) L horloge est commune aux deux registres La sortie de l un est l entre de l autre L change se fait donc en 8 (9) fronts d horloge

EXEMPLE
Les diapositives suivantes montrent un exemple d change entre un micro contrleur (Le Matre) et une EEPROM (L Esclave). Au dpart les deux registres dcalage contiennent $8F et $72. Aprs huit font d horloge on constatera l change des deux donnes

Dans le cas d une horloge 200 KHz l change s effectue en : 40 uS


7

Communications Synchrones : Le BUS S.P.I


MAITRE ESCLAVE

Horloge A

CLK

Horloge B

1 0 0 0 1 1 1 1 $8F

MISO

0 1 1 1 0 0 1 0 $72
8

MOSI

MAITRE

ESCLAVE

Horloge A

1
CLK

Horloge B

0 0 0 1 1 1 1 $8F

0
MISO

1
MOSI

1 1 1 0 0 1 0 $72
9

MAITRE

ESCLAVE

Horloge A

CLK

Horloge B

0 0 0 1 1 1 1 0 $1E

MISO

1 1 1 0 0 1 0 1 $E5
10

MOSI

MAITRE

2
CLK

ESCLAVE

Horloge A

Horloge B 1

0 0 1 1 1 1 0 0 $1E

MISO

0
MOSI

1 1 0 0 1 0 1 $E5
11

MAITRE

ESCLAVE

Horloge A

CLK

Horloge B

0 0 1 1 1 1 0 1 0 $3D

MISO

1 1 0 0 1 0 1 0 $CA
12

MOSI

MAITRE

3
CLK

ESCLAVE

Horloge A

Horloge B 1

0 1 1 1 1 0 1 $2D

MISO

0
MOSI

1 0 0 1 0 1 0 $CA
13

MAITRE

ESCLAVE

Horloge A

CLK

Horloge B

0 1 1 1 1 0 1 1 $7C

MISO

1 0 0 1 0 1 0 0 $94
14

MOSI

MAITRE

4
CLK

ESCLAVE

Horloge A

Horloge B

1 1 1 1 0 1 1 $7C

1
MISO

0
MOSI

0 0 1 0 1 0 0 $94
15

MAITRE

ESCLAVE

Horloge A

CLK

Horloge B

1 1 1 1 0 1 1 1 $F7

MISO

0 0 1 0 1 0 0 0 $28
16

MOSI

MAITRE

5
CLK

ESCLAVE

Horloge A

Horloge B 0

1 1 1 0 1 1 1 $F7

MISO

1
MOSI

0 1 0 1 0 0 0 $28
17

MAITRE

ESCLAVE

Horloge A

CLK

Horloge B

1 1 1 0 1 1 1 0 $EE

MISO

0 1 0 1 0 0 0 1 $51
18

MOSI

MAITRE

6
CLK

ESCLAVE

Horloge A

Horloge B

1 1 0 1 1 1 0 $EE

0
MISO

1
MOSI

1 0 1 0 0 0 1 $51
19

MAITRE

ESCLAVE

Horloge A

CLK

Horloge B

1 1 0 1 1 1 0 0 $DC

MISO

1 0 1 0 0 0 1 1 $A3
20

MOSI

MAITRE

7
CLK

ESCLAVE

Horloge A

Horloge B 1

1 0 1 1 1 0 0 $DC

MISO

1
MOSI

0 1 0 0 0 1 1 $A3
21

MAITRE

ESCLAVE

Horloge A

CLK

Horloge B

1 0 1 1 1 0 0 1 $B9

MISO

0 1 0 0 0 1 1 1 $47
22

MOSI

MAITRE

8
CLK

ESCLAVE

Horloge A

Horloge B 0

0 1 1 1 0 0 1 $B9

MISO

1
MOSI

1 0 0 0 1 1 1 $47
23

MAITRE

ESCLAVE

Horloge A

CLK

Horloge B

0 1 1 1 0 0 1 0 $72

MISO

1 0 0 0 1 1 1 1 $8F
24

MOSI

Facile mettre en uvre

Le BUS S.P.I ...

Universel Rapide Performant


Simple programmer sur un micro controleur quip d un port srie synchrone S.P.I
25

La programmation...
1 : Activer le port S.P.I 2 : Choisir le mode Maitre ou Esclave (en gnral Maitre sur un uC) 3 : Choisir la vitesse de transfert par rapport celle de l Esclave 4 : Charger le registre S.P.I avec le contenu de l accumulateur 5 : C est parti 40 uS 200 KHz

6 : Attendre le positionnement d un drapeau de fin de transfert ou l activation d une interruption 7 : Charger l accumulateur avec le contenu du registre S.P.I C est tout 26

Recommencer ?

27