Tags:
create new tag
view all tags

Le registre à décalage

Introduction

La barre à LEDs ou les afficheurs sept segments nécessitent beaucoup de pins GPIO si toutes leurs anodes ou cathodes sont connectés en parallèle. Puisque le nombre de pins GPIO disponible sur la carte CPU est limité il est intéressant de trouver une solution d'interfaçage avec moins de connexion.

Un registre à décalage est un convertisseur série - parallèle qui prend des données bit par bit et les stocke dans un registre. Quand un bit est acquis, tous les bits pris précédemment sont décalé d'une position. La contenue du registre (8 bits en général) est disponible en parallèle.

Le SN74HC595

Le SN74HC595 est un registre à décalage de 8 bits contenant 2 registres interne :

  • le registre à décalage propre
  • un registre de sortie

74hc595.png

Comme on voit sur le diagramme bloque, 5 signaux de contrôle sont utilisés :

  • SER: les données sérielles
  • SRCLK: l'horloge pour les données. Sur le flanc montant de SRCLK le bit sur SER est transféré dans le registre à décalage
  • SRCLR: Si le signale est mise à la masse tous les bits du registre à décalage sont effacé
  • RCLK: Sur le flanc montant de RCLK les données dans le registre à décalage sont transféré dans le registre de sortie
  • OE: Si OE est à la masse le contenu du registre de sortie est visible sur les pins en sorti, autrement tous ces pins sont en haute impédance

74hc595block.png

Si on met

  • OE à la masse (les pins de sortie sont toujours active)
  • SCLR à Vcc
  • et on court-circuite SRCLK et RCLK
alors le nombre de connexions à des pins GPIO peuvent être réduits à deux : SER et SRCLK

-- Uli Raich - 2021-06-20

Comments

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng 74hc595.png r1 manage 79.9 K 2021-06-20 - 08:41 UliRaich  
PNGpng 74hc595block.png r1 manage 45.0 K 2021-06-20 - 08:48 UliRaich  
Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2021-06-21 - UliRaich
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback