Constitution pour un système Motorola

Constitution d’un système Motorola

Le diagramme bloc SPI


Le mode SPI peut-être configuré pour fonctionner soit en Maître soit en Esclave, la vitesse de transmission varie de 1,5 MHz à 3 MHz. On remarque la bidirectionnalité du registre à décalage.


Le registre SPCR: Serial Peripheral Control Register

SPIE 

Validation de l'interruption en fin de transfert 

= 1 interruption validée (si le SPIF du SPSR passe à 1 on a une interruption) 

= 0 interruption inhibée (si le SPIF du SPSR passe à 1 on n'a pas interruption, il faut le scruter) 

SPE 

Validation SPI 

= 1 le port D est en SPI 

= 0 le port D est en I/O normal 

DOWM 

Port D Wire or Mode Option : 

=1 les sorties du port D sont en type collecteur ouvert 

= 0 elles sont de types CMOS 

MSTR 

Master Mode Select: 

= 1 le 68HC est en Master (SS à 1) 

= 0 le 68HC est en Slave (SS à 0) 

CPOL 

Clock POLarity 

= 1 le SCK est à 1 au repos 

= 0 le SCK est à 0 au repos 

CPHA 

Clock PHAse 

= 1 le SCK est valide sur front montant 

= 0 le SCK est valide sur front descendant 

SPR1 & 0 

= 00 l'horloge interne est divisée par 2 

= 01 l'horloge interne est divisée par 4 

= 10 l'horloge interne est divisée par 8 

= 11 l'horloge interne est divisée par 16 

Pas d'effet en mode slave 



Le registre SPSR: Serial Peripheral Status Register


SPIF 

Drapeau de fin de transfert SPI / Flag SPI (si SPIE=1) 

= 1 le transfert est terminé 

= 0 le transfert n'est pas terminé 

WCOL 

Write COLlision 

= 1 collision en écriture détectée 

= 0 pas de collision 

MODF

Mode Fault: drapeau qui indique un défaut de mode 

= 1 (le 68HC est en master avec un SS=0) 

= 0 


Le registre SPDR: Serial Peripheral Data Register


C'est le registre où s'effectue le transfert des données.


Le système de détection d'erreur SPI

Seules 2 types d'erreurs sont détectés:

  • Erreur de mode: détection d'un niveau bas sur SS alors que le 68HC est déclaré en Maître, il ne peut y avoir 2 maîtres sur le même bus SPI
  • Erreur de collision: détection d'une écriture dans le SPDR alors que le transfert n'est pas terminé.


Créé avec HelpNDoc Personal Edition: Créer de la documentation iPhone facilement