Périphériques
Introduction :
Dans ce chapitre, nous nous intéressons aux entrées/sorties qu’un microprocesseur est capable de gérer.
Dans un premier temps, nous présentons un rappel de l'architecture général d'un microprocesseur suivi de la notion d’IHM jusqu’à en programmer une. Et pour terminer, nous programmerons les entrées/sorties d’un système embarqué.
Les entrées/sorties dans un système à microprocesseur
Les entrées/sorties dans un système à microprocesseur
Un microprocesseur implanté dans un système (un ordinateur, un robot, un appareil électro-ménager, etc.) interagit continuellement avec son environnement : il joue un rôle important dans la transmission des données. Ces échanges sont assurés par l'ensemble des périphériques d'entrées/sorties.
Architecture d’un système à microprocesseur
Architecture d’un système à microprocesseur
Un système à microprocesseur est structuré de la manière suivante :
Architecture d’un microprocesseur
- le bus d’entrées/sorties assure les transferts d’informations entre le microprocesseur et son environnement. Ces transferts sont bidirectionnels, c’est-à-dire que la transmission d’informations se fait dans les deux sens ;
- le bus d’adresses permet la localisation des informations à traiter ou à utiliser dans l’espace mémoire. Il est unidirectionnel, c’est-à-dire que la transmission d’informations se fait dans un seul sens ;
- le bus de contrôle assure la synchronisation des flux d’information sur les bus de données et d’adresses, permettant de faire correspondre les données de deux emplacements de stockage.
Les systèmes à microprocesseur et leurs entrées/sorties
Les systèmes à microprocesseur et leurs entrées/sorties
Un système à microprocesseur bien connu est celui de l’ordinateur. Les matériels auxquels il est connecté, que ce soit par câble ou sans fil, sont divers. Parmi eux, les plus communément utilisés sont le clavier, l’écran, la souris, l’imprimante, la caméra ou encore les enceintes. On peut noter que certains périphériques sont souvent intégrés dans les ordinateurs portables eux-mêmes, tels que la caméra, le clavier ou les enceintes.
- Dans tous les cas, le principe est le suivant : l’utilisateur agit sur les périphériques d’entrée et l’ordinateur réagit en déclenchant des actions sur les périphériques de sortie.
Périphérique d’entrée :
Un périphérique d’entrée, appelé également capteur, permet à un microprocesseur de collecter des informations sur son environnement.
Périphériques d’entrée sur un ordinateur :
- la souris permet de transmettre une information à l’ordinateur : l’identification de l’objet sur lequel il lui est demandé d’agir ;
- le clavier permet de transmettre un texte à l’ordinateur.
Périphérique de sortie :
Un périphérique de sortie, appelé également actionneur, permet à un microprocesseur d’agir sur son environnement.
Périphériques de sortie sur un ordinateur :
- l’ordinateur agit sur l’écran en y affichant des informations ;
- l’ordinateur agit sur l’imprimante en lui faisant imprimer un texte.
Mais les ordinateurs ne sont pas les seuls matériels à être dotés d’un microprocesseur.
- Les systèmes embarqués, capables de fonctionner sans l’intervention de l’homme en sont un exemple.
Parmi eux, on recense les automates (comme par exemple les distributeurs automatiques de billets), les robots, certains modules dans les automobiles, des produits d’électroménager ou encore du matériel audio ou vidéo. Ces équipements collectent des informations en entrée (détection de mouvement, température, appui sur un bouton, luminosité, son, etc.). Après traitement de ces informations, les systèmes embarqués peuvent être amenés à générer des actions en sortie (signal sonore, signal lumineux, démarrage ou arrêt d’un moteur, ouverture ou fermeture d’une vanne, etc.).
- Plus sophistiqués encore, les objets connectés sont des systèmes, le plus souvent embarqués, munis d’une connexion réseau, qu’elle soit internet, radio ou autre. Ils sont également équipés d’un microprocesseur.
On y trouve bien évidemment les smartphones, mais aussi les drones ou les stations météo par exemple.
Zoom sur les entrées/sorties d’un ordinateur
Zoom sur les entrées/sorties d’un ordinateur
Si nous nous penchons en particulier sur un ordinateur, nous constatons rapidement que nous pouvons le connecter à une multitude de périphériques.
- Les périphériques d’entrée les plus classiques sont le clavier, la souris, le pavé tactile, le microphone, la caméra ou le scanner. On trouve par ailleurs les lecteurs de code à barre, lecteurs de carte vitale, manette de jeu, etc.
- Les périphériques de sortie les plus connus sont l’écran, l’imprimante, les enceintes.
- Certains périphériques sont en communication bilatérale avec l’ordinateur. Les disques durs externes ou internes, les clés USB, les routeurs ou les écrans tactiles sont des périphériques qui communiquent en permanence avec l'ordinateur. En effet, la transmission des informations se fait dans les deux sens.
Un ordinateur, à sa sortie d'usine, n'est pas en mesure de communiquer avec tous les périphériques du marché. Son système d’exploitation est, par conséquent, complété au fur et à mesure que l'on y connecte de nouveaux équipements.
- Pour cela, il est nécessaire d’installer des programmes complémentaires, appelés des pilotes, qui rendent alors possible la communication entre l’ordinateur et l’équipement connecté.
Pilote :
Un pilote, ou driver en anglais, est un programme permettant à un ordinateur doté d’un système d’exploitation de communiquer avec un matériel défini. Ce programme est appelé interface logicielle.
L’IHM
L’IHM
Certains périphériques d’entrées/sorties raccordés aux systèmes à microprocesseur servent à la communication entre ces systèmes et leurs utilisateurs. Ces périphériques sont utilisés par des programmes dont la mission est de rendre la communication entre l’utilisateur et sa machine la plus claire possible. Il s’agit de l’interface homme-machine.
Définition de l’IHM
Définition de l’IHM
IHM :
L’IHM, ou interface homme-machine (appelée en anglais HCI pour Human Computer Interaction), est l’ensemble des moyens matériels et logiciels mis en œuvre pour permettre à un humain d’interagir avec une machine.
Une IHM peut s’avérer rudimentaire ; comme par exemple le fait de basculer un simple bouton. Mais elle peut être plus sophistiquée lors de l’utilisation d’un écran tactile ou d’une commande vocale.
Par exemple, pour un système de commande manuelle de chauffage, une interface basique pourrait se réduire à un bouton marche/arrêt, un afficheur LCD pour la température ambiante et un curseur à faire glisser pour augmenter ou diminuer le chauffage. Cette même interface transmet la commande (marche, arrêt, augmentation ou diminution du chauffage) au récepteur radio qui agit alors sur la chaudière.
L’IHM sur un ordinateur
L’IHM sur un ordinateur
Sur un ordinateur, les IHMs proposées par les applications, sollicitent systématiquement les éléments suivants :
- en entrée : souris, pavé tactile, clavier ;
- en sortie : écran, haut-parleurs.
- Elles sont souvent graphiques, c’est-à-dire constituées d’une fenêtre dans laquelle se trouvent des composants tels que : des boutons, des cases à cocher, des boutons radio, des images, des zones de saisie de texte, des zones d’affichage de texte, etc.
Si l’on souhaite programmer ces interfaces graphiques avec le langage Python, le mieux est de faire appel à la bibliothèque tkinter dont l’avantage est d’assurer une compatibilité avec les principaux systèmes d’exploitation. C’est ce que nous allons faire dans l’exemple de programmation qui suit.
Cet exemple doit respecter le cahier des charges suivant :
- L’IHM doit permettre à l’utilisateur de compter le nombre de ses clics sur un bouton et de l’alerter par un signal sonore si ce nombre dépasse 10.
- Un texte explicatif doit être affiché.
- Une zone de texte doit afficher le compteur en temps réel.
- Un bouton doit être prévu pour compter le nombre de clics et un autre pour fermer la fenêtre de l’application.
Cela se traduit par le schéma suivant et la fenêtre d’application :
Principe de l’IHM et sa fenêtre
Exemple commenté de programmation d’une IHM sur ordinateur en python
Exemple commenté de programmation d’une IHM sur ordinateur en python
- L’IHM programmée, telle qu’elle s’affiche à l’écran.
Les entrées/sorties d’un système embarqué
Les entrées/sorties d’un système embarqué
Nous venons de programmer une IHM qui met en œuvre des entrées/sorties sur un ordinateur. Dans cette partie, nous allons programmer la gestion d’entrées/sorties d’un système embarqué en utilisant un Raspberry PI.
Le Raspberry PI
Le Raspberry PI
- Le Raspberry PI, ou RPI, est un nano ordinateur dont la taille se rapproche de celle d’une carte de crédit. Outre le fait qu’il peut s’avérer un ordinateur bon marché une fois un écran, une souris et un clavier branchés, sa petite taille et ses nombreux ports d’entrées/sorties permettent d’en faire un système embarqué.
RPI modèle B+ à côté d’une carte au format carte bancaire
C’est ce à quoi nous allons nous attacher. Le système embarqué que nous allons concevoir ne sera pas d’une grande utilité mais nous permettra d’appréhender la programmation d’entrées/sorties dans un système embarqué. Le système à réaliser doit réagir à l’appui d’un bouton poussoir en allumant une diode. Dès que le bouton est relâché, la diode s’éteint.
Prérequis
Prérequis
Le RPI doit au préalable être doté d’un système d’exploitation. L’installation de la version allégée de Linux et adaptée au RPI, dénommée Raspbian, fera l’affaire. Par ailleurs, nous devons câbler les entrées/sorties :
- les pôles de l’interrupteur (information d’entrée) seront connectés l’un à la broche repérée 2 et l’autre à la masse ;
- les pôles de la diode (information de sortie) seront connectés l’un à la broche repérée 16 et l’autre à la masse, avec l’insertion d’une résistance dans le circuit afin de limiter la tension aux bornes de la diode.
Principe de câblage du bouton poussoir et de la LED sur le RPI
Notre programme gérant des entrées/sorties sur le RPI
Notre programme gérant des entrées/sorties sur le RPI
- La figure illustre le RPI en marche avec le bouton appuyé. Nous remarquons alors qu’aucun périphérique type écran, souris ou clavier n’est branché au RPI. Celui-ci n’est branché qu’à son alimentation, au bouton poussoir et à la diode. C’est le propre d’un système embarqué.
Conclusion :
Nous savons maintenant que les microprocesseurs, qu’ils soient installés dans un ordinateur ou dans un système embarqué, gèrent des entrées/sorties ou des capteurs/actionneurs pour échanger des informations avec l’extérieur. Dans tous les cas, un programme est nécessaire pour se mettre à l’écoute permanente des entrées et réagir en conséquence en envoyant des données sur les sorties. Lorsqu’il s’agit de gérer les interactions de l’homme avec la machine, un tel programme est le point central de ce que l’on appelle l’IHM.