Exemples d'Exercices SPI et Programmation
Exemples d'Exercices SPI et Programmation
MSB Temperature
Manufacturer ID
02hex
03hex
-
-
T9
0
T8
1
T7
0
T6
1
T5
0
T4
1
T3
0
T2
0
00hex
54hex
- Envoyez l'adresse 0x80 (A7 = 1), suivi de la commande One-Shot (contrôle =
0001 0101),
Le registre de contrôle permet à travers les bits One Shot et Shutdown de sélectionner - Désactiver TC72 (CE = 0),
le mode Shutdown (mode économique), conversion continue ou à la demande (One - Attendez au moins 150 ms pour que la température soit disponible,
Shot). - Activez TC72 (CE = 1, pour le transfert de données multiples),
Operational Mode One-Shot Bit 4 Shutdown Bit 0 - Envoyer la commande de lecture (adresse de lecture = 0x02),
Continuous Temperature Conversion 0 0
Shutdown 0 1 - Lire la température deux octets consécutifs MSB puis LSB,
Continuous Temperature Conversion 1 0 - Désactivez le transfert de données TC72 (CE = 0),
(One-Shot Command is ignored if Shutdown = ‘0’)
One-Shot 1 1 Ecrire un programme qui permet de faire l’acquisition de la température toutes les
A chaque fois que la combinaison One-Shot =1 et Shutdown = 1 est sélectionné (mode secondes. La donnée reçue sera envoyée sur le port série.
One Shot), une seule mesure est effectuée. Après la fin de conversion le bit One-Shot Exercice N° 3
revient à zéro (le circuit revient au mode Shutdown).
L’AD5200 est une résistance programmable, avec 256 positions, qui peut être
Que ce soit en mode One Shot ou continu, la donnée de mesure devient disponible contrôlée numériquement via une interface série SPI à 3 fils. L’AD5200 offre une
après 150ms environ. valeur de résistance entièrement programmable, entre la borne A et le curseur, ou la
La figure suivante illustre les chronogrammes des opérations d’écriture et de lecture. borne B et le curseur. La résistance terminale entre A à B est de 10 kΩ ou 50 kΩ.
La formule suivante donne le lien entre la valeur de la résistance entre les broches A
et W, et la valeur numérique (D).
255 𝐷
𝑅 𝐷 𝑅 50Ω
255
Le potentiomètre est préréglé en interne lors de la mise sous tension ; ce préréglage
interne force le curseur en position moyenne en chargeant la valeur 80H dans le verrou
de l’AD5200. De plus, l’AD5200 contient une broche 𝑆𝐻𝐷𝑁 de coupure
La lecture de la température nécessite les étapes suivantes : d'alimentation qui placent le RDAC dans un état de consommation d'énergie nulle où
les commutateurs immédiats à côté des bornes A et B sont en circuit ouvert. Pendant
- Activez TC72 (CE = 1),
ce temps, le curseur W est connecté à la borne B, ce qui entraîne uniquement une
Exercice N° 4
Ecrire un programme qui permet de générer à la sortie du DAC une tension de 3,3V.
L’AD5621 est un convertisseur numérique-analogique de 12 bits à sortie tension. Ce
circuit utilise une interface série à trois fils compatible SPI.
Exercice N° 5
Les 25AA256/25LC256 sont des PROMs série de 256 Kbits effaçables
électriquement. La mémoire est accessible via un simple bus série compatible SPI.
L'accès à l'appareil est contrôlé par une entrée Chip Select (𝐶𝑆). La communication
avec le circuit peut être interrompue via la broche de maintien (𝐻𝑂𝐿𝐷 ).
Le 25XX256 contient un registre d'instructions de 8 bits. L'accès au circuit s'effectue
via la broche SI, les données étant synchronisées sur le front montant du SCK. La
broche 𝐶𝑆 doit être basse et la broche 𝐻𝑂𝐿𝐷 doit être haute pour toute l'opération. Le
Tableau suivant contient une liste des octets d'instructions possibles et le format pour
le fonctionnement du circuit.
Opération d’écriture impulsions d'horloge. Lorsque l'adresse la plus élevée est atteinte (7FFFh), le compteur
d'adresses retourne à l'adresse 0000h. L'opération de lecture se termine lorsque la
Avant toute tentative d'écriture de données sur le 25XX256, le verrou de validation
broche 𝐶𝑆 passe à l’état haut.
d'écriture doit être défini en émettant l'instruction WREN. Cela se fait en mettant 𝐶𝑆 à
un niveau bas, puis en synchronisant les instructions appropriées dans le 25XX256.
Une fois que les huit bits de l'instruction ont été transmis, le 𝐶𝑆 doit être mis à l'état
haut pour la validation d'écriture. Une fois que le verrou de validation d'écriture est
défini, l'utilisateur peut continuer en définissant le 𝐶𝑆 au niveau bas, en émettant une
instruction WRITE, suivie de l'adresse 16 bits, puis les données à écrire. Jusqu'à 64
octets de données peuvent être envoyés en un cycle d'écriture. La seule restriction est
que tous les octets doivent résider dans la même page. Le cycle d’écriture prend
environ 5ms.
Séquence de lecture
1. Ecrire une fonction qui permet d’écrire un octet dans l’EEPROM.
2. Ecrire une fonction qui renvoie la valeur stocker dans l’EEPROM à partir d’une
adresse donnée.
3. Ecrire un programme qui permet de stocker à partir de l’adresse 0x0000, 20 valeurs
consécutives, puis de les restituer.
Séquence WREN
Séquence d’écriture
Opération de lecture
Le circuit est sélectionné en tirant 𝐶𝑆 vers le bas. L’instruction READ 8 bits est
transmise au 25XX256 suivi de l’adresse 16 bits. Une fois que l'instruction et l'adresse
READ correctes ont été envoyées, les données stockées dans la mémoire à l'adresse
sélectionnée sont décalées sur la broche SO. Les données stockées dans la mémoire à
l'adresse suivante peuvent être lues séquentiellement en continuant à fournir des