Liaison Intex 2840

Pour la suite de l'activité un compte-rendu est attendu chaque fois que vous voyez Garfield .

La carte mère utilise une liaison de type SPI pour envoyer des ordres vers la carte de commande. On peut distinguer trois types d'informations envoyées en écriture :

  • allumage des leds ou activation du buzzer ;

  • commandes des afficheurs 7 segments ;

  • scrutation des boutons-poussoirs, ce point sera vu plus loin car cela se fait en deux étapes (écriture + lecture par le maître).

Panneau de commande du spa Intex

Les informations sont envoyées sous forme de mots de 16 bits (octet B + octet A). Les données sont lues (échantillonnées) sur le front montant de SCLK et SCLK est à l'état haut au repos. Le mode SPI[1] correspond donc au mode 3.

Rappel

La carte mère envoie 57 mots de 16 bits de manière cyclique.

Les 7 premiers mots concernent les boutons-poussoirs, il s'agit d'une scrutation[2]. Ce point sera vu plus loin.

Les 50 mots suivants permettent d'allumer les leds, d'activer le buzzer et de commander les afficheurs 7 segments.

SimulationDécodage des mots de 16 bits

La carte de commande ne possède pas d'unité de traitement numérique ; le décodage des mots de 16 bits ne se fait pas de manière logicielle.

Le décodage est matériel et utilise deux registres à décalage 74HC595 qui permettent de passer de 16 bits envoyés en série à 16 sorties logiques disponibles en parallèle.

Chaque sortie logique permettra de commander leds, buzzer ou afficheurs ou de connaître l'état des boutons-poussoirs.

Décodage matériel des trames SPI envoyées par la carte mère
  • Dézipper puis ouvrir le fichier.

Q1. Grâce au debugger SPI, qui simule l'envoi de mots de 16 bits par la carte mère, envoyer des mots de 16 bits de valeur quelconque en hexadécimal puis vérifier que le mot est bien disponible en sortie des registres à décalage (B[7..0] et A[7..0]).

SimulationConversion série parallèle d'un octet

Pour comprendre le fonctionnement du registre à décalage il est nécessaire de réaliser une séquence manuellement en pilotant les broches du 74HC595.

Animation d'un registre à décalage

L'animation montre les bits qui circulent en série en haut à gauche sur la ligne Data. Chaque bit est chargé dans le registre à décalage (Shift Register) par la gauche. Le chargement d'un bit pousse les bits chargés précédemment vers la droite. Au bout de huit coups d'horloge (Clock) les 8 bits du registre à décalage deviennent disponibles en sortie du registre à verrou (Latch + Storage Register). On parle de chargement parallèle.

En résumé :

  • huit coups d'horloge pour charger le registre à décalage avec les huit bits transmis en série

  • puis un chargement parallèle pour que les huit bits chargés dans le registre à décalage deviennent disponibles en parallèle à la sortie du registre à verrou.

Ouvrir le fichier Isis 74HC595.DSN [zip] puis suivre les étapes indiquées pour visualiser comment fonctionne le 74HC595.

Simulation

La carte de commande utilise un deuxième registre 74HC595 car la sortie du 74HC595 ne comporte que 8 bits Q7 à Q0, or ce sont des mots de 16 bits que la carte mère envoie.

Dans ce cas il faut relier Q7' du premier registre à l'entrée série (DS) du deuxième registre puis raccorder les entrées SH_CP (horloge de décalage série) et ST_CP (chargement parallèle) du deuxième registre respectivement à SCLK et /nWR.

Décodeur matériel SPI de la carte de commande (interface SPI)

Q2. Modifier le fichier Isis 74HC595.DSN de manière à décoder un mot de 16 bits que vous enverrez manuellement. Vérifier le bon fonctionnement en simulant l'envoi de deux octets avec des valeurs remarquables.

Appelez le professeur pour valider votre travail.

Remarque

Pour la suite du TD on n'enverra plus les mots de commande de 16 bits manuellement, on utilisera le debugger SPI d'Isis relié de la manière suivante :

Utilisation du debugger SPI d'Isis pour simuler la liaison SPI Intex