Vous êtes sur la page 1sur 3

Projet Baccalaurat 2008

Pompe Optima

LA LIAISON SPI : SERIAL PERIPHERAL INTERFACE


Gnralits Une liaison SPI stablit entre un matre, Master (habituellement un microcontrleur) et un esclave, Slave (convertisseur, registre dcalage, mmoire, microcontrleur) et permet lchange, en srie, de donnes. Lchange de donnes peut seffectuer dans les deux sens (Full duplex). Cette liaison, synchrone, seffectue par lintermdiaire de trois fils nots MOSI (Master Output Slave Input), MISO (Master Input Slave Output) et SCK (SPI Serial Clock). La frquence de lhorloge SCK est fix par le matre et est programmable. La figure ci-dessous nous montre une liaison SPI classique entre le microcontrleur matre et plusieurs priphriques esclaves.
Slave 1 MISO MOSI SCK SS Slave 2 MISO MOSI SCK SS MISO MOSI SCK SS Slave 4
page 1/3

MISO MOSI SCK SS Master Port 0 1 2 3

Le microcontrleur matre slectionne UN et UN SEUL esclave en utilisant un des quatre bits de port pour slectionner via lentre /SS le composant avec lequel il veut changer des donnes. La liaison SPI du microcontrleur AT80C5112 Description des diffrents fils de liaison Master Output Slave Input (MOSI) : la ligne MOSI est utilise pour transfrer les donnes, sous forme srie, entre le matre et lesclave, dans le sens matre vers esclave. Cette ligne est donc en sortie pour le matre et en entre pour lesclave. La transmission se fait, le MSB en premier et le LSB en dernier.

Document Ressource Liaison SPI

MISO MOSI SCK SS Slave 3

Projet Baccalaurat 2008

Pompe Optima

Master Input Slave Output (MISO) :

la ligne MISO est utilise pour transfrer les donnes, sous forme srie, entre le matre et lesclave, dans le sens esclave vers matre. Cette ligne est donc en entre pour le matre et en sortie pour lesclave. La transmission se fait, le MSB en premier et le LSB en dernier.

SPI Serial Clock (SCK) :

ce signal sert synchroniser lenvoi de la donne sur la ligne MOSI ou la rception de la donne sur la ligne MISO. Ce signal dhorloge est gnr par le matre et est une succession de 8 priodes ncessaires la transmission (ou la rception) dun octet. chaque priphrique esclave est slectionn par une broche, note /SS. Cette entre doit tre ltat bas pour communiquer avec le composant slectionn. Pour viter tout conflit de BUS sur la ligne MISO, un priphrique esclave et un seul doit tre slectionn.

Slave Select (/SS) :

Vitesse de transmission En mode matre, la vitesse de transmission est slectionne par 3 bits du registre SPCON (Serial Peripheral CONtrol register): SPR2, SPR1 et SPR0. La frquence dhorloge est choisie parmi 7 frquences obtenues par division de la frquence de fonctionnement du microcontrleur. SPR2 : SPR1 : SPR0 000 001 010 011 100 101 110 Frquence de la SPI Fc/2 Fc/4 Fc/8 Fc/16 Fc/32 Fc/64 Fc/128

Mode opratoire Pendant une utilisation de la liaison SPI, une donne est transmise (c priphrique) et simultanment, une donne peut-tre reue (priphrique c). Lhorloge SCK synchronise le changement et la lecture du bit sur les deux lignes MOSI et MISO. Pour transmettre un octet, il suffit dcrire cet octet dans le registre SPDAT (Serial Peripheral Data Register) du microcontrleur ; ds que celui-ci est plein, loctet est immdiatement transmis sous forme srie en synchronisme avec lhorloge SCK. Au bout de 8 priodes dhorloge la transmission est termine.

Document Ressource Liaison SPI

page 2/3

Projet Baccalaurat 2008

Pompe Optima

Format de transmission Il est possible de choisir le type dhorloge grce une combinaison de 2 bits dans le registre SPCON : le bit not CPOL (Clock POLarity) et le bit not CPHA (Clock PHAse). CPOL dtermine le niveau logique de la ligne SCK au repos. CPHA dtermine le front sur lequel la donne est modifie et le front sur lequel la donne va tre lue.

Document Ressource Liaison SPI

page 3/3

Vous aimerez peut-être aussi