Professional Documents
Culture Documents
Ch.Dupaty 11/97
Matre (uC)
CLK
MOSI
MISO SEL1 RTC CLK MISO MOSI SEL1 SEL2 SEL3
CLK
MOSI MISO SEL1 Afficheur cristaux liquides
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
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
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
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