Une question pour laquelle je n'ai pas eu de réponse :
lorsqu'on dit que le bus spi lit une adresse , on parle de quelle adresse ? (adresse mémoire ? adresse d'un registre ? adresse d'une carte)
je suis perdu !
merci à tous
-----
06/10/2017, 10h55
#2
micka_ch
Date d'inscription
octobre 2010
Localisation
Vicques (CH)
Messages
330
Re : Lecture sur bus spi
Bonjour,
Dans certain cas, on accède aux données et au configuration d'un slave SPI via un jeu de registre. Par exemple si j'interface un accéléromètre LIS2HH12 via SPI et que je veux obtenir l'accélération sur l'axe X, je dois lire la valeur du registre OUT_X_L qui à l'adresse 0x28. Le protocole pour lire/écrire dans les registres est défini dans la fiche technique :
Dans cette exemple, le protocole est assez simple.
Par contre "le bus spi lit une adresse" c'est a mon avis bien mal tourné comme phrase.
Salutations
06/10/2017, 13h39
#3
jiherve
Date d'inscription
juin 2006
Localisation
gironde
Âge
72
Messages
26 658
Re : Lecture sur bus spi
Bonjour,
en clair pour lire une donnée au moyen du bus SPI on commence par écrire la valeur de l'adresse de la donnée à lire dans le registre prévu à cet effet du slave SPI et ensuite celui ci renverra le contenu de la location pointée par cette adresse ce peut être un registre de l'esclave ou bien le contenu d'une case d'une mémoire qui lui serait attachée ou tout autre périphérique.
C'est le même mécanisme que celui utilisé pour écrire : une séquence ou l'on transmet l'adresse suivi d'une séquence où l'on transmet(écriture) ou reçoit une donnée(lecture).
La plupart des contrôleurs SPI offrent la possibilité d'enchainer écritures ou lectures dans des cases adjacentes, on ne transmet que l'adresse de la première case à lire ou écrire et ensuite on pulse l'horloge de façon ad hoc pour échanger les données.
JR