Si vous voyez cette note
c'est que votre navigateur refuse les scripts Java.

Des notes destinées à éclaircir certains points
ou à apporter d'intéressants suppléments d'information
sont programmées pour apparaître lorsqu'on passe le curseur de souris
sur des icônes telles que
          

Pour des raisons de sécurité, certains navigateurs
bloquent l'apparition de ces notes (programmées en JavaScript)
.

Des précieuses informations, aidant à comprendre,
à se repérer, à étendre ses connaisances sont alors perdues.
Ainsi que les réponses aux exercices,


AUTORISEZ DONC VOTRE NAVIGATEUR A OUVRIR CES SCRIPTS !


Ce site n'a aucun but commercial !
Il n ' installe pas de COOKIES


Architecture des systèmes°
gérés par logique programmée.

Ordinateurs,
Automatismes programmés, robotique,
informatique embarquée.

Une première approche

PAGE
D'ACCUEIL

DU SITE

Choix par Menu ou Parcours Séquentiel
Avant : Sommaire
  
Suite : les Ports d'Entrée

 

Niveau de cette étude

Dans ce qui suit, sont analysées les bases matérielles d'une carte de composants gérée par un processeur .
Que cette carte soit celle d'un ordinateur classique, d'une tablette, d'un téléphone,
ou
un module de commande d'un automatisme industriel ou d'un objet dit "intelligent" ( smart)

Elle intéressera celles & ceux qui souhaitent comprendre comment fonctionne intimement
un ordinateur ou le module de commande d'un automatisme le plus général.
Pourquoi pas de savoir en fabriquer un ?
C'est possible, j'en ai fait plusieurs...qui marchent !

Nous y verrons comment fonctionne matériellement un processeur
dans les échanges les plus basiques de données avec son environnement.

Côté programmation : nous descendrons au plus profond du langage de cette machine :
les codes machine en binaire.
Rassurez-vous, nous n'en verrons que quelques exemples significatifs.

D'autres chapitres de ce site exposent divers langages de programmation évolués en usage actuellement.
Ils sont plus pratiques que les quelques notions de langage assembleur
que je signalerai ci et là dans la présente étude des fondements.

Bonne route aux curieux et curieuses ...


1° Plan large sur notre sujet
Les ordinateurs habituels, constitués d'un boîtier contenant les circuits électroniques
auquel on relie des claviers, souris, écrans, haut-parleurs, imprimante (ce que l'on nomme des "périphériques")
sont constitués d'une partie matérielle ( hardware ou "hard") que nous examinons brièvement dans cette page
et d'une partie immatérielle ( software ou "soft") à savoir : les programmes informatiques.

Il en est ainsi également des tablettes, téléphones mobiles, GPS, etc. qui intègrent certains périphériques.

1.1° Le Schéma Général

De même, les automatismes de tous genres - robots - domotique
- informatique embarquée dans des véhicules terrestres ou des sondes spatiales, etc.,
sont gérés par des modules de commande ayant les mêmes structures de base que les ordinateurs
et animés par des programmes informatiques.

Voici un schéma général pontrant les principaux blocs fonctionnels d'un automatisme géré par informatique.

Bien qu'il faille deux fils pour transmettre une tension analogique.
et 8+1 = 9 fils pour transmettre 8 signaux électriques binaires (référence 0V commune)
la référence commune des tensions a été omise comme c'est habituel dans les schémas électriques.

1° La partie commande
est constituée par un processeur . entouré de divers circuits intégrés soudés sur une carte imprimée
et interconnectés par des nappes de fils imprimés sur cette carte.

Le processeur
Circuit intégré assurant principalement les fonctions :
  • d'exécution d'un programme dont les codes sont enregistrés dans une mémoire (généralement implantée sur la carte).

  • des calculs arithmétiques et logiques (+ , - , ×, / , ET, OU, etc...)
    imposés par ce programme.
Le processeur est également appelé "Unité Centrale de Traitement" : UCT ou UC
Central Processing Unit CPU

2° La partie opérative
d'un automatisme industriel ou robotique contient un ensemble d'actionneurs
assurant physiquement les fonctions pour lesquelles que l'automatisme a été créé.
(moteurs, vérins, vannes électriquement contrôlées, etc...)

Elle comporte également des capteurs permettant entre autre à la partie commande
de connaître les paramètres de fonctionnement des actionneurs
afin d'en réguler le fonctionnement.
(états d'ouverture ou fermeture de vannes, capteurs de température, de vitesse, etc...)

Les données
Les données traitées dans la partie commande
sont exclusivement des nombres binaires de n bits (n=16, 32,...)
"n" dépend du processeur utilisé.

Les voies de circulation
Dans la partie commande, le Bus des Données est un ensemble de n fils imprimés groupés
qui charie ces informations binaires en mode parallèle .
Chacun de ces n fils, généralement nommés Dn-1 ...D0,
transporte une donnée binaire représentée par 2 tensions signifiant chacune une niveau logique.
(P. ex. 0V pour "niveau bas" ; 5V pour "niveau haut" - ou inférieure suivant les technologies - )

Ces données sont échangées bidirectionnellement sur ce bus :

  • entre circuits internes de la carte de commande
    par des BUS parallèles.

  • entre la partie commande et la partie opérative externe
    par des Ports de commnucation.

Le dialogue-

  • Des informations sur l'état des actionneurs et sur les conditions ambiantes
    est nécessaire à la partie commande, pour décider ou non de déclencher telle ou telle action,
    ou de l'intensifier, ou de l'amoindrir.

    Ces informations sont prises sur des capteurs disposés dans la partie opérative.
    Elles sont communiquées à la partie commande à travers des ports d'entrée de données
    situés sur la carte de commande.
    Le processeur vient lire ces codes par le bus des données auquel sont également reliés ces ports.

  • Les actionneurs de la partie opérative attendent des ordres de la partie commande.
    Ces ordres, codes binaires à n bits (n= 1, 8,16,32, etc), sont élaborés par le processeur qui les présente à des ports de sortie sur la même carte de comammade, lesquels présentent l'information aux actionneurs à travers des interfaces d'adaptation de tension, de puissance etc.


1,2° Actionneurs - Capteurs

Exemples
Actionneurs
Capteurs
Moteurs
Commande de marche/arrêt (Tout Ou Rien)
Commande de la puissance (Analogique)
Capteur d'état "marche"/"arrêt" (Tout Ou Rien)
Capteur de vitesse du moteur (Analogique)
Vérins pour déplacer en translation ou en rotation
des objets ou des leviers de la partie opérative.
Capteurs de déplacement linéaire. (Analogique)
Capteurs de finde course (TOR)

Vannes de contrôle d'écoulement d'un fluide
Commande : "Ouvert/Fermé" (Tout ou rien)
ou
Commande : "% d'ouverture" (Analogique) par vérin commandant progressivement la vanne d'obturation.

Indicateur d'état :
"Vanne Ouverte"/"Vanne Fermés" (Tout Ou Rien)

Capteurs de % d'ouverture (mesure de l'angle de rotation de la vanne. (Analogiques)
etc.
etc.

TOR / Analogique
Vour remarquerez que certains capteurs ou actionneurs sont qualifiées de TOR ("Tout Ou Rien")
d'autres d'Analogiques.
Tout Ou Rien concerne des dispositifs à deux états : marche/arrêt, ouvert/fermé.
Analogiques se rapporte à des dispositifs caractérisés par une grandeur réelle à variation continue :
la vitesse d'un moteur, le % d'ouverture d'une vanne, la longueur d'un déplacement, etc.
Tout ceci sera précisé progressivement dans la suite.

Exemples pour un ordinateur
Exemples d'actionneurs
Exemples de capteurs
Ecran Clavier, Souris
Haut-Parleurs Microphone (entrée son)
Imprimante Numériseur d'images ( Scanner)
Sorties vers les réseaux, WiFi, etc. Entrées des réseau, WiFi, etc.
etc.
etc.

 

1.3° Les PORTS :

Ce sont des circuits intégrés placés sur la carte de l' UC (processeur)
et permettant à ce dernier de dialoguer (échanger des données)
avec l'environnement ecterne (partie opérative).

  • Ports de sortie TOR :
    Permettent de verrouiller en sortie des donnés TOR destinées aux actionneurs.

  • Ports d'entrée TOR :
    Permettent de saisir l'information TOR externe pour la transmettre à l'UC au bon instant .

  • Ports d'entrée analogiques :
    Permettent de convertir en numérique ( 8 ou n bits) des données saisies sur les capteurs analogiques pour les transmettre au moment opportun à l'UC.

  • Ports de sortie analogiques :
    Permettent de convertir des données numériques générées par le proceseur en signal analogique équivalent pour le transmettre au actionneurs analogiques de la partie opérative.

  • Ports spécifiques : de gérer des écrans, des affichages alphanumériques des liaisons de communication (Réseau, WiFi, USB) etc.
    Ces ports communiquent aussi avec l'UC par le Bus des Données.

Cette structure est, dans les grandes lignes,
la même que celle de tout ordinateur de bureau. (Tower-Desktop)

  • Entrée TOR : le clavier
  • Entrée analogique : le microphone
  • Sortie TOR : l'imprimante (ancienne connexion "Centronics")
  • Sortie analogique : le son
  • Sorties spéciales : l'image de l'écran,
  • Entrée/sortie à un format spécial : l'accès au réseau
  • etc...

1.4° Les INTERFACES

Circuits électroniques externes à la carte de l'UC ayant pour but :

  • D'adapter les tensions et puissances entre les ports de la carte de commande UC et les capteurs ou actionneurs qui ont leurs propres normes.

    Étant montés sur la carte de l'UC, les ports sont des circuits intégrés fonctionnant à des normes de tensions spécifiques (0 / 5V généralement) fournissant donc des tensions et des puissances minimes.

    Ces interfaces sont généralement des amplificateurs ou des réducteurs de tension et/ou de puissance.

  • Parfois aussi d'isoler électriquement la carte commande de la partie opérative qui, dans certaines configurations industrielles, peuvent se trouver à des potentiels de référence très différents.
    Ce sont généralement des optocoupleurs.


Un signal de tension et intensité appropriées appliqué sur l'entrée des diodes éclaire celles-ci.
Les diodes étant tête-bêche, ce signal peut être alternatif ou continu.
Ce qui, par effet photo-électrique, rend le transistor passant entre C & E (Collecteur - Émetteur).

Les bornes C et E se comportent comme un interrupteur qui peut être exploité
pour déclencher un signal TOR de la partie opérative,
ou un signal logique 0...5V sur un circuit de la artie commande.

L'intérêt est d'isoler électriquement le circuit attaquant les diodes
du circuit commandé par le transistor CE.
C'est important lorsque ces deux circuits ont des références de tension très différentes
ce qui peut les endommager tous deux (une décharge, des surtensions, etc).

Isolés par un tel optocoupleur, la tension entre les deux circuits ainsi couplés
doit être très élevée pour qu'elle puisse générer une telle décharge.
Par exemple, pour le modèle SH620-A1 de la figure,
on ne doit pas dépasser 5300 V RMS (RMS : Root Mean Square : Tension efficace)
(Justification mathématique ici )

1.4° - Le "Processeur"est la pièce maîtresse de cet ensemble.

( Processor : process = traitement)


Comme dans tout ordinateur, c''est un circuit intégré de quelques cm de côté,
ayant pour fonctions :

  • d'exécuter un programme.

    Ce programme, une suite d'instructions codées en binaire, (codes-machine)
    est préalablement chargé dans une mémoire de la carte de la partie commande.

    C'est ce programme (écrit par des programmeurs) qui anime l'ensemble des entrées sorties gérant l'automatisme.

  • de gérer physiquement les composants environnant l'UC.

    • Sélectionner tel ou tel composant pour qu'il devienne actif
      C'est l'opération de SÉLECTION. (Détaillée dans la suite)

    • Valider le composant actif à un moment précis et pendant une durée précise afin de synchroniser l'échange de données avec l'UC.
      C'est l'opération d'ÉCHANTILLONNAGE. (Détaillée dans la suite)

La programmation n'est pas au menu de la présente page.

C'est à la structure matérielle uniquement de cet ensemble à lasuelle nous nous intéresserons d'abord.
Et surtout aux mécanismes d'échange des données avec l'extérieur du module de commande
et également entre composants internes de ce module.

Ce n'est pas le traitement des données qui nous intéresse ici.
mais, d'abord de décrire ce que sont matriellement ces données
et comment elles circulent et s'échangent.

Vous trouverez dans ce site une description plus complète de la programmation.
Programmation en C++ ici : et Programmation en JavaScript là :
Programmation en HTML ici :

Toutefois, le lecteur pourra trouver Plus loin une description très succincte de ce qu'est un programme,
et de comment l'unité centrale l'exécute.


2° - Autour de l'Unité Centrale de Traitement

( UCT ou UC / CPU Central Processing Unit )

C'est un circuit intégré comportant, malgré sa taille de quelques cm de côté, des millions de circuits internes
lui permettant de faire des calculs très rapidement : plusieurs petaFLOP ! :

Parmi ces calculs possibles :

  • des opérations de logique combinatoire (ET - OU - OU Exclusif, Rotations de bots, etc.)
  • des calculs mathématiques de grande précision

Il est étonnant de constater qu'un choix très réduit d'opérations
suffit à réaliser toutes les applications connues de l'univers numérique actuel.

Si vous suivez ce cours jusqu'au bout, vous verrez que d'étonnants résultats peuvent être obtenus
en combinant astucieuseùent ce nombre réduit d'opérations.
Et que ce n'est pas si difficile qu'il ne semble !
Tout se construit brique par brique.
Quelle que soit la hauteur du mur !

Apparences externes

De nombreux exemples existent : Intel® 8080 - Zilog Z80 vers les années 1970-1980
Intel Pentium (plusieurs modèles) 1993-2000.


Unité Centrale d'usage général
gérant les cartes mères
de la plupart des ordinateurs de bureau,
tablettes ou portables.


La technologie ARM
intègre sur une même puce l'ensemble de l'Unité Centrale (Processeur) et des ports d'entrée et de sortie les plus divers.
Pour téléphones portables
et applications embarquées.

ARDUINO

Brochage typique d'un processeur


Les fonctions de toutes ces broches seront décrites dans la suite. c.f.

Interconnexion des principaux types de
circuits intégrés fonctionnels environnant l'Unité Centrale


Cette unité centrale est entourée de circuits intégrés auxiliaires,
interconnectés par des rubans de cuivre dessinés sur une carte imprimée
et dont les fonctions vont être décrites ci-dessous.

Tel est le cas des "cartes mères" des ordinateurs de bureau
Des "cartes filles" supplémentaires pouvant être connectées sur la carte mère
grâce à des connecteurs ( slots ) appropriés et soudés d'origine sur la carte mère.

Voici un schéma typique du montage le plus général.

L'écriture /RD , /WR , /CS etc...
utilisée dans le texte faute de mieux
correspond respectivement à :

On aperçoit dans le schéma ci-dessus, entre autre :

  • l'Unité Centrale UC

  • des Nappes de fils de connexion nommées BUS.
    • BUS des DONNÉES  : D0...D7 (Circulation des données 8 bits entrantes ou sortantes)
    • BUS des ADRESSES : A0...A15 (Désignation de tel port d'E/S ou tel registre en mémoire).
    • Bus de   CONTROLE : /RD, /WR (Validation en lecture ou écriture d'une donnée)

  • une Mémoire (MEM) - Il peut y en avoir plusieurs en batterie - .

  • des Ports d'entrée parallèle : E1, E2, E3 : chacun à 8 entrées simultannées (8 bits).

  • des Ports de sortie parallèle : S1, S2, S3 : chacun à 8 sorties simultannées (8 bits).

  • des Circuits auxiliaires
    Par exemple le "Décodeur 4 vers 16". Nous verrons comment il permet,
    à partir du bus des adresses,
    de sélectioner (valider) , un seul port ou une seule mémoire
    parmi d'autres présents sur la carte.

  • des Circuits de logique booléenne,
    Fonction : combiner certains signaux logiques.
    P.ex. les modules notés [>=1] (fonction booléenne OU - OR )

Note :
Les fils du bus de contrôle notés : /RD , /WR font partie des signaux d'échantillonnage.
Ils permettent de provoquer l'action à un mmoment précis contrôlé par l'UC.

Ceux notés : /CE1 , /S15, /S14 , /S13 font partie des signaux de sélection.
Ils permettent de valider tel ou tel port parmi d'autres,
tel ou tel boîtier-mémoire parmi d'autres.(

Ces deux mécanismes incontournables seront examinés en détail dans la suite.

Une Unité Centrale ne peut traiter ou produire
que de l'information sous forme numérique binaire.
 
  1. Les informations à traiter (en provenance de la partie opérative extérieure)
    doivent être préalablement mises sous forme de nombres binaires de 8, 16, 32, 64 bits suivant les types d'UC. et circulent par le BUS DES DONNÉES.
    Lors d'une opération d'entrée de données c'est la partie opérative qui livre ces informations.

  2. Les résultats du traitement (destinées à la partie opérative)
    seront également délivrés par l'UC sous cette même forme numériquebinaire et avec le même nombre de bits.

    Le même BUS DES DONNÉES fonctionne à l'alternat et, comme sur une voie de chemin de fer unique entre deux gares, une discipline est imposée par l'unité centrale grâce à des signaux de contrôle que nous découvrirons plus loin.
    (sélection des éléments actifs et échantillonnage temporel pour la synchronisation).

Mais... quelle est la nature des signaux qui représentent les nombres binaires circulant sur les BUS ?

Voir ci-dessous.

3° Information numérique - information analogique.

L'information qui transite par le BUS DES DONNÉES est du type binaire à (8,16,32,64, etc...bits).
C'est sous cette forme et sous cette forme seulement qu'elle peut être traitée par l'UC.


Sur le schéma d'ensemble ci-dessus, le format des données à traiter est limité à 8 bits par simplicité.
Elles circulent sur autant de fils groupés en ensembles qu'on nomme BUS.

Matériellement, les niveaux binaires 0 ou 1 (respectivement Faux ou Vrai)
sont représentés par des tensions électriques.

Les seuils fonctionnels sont définis par des normes.

Niveau logique
Tension U(V)
Booléen
Niveau de tesion
0
0 < U < SEUIL BAS
FAUX - FALSE
L (Low)
1
SEUIL HAUT< U < MAX
VRAI - TRUE
H (High)

Généralement : MAX = 5 V.

Ces données numériques circulent ainsi sur le BUS DES DONNÉES
alternativement dans un sens (capture de signaux) et dans l'autre (émission de commandes)

Remarquer que la plupart des blocs fonctionnels du schéma de la carte mère ci-dessus
sont reliés au BUS DES DONNÉES
qui peut fonctionner alternativement dans le sens d'acquisition de données externes vers 'UC
puis en sens inverse pour délivrer les données numériques concoctées par l'UC vers le monde extérieur.

Mais la réalité n'est pas qu'un monde Tout Ou Rien !

Si vous ne vous "sentez pas bien" dans le monde de la numérisation,
faites donc un tour par le cursus suivant, publié sous ce même site en :

De nombreuses grandeurs à prendre en compte sont de nature analogique !
C.à.d. mesurables par des nombres continus et non "discrets" comme pour un capteur TOR.

  • Le taux d'ouverture d'une vanne (signal de 0 à 100%)
    (à mesurer sur un capteur d'angle d'overture) ou à imposer sur une moto-vanne télécommandée).

  • Vitesse d'un moteur
    (à mesurer sur un tachymètre ou à imposer à travers un amplificateur de tension d'alimentation).

  • Température
    (id...)
  • etc.
  • etc.

Comment faire prendre en compte de telles grandeurs continues par l'UC ?
Réponse : on convertit ces grandeurs continues en nombres binaires
grâce à des convertisseurs analogique-numérique
CAN ( DAC Digital-Analog Converter).

Comment un capteur de vitesse (tachymètre) d'un moteur,
qui fournit normalement une tension variable d'un minimum à un maximum
peut-il fournir à l'UC un nombre binaire représentatif d'une telle grandeur variant continuement ?

Comment, une UC ne délivrant que des nombres binaires de n bits
peut-elle commander la vitesse d'un moteur règlable par une tension d'alimentation variant continûment ?

Réponse :

Convertir les données binaires issues de l'UC en nombres continus (analogiques)
grâce à des Convertisseurs Numérique-Analogique CNA ( DAC Digital-Analog Converter)
ou des Convertisseurs Analogique-Numérique CAN ( ADC Analog-DigitalConverter)

  • Le CNA possède une entrée numérique consistant en autant de bornes que le BUS des DONNÉES
    de l'UCT et une sortie consistant en un dipôle fournissant une tension analogique Us.
    correspondant au signal numérique entré dans le CNA.

  • Un CAN possède un dipôle d'entrée pour la tension analogique à convertir.
    Sa sortie numérique se fait par des états binaires imposés à autant de bornes que le BUS des DONNÉS de l'Unité Centrale.


En définitive, grâce à l'interposition de convertisseurS CAN ouCNA
l'UC peut acquérir, traiter puis fournir des tensions analogiques

Une large partie de ce site décrit avec précision ces conversions analogique-numérique et inverse.
Lien :

4° Acquisition de capteurs TOR (Tout Ou Rien)

Voici un exemple de dispositif de la partie opérative
permettant de fournir simultanément les signaux correspondant aux états de 8 capteurs TOR


D0...D7 peuvent représenter ici les 8 conducteurs du bus des données.
Les tensions 0V et 5V correspondent bien aux tensions habituelles
qui représentent les états logique 0 et 1 pour les circuits circuits de logique programmée.

Si les capteurs fournissaient des tensions différentes
il faudrait interposer des interfaces de conversion de tension.

De même, si l'électronique de la partie opérative et celle de la partie commande
ont des références de tension très différentes, il y aurait lieu d'interposer des optocoupleurs
ou des transformateurs d'isolement.

 

Ce type d'acquisition de données physiques externes peut convenir à :

  • des interrupteurs de feuillure pour signaler l'état "ouvert" ou "fermé" d'un portillon, d'un tiroir,etc.
  • des interrupteurs de fin de course pour pièces en mouvement d'amplitude limitée,
  • des interrupteurs liés à l'état "ouvert" ou "fermé" d'une vanne coupant ou bloquant l'écoulement d'un fluide.
  • des boutons poussoirs manuels, pour indiquer telle manoeuvre à exécuter.
  • des claviers de saisie alphanumérique où toute touche actionne un interrupteur différent.
  • des détecteurs de proximité basés sur des principes physiques divers (dont le RADAR),fournissant un signal différent suivant que la distance de proximité est atteinte ou non.
  • des barrières lumineuses détectant le passage d'un objet, (détecteurs Infra-Rouge p.ex.)
  • des détecteurs de trop plein ou d'insuffisance de liquides dans des cuves, réservoirs, etc.
  • des détecteurs de dépassement de seuil : température, pression, alarmes à seuil sonore,
    interrupteurs crépusculaires,
  • contacts secs Il s'agit de paires de bornes que certains dispositifs mettent intérieurement en contact,
    ou les ouvrent, pour signaler un événement ou un état exploitable extérieurement.
    Exemple : les compteurs d'électricité présentent deux bornes qui sont intérieurement court-circuitées pendant les heures dites "creuses" permettant au client d'actionner automatiquement des appareils de forte puissance par mesure d'économie.
    (Attention ! Sous peine d'accident grave, ces bornes doivent actionner l'appareil par l'intermédiaire d'un dispositif à relais conforme et protégé par des disjoncteurs magnétodynamiques de préférence)
  • etc
Les mise en oeuvre de des outils d'interface que sont les PORTS est présentée dans la suite immédiate.
En commençant par les PORTS D'ENTRÉE..

 

Choix par Menu ou Parcours Séquentiel
 
Avant : Sommaire
  
Ports d'entrée
PAGE
D'ACCUEIL

DU SITE