Académique Documents
Professionnel Documents
Culture Documents
Compétence(s) :
Analyser,
Conduire l’analyse fonctionnelle, structurelle et comportementale d’un système logique.
Modéliser,
Coder les informations,
Traduire le comportement d’un système logique par des équations logiques.
Communiquer,
Choisir et mettre en œuvre une communication graphique.
Depuis le début des années 2000, les progrès technologiques sans cesse croissants des constituants des
chaînes d’énergie (moteurs, vérins, électronique de puissance,…), des protocoles de communication numérique et
des capteurs dit intelligents, ont facilité le développement des systèmes numériques de contrôle et de
commande.
Un système numérique de contrôle-commande est une structure programmable utilisée pour le pilotage d’un
procédé industriel. Ce système est généralement doté d’une interface homme-machine, de composants de
stockage de l’information (mémoires) et d’un réseau de communication numérique allant jusqu’à l’intégration des
technologies sans fil (GSM, WiFi, Bluetooth).
Un système de commande complexe présente souvent une architecture hiérarchisée où plusieurs micro-
contrôleurs sont reliés entre eux par des bus de données. Les micro-contrôleurs les plus puissants commandent
le fonctionnement global et transmettent leurs consignes aux micro-contrôleurs les plus petits responsables
chacun d’une tâche précise.
On retrouve cette structure dans un micro-ordinateur ou une carte mère gère des cartes spécifiques (carte
vidéo par exemple).
Si le besoin de disposer d’un composant spécifique dédié à une tâche bien définie se fait sentir pour un domaine
particulier, il est possible de développer un SOC (System On Chip) qui intègre sur un même support (puce)
l’ensemble des dispositifs nécessaires.
Les systèmes embarqués omniprésents dans la vie quotidienne illustrent bien ce type de commande spécifique.
La réalisation d’un système de commande s’appuie sur des technologies numériques qui évoluent très rapidement
et autorisent des applications toujours plus « pointues ».
La commande numérique est fondamentalement constituée de portes logiques et de mémoires qui manipulent des
informations binaires. Ces informations sont matérialisées électriquement, le plus souvent par un potentiel nul
(0 logique) et un potentiel de quelques volts (1 logique).
Au cœur du traitement, les systèmes numériques ne manipulent que des grandeurs binaires logiques de type
« tout ou rien ». Les entrées et les sorties de ses composants ne peuvent prendre que 2 états.
Les relations entre les entrées et les sorties sont représentées par des fonctions logiques qui associent un état
logique à une ou plusieurs variable logiques.
Ces représentations mathématiques sont formalisées dans l’algèbre de Boole.
- L’une qui correspond à des états : les entrées exprimées le plus souvent par des participes passés,
- L’autre qui correspond à des actions : les sorties exprimées le plus souvent par des verbes à l’infinitif.
Les fonctions logiques expriment la causalité, c’est-à-dire les raisons pour lesquelles des actions (modélisées
par des variables logiques de type action) sont exécutées en fonction des informations (modélisées par des
variables logiques de type état).
On appelle causalité le fait que les causes (changement d’état des entrées) précèdent les conséquences
(modification éventuelle de la sortie).
Dans la plupart des langages de modélisation, on considère que cette causalité est effectuée à temps nul.
Une sortie logique peut ainsi être exprimée en fonction d'une combinaison des entrées logiques soit encore :
S = f (e1, e2,..., ei )
La fonction NON d’une variable ou encore complémentation est notée e (lire e barre) ou encore / e
La fonction ET de deux variables ou encore produit logique est notée a • b (lire a et b)
La fonction OU de deux variables ou encore somme logique est notée a + b (lire a ou b)
La relation d’équivalence EGALE est notée = , on écrira par exemple S = a+b
Le tableau ci-dessous donne les propriétés usuelles des lois OU, ET et NON.
Théorème de De Morgan : Ce théorème qui présente deux formes peut se généraliser à n variables.
(a + b ) = a .b et (a.b ) = a + b
Doc. Cours - Systèmes logiques Page 2 sur 11
D’autres propriétés algébriques permettent d’aider à la simplification des expressions (hors programme) ; on
retiendra :
- L’absorption : a + (a.b) = a
- L’inclusion : a + (a.b) = a + b
Circuit intégré
3. Systèmes de numération
Les informations manipulées par les systèmes informatiques doivent être codées avec des variables logiques.
La méthode la plus simple est d’utiliser les représentations dans les bases de numération, notamment la base 2.
Seuls le codage des nombres entiers positifs sera abordé dans ce chapitre.
Pour plus de détails sur la représentation informatique des nombres, il faudra se reporter au cours
d’informatique de PTSI.
Le système de numération le plus utilisé par l’homme est le système décimal, certainement pour des raisons
morphologiques.
Les systèmes automatiques « utilisent » plus naturellement le système binaire par détection de présence ou
non d’un flux énergétique.
La connaissance du système binaire et des changements de base binaire → décimal et décimal → binaire est
donc essentielle à l’étude et à la réalisation des systèmes de traitement numérique de l’information.
Les nombres sont écrits dans des bases différentes. Afin de les distinguer, la notation suivante est retenue :
Nb représente le nombre N écrit dans la base b.
Par exemple le nombre 102 qui représente 10 (lire un zéro) dans la base 2 est différent du nombre 1010 (lire dix)
écrit dans la base 10.
Un nombre N de base b est composé de p chiffres ou digits.
Afin de désigner le chiffre binaire, le terme bit contraction de binary digit est couramment utilisé.
Le code binaire naturel est un code pondéré. Chaque position de chiffre a un poids.
Par exemple, pour un mot binaire à 8 bits :
Bitdedepoids
Bit poidsfort
fort Bit de poids
Bit poids faible
faible
0 1 1 0 1 0 0 1
Poids
Poids respectifs
respectifs 27 26 25 24 23 22 21 20
Si bien que le mot binaire 011010012, est le codage du nombre 26+25+23+20 = 10510 (base 10).
L’octet est couramment utilisé comme unité pour exprimer un débit d’informations ou encore une capacité de
stockage. On citera par exemple une connexion internet à 256 Mo/s ou encore une clé USB de capacité 2Go.
Les mécanismes de changement de base ont déjà été abordés dans le nouveau programme d’informatique.
Par exemple, on écrira : 10112 = 1.23 + 0.22 + 1.21 + 1.10 = 8 + 2 + 1 = 1110.
Le mécanisme inverse est obtenu par divisions successives par 2.
Le système binaire est un système de numération sur lequel sont définies les opérations arithmétiques
classiques : addition, soustraction, multiplication et division.
Seule l’addition est présentée ici et en se limitant aux nombres entiers positifs, il vient, de la même façon que
pour l’addition décimale :
10110102 9010
+ 1011002 équivalent à + 4410
100001102 13410
La numération hexadécimale est utilisée lorsque l’expression en binaire devient lourde. En effet un digit
hexadécimal correspond à un mot de 4 digits en binaire (voir tableau de conversions ci-dessous).
Les mécanismes de changement de système de numération hexadécimal ↔ décimal sont transposables aux
principes de changement de système de numération binaire ↔ décimal.
Chaque système de numération permet de coder un nombre fini de combinaisons sur un digit.
Un mot de n digits exprimé dans une base de numération b autorise un nombre de combinaison C = bn.
Ainsi par exemple,
Un mot binaire de 3 bits permet 23 = 8 combinaisons,
Un mot décimal de 3 digits permet 103 = 1000 combinaisons,
Un mot hexadécimal de 3 digits permet 163 = 4096 combinaisons,
Un ensemble de valeurs binaires pourra être défini suivant des organisations différentes du système binaire
naturel vu au chapitre précédent. Ces organisations sont appelées codes, il en existe un grand nombre et chacun
d’entre nous peut en créer pour un besoin spécifique.
- Le code binaire réfléchi, ou code Gray, qui sert surtout à coder des positions,
- Le code 3 parmi 5 utilisé par La Poste,
- Les codes barres EAN et 2D (QR code),
- Le code ASCII.
Le code binaire réfléchi (ou code Gray) est construit de telle sorte que lorsque l'on change de ligne par
incrémentation ou décrémentation, seule une variable change d'état ; ce qui n’est pas toujours le cas pour le
système binaire naturel.
bit 0 bit 1
Ce code, mis au point par Franck Gray, prend le nom de binaire réfléchi car il existe des axes de symétrie dans
la construction du code comme le montre la figure ci-dessous.
On peut aussi remarquer que le code binaire réfléchi est aussi compact que le système binaire naturel puisqu’il
utilise autant de variables pour coder autant de combinaisons différentes.
Le code p parmi n est un code à n bits dont p bits sont à 1 et (n-p) bits à 0.
n!
Le nombre de combinaisons répondant à cette définition est égale à Cnp =
p!.(n − p )!
Les particularités données par ce code sont les suivantes :
- code auto correcteur, en effet, la lecture du code peut être associée à la vérification du nombre de 1 et de
0 dans l’information, ce qui permet un contrôle de l’information lue par la détection de code erroné ;
p
- code personnel, en effet, il existe Cn ! arrangements de la codification, ce qui permet de personnaliser son
codage, ainsi le code 3 parmi 5 permet 10 ! arrangements différents, soit 3628800 possibilités différentes.
Les codes les plus répandus de nos jours sont utilisés dans les
repères des produits de grandes distributions.
On les regroupe sous la désignation de code barres car ils sont
constitués d’une succession de barres d’épaisseurs variables et de
couleurs différentes (noir et blanc) entrelacées.
Le code est divisé en plusieurs zones qui fournissent des
informations spécifiques au produit (pays d’origine, organisme,
référence du produit,…..). Le dernier caractère est un code de
contrôle calculé à partir de tous les autres. Code barres EAN
Code QR code
4.4. Code ASCII
Le code ASCII (American Standard Code for Information Interchange) est un code défini sur 8 bits
permettant ainsi de coder sous forme de mots binaires 256 (28) caractères alphanumériques. Bien qu’ancien il
est encore utilisé (port série d’un micro-contrôleur).
La table ASCII de conversion se trouve facilement sur le web.
Pour coder par exemple en ASCII le message « Température = 30° » on aura besoin de 17 octets.
Pour la suite de ce chapitre, nous nous intéresserons uniquement aux systèmes à logique combinatoire par
opposition aux systèmes à évènements discrets (SED) qui seront abordés dans un prochain chapitre.
On écrira S = f(e1, e2, …….,en) en considérant que chaque combinaison des différentes variables d’entrée
produira toujours le même état sur la sortie.
Les diagrammes SysML permettent différents niveaux de modélisation d’un système combinatoire associé à un
processus. Il existe toutefois des modèles spécifiques à la représentation d’un système combinatoire parmi
lesquels on retiendra :
La représentation du comportement logique par des équations montre bien la causalité qui lie les entrées aux
sorties.
Pour déterminer ces équations logiques, on utilisera de tables appelées tables de vérité.
Elles permettent d’envisager tous les cas de combinaisons possibles des entrées.
La méthodologie pour exprimer une fonction logique à partir d’une table de vérité est la suivante :
L’équation de la sortie S sera alors : S = (/e1 . e2 . /e3) + (/e1 . e2 . e3) + (e1 . e2 . e3)
Cette équation pourra alors faire l’objet de simplifications algébriques en utilisant les propriétés de l’algèbre de
Boole (hors programme en PTSI).
Le tableau de Karnaugh est une table de vérité un peu particulière qui organise les différentes combinaisons
des entrées en utilisant le code binaire ou code réfléchi ou code Gray.
Pour une fonction à trois variables (a, b et c) par exemple, le tableau présente l’allure suivants :
a 0 0 1 1 a
S S
b 0 1 1 0 b
c c
0
ou
1
D'après la construction du tableau de Karnaugh, deux cases adjacentes ne diffèrent que par le changement
d'une seule variable.
On se sert de la relation a + a = 1.
En effet si deux cases adjacentes sont égales à 1, on peut simplifier l'équation en éliminant la variable qui
change d'état pour ces deux cases sans affecter la valeur de S.
Attention le tableau de Karnaugh est « sphérique » !
R1 R3 R2
a
Dans l’exemple ci-contre, il existe trois regroupements de deux 1.
b
L’équation de la sortie S vaut ainsi : S = b.c + a.c + b .c c
Issu du regroupement R1 0 1 1 1
Issu du regroupement R2 1 0 0 1
Issu du regroupement R3
Les regroupements peuvent aussi se faire avec 4, 8, ... cases adjacentes à 1 (soit toujours 2n cases).
Les simplifications sont alors plus importantes car on enlève 2, 3, ... variables à la fois.
Pour obtenir l’équation la plus condensée possible, l’objectif sera donc de faire le minimum de regroupements
tout en mettant le maximum de cases dans un même regroupement.
a
Il peut arriver que certains états soient inconnus et b
c d
indifférents. On les note alors « Ø ». 1 φ
En les assignant arbitrairement à 0 ou à 1 suivant le cas, ils
φ φ φ
peuvent ainsi contribuer à la simplification de l’équation.
φ 1
Dans l’exemple ci contre, on obtient S = a , a étant a seule
variable qui ne change pas d’état dans le regroupement. 1 1
La réalisation des fonctions logiques est utile à la réalisation des systèmes de traitement de l’information.
Plusieurs technologies sont possibles pour réaliser ces fonctions : électrique (tension de 24 à 128 V) ;
électronique (tension de l’ordre de 5 V) ; hydraulique (pression d’huile de 50 à 200 bars) et une technologie
informatique programmée.
Le tableau de la page suivante présente les différents opérateurs logiques, ou encore le schéma de cablage
électrique permettant de les obtenir (schéma à contacts).
Opérateur équation logique symbole AFNOR symbole Américain table de vérité schéma à contact
a S
a S
0 0
OUI S=a a 1 S a S
1 1
a S
a 1 S a S a S
0 1
NON S=a 1 0
a b S
a a a S
≥1
0 0 0
OU S=a+b S b
S 0
1
1
0
1
1
b
b 1 1 1
a b S
a a 0 0 0 a b S
ET S = a.b & S b
S 0
1
1
0
0
0
b 1 1 1
a b S
a a 0 0 0 a b S
INHIBITION S = a .b & S b
S 0
1
1
0
1
0
b 1 1 0
a b S
a a a S
NAND 0 0 1
a b S
a a
NOR
≥1
0 0 1 a b S
(NON OU) S = a + b = a. b S b
S 0
1
1
0
0
0
b 1 1 0
a b S
a a a b S
OU
=1
0 0 0
EXCLUSIF S = a ⊕b S b
S 0
1
1
0
1
1 a b
b 1 1 0
a b S
a
=
a 0 0 1 a b S
IDENTITE S =a ⊕b S
b
S 0 1 0
a b
b 1 0 0
1 1 1
Nota : Mis à part les opérateurs NON, ET et OU, tous les autres opérateurs peuvent être exprimés à partir de
ces trois opérateurs.
Par exemple, l’opérateur identité S = a ⊕ b pourra s’exprimer sous la forme S = (a.b) + (a.b)
Schéma à contacts : La réalisation électrique est symbolisée par un schéma appelé indifféremment, schéma à
contacts, schéma en échelle, ladder, etc. Ce schéma correspond à une norme internationale.
Le principe de câblage est le suivant :
On propose en page suivante la réalisation de la même fonction logique à partir d’un schéma à contact et d’un
logigramme.
Logigramme : Le logigramme est le schéma d’un circuit réalisé à l’aide d’opérateurs logiques normalisés.
Contrairement au schéma à contact où les fonctions logiques sont réalisées par le câblage des contacts, dans les
logigrammes ce sont des cellules (ou encore portes logiques) associées aux opérateurs logiques qui réalisent les
fonctions de base.
Le câblage de ces cellules permet de réaliser des fonctions plus complexes.
Classiquement, le logigramme est retenu comme modèle pour conduire à une réalisation électronique intégrée.
5.3. Chronogramme
Le diagramme de Gantt est un chronogramme particulier qui met en évidence la causalité entre plusieurs
phénomènes. Par exemple, la fin d’une activité déclenche l’activité suivante. Cette représentation est plus
particulièrement utilisée dans le cadre des systèmes à évènements discrets (SED).
Les fronts montants et descendants permettent de représenter le changement d’état d’une variable logique.
Cette notion sera utilisée dans le cadre de la synchronisation des processus.
Le front montant noté ↑ a d’une variable a est vrai (état logique 1) à l’instant ou la variable passe de l’état
logique 0 à l’état logique 1.
Le front descendant noté ↓ a d’une variable a est vrai (état logique 1) à l’instant ou la variable passe de l’état
logique 1 à l’état logique 0.
Un front montant ou descendant a une durée théorique nulle. Il sera représenté sur un chronogramme par une
impulsion de Dirac.
↓a
↑a
a Tps
La notion de front sera essentiellement utilisée dans le cadre de l’étude des systèmes à évènements discrets.