Circuits logiques

publicité
http://www.didel.com/
[email protected] http://www.bricobot.ch/
[email protected]
http://www.didel.com/pic/CircuitsLogiques.pdf
Circuits logiques
Les fabricants de microcontrôleur, Microchip,
AVR, etc, documentent les interfaces de sortie
avec des figures comme ci-contre. On trouves
ailleurs de compteurs, des registres à décalage.
Ce document introduit les notions importantes
concernant les circuits logiques pour faciliter
cette compréhension, sans aller dans les détails
que l’on trouve dans des livres comme
J.D. Nicoud ‘’Circuits numériques pour interfaces
microprocesseur’’ (Masson). Ce livre n’est plus
disponible en librairies. La plupart des figures
sont reprises de ce livre.
Electricité – ce que tout le monde sait (?)
Tension U en Volts V
Courant I en Ampères A mA
Résistance R en Ohms Ω kΩ
Capacité C en Farads F µF nF
Loi d’Ohm U = R I
Loi de Coulomb C U = Q = 1 A s
Travail/énergie 1 J = 1 N m = 1 A s
1 W h = 3600 J Accu 1mAh à 3.6V = ~10J
Puissance 1 W = 1 V A = 1 J / s
Electronique
Une résistance pull-up
impose une tension
proche de V+ et évite que
la ligne soit flottante, donc
avec une valeur logique
mal définie.
Une capacité de découplage réduit
les pointes négatives de tension
lors de la commutation des signaux.
On évite d’utiliser des filtres passebas et passe-haut ; retarder ou
dériver un signal se fait par
programmations.
Entrées et sorties logiques
Une entrée d’un
microcontrôleur ou d’un circuit
CMOS a une impédance
élevée. Les seuils qui
définissent les états logiques 0
et 1 dépendent de la tension
d’alimentation.
Une sorties donne pour les
états 0 et 1 une tension qui
garantit une immunité au bruit.
Si la sortie est surchargée, la résistance interne limite le
courant et l’échauffement peut être destructeurs.Cette
résistance est assez importante sur une sortie de
microcontrôleur. Elle est plus élevée vers le +. On préfère
donc câbler une diode lumineuse pour qu’un état 0 soit actif.
Les valeurs de la figure dépendent de la tension
d’alimentation.
Pour augmenter le courant, on peut connecter plusieurs
sorties en parallèles, et leur assigner naturellement le même
état logique, Un moteur miniature de 30 Ohm peut ainsi être
commandé par un port 8 bits sans amplis supplémentaires.
Les 4 bits de poids faible et les 4 bits de poids fort sont
utilisés pour une commande bidirectionelles.
Amplificateur
Pour amplifier le courant de sortie, on
utilise un transistor MOS. Pour une
commande bidirectionelle par 2 bits du
processeur, un grand choix de driver
moteurs existe. Pour un courant de 100
mA, une porte 74F04 commande 3
moteurs. Un 74F245 commande 4
moteurs (voir plus loin).
Sortie à 3états
Les sorties des PICs sont activées
par la variable Tris. Un 0 sur
l’entrée /OE active les transistors
de sortie. Si /OE est à 1, la sortie
est ‘’en l’air’’, représentées sur les
diagrammes de temps par une
tension moyenne, alors que toutes
le tensions sont possibles.
Sortie en collecteur ouvert
Dans une sortie en collecteur ouvert, seul le
transistor du bas est câblé. Une résistance
‘’pull-up’’ est nécessaire pour assurer l’état 1.
Le collecteur ouvert, indispensable pour le bus
I2C, peut se simuler avec du trois états.
Bascule de Schmitt (Schmitt-trigger)
La bascule de Schmitt présente une
hystérèse qui fait que les petites
fluctuations du signal ne passent
pas. C’est l’idéal pour toute ligne
connectée à un signal extérieur.
Sur un PIC, seuls les timers ont une
entrée en Schmitt trigger.
Temps de propagation et métastables
Tous les signaux en sortie sont
synchronisés par l’horloge et les signaux
d’entrée sont échantillonnés avec une
probabilité d’états métastables négligeable.
Reset et brown-out
A la mise sous tension, un délai est
programmé et le reset est activé. Si la
tension baisse (brown-out) en dessous
d’une valeur programmable dans un bit de
configuration, il y a également reset.
Portes logiques
Les tables de vérité sont bien
connues. Remarquez les deux
schémas équivalents suite à la loi
de De Morgan. Dans un schéma,
il faudrait toujours utiliser la forme
qui exprime exactement la
fonction réalisée,
indépendamment du fait que les
signaux sont inversés ou non.
Bascules
Le bascules, et ce que l’on construit avec,
changent d’état au front montant ou
descendant de l’horloge. La convention du
rond d’inversion n’est pas toujours
respectée.
Si le chargement est statique (pendant la
durée de l’impulsion), on a un verrou (latch).
Registres
PIPO Parallel In Parallel Out
PISO Parallel In Serial Out
SIPO Parallel In Serial Out
SISO Serial In Serial Out
Multiplexeurs
Les multiplexeurs sont utilisés pour séletionner une entrée parmis plusieurs, comme pour
le choix d’un canal analogique. Microchip n’utilise pas le symbole traditionnel, mais
dessine des interrupteurs ou des portes ET.
Familles logique
Utiliser des circuits logiques dans un montage microcontrôleur peur permettre d’utiliser un
processeur plus petit, de simplifier le câblage vers l’application, de disposer d’entrées ou
sorties à plus haute tension, de sorties à plus puissantes.
La famille HC-MOS est intéressante pour ses registres à décalage. La famille 74F
également, avec des courants plus important.
Extension du nombre d’entrées ou sorties sur un microcontrôleur
Les registres série 8 bits offrent des
possibilités d’extension plus facile à
mettre en œuvre qu’avec les circuits
I2C. On peut cascader les registres, et
n’utiliser que 2 lignes pour la
commande.
Pour commander des LEDs, des registres 8
et 16 bits avec source de courant facilitent
la commande de LEDs. Une seule
résistance fixe la valeur du courant pour
toutes les sorties.
Capteurs et circuits spécialisée pour réseaux, affichages, etc
Le domaine est trop vaste pour être abordé ici. Internet donne accès aux spécification
des fabricant, et parfois à des solutions utilisables. Citons les quelques documents
(anciens) sur des capteurs robotique.
www.didel.com/doc/sens/DocIr.pdf
www.didel.com/doc/sens/DocIrt.pdf
www.didel.com/doc/sens/DocIrLog.pdf
www.didel.com/doc/sens/DocSharp.pdf
jdn 100420/100510
Téléchargement