Vous êtes sur la page 1sur 10

EST SAFI – Mme O.

IKHOUANE Dept GI 1ère Année

CHAPITRE 1

AUTOMATISMES LOGIQUES – NOTIONS DE BASE

Nous sommes environnés de systèmes automatisés à la maison (le réveille-matin, la machine à laver,
l’ascenseur, l’ordinateur, etc.) comme en ville (feux de croisements, distributeurs de billets, etc.).
L'industrie, quant à elle, ne peut éviter l'automatisation qui permet à l'homme d'échapper à des tâches
fastidieuses (remplir une boîte de conserve, une bouteille d’eau, etc.) ou irréalisables (souder les
composants électroniques d’un téléphone portable). Elle permet même de se passer de l'intervention
humaine quand celle-ci peut nuire à la qualité du produit élaboré : dans l’industrie alimentaire par
exemple, l'automatisation permet de diminuer les contaminations.

1 – DEFINITIONS

Les automatismes logiques sont des systèmes dans lesquels l’information traitée est de type binaire.
Elle est représentée par des signaux électriques à 2 états notés 0 et 1. L’amplitude des signaux V diffère
selon la technologie utilisée : par exemple 0-5V pour de la technologie TTL, 0-15V pour de la
technologie CMOS.
V

0 t

Figure 1.1 – Signal binaire


Deux classifications importantes des automatismes logiques peuvent être envisagées.
1.1 – Classification fonctionnelle

1.1.1 – Les systèmes combinatoires


Un système est dit combinatoire lorsque la (ou les) sortie(s) ne dépend(ent) que de la
combinaison des entrées. Dans les systèmes combinatoires, le temps n’intervient pas.

a
S 1= f 1(a,b,c,d)
b
Circuit combinatoire S2= f2(a,b,c,d)
c
S3= f3(a,b,c,d)
d

Figure 1.2 – Système combinatoire


La même cause (même combinaison des entrées) produit toujours le même effet (même état des
sorties). L'effet disparaît lorsque la cause disparaît. Donc, nous pouvons écrire :
S i  f(i e1,e 2 ,e3 ,.....,en )
Exemple
L
A

La lampe L s’allume si on appuie sur le poussoir A ou sur le poussoir B ou sur les deux en même temps.
On écrit :
L  A B
1.1.2 – Les systèmes séquentiels
Un système est dit séquentiel lorsque la (ou les sorties) dépend(ent) de la combinaison des entrées et
des évènements précédents. Il est donc nécessaire pour cela de mémoriser l’état précédent des sorties.

a s(1 t  1)  f1a,b,c,s(1 t )
b
c Circuit combinatoire Mémoire
s1 (t) s2( t  1)  f2 a,b,c,s2( t )

s2 (t)

Figure 1.3 – Circuit séquentiel


Une même cause (même combinaison des entrées) peut produire des effets différents. Le temps peut
être une cause déclenchante. L'effet peut persister si la cause disparaît. On écrit :
S(i t  1)  fi e1,e 2,...,en ,s(i t )

1.2 – Classification technologique


Cette classification permet de considérer :
 les circuits logiques câblés pour les cas usuels et dont la caractéristique demeure la rapidité ;
 les circuits logiques programmés qui remplacent progressivement les précédents surtout au
niveau des automatismes complexes, leur avantage essentiel étant leur caractère évolutif (les
équations sont modifiables par programmation) par opposition aux circuits câblés qui sont figés.
Dans la suite de ce cours, on s’intéressera aux circuits logiques câblés. Leur conception s’effectue en 2
étapes :
 l’étude fonctionnelle qui consiste à traduire le cahier des charges en propositions logiques et
par suite à établir les fonctions logiques qui décrivent le fonctionnement. Pour cette étude, on
utilisera l’Algèbre de Boole ;
 la phase pratique qui consiste à matérialiser la fonction par assemblage de circuits intégrés
logiques en prenant compte de 2 types de contraintes :
o technologiques (nature des signaux utilisés: tension, intensité, puissance, ..),
o économiques: coût, maintenance.

2
2 – LE LANGAGE DES AUTOMATISMES LOGIQUES

L'homme a 10 doigts. Le système de numération humain est par convention le système décimal. Les
automatismes logiques ont 2 états significatifs (impulsions électriques). Le système de numération qu'ils
emploient est donc le système binaire. Mais l’homme communique également avec des mots. Il possède
pour cela un alphabet dont la taille est variable selon la langue : 28 en arabe, 26 caractères en français,
33 en russe, etc.
L’homme va devoir communiquer avec les automatismes logiques, du plus simple au plus élaboré (le
microprocesseur et l’ordinateur sont des automatismes logiques). C’est ce qu’on appelle dans le jargon
du métier le « dialogue homme-machine ». Il va donc falloir trouver un moyen pour passer d’un système
de numération en base 2 à des systèmes utilisant la base 10 pour les plus simples ou des bases
supérieures pour les plus élaborés et vice-versa. Ce moyen s’appelle codage de l’information.

2.1 – Rappels : Systèmes de numération


2.1.1 – Propriétés générales
Soit un nombre A exprimé dans une base B sur n chiffres a i. La représentation d’un nombre est un
codage. Nous écrivons ce nombre sous la forme :
A B  an1an2 ....a2a1a0
Propriété 1 : chaque chiffre ai est compris entre 0 et B – 1. Par exemple dans la base 10, les chiffres
sont compris entre 0 et 9.
Propriété 2 : chaque chiffre ai est muni d’un poids Bi tel que :
in1
A B  a n1a n2 ....a 2 a1a 0   aiBi
i0
Exemples :
 Le nombre binaire 1011 2 vaut 1.23  0.22  1.21  1.20 , soit 11 dans la base 10.
 De la même manière, (110100111,001)2 = 1.28+1.27+1.25+1.22+1.21+1.20+1.2-2 = (423,125)10.
Propriété 3 : la base B exprimée dans son propre système s’exprime toujours par 10. Par exemple 2
exprimé en binaire s’écrit 10.
Propriété 4 : si l’on dispose de n chiffres pour écrire un nombre N, on peut former B n combinaisons et
donc on peut compter de 0 à Bn – 1.
Propriété 5 : capacité décimale. La capacité décimale d’un nombre exprimé dans une base B sur n
chiffres donne le nombre m de chiffres décimaux nécessaires à son écriture dans la base 10. On peut
écrire 10 m  Bn , soit mlog10  n logB ou encore m  n logB . Par exemple un nombre binaire écrit sur
10 chiffres correspond à un nombre décimal de 10 log2  3 chiffres.

2.1.2 – Changement de base


in1
Soit le nombre (A)B’ à convertir dans la base B. On sait que A B   a iBi . Prenons n = 4 pour
i0
simplifier les calculs.
Divisons ce nombre par B, puis le quotient obtenu par B jusqu’à ce que le quotient soit nul, il vient :
 
A  B. a3 .B2  a 2 .B1  a1.B0  a0  B.Q1  a0
 
Q1  B. a3 .B1  a 2 .B0  a1  B.Q 2  a1
Q2  B.a .B   a  B.Q
3
0
2 3  a2
Q3  B.0  a3  a3
3
Les restes successifs, lus de bas en haut, représente le nombre A exprimé dans la nouvelle base B. Ce
calcul est valable quelle que soit la base B’ initiale. Encore faut-il savoir calculer dans n’importe quelle
base ! En fait, c’est dans la base 10 que les calculs sont les plus faciles à faire.
Exemple : convertir (88)10 dans la base 3 puis dans la base 2.
 En base 3 :  En base 2 1 = 0x2 + 1
88 = 29x3 + 1 88 = 44x2 + 0 D’où (88)10 =
29 = 9x3 +2 44 = 22x2 + 0 (1011000)2
9 = 3x3 + 0 22 = 11x2 + 0
3 = 1x3 + 0 11 = 5x2 + 1
1 = 0x3 + 1 5 = 2x2 + 1
D’où (88)10 = (10021)3 2 = 1x2 + 0
Remarque : si le nombre à convertir possède une partie fractionnaire, la méthode est la même
mais les divisions sont remplacées par des multiplications successives par la base B. Si
maintenant, on veut revenir in1à la base 10, il suffit d’appliquer la formule polynômiale

A B  a n1a n2 ....a 2 a1a 0  a iBi .
i0
Exemples :
Convertir (10021)3 dans la base 10 Convertir (1011000)2 dans la base 10
4 1
On a (10021)3 = 1.3 + 2.3 + 1.3 = 81 + 6 +0
On a (1011000)2 = 1.26 + 1.24 + 1.23 = 64 +
1 = (88)10 16 + 8 = (88)10
2.2 – Le langage binaire pur
Son alphabet est composé de 2 caractères : 0 et 1. Un caractère binaire est aussi appelé bit
(abréviation de binary digit). Ainsi, avec n bits, on peut construire 2 n combinaisons (ou mots) et on
pourra ainsi compter de 0 à 2n – 1 (voir propriété 4 paragraphe 2.1.1).

a n1 an2 a2 a1 a0

MSB LSB

Figure 1.4 – Nombre binaire écrit sur n bits

Le premier bit à droite a un poids égal à 2 0 et celui le plus à gauche a un poids de 2 n-1. Donc, celui
de gauche a le poids le plus élevé, d'où son nom de bit de poids fort (MSB pour Most Significant
Bit en anglais), alors qu’on appelle celui de droite bit de poids faible ou LSB (pour Less Significant
Bit).
Application : construire la tables des mots de 3 bits et donner leurs équivalents décimaux.

a2 a1 a0 (N)10
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7

4
Les capacités usuelles des mots binaires utilisées par les automatismes logiques sont :
 le mot de 8 bits appelé octet (byte en anglais) pour les automatismes simples,
 les mots de 16, 32 et 64 bits pour les automatismes élaborés (en particulier pour les
ordinateurs).
Le langage binaire est le seul que les automatismes logiques comprennent. Il est en particulier très
bien adapté au traitement des états de capteurs ou d'actionneurs industriels TOR (Tout Ou Rien),
mais catastrophiques en calcul : essayez de trouver l'équivalent décimal du nombre
1101010110110111 par la formule des puissances de 2 de la page précédente. C'est laborieux !
Un moyen terme entre les avantages et les inconvénients des notations décimale et binaire a été
trouvé par l'emploi de la base 16. La base 16, encore appelée « hexadécimal » utilise les seize
chiffres suivants : {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Comme 16 = 24, chaque chiffre
hexadécimal se décline sur 4 bits (voir table ci-dessous).
a3 a2 a1 a0 (N)16
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 A
1 0 1 1 B
1 1 0 0 C
1 1 0 1 D
1 1 1 0 E
1 1 1 1 F

Figure 1.5 – Table de transfert binaire pur – hexadécimal

Ainsi, pour convertir le mot binaire 1101010110110111 en hexadécimal, il suffit de le découper en


tranche de 4 bits à partir des poids faibles, et de prendre la valeur hexadécimale correspondante :
Binaire 1101 0101 1011 0111
Hexadécimal D 5 B 7

Donc (1101010110110111)2 = (D5B7)16. L’inverse est aussi simple. Pour exemple, le nombre
(FF25)16 a pour valeur 1111111100100101 dans la base 2.

2.3 – Notions de codes

Les automatismes logiques ne font pas que des calculs au sens mathématique du terme, ils
réalisent aussi des opérations logiques afin de mener à bien un traitement. De ce fait, ils n'utilisent
pas toujours que le binaire naturel. Il existe d'autres codes binaires qui sont plus appropriés dans
certaines situations que dans d'autres : n° de téléphone, mots du langage courant, hiéroglyphes
chez les égyptiens, code-barres, etc.

5
2.3.1 – Principe du codage
Soit I  i1,i2 ,....,in  un ensemble de n informations. Soit une base B quelconque. Avec cette base
B, on peut construire un ensemble A ordonné de K = Bm mots (si la longueur de chaque mot est m
caractères). Coder I consiste à faire correspondre à chaque élément de I un mot de A.

i1 a1
i2 a2
i3 a3
I a4
A
in

aK

Figure 1.6 – Principe du codage


Le codage n’est bien sûr possible que si le nombre de mots disponibles est supérieur ou égal au
nombre d’informations à coder donc si :
K  Bm  n
Un code peut être à longueur fixe : numéro de téléphone d'un particulier, n° de la carte d’identité,
code postal, etc. ou à longueur variable : code Morse, ADN, etc. Dans les automatismes logiques,
les codes utilisés ont des longueurs fixes.

2.3.2 – Le code BCD


Travailler sur des nombres en binaire naturel est intéressant dans les ordinateurs, car ces
nombres sont pondérés, mais lorsqu’on veut une image rapide de l’équivalent décimal, on est
amené à effectuer un transcodage long et fastidieux. Il est plus commode dans certaines
applications, comme par exemple l’affichage en décimal du contenu de compteurs, d’utiliser la
représentation BCD. Le code BCD (Binary Coded Decimal ou Décimal Codé en Binaire en
français) est le code décimal le plus utilisé en électronique. Il contient des mots-code qui sont la
traduction en binaire naturel (sur 4 bits) de chacun des dix chiffres du système décimal.

Décimal a3 a2 a1 a0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1

Figure 1.7 – Code BCD

6
Chaque élément binaire d’un mot-code a un poids comme en binaire naturel : 8, 4, 2 et 1. Le BCD
est donc un code pondéré.
Exemple : coder le nombre décimal 284 en BCD
Décimal 2 8 4

BCD 0010 1000 0100


Donc (284)10 est codé en BCD par 001010000100.

Attention : tous les bits sont significatifs, donc ne pas retirer les deux 0 à gauche, car le code
n’aurait plus aucune signification. Ne pas confondre un nombre et sa représentation codée !
Pour retrouver un nombre décimal à partir de son code en BCD, il suffit d’effectuer une conversion
binaire – décimal pour chacune des zones de 4 bits (tétrade) composant le code.
Exemple : 0010000000010001 code le nombre décimal 2011.
Comme on peut le constater, le code BCD est une synthèse du code décimal et du code binaire.
L'avantage offert par la méthode du codage BCD est de permettre l'utilisation de circuits
numériques qui travaillent en code binaire tout en gardant une pondération décimale pour chaque
chiffre exprimé en binaire. Pour cette raison, toutes les calculatrices de poche utilisent le code
BCD.
Autres applications :
- Afficheurs 7 segments : Utilisés pour lire des informations numériques en BCD.

Figure 1.8 – Afficheurs 7-segments Figure 1.9 – Roues codeuses


- Roue codeuse : Elle sert à coder une information décimale en BCD. Elle est constituée d'une
galette de circuit imprimé qui tourne mécaniquement. Sur cette galette sont gravées plusieurs
pistes en partie conductrices (cuivre doré). Sur ces pistes viennent s'établir 4 microcontacts
représentant chacun un poids binaire.

Figure 1.10 – Structure d’une roue codeuse

7
2.3.3 – Le code binaire réfléchi ou code Gray
Il existe des systèmes, où l'on a avantage à ce que d'une valeur à l'autre, il n'y ait qu'un seul bit qui
varie. C’est le cas tout particulièrement des capteurs de position, linéaire ou angulaire.

Figure 1.11 – Capteur de position absolue linéaire BCD


La figure 1.11 représente un codeur de position linéaire. Une règle est constituée de 4 pistes,
certaines parties étant transparente, d’autres non. Chaque piste représente un poids binaire. La
problématique d’un capteur BCD est que pour passer d’une combinaison à l’autre plusieurs bits
peuvent changer d’état. Par exemple pour passer de la combinaison 7 (0111) à la combinaison 8
(1000), les 4 bits changent d’état. Or, le traçage des pistes ne peut pas se faire de façon parfaite :
il y a un intervalle de tolérance, et dans ces conditions des états aberrants peuvent apparaître
(figures 1.12 et 1.13).

0101 0111 1000 1001

5 7 8 9
Figure 1.12 – Règle codée BCD idéale

0111 1000
7 Etats aberrants 8
Figure 1.13 – Réalité technologique : rien n’est parfait

8
Sur la figure 1.13, on constate qu’entre la combinaison 7 (0111) et la combinaison 8 (1000) on
passe par 3 états aberrants :
 (0110) soit 6,
 (0100) soit 4,
 (0000) soit 0
Ceci est inacceptable si l’on code un angle, comme la direction d'une girouette ou la position d'un
axe sur une machine automatique ou un robot. Pour remédier à ce défaut, on va utiliser le code
binaire réfléchi ou code Gray (du nom de son inventeur). Celui-ci est donné sur la figure 1.14.

Décimal a3 a2 a1 a0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0
8 1 1 0 0
9 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0

Figure 1.14 – Code Gray ou binaire réfléchi

Propriétés
 La propriété principale du code Gray est que le passage d’un mot-code au suivant entraîne
toujours le changement d’un bit et d’un seul. Ainsi, les transitions s’effectuent sans
ambiguïté, éliminant les risques d’aléas vus précédemment.
 Les mots-code successifs sont adjacents deux à deux. Ainsi le mot-code 1000 est adjacent
en amont au mot-code 1001, et adjacent en aval au mot-code 0000. Cette propriété
d’adjacence sera utilisée par la suite dans la simplification des fonctions booléennes.
 Le code est cyclique pour un nombre de mots-code égal à une puissance de 2 :
o sur 2 bits, la dernière combinaison 10 est adjacente à la combinaison initiale 00 ;
o sur 3 bits, la combinaison 100 est adjacente à la combinaison 000 ;
o sur 4 bits, la combinaison 1000 est adjacente à la combinaison 0000.

9
 Le code Gray n’est pas pondéré comme le BCD, il n’est donc pas adapté pour le calcul
numérique.
 Tout comme le binaire naturel, le binaire réfléchi peut coder n’importe quel nombre entier
naturel.
Utilisation :
Le code Gray est surtout utilisé dans les codeurs absolus. Les codeurs absolus sont des capteurs
de position linéaire ou angulaire. Un exemple de roue codeuse Gray à 4 bits est donné sur la
figure ci-dessous. La lecture s’effectue par les cellules photosensibles. Le tout est encapsulé pour
fournir un capteur industriel.

Figure 1.15 – Principe d’un codeur angulaire à 4 bits et réalisation industrielle

TABLEAU DE SYNTHÈSE

Binaire pur Hexadécimal Décimal BCD Binaire réfléchi


0000 0 0 0000 0000
0001 1 1 0001 0001
0010 2 2 0010 0011
0011 3 3 0011 0010
0100 4 4 0100 0110
0101 5 5 0101 0111
0110 6 6 0110 0101
0111 7 7 0111 0100
1000 8 8 1000 1100
1001 9 9 1001 1101
1010 A 10 0001 0000 1111
1011 B 11 0001 0001 1110
1100 C 12 0001 0010 1010
1101 D 13 0001 0011 1011
1110 E 14 0001 0100 1001
1111 F 15 0001 0101 1000

10

Vous aimerez peut-être aussi