TTravaux d'initiative Personnelle Encadrés

Dimension: px
Commencer à balayer dès la page:

Download "TTravaux d'initiative Personnelle Encadrés"

Transcription

1 DORKEL Aymeric CHEVRET Anthony TTravaux d'initiative Personnelle Encadrés Les microcontrôleurs 8-bits Institut National des Sciences Appliquées de Strasbourg Années 2005/2006 STH 2 ST 5

2 - 2 -

3 Les microcontrôleurs 8-bits Durant le vingtième siècle l électronique telle que nous la connaissons actuellement est née. L invention du transistor durant les années 50 a permis la création des microprocesseurs qui ont ouvert l ère de l électronique programmable. Que sont les microcontrôleurs, et pourquoi sont-ils des éléments essentiels des applications électroniques aujourd hui? Les microcontrôleurs représentent une évolution des microprocesseurs en diminuant le nombre de composants annexes nécessaires à leur fonctionnement. Ils se développent parallèlement à leurs pères et sont destinés à des applications nécessitant moins de puissance de calcul mais un fort taux d intégration et des coûts réduits. Il existe une très large variété de microcontrôleurs, des plus petits modèles aux fonctions extrêmement basiques, généralement basés sur des architectures 8-bits, au plus imposants, exploitant des architectures 32-bits, en passant par des modèles spécialisés, que ce soit dans le traitement du signal comme les DSP («Digital Signal Processor», processeur pour signaux analogiques) ou dans la sécurité comme les microcontrôleurs sécurisés. Nous limiterons notre étude aux microcontrôleurs 8-bits, dont les principes de fonctionnement sont souvent extensibles aux architectures plus complexes. Nous n étudierons pas le fonctionnement des périphériques qu ils intègrent mais nous présenterons tout de même leur base sur le principe des entrées sorties. Les connaissances nécessaires pour pouvoir aborder ce rapport sont très réduites, elles se limitent à des notions d électricité, d automatisme et de programmation. Toutefois les annexes renforceront certains points nécessaires à la compréhension ou à l approfondissement du dossier. -3 -

4 -4 -

5 Sommaire Introduction au sujet 3 I Présentation 7 1. Définitions essentielles 7 2. Utilisation 8 3. Dates clés pour les microcontrôleurs 8-bits 9 4. Le marché du microcontrôleur Boîtiers pour microcontrôleurs Caractéristiques électriques 13 II Le choix d un exemple : le digicode Utilisation de notre circuit Schéma du circuit et explications de son fonctionnement La carte et son typon Fonctionnement du programme C 18 III Le fonctionnement du C.P.U. 25 A. Eléments nécessaires à la compréhension Mémoire et notion d adresse (extension : modes d adressage) Les entrés sorties 26 B. Traitement des instructions de base : instructions logiques, arithmétiques, Instruction Registre de travail Compteur ordinal Traitement de l instruction : décomposition, séquençage, pipeline 33 C. Traitement des instructions complexes : branchements, routines, interruptions Branchements et implications sur le pipeline Routines & pile Interruption 39 D. Compilation Notions de langage La compilation Exemples 42 Synthèse 47 Annexes 49 Annexe A : Bascules, compteurs & registres 51 Annexe B : Jeu d instructions, concepts CISC & RISC 59 Annexe C : Architectures Von Neumann & Harvard 65 Annexe D : Code source de l exemple 69 Bibliographie 77 Index

6 -6 -

7 Présentation Avant de présenter plus en détail le fonctionnement des microcontrôleurs 8-bits, nous allons pour commencer brièvement en décrire les composants principaux, mais également nous intéresser aux domaines dans lesquels ils sont utilisés, qui en sont les principaux producteurs et à quoi ressemblent-t-ils physiquement. Nous citerons aussi les dates clés de la naissance et de l évolution des microcontrôleurs. 1. Définitions essentielles Qu est ce qu un processeur? Tiré de l anglais «Central Process Unit (CPU)» (Unité centrale de traitement), le processeur est une unité de traitement d information. Il est capable d exécuter un programme au rythme d une fréquence fournie par un oscillateur. Tous les calculs et divers processus occasionnés lors du traitement de ce programme sont également gérés par le processeur. Il est cependant incapable de stocker tout un programme et les données qui sont nécessaires à son exécution. Pour fonctionner correctement, le processeur doit donc disposer d au moins une mémoire où se trouvent ces différentes informations. Qu est ce qu un microprocesseur? Il remplie exactement les mêmes fonctions qu un processeur mais ses dimensions lui permettent de tenir sur un seul circuit intégré, le processeur pouvant quant à lui occuper plusieurs cartes. Du à la généralisation du microprocesseur et à la disparition des processeurs volumineux, on confond par abus de langage les deux termes. -7 -

8 Qu est ce qu un microcontrôleur? Le microcontrôleur est un circuit intégré comprenant essentiellement un microprocesseur, ses mémoires et des éléments personnalisés selon l'application. Les éléments internes au microcontrôleur sont extrêmement variés, ils dépendent de la technologie du microcontrôleur, de son niveau de gamme, de sa marque. On peut dire que chaque model de microcontrôleur possède ses propres éléments internes mais certains d entre eux se retrouvent dans la plupart des microcontrôleurs. Dans le schéma ci-dessous, on aperçoit les composants classiques tels un convertisseur analogique numérique (CAN) et des interfaces série et parallèle afin de communiquer avec l extérieur. Figure I.1.1 : schématisation simpliste de la composition d un microcontrôleur 2. Utilisation du microcontrôleur Le microcontrôleur est un composant électronique programmable, peu encombrant doté d une basse consommation ; ses atouts le rendent facilement intégrable dans des produits utilisés au quotidien comme les appareils domestiques, les périphériques d'ordinateurs ou les automobiles. Il peut également entrer en compte dans la conduite de processus industriels ou même en tant que composant de missiles. -8 -

9 3. Dates clés pour les microcontrôleurs 8-bits Apparaissant au milieu des années quatre vingt, le microcontrôleur 8-bits a beaucoup évolué jusqu à aujourd hui, ceci grâce aux améliorations consécutives des microprocesseurs et des mémoires qui y sont associées. La «loi de Moore» prévoit que le nombre de transistors inscriptibles sur une même surface de silicium double tous les dix huit mois, ce qui a permis d utiliser des processeurs plus performants dans les microcontrôleurs ou d en réduire la taille. L évolution de l «EEPROM» (Electrically Erasable Read Only Memory / Mémoire à lecture seule effaçable électriquement) et l apparition de la mémoire Flash qui allie vitesse élevée, durabilité et faible consommation ont également contribuées au développement des microcontrôleurs. Suivant les utilisations faites du microcontrôleur, le choix entre les concepts «CISC» et «RISC» peut amener une amélioration substantielle. Ces concepts sont présentés en annexe Création de l' «ENIAC» (Electronic Numerical Integrator and Calculator / Calculateur et intégrateur numérique électronique) par P. Eckert et J. Mauchly. L «ENIAC» est considéré comme le premier ordinateur, il occupait alors plusieurs salles et ce programmait grâce à des câbles Invention du transistor par William Bradford Shockley, Walter H. Brattain et John Bardeen Première machine de Von Neumann fonctionnant : la «Baby» a été construite à l université de Manchester Premier transistor commercial au silicium conçu par «Texas Instrument» 1958 Invention du circuit intégré par Jack Kilby chez «Texas Instrument» 1968 Fondation de «Intel» 1971 Création du premier microprocesseur : le «4004» d Intel, unité de calcul à 4 bits, cadencé à 108 khz Fondation d «Atmel». Motorola développe le microcontrôleur MC 68HC11 de 8 bits Fondation de «Microchip» et lancement de leur série PIC16C5X Premier microcontrôleur PIC de «Microchip» à 8 broches Premier microcontrôleur 8-bits RISC d Atmel à mémoire Flash «Microchip» devient le premier fournisseur de microcontrôleurs 8-bits Motorola se sépare de sa filiale s occupant des microcontrôleurs qui devient «Freescale». -9 -

10 4. Le marché du microcontrôleur Tout d abord, voici une liste non exhaustive des principaux fournisseurs de microcontrôleurs 8-bits. Analog Devices Atmel Cypress Dallas Fairchild Infineon Maxim Microchip Temic Zilog Texas Instruments On Semiconductor Philips Semiconductor Motorola (Freescale) National Semiconductor Parmi tous les constructeurs de microcontrôleurs 8-bits se dégagent essentiellement Atmel, Microchip Technology et Motorola qui est maintenant devenu Freescale. Ce dernier est un des premiers constructeurs et a fondé sa réputation notamment grâce au MC 68HC11 qui est l un des premiers microcontrôleurs 8-bits du marché. Atmel est plus connu pour ses séries «AVR 8-bits RISC» parmi lesquels figurent trois niveaux de gamme : les «Attiny» représentant la gamme bon marché, les «At90» pour le milieu de gamme et les «Atmega» regroupant le haut de gamme. Dans le même style, trois catégories de performance sont également retrouvées chez Microchip. Il s agit de trois groupes : «Baseline Architecture» (Architecture de base), «Mid Range Architecture» (Architecture de gamme moyenne) et «High Range Architecture» (Architecture haute gamme). La notoriété acquise au fil des années, notamment fondée sur la série des 16F8X, a permis à Microchip de devenir le premier fournisseur de microcontrôleurs 8-bits en

11 5. Boîtiers pour microcontrôleurs Le circuit du microcontrôleur est gravé dans du silicium, sa taille est très réduite, de l ordre de 0.2 mm². Afin de l utiliser, il faut pouvoir l installer sur un circuit. Pour cela, il est implanté dans différents boîtiers adaptés à ses différentes utilisations. Boîtier PDIP Le boîtier PDIP (Plastic Dual Inline Package, que l on peut traduire par boîtier plastique à double rangé de pattes) est le plus grand des boîtiers disponibles, c est à dire que pour un nombre de pattes donné, ses dimensions sont les plus élevées. Il s agit du modèle le plus commun pour les prototypes et petites séries, ses dimensions nominales sont de 22,80mm x 7,94mm x 3,30mm (longueur x largeur x épaisseur) ce qui permet une implantation ne nécessitant pas de matériel dédié. L exemple qui suit est celui d un PIC 16F628 de Microchip. Figure I.5.1 : brochage 16F628 en boîtier PDIP Figure I.5.2 : Boîtier PDIP 18 pattes Figure I.5.3 : Photo d un PIC 16F628 en boîtier PDIP 11

12 Boîtiers SOIC et SSOP Afin d intégrer au mieux les microcontrôleurs dans les circuits en réduisant la place qu ils occupent, de nouveaux standards ont été crées. La figure I.5.4 représente toujours une vue du PIC16F628 mais en boîtier SOIC («Small Outline Integrated Circuit» traduisible par petit circuit intégré). Les caractéristiques sont différentes : 11,53mm x 10,34mm x 2,31mm (longueur x largeur x épaisseur). Figure I.5.4 : Boîtier SOIC 18 pattes Figure I.5.5 : Boîtier SSOP 20 pattes La figure I.5.5 ne semble pas différer beaucoup de sa voisine mais en intégrant une paire de patte supplémentaire, le 16F628 type SSOP (Shrink Small Outline Package/Petit circuit intégré rétréci) occupe encore moins d espace : 7,80mm x 7,20mm x 1,75mm (longueur x largeur x épaisseur). Boîtier QFN Figure I.5.6 : Boîtier QFN La figure I.5.6 représente un model carré de microcontrôleur, il s agit du 16F628 de type QFN (Quad Flat No leads package/carré plat sans patte). L espace utilisé est moindre puisque ses dimensions sont réduites afin de le rendre le plus plat possible : 6mm x 6mm x 0,90mm (coté x coté x épaisseur)

13 Autre exemple de boîtier : TQFP Les microcontrôleurs disposant d un nombre élevé d entrés sorties ne sont que rarement disponibles en boîtier type PDIP. Par exemple, l ATMEL Atmega 128 n est commercialisé que dans deux formats, dont le TQFP, «Thin Profile Plastic Quad Flat Package» (boîtier plat carré en plastique à profil fin). 6. Caractéristiques électriques Figure I.5.7 : Atmega 128 en boîtier TQFP La plupart des microcontrôleurs sont basés sur des circuits type C-MOS car cette technologie n induit qu une faible consommation et permet donc d utiliser une alimentation des plus simples ; or la fréquence interne du microcontrôleur est dépendante de la tension d entrée donc celle-ci doit tout de même être assez élevée pour assurer le bon fonctionnement du programme. La figure I.6.1 présente, ci-dessous, la gamme de tension acceptable par le PIC16F628 en fonction de la fréquence désirée. Pour notre exemple, nous avons décidé de prendre une alimentation de 3V facilement concevable avec deux piles de 1,5V. Figure I.6.1 : La région grisée indique la combinaison tension/fréquence acceptable pour le PIC16F

14 - 14 -

15 Le choix d un exemple : le digicode Un exemple était nécessaire pour illustrer notre rapport et justifier nos affirmations par un cas concret. Les TIPE n étant pas un projet de conception, nous nous sommes donc limité au minimum et avons décidé de créer un circuit des plus simples, un digicode. Celui-ci n utilise que les fonctions de base du microcontrôleur et n exploite quasiment aucun des périphériques que nous n étudions pas. 1. Utilisation de notre circuit Lorsque le digicode fonctionne correctement et attend la saisie d un code, la LED verte clignote doucement, avec un rapport cyclique très faible. Lorsque l utilisateur presse un bouton, la LED jaune s allume, lorsqu il le relâche, elle s éteint. Cela permet de confirmer chaque saisie. Pour entrer un code, il est nécessaire que l intervalle de temps entre 2 touches soit inférieur à 5s sinon il faut recommencer le code depuis le début. La même chose se produit lorsqu une mauvaise touche ne correspondant pas au code est appuyée. Lors de l entrée du code valide, la LED verte clignote rapidement durant 8 secondes puis reste allumée 2 secondes. Tout autre code n a aucun effet mis à part celui de reconfiguration

16 La reconfiguration du code d accès fait appel à l utilisateur qui doit effectuer la suite des opérations suivantes : Appuyer simultanément sur les 3 boutons d une des diagonales du clavier, ce qui entraîne le clignotement de la LED rouge. Saisir l ancien code (si celui-ci n est pas entré avant 4s, alors la modification du code d accès est avortée). La bonne saisie sera indiquée par le clignotement de la LED verte (ainsi que la LED rouge) Saisir le nouveau code, la LED jaune va clignoter (ainsi que la LED rouge) et la LED verte s éteindre. Saisir une nouvelle fois le nouveau code, la LED jaune s arrête de clignoter après l appui sur la première touche et reprend son rôle de confirmation de saisie. Si le code a été retapé à l identique alors la reconfiguration s est effectuée avec succès et le nouveau code est en place ; sinon la procédure est arrêtée et c est l ancien code qui est actif. Durant toute cette étape de reconfiguration, toute attente de plus de 4s sans appui entraînera la fin de la tentative de modification. 2. Schéma du circuit et explications de son fonctionnement Voici le schéma de notre digicode, suivit d explications concernant son fonctionnement. Figure II.2.1 : schéma du circuit (valeurs des composants non significative)

17 Le connecteur J1 sert à la programmation du microcontrôleur. Grâce à la diode D5, la tension d alimentation fournie lors de la programmation ne se propage pas dans le reste du circuit, ce qui nous permet de différencier la tension de programmation de la tension d utilisation. Nous programmons le microcontrôleur en 5V, mais en phase d utilisation, nous l alimentons en 3V (grâce au connecteur J2), plus aisé à générer (deux piles 1.5 V AA en série suffisent). En mode programmation, nous devons appliquer une tension de 12V sur la patte MCLR du PIC, en utilisation, 3V. La diode D4 évite la propagation du 12V dans le circuit d alimentation du mode utilisation. Le clavier, composé des neufs boutons poussoirs PB1 à PB9, est du type «matriciel». En effet, 6 fils suffisent pour lire l état des neuf touches. Il nous suffit pour cela de placer à 5V les colonnes du clavier par les sorties du microcontrôleur et de lire l état des entrées correspondant aux lignes. Si un bouton est appuyé, l entrée sera à l état haut, sinon, elle sera à l état bas car tiré à la masse par les résistances R1 à R6. Le microcontrôleur choisi supporte mieux un courrant entrant qu un courant sortant, c est pour cela que les LED sont commandées de façon inverse (une patte à l état haut éteint la diode qui lui est connectée). 3. La carte et son typon Figure II.3.1 : typon de la carte réalisé en simple face avec un seul pont On peut reconnaître sur le typon l ensemble des composants du schéma. Le routage a été déterminé par l esthétique de la carte et certaines règles de tracé limitant les microcoupures et les erreurs, que nous ne détaillerons pas dans notre rapport

18 4. Fonctionnement du programme C Pour décrire simplement le fonctionnement du programme exécuté par le microcontrôleur, nous allons utiliser des logigrammes (parfois appelés «algorigrammes»). Ils permettent la suivit du déroulement de l exécution sans nécessairement avoir à comprendre le code exécuté par le microcontrôleur. Désignation des principaux éléments d un logigramme Figure II.4.1 : Début ou fin d organigramme. Figure II.4.2 : Traitement d information. (entrées / sorties / données) Figure II.4.3 : Sous programme : portion de programme considérée comme une simple opération. Figure II.4.4 : Embranchement de test. Condition Si condition non réalisée Si condition réalisée Figure II.4.5 : Renvoi : utilisé deux fois pour assurer la continuité lorsqu une ligne n est pas représentée

19 Programme de lancement Ce programme est celui qui est exécuté en premier par le microcontrôleur. Il nous permet d initialiser des variables et des états et de configurer le timer 1 pour qu il lance l exécution du programme principal toutes les 40ms. Une variable w sert à stocker la position du chiffre du code actuellement attendu, plus de détail sont disponibles dans le logigramme du programme principal. Figure II.4.6 : logigramme d attente du microcontrôleur

20 Programme principal Ce programme est appelé toutes les 40 ms par une interruption du timer 1, configurée lors de l initialisation. Figure II.4.7 : logigramme de vérification du code d accès

21 Gestion de la LED jaune La LED jaune doit s allumer lors de l appui sur une touche et s éteindre lorsque aucune touche n est pressée. A chaque fois que nous voudrons actualiser son état, nous appellerons cette fonction. Figure II.4.8 : logigramme de confirmation de saisie d une touche (gestion de l état de la LED jaune)

22 Lecture du clavier : LN Cette fonction est appelée à chaque fois que l on souhaite lire l état du clavier. Elle retourne le résultat dans la variable V. V peut prendre le numéro de la touche enfoncée, mais également 11 si trois touches diagonales sont pressées. Figure II.4.9 : logigramme indiquant les touches enfoncées

23 Reconfiguration du code : M config Ce programme est appelé lors de l entrée en procédure de reconfiguration du code. Figure II.4.10.a : début du logigramme de reconfiguration du code d accès

24 Figure II.4.10.b : fin du logigramme de reconfiguration du code d accès

25 Le fonctionnement du C.P.U. A. Eléments nécessaires à la compréhension La partie suivante concerne les mémoires, pour de plus amples informations sur leur fonctionnement, consulter les annexes A et C. 1. Mémoire et notion d adresse Un microcontrôleur a besoin de mémoire pour fonctionner, aussi bien pour stocker les instructions qu il doit exécuter que pour stocker des variables de travail. Celle-ci peut être constituée de bascules RS. A chaque bit correspond une bascule. Vu qu il ne peut être physiquement connecté à plusieurs milliers de bits de mémoire simultanément, un système d adressage a été mis en place. Le microcontrôleur donne l adresse de la partie de la mémoire qu il veut consulter et peut soit y écrire soit en lire la valeur. La majorité des microcontrôleurs utilisent deux zones de mémoires : une pour le programme et une pour les variables. Cette séparation comporte de nombreux avantages, dues aux différences d utilisation de ces mémoires. La mémoire contenant le programme n est modifiée que lors de la programmation du composant, elle est bien plus souvent lue. Elle doit également être sauvegardée lors de coupures d alimentation. La technologie utilisée est couramment la mémoire flash. La mémoire contenant les données est autant lue qu écrie. Elle n a pas besoin d être préservée lors des coupures d alimentation, car celles-ci provoquent de toute façon un redémarrage du composant. Si on donnait une adresse à chaque bit de mémoire, la quantité d adresses serait très élevée. L adressage se fait donc par octets, c est à dire par groupes de bits. Dan des le cas de la mémoire destinée aux données, ces groupes sont des octets, c est à dire des groupes de huit bits. Une adresse est une donnée, elle possède donc un type. Il s agit d un entier non signé. La taille de celui-ci dépend beaucoup de l architecture du microcontrôleur. Par exemple, les microcontrôleurs Atmel Atmega utilisent des adresses mémoire stockées sur deux octets. Un calcul des plus simples nous montre que cela limite l adressage à octets de mémoire, ce qui est amplement suffisant pour un microcontrôleur. Les modèles Microchip PIC 16F utilisent des adresses mémoire codées sur sept bits (souvent stockées dans une variable d un octet), ce qui limite l adressage à 128 octets de mémoire, ce qui est insuffisant pour des applications complexes. Pour palier ce problème, ce constructeur a organisé la mémoire de ses microcontrôleurs en plusieurs banques de mémoire ( rambank ) Le 16F88 en dispose de quatre. Pour accéder à un octet, il faut configurer la banque de mémoire utilisée et ensuite donner son adresse

26 Etant donné que ce mode de gestion de la mémoire en complique l accès (il faut toujours spécifier la banque utilisée puis l adresse), le constructeur a placé sur certains modèles une partie de la mémoire de chaque banque en commun. Par exemple, sur le 16F88, les 16 derniers octets de chaque banque correspondent à la même mémoire. L accès à des variables dont on peut avoir besoin couramment est grandement simplifié, il n est plus nécessaire de spécifier la banque de mémoire à laquelle elles appartiennent. Par contre, cette méthode restreint la quantité totale de mémoire adressable : sans cette subtilité, quatre banques utilisant des adresses sur sept bits permettaient d adresser 4x128 = 512 octets de mémoire. Avec celle-ci, on ne peut qu adresser 4x(128-16)+16 = 464 octets de mémoire. Cet inconvénient n est pas gênant car le 16F88 ne dispose pas d autant de mémoire. 2. Les entrées - sorties Pour communiquer avec le circuit dans lequel ils sont implantés, les microcontrôleurs utilisent les niveaux de tension électrique des pattes de leurs boîtiers. A part certaines aux fonctions essentielles (alimentation par exemple), la majorité sont utilisables comme des entrées - sorties (I/O : input/output), ce qui leur permet aussi bien de recevoir des informations provenant de l extérieur du microcontrôleur que d en transmettre. Le programme du microcontrôleur peut donc définir une patte comme étant une sortie et y appliquer un niveau logique ou comme étant une entrée et en lire le niveau logique. Dans le cas du digicode illustrant ce document, certaines pattes configurées en sorties permettent d allumer ou non des LED, quand d autres configurées en entrée servent à lire l état des boutons du clavier. Les entrées - sorties constituent le périphérique le plus basique du microcontrôleur. La méthode utilisée par le processeur pour communiquer avec ce périphérique est similaire avec celles utilisées pour communiquer avec tous les autres (convertisseur analogique/numérique, bus, etc.), c est pourquoi c est le seul périphérique qui est présenté dans ce dossier. Les pattes des microcontrôleurs sont regroupées en ports, un port correspond à huit pattes. A chaque port sont associés plusieurs octets de configuration, selon le type de microcontrôleur. Dans chacun de ces octets, un bit correspond à une patte du circuit. Figure III.A.2.1 : protection d une entrée Pour protéger le composant des surtensions, on trouve généralement deux diodes connectées comme le montre la figure III.A.2.1. Si la tension appliquée à la patte dépasse la tension d alimentation du microcontrôleur majorée de la tension de polarisation de D1, le courant circule de la patte vers l alimentation. Si elle est inférieure à la masse de plus de la tension de polarisation de D2, le courant circule de la patte vers la masse. Dans de nombreux cas, cette circulation de courant protège l entrée car elle provoque une chute de tension sur la patte

27 Le cas des modèles 16F de Microchip Ces microcontrôleurs associent à chaque port deux registres, nommés TRIS et PORT. Le registre TRIS sert à définir les pattes comme des entrées ou des sorties, un état haut correspond à une entrée, un état bas à une sortie. La lecture du registre PORT permet d obtenir le niveau de tension appliqué à une patte, si celle-ci est configurée en sortie, l écriture dans le registre PORT permet de lui affecter un état. La figure A représente le schéma électrique simplifié de câblage d une patte. Le bit du registre PORT correspondant à cette patte est représenté par la bascule «données», celui du registre TRIS par la bascule «sens». Lorsque «sens» est à l état haut, les deux interrupteurs N et P sont ouverts, aucune tension n est imposée sur la patte. Lorsque sens est à l état bas, si «données» est à l état haut P est fermé et N est ouvert, si «données» est à l état bas P est ouvert et N est fermé. Lors de la lecture de TRIS, la valeur de la bascule «sens» est placée sur le bus de données. Lors de la lecture de PORT, l état de la patte est stocké dans la bascule «lecture» et la sortie de celle-ci est placée sur le bus de données. Figure III.A.2.2 : câblage simplifié d une patte de PIC 16F

28 Le cas des modèles Atmega d ATMEL Contrairement à leurs homologues de Microchip, les ATMEL Atmega associent à chaque port trois registres : DDR (Data Direction Register, Registre d Orientation des Données), PORT et PIN. Deux registres n étaient pas suffisants car sur ces modèles on peut activer une résistance de tirage aux entrées. La figure B représente le schéma électrique simplifié de câblage d une patte. La mise à l état haut de DDR désactive la résistance de tirage et place l état logique de PORT sur la patte. La mise à l état bas de DDR permet l activation de la résistance de tirage en fonction de l état de PORT et n impose plus d état à la patte, qui est alors configurée en entrée. Le registre PIN continent toujours la valeur logique de la patte, mais le module de synchronisation induit un décalage entre le contenu du registre et l état réel de la patte. Les fonctions «sommeil» du microcontrôleur influent sur les entrées de celui-ci pour en diminuer la consommation électrique comme le montre le schéma, mais ce point ne sera pas abordé. Figure III.A.2.3 : câblage simplifié d une patte d ATMEL Atmega

29 Les cas plus complexes Pour beaucoup de pattes les schémas de câblage simplifiés contrôlant réellement leur état sont bien plus complexes que ceux présentés, pour plusieurs raisons. Les autres périphériques des microcontrôleurs sont souvent multiplexés avec des entrées/sorties et prennent le contrôle de la patte lorsqu ils sont activés. Des systèmes de déclenchement d interruptions sont parfois associés à des pattes, afin de permettre l exécution d une partie précise du programme en cas de changement d état logique de la patte

30 - 30 -

31 B. Traitement des instructions de base : instructions logiques, arithmétiques, 1. Instruction Une instruction est une opération élémentaire que le microcontrôleur peut accomplir. Le programme que celui-ci exécute est une suite d instructions, stockées dans la mémoire programme. Exemple d instruction : incrémenter un registre Les instructions sont divisées en deux parties distinctes : le code opération qui représente l action que le microcontrôleur doit accomplir et le code opérande qui correspond au(x) paramètre(s) nécessaire(s) à cette action. Dans l instruction ajouter 5, ajouter est le code opération, 5 est le code opérande. La dimension de ces deux parties n est pas constamment la même, mais dans tous les cas la totalité de l instruction a une dimension définie, liée au mode d adressage de la mémoire stockant le programme. Par exemple, sur les microcontrôleurs Microchip PIC 16F, les instructions sont stockées sur 14 bits. La figure III.B.1.1 montre la répartition opération opérande pour différentes instructions. On peut classer les instructions en plusieurs grandes catégories. Les opérations arithmétiques et logiques (additions, opérations de logique sur les octets) Les opérations sur les bits (opérations de logique bit à bit) Les opérations de test et de branchement (saut à une instruction donnée du code, saut conditionnel) Les instructions de transfert de données (chargement d une valeur de la mémoire dans un registre, écriture d une valeur d un registre dans la mémoire) Les instructions spécifiques (concernant les modes du microcontrôleur, les périphériques)

32 Figure III.B.1.1 : répartition opération opérande pour différents types d instructions 2. Registre de travail Un registre de travail est une unité de mémoire très proche du cœur du microprocesseur, sur laquelle il peut influer très simplement. La majorité des instructions utilisent le ou les registres de travail du microcontrôleur. Les microcontrôleurs disposent d un nombre plus ou moins élevé de registres de travail. Par exemple, le PIC 16F88 ne dispose que d un unique registre de travail, nommé W (comme Work, travail, en anglais). L Atmega 128 dispose de 32 registres de travail. L instruction ajouter 5 agit directement sur un registre de travail : celui-ci se voit incrémenté de

33 3. Compteur ordinal Les instructions du code exécuté par le microcontrôleur sont traitées les unes après les autres. Pour connaître l instruction qu il doit traiter, le microcontrôleur place l adresse de celle-ci dans le compteur ordinal, un registre de la taille des adresses de la mémoire du code. Lorsque le microcontrôleur effectue une suite d instructions sans test conditionnel, la valeur du compteur ordinal évolue de façon croissante. Il contient tout d abord l adresse de la première instruction à exécuter, notons cette adresse x. Après le traitement de celle-ci, il contient l adresse de l instruction suivante, x+1. Ses valeurs successives seront donc x, x+1, x+2, etc. Lors d une instruction de branchement, ou lors de certains cas de test conditionnel, le compteur ordinal est directement modifié : les instructions ne sont plus traitées les unes après les autres. 4. Traitement de l instruction : décomposition, séquençage, pipeline Une instruction, malgré sa simplicité, ne peut souvent pas être traitée en un seul cycle d horloge. En effet, il faut dans tous les cas lire l instruction dans la mémoire du code, l interpréter, l exécuter. Un séquenceur se charge donc de la décomposer en instructions élémentaires, qui peuvent êtres exécutées en un seul cycle. Les microcontrôleurs Microchip PIC de la famille 16F décomposent l exécution d une instruction en quatre phases. Ces quatre cycles expliquent le fait que pour cette famille de microcontrôleur, la fréquence de traitement des instructions correspond au quart de la fréquence d horloge. Par exemple, si un pic 16F88 est cadencé à 8 MHz, sa capacité sera de 2 Mips ( Mega Instruction Per Second, millions d instructions par seconde). Cette opération de décomposition est nommée séquençage de l instruction, elle est effectuée par un séquenceur. Pour mieux expliquer ce fonctionnement, voici le cas de la décomposition de l instruction ajouter 5 au registre de travail sur un PIC 16F. La mnémonique de cette instruction est ADDLW, ajouter une constante à W. En binaire, dans la mémoire programme, on retrouvera le code suivant : x kkkk kkkk, avec x correspondant à un bit non significatif et la série de k à l opérande, ici 5, ce qui donnera soit soit Nous considérerons le premier cas. Premier cycle : décodage Le code opération de l instruction est traité. Pour donner une explication simple, on pourrait dire que dans le CPU, il existe un bit par instruction. Durant ce cycle, le bit correspondant à l instruction ajouter une valeur au registre de travail est mis à un, grâce à une logique combinatoire élémentaire câblée à partir de portes logiques : une porte ET ayant cinq entrées correspondant aux cinq bits de poids le plus fort

34 Second cycle : lecture de la constante La constante, c est à dire l opérande, stockée dans les huit bits de poids les plus faibles de l instruction, est pris à part et placée dans un registre de l additionneur, partie de l ALU ( Arithmetic and Logic Unit, unité de traitement arithmétique et logique, voir annexe A). Troisième cycle : addition Ce cycle donne le temps à l ALU d effectuer l addition. En effet, à la fin du cycle précédent, elle a reçu la valeur qu elle doit ajouter au registre de travail, elle peut maintenant effectuer l opération. Quatrième cycle : écriture du résultat dans W Une fois l addition effectuée, le résultat est copié dans le registre de travail. En effet, l ALU utilisait le registre de travail comme entrée durant le troisième cycle, elle ne pouvait donc pas y écrire simultanément, elle a donc stocké le résultat de l opération dans un registre temporaire, qui est maintenant copié vers le registre de travail. Pour encore accélérer le traitement, la lecture de l instruction depuis la mémoire du code vers un registre d instruction est effectuée durant le traitement de l instruction précédente (l influence des instructions de branchement sera traitée dans le paragraphe III.C.1). C est ce qu on appelle un pipeline à deux niveaux : chaque instruction est traitée en deux temps, et deux instructions sont traitées simultanément. Figure III.B.4.1 : Schéma récapitulatif du traitement des instructions sur un microcontrôleur Microchip PIC 16F OSC1 représente la fréquence d horloge. Q1 à Q4 représentent les quatre phases de traitement d une instruction. PC représente la valeur du compteur ordinal. CLKOUT représente la fréquence de traitement des instructions (on peut demander au microcontrôleur de la placer en sortie sur une patte du circuit) En bas de diagramme, on voit le traitement des instructions. Fetch INST correspond au chargement de l instruction et Execute INST correspond à son exécution

35 Figure III.B.4.2 : Schéma simplifié du CPU d un microcontrôleur Microchip PIC 16F

36 - 36 -

37 C. Traitement des instructions complexes 1. Branchements et implications sur le pipeline Comme expliqué précédemment, les instructions sont décomposées par le séquenceur afin de pouvoir être traitées comme une suite d opérations des plus simples. Pour gagner du temps, un pipeline à deux niveaux permet de traiter les premières opérations constituant une instruction pendant que les dernières opérations de l instruction précédentes sont effectuées. Lors d un branchement, qui correspond par exemple à l instruction n, vers l instruction x, le compteur ordinal est modifié durant le traitement des dernières opérations qui la constitue. Pendant le même temps, les premières opérations de l instruction suivante, n+1, étaient déjà traitées. La modification du compteur indique que l instruction n+1 ne sera pas traitée, mais l instruction x le sera. Le traitement des premières étapes de l instruction n+1 a été inutile. Le processeur perd donc un cycle durant lequel il traite les premières opérations de l instruction x. On dit alors qu un saut ou un branchement «casse» le pipeline. Dans le cas des branchements conditionnels, deux situations existent : soit la condition est validée, le saut sera donc effectué, le pipeline brisé et on considère donc que le branchement conditionnel nécessite deux cycles (test et saut), soit la condition n est pas vérifiée et l instruction ne nécessitera qu un cycle. 2. Routines et pile Dans les programmes destinés à êtres exécutés par les microcontrôleurs, on trouve très souvent un grand nombre d opérations récurrentes. En effet, si par exemple l utilisation de l EEPROM est nécessaire, il faudra couramment effectuer la suite d opérations pour y écrire ou y lire des données. Pour éviter d avoir à écrire la suite d instructions correspondant à ces opérations très souvent dans le programme, et donc augmenter considérablement sa taille, on fait appel à des routines, aussi appelées fonctions, ou «sub». Ces fonctions reçoivent des paramètres et renvoient une valeur. Ces paramètres et cette valeur de retour sont des variables. Le code correspondant à une fonction, c est à dire la suite d instructions qui la constitue, est stocké dans une plage de la mémoire programme. Lors d un appel de cette fonction, le CPU va exécuter le code de la fonction puis revient au code d appel. Il doit donc sauvegarder la valeur du compteur ordinal lors de l appel pour pouvoir y revenir après l exécution de la fonction. Exemple : à l instruction n, un code appel une fonction débutant à l instruction j et se terminant à l instruction j+k. Les instructions seront donc effectuées dans l ordre suivant :, n-2, n-1, n [saut], j, j+1,, j+k-1, j+k [retour], n+1, n+2,

38 Pour les microcontrôleurs Microchip PIC 16F, un appel de fonction correspond à l instruction CALL et un retour à l instruction RETURN. Une fonction peut appeler une autre fonction. Il faudra alors sauvegarder deux valeurs du compteur ordinal, pour pouvoir exécuter le code dans le bon ordre. Cette autre fonction peut à nouveau appeler une fonction, et ce un grand nombre de fois. Il est donc nécessaire d enregistrer un grand nombre de valeurs du compteur ordinal, pour pouvoir revenir au code à exécuter à la fin de chaque appel de fonction. Pour palier ce problème, une pile est utilisée. Il s agit d une zone de mémoire dans laquelle les valeurs du compteur ordinal sont écrites les unes après les autres. Un pointeur de pile permet de trouver la dernière ayant été inscrite. A chaque appel de fonction, la valeur du compteur ordinal est «empilée», c est à dire copiée à la suite de la pile, et le pointeur de pile incrémenté. A chaque retour (fin de fonction), le compteur ordinal est «dépilé», c est à dire lu à partir de la pile, et le pointeur de pile est décrémenté. Il existe différentes méthodes pour implanter une pile. Les microcontrôleurs Microchip PIC 16F utilisent une pile dite «en hard», c est à dire une zone de mémoire dédiée à cette activité, et dont la taille est limitée, dans leur cas à huit empilages. Cette zone a la dimension du compteur ordinal, donc treize bits dans leur cas. Les microcontrôleurs ATMEL Atmega utilisent une pile «en soft» : la pile est une partie de la mémoire destinée aux données. La première position pointée par le pointeur de pile est la dernière adresse de la mémoire, et lors des empilements, celui-ci diminue. Une pile «en hard» est plus sécurisante. En effet, seules les fonctions d appel et de retour de fonction y accèdent, et aucune donné ne peut y être écrite. Elle permet aussi d avoir une dimension optimale, celle du compteur ordinal. Malheureusement, sa taille est limitée, dans le cas des 16F à huit niveaux et dans le cas des 10F à seulement deux niveaux. Une pile «en soft» permet plus de libertés. En effet, des instructions d empilement et de dépilement sont disponibles et le programme peut placer tous types de données sur la pile, comme par exemple les paramètres à transmettre aux fonctions lors de leur appel. Malheureusement elle nécessite plus d attention pour deux raisons. Si la pile progresse vers le début de la mémoire de données et que les données sont stockées du début vers la fin de cette même mémoire, une collision est possible et un écrasement mutuel peut se produire, ce qui mènera à une instabilité certaine. Si les opérations d empilement et de dépilement ne sont pas effectuées dans un ordre strict, un décalage peut intervenir et altérer une fois encore les données. Les compilateurs de langages de plus haut niveau comme le C ou le Basic sont beaucoup plus à l aise avec une pile «en soft», qui leur permet d exploiter pleinement le processeur. Les piles «en hard» sont bien plus contraignantes, que ce soit pour le passage d arguments lors d utilisation de la fonction dans le code principal et dans des interruptions ou pour l utilisation d appels récursifs

39 3. Interruptions Les processeurs qui sont au cœur des microcontrôleurs ont besoin d être très réactifs par rapport aux évènements des éléments qui les entourent et qui proviennent de leurs périphériques. En effet, ils exécutent souvent une tâche de fond mais doivent effectuer un traitement d urgence lorsqu un périphérique déclare un événement, qui peut aussi bien être la fin d un travail qu une modification de l état d une patte du composant. Pour répondre à cette situation, les microcontrôleurs disposent d interruptions, sortes de fonctions appelées dès qu un événement survient. Un code en train d être exécuté peut être mis en attente pour laisser place au traitement d une tâche plus urgente. Les microcontrôleurs Microchip PIC 16F disposent par exemple d une interruption liée au changement d état de la patte RB0. Lorsque celle-ci est activée, en cas de changement sur la patte en question, un code sera exécuté. Il existe un endroit du code où sont inscrit les adresses des codes à exécuter en cas d interruption. Cette zone est nommée «table des vecteurs d interruptions». Sur les microcontrôleurs Microchip PIC 16F, il s agit des premiers octets de la mémoire programme. Lors de son exécution, le microcontrôleur utilise plusieurs registres, dont le ou les registres de travail ainsi que des registres d état. Vu qu il peut être interrompu à tout moment, il faut sauvegarder l état de ces registres au début de l exécution du code d interruption et les restaurer à la fin de celle-ci. L exemple du code du digicode lié à ce dossier le montre clairement. Une interruption fait «perdre» plusieurs cycles au microcontrôleur, en effet tout comme un appel de fonction il nécessite d empiler le compteur ordinal et de briser le pipeline, autant à l appel qu au retour

40 - 40 -

41 D. Compilation Les microcontrôleurs ne cessent d êtres améliorés. La complexité et la puissance de calcul des modèles les plus récents rendent leur programmation en langage assembleur longue et pénible. La compilation est l étape qui permet de passer d un code dans un langage de haut niveau au langage machine. Ce chapitre en décrit les fondements et donne de nombreux exemples. 1. Notions de langage Les langages de programmation sont dits artificiels. En effet, contrairement aux langues vivantes, ils n évoluent pas avec leurs utilisateurs, qui les modifient constamment, mais grâce à des normes, qui décrient des versions. Il sont destinés à traduire un fonctionnement précis, dans notre cas un programme, et ne peuvent, contrairement aux langues vivantes, se suffirent à eux-mêmes ; les commentaires dans les codes sources en sont la première preuve. Le langage machine est l ensemble du code contenu dans la mémoire programme du microcontrôleur. Il est quasiment illisible par l homme. L assembleur (ASM) est un langage dit de bas niveau. En effet, c est une traduction du langage machine, agrémenté d artifices le rendant plus facilement utilisable par l homme, comme les définitions (couramment noté EQU). A quasiment chaque instruction en assembleur correspond une instruction en langage machine. Le C est un langage de plus haut niveau. La lecture du code est plus simple, son écriture plus rapide et plus efficace, mais il nécessite une étape de compilation avant de pouvoir être traduit en langage machine. Malgré tout, il reste plus proche du système utilisé que les langages de très haut niveau, comme le basic par exemple

42 2. La compilation Le passage d un langage de haut niveau comme le C au langage machine se fait en plusieurs étapes. En général, un compilateur transforme les fichiers sources (*.c) en fichiers objets (*.o). A chaque fichier source correspond un fichier objet. Un linker (éditeur de liens) relie ensuite ces fichiers objets entre eux afin de constituer un fichier final par exemple *.hex) qui pourra être transféré dans le composant. La compilation transforme entre autre le code constituant les fonctions en code machine et donne des adresses aux variables dans la pile. Le compilateur doit transformer des instructions complexes, comme la multiplication de grands nombres entiers (supérieurs à 255), en une suite d instructions pouvant êtres exécutées par le microcontrôleur. Selon le modèle de ce dernier, il disposera de plus ou moins de possibilités. Le linker relie les fonctions entre elles, adresse toutes les instructions (pour les sauts, les branchements), adresse les variables globales. 3. Exemples Pour expliquer la phase de compilation mais également pour montrer certaines de ses faiblesses, nous allons étudier le code généré par deux compilateurs pour deux architectures à partir de programmes extrêmement simples écrits en C. Première situation : Composant : Microchip PIC 16F628 Environnement : MPLAB IDE v7.01 Compilateur C : B Knudsen Data CC5X v3.1k Désassembleur : IC-Prog 1.05D incluant WinDis84 Seconde situation : Composant : ATMEL Atmega128 Environnement : WinAVR v Compilateur : GCC avec avr-libc Désassembleur : objdump (GNU Utils) Malheureusement, les codes utilisés sur les deux composants ne sont pas totalement compatibles. En effet, celui écrit pour l Atmega respecte le standard gnu99 (c99, évolution de l ANSI C, agrémenté d extensions propres à GCC) et celui écrit pour le PIC est un dérivé du C adapté au compilateur. Le code dépend aussi des registres des composants

43 Simple addition Ce premier exemple montre l addition des valeurs de deux ports dans une variable, et la copie de cette variable sur un port. Sur PIC : Code C : Code ASM généré : int c = PORTA + PORTB; PORTA = c ; BCF 0x03,5 BCF 0x03,6 MOVF 0x06,W ADDWF 0x05,W MOVWF 0x20 MOVF 0x20,W MOVWF 0x05 Les deux premières instructions permettent de se placer dans la première banque de mémoire de données, en mettant à 0 les deux bits destinés à la sélection de la banque. La valeur du port B est ensuite chargée dans le registre de travail, auquel est alors ajoutée la valeur du port A. Le registre de travail est copié à l emplacement mémoire attribué à la variable c. La variable c est à nouveau chargée dans le registre de travail, puis finalement placée sur le port. Le compilateur a traduit chaque instruction écrite en C, sans tenter d optimiser le code. On peut dire, en ne tenant pas compte de la sélection de la banque mémoire, qu il a fallut 5 cycles pour traiter la tâche. Sur Atmega : Code C : Code ASM généré : unsigned char c = PINA + PINB; PORTB = c; in r24,57-0x20 in r25,54-0x20 add r24,r25 out 56-0x20,r24 Les valeurs des deux ports sont copiées dans les registres r24 et r25. L addition est ensuite effectuée, avec résultat écrit dans r24. Le contenu de r24 est finalement copié sur le port. On note que le compilateur a optimisé le code écrit en C, il n a pas utilisé de variable temporaire. Quatre cycles ont suffit pour traiter la tâche

44 Addition avec retenue Sur PIC : Code C : Code ASM généré : long f = d + e; MOVF e+1,w ADDWF d+1,w MOVWF f+1 MOVF e,w ADDWF d,w MOVWF f BTFSC 0x03,Carry INCF f+1,1 e représente l adresse de la variable e, d celle de la variable d, f celle de la variable f, Carry le bit de STATUT de retenue. L addition de deux nombres de 16 bits a été décomposée en additions de nombres de 8 bits avec retenue. Huit cycles sont nécessaires. Sur Atmega : Code C : unsigned short f = d + e; Code ASM généré : in r25,57-0x20 in r24,54-0x20 add r24,r25 mov r25, zero_reg adc r25, zero_reg out 56-0x20,r24 Le cheminement est similaire, mais deux registres de travail sont utilisés. La tâche est effectuée en six cycles

45 Multiplication d entiers de 8 bits Sur PIC : Code C : Code ASM généré : int g = PORTA * PORTB; MOVF PORTA,W MOVWF C2tmp MOVLW.8 MOVWF C1cnt m001 : BCF 0x03,Carry BCF 0x03,RP0 BCF 0x03,RP1 RLF g,1 RLF C2tmp,1 BTFSS 0x03,Carry GOTO m002 MOVF PORTB,W ADDWF g,1 m002 : BCF 0x03,RP0 BCF 0x03,RP1 DECFSZ C1cnt,1 GOTO m001 m001 et m002 représentent des labels, utilisés par les sauts. Ils seront traduits en adresses dans le code machine. On voit que le code est très long et nécessite un grand nombre de cycle, car la multiplication a été décomposée en opérations très basiques, comme l addition, le décalage de bits et le test. Sur Atmega : Code C : Code ASM généré : PORTB = PINA * PINB; in r24,57-0x20 in r25,54-0x20 mul r24,r25 mov r24,r0 clr r1 out 56-0x20,r24 Le code généré est nettement plus court, et ne nécessite que 7 cycles. Ceci est possible car l Atmega dispose d un multiplicateur en hard, c est à dire d une instruction permettant de multiplier deux variables (ici mul, qui multiplie deux variables en deux cycles d horloge). On voit clairement que les compilateurs doivent s adapter aux architectures pour lesquelles ils génèrent un code machine

46 - 46 -

47 Synthèse Les microcontrôleurs 8-bits permettent d utiliser la puissance offerte par les composants programmables, et ce sans avoir à souffrir des contraintes imposées par les microprocesseurs. En effet, leur fort taux d intégration les rend très souvent quasiment autonomes et capables de s adapter à tout type de besoin. Leur faible consommation électrique ainsi que leur petite taille en font des composants très adaptés aux systèmes embarqués, leur capacité à être reprogrammé rend les applications dont ils font partie très évolutives. Le fonctionnement relativement simple de ces composants, aux nombreuses similitudes avec les premiers microprocesseurs, rend également leur utilisation très accessible, ce qui ne nécessite pas de posséder des connaissances trop pointues en électronique ou informatique pour pouvoir s en servir. La démocratisation des microcontrôleurs 8-bits et la multiplication des formats dans lesquels ils sont disponibles leur a permis de conquérir le marché de l électronique numérique voir même parfois analogique. En moins de vingt ans, ils ont révolutionné notre façon de concevoir et risquent durant les années à venir de continuer à nous surprendre au travers des diverses applications dans lesquelles ils prendront place

PIC : COURS ASSEMBLEUR

PIC : COURS ASSEMBLEUR PIC : COURS ASSEMBLEUR I) Fonctions de base d une machine informatique Contenir de façon permanente les tâches à exécuter (mémoire programme) en ROM ou sur support magnétique. Contenir de façon temporaire

Plus en détail

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 MICROCONTROLEURS PIC PROGRAMMATION EN C V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44 Chapitre 1 GENERALITES 1 DEFINITION Un microcontrôleur est un microprocesseur RISC (Reduced Instruction Set

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

Plus en détail

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11) 1/ Généralités : Un ordinateur est un ensemble non exhaustif d éléments qui sert à traiter des informations (documents de bureautique, méls, sons, vidéos, programmes ) sous forme numérique. Il est en général

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007 Introduction à l architecture des ordinateurs Adrien Lebre Décembre 2007 Plan - partie 1 Vue d ensemble La carte mère Le processeur La mémoire principal Notion de bus Introduction à l architecture des

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

IFT1215 Introduction aux systèmes informatiques

IFT1215 Introduction aux systèmes informatiques Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d

Plus en détail

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4 1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur

Plus en détail

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique Architecture d ordinateur : introduction Dimitri Galayko Introduction à l informatique, cours 1 partie 2 Septembre 2014 Association d interrupteurs: fonctions arithmétiques élémentaires Elément «NON» Elément

Plus en détail

Architecture des Ordinateurs. Partie II:

Architecture des Ordinateurs. Partie II: Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Informatique Industrielle

Informatique Industrielle Informatique Industrielle Cours Master SIS Micro-contrôleurs Microchip Intervenants : Marc Allain - marc.allain@fresnel.fr Julien Marot - julien.marot@fresnel.fr Coordonnées Marc Allain [Maître de conférence]

Plus en détail

PIC 16F84. Philippe Hoppenot

PIC 16F84. Philippe Hoppenot Département GEII PIC 16F84 Philippe Hoppenot hoppenot@lsc.univ-evry.fr http://lsc.univ-evry.fr/~hoppenot/presentationfrancaise.html Ce cours sur le PIC est dispensé en licence professionnelle Concepteurs

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Cours 3 : L'ordinateur

Cours 3 : L'ordinateur Cours 3 : L'ordinateur Abdelkrim Zehioua 2éme année Licence Gestion Faculté des sciences Économiques et sciences de Gestion Université A, Mehri - Constantine 2 Plan du cours 1.Définitions de l'ordinateur

Plus en détail

Architecture matérielle des systèmes informatiques

Architecture matérielle des systèmes informatiques Architecture matérielle des systèmes informatiques IDEC, Renens. Version novembre 2003. Avertissement : ce support de cours n est pas destiné à l autoformation et doit impérativement être complété par

Plus en détail

Leçon 1 : Les principaux composants d un ordinateur

Leçon 1 : Les principaux composants d un ordinateur Chapitre 2 Architecture d un ordinateur Leçon 1 : Les principaux composants d un ordinateur Les objectifs : o Identifier les principaux composants d un micro-ordinateur. o Connaître les caractéristiques

Plus en détail

La programmation des PIC en C. Les fonctions, les interruptions.

La programmation des PIC en C. Les fonctions, les interruptions. La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure

Plus en détail

Carte Relais GSM (Manuel Utilisateur)

Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM Introduction Cette carte est une véritable centrale de télécommande et d alarme par GSM. Elle se connecte par un port série à un modem GSM compatible

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

Plus en détail

Structure d un programme

Structure d un programme Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

Tout savoir sur le matériel informatique

Tout savoir sur le matériel informatique Tout savoir sur le matériel informatique Thème de l exposé : Les Processeurs Date : 05 Novembre 2010 Orateurs : Hugo VIAL-JAIME Jérémy RAMBAUD Sommaire : 1. Introduction... 3 2. Historique... 4 3. Relation

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Fiche technique CPU 314SC/DPM (314-6CG13)

Fiche technique CPU 314SC/DPM (314-6CG13) Fiche technique CPU 314SC/DPM (3146CG13) Données techniques N de commande 3146CG13 Type CPU 314SC/DPM Information générale Note Caractéristiques SPEEDBus Technologie SPEED7 24 x DI, 16 x DO, 8 x DIO, 4

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne) Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de

Plus en détail

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et

Plus en détail

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TD Architecture des ordinateurs. Jean-Luc Dekeyser TD Architecture des ordinateurs Jean-Luc Dekeyser Fiche 1 Nombres de l informatique Exercice 1 Une entreprise désire réaliser la sauvegarde de ses données sur un site distant. Le volume de données à sauvegarder

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Structure de base d un ordinateur

Structure de base d un ordinateur Structure de base d un ordinateur 1-Définition de l ordinateur L ordinateur est un appareil électronique programmable qui traite automatiquement les informations. Il est constitué de l unité centrale et

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0

opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0 opti-vm Serveur Vocal et Standard Automatique Siemens HiPath 11xx et Hipath 12xx Installation et Guide Utilisateur Version 1.0 SOMMAIRE SOMMAIRE 1- INTRODUCTION... 4 1.1 Standard Automatique...4 1.2 Messagerie

Plus en détail

Flowcode - Mode d'emploi

Flowcode - Mode d'emploi Flowcode - Mode d'emploi Sommaire I) Introduction Introduction 4 Nouveautés de la version 2 5 Les microcontrôleurs PIC 5 Support technique 7 II) Pour commencer Concevoir un algorigramme pour un composant

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE AMICUS 18 (2ème partie) Dans la première partie, nous avions présenté la platine Amicus 18 et nous avions réalisé quelques montages simples. Nous allons découvrir un peu mieux la programmation. Dans la

Plus en détail

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02) Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02) Ne rien livrer au hasard, c est économiser du travail Pont Sainte Maxence(O C est quoi USB? Comment ça marche? Les standards? La technique en détail

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Procédure appropriée pour éditer les diagrammes avec ECM Titanium

Procédure appropriée pour éditer les diagrammes avec ECM Titanium Procédure appropriée pour éditer les diagrammes avec ECM Titanium Introduction: Dans ce document vous trouverez toutes les renseignements dont vous avez besoin pour éditer les diagrammes avec le logiciel

Plus en détail

Un ordinateur, c est quoi?

Un ordinateur, c est quoi? B-A.BA Un ordinateur, c est quoi? Un ordinateur, c est quoi? Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation CTIA06 Page 1 1. Types de blocs de programme L automate met à disposition différents types de blocs qui contiennent

Plus en détail

Conférence sur les microcontroleurs.

Conférence sur les microcontroleurs. Conférence sur les microcontroleurs. Le microcontrôleur Les besoins et le développement. Vers 1970, pour des calculs (calculatrice). Le premier est le 4004 de Intel, 90K. La technologie. Les 2 principales

Plus en détail

Matériel & Logiciels (Hardware & Software)

Matériel & Logiciels (Hardware & Software) CHAPITRE 2 HARDWARE & SOFTWARE P. 1 Chapitre 2 Matériel & Logiciels (Hardware & Software) 2.1 Matériel (Hardware) 2.1.1 Présentation de l'ordinateur Un ordinateur est un ensemble de circuits électronique

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Modules d entrées/sorties pour FX série XM07 et XM14

Modules d entrées/sorties pour FX série XM07 et XM14 Fiche produit Modules XM07 et XM14 Date Juillet 2009 Modules d entrées/sorties pour FX série XM07 et XM14 Les modules XM07 et XM14 proposent des points d entrées et de sorties physiques supplémentaires

Plus en détail

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2 ERM AUTOMATISMES INDUSTRIELS 280 Rue Edouard Daladier 84973 CARPENTRAS Cedex Tél : 04 90 60 05 68 - Fax : 04 90 60 66 26 Site : http://www.erm-automatismes.com/ E-Mail : Contact@erm-automatismes.com 1

Plus en détail

Le multiplexage. Sommaire

Le multiplexage. Sommaire Sommaire Table des matières 1- GENERALITES... 2 1-1 Introduction... 2 1-2 Multiplexage... 4 1-3 Transmission numérique... 5 2- LA NUMERATION HEXADECIMALE Base 16... 8 3- ARCHITECTURE ET PROTOCOLE DES RESEAUX...

Plus en détail

COMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES.

COMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES. COMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES. 1. DESCRIPTION DU PRODUIT COMMUTEL PRO VM3 est un Secours GSM Canal Voix et un transmetteur

Plus en détail

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Bien commencer avec un LaunchPad MSP430G et un Breadboard Bien commencer avec un LaunchPad MSP430G et un Breadboard Pierre-Yves Rochat Le LaunchPad et Energia Texas Instrument propose un environnement de développement très complet pour ses MSP430, appelé Code

Plus en détail

I.1- DÉFINITIONS ET NOTIONS DE BASE

I.1- DÉFINITIONS ET NOTIONS DE BASE I.1- DÉFINITIONS ET NOTIONS DE BASE Informatique Information Automatique Logiciels (Software) Matériels (Hardware) Définition de l information : On appelle une information tout ce qui est transmissible

Plus en détail

COACH-II Manuel d utilisation

COACH-II Manuel d utilisation COACH-II Manuel d utilisation MA-COACH-II_FR Page 1 on 25 Rev: 29/03/2011 1. INTRODUCTION...3 2. VUE GENERALE...4 3. DIMENSIONS MECANIQUES...5 4. CARACTERISTIQUES TECHNIQUES...6 4.1. Générales...6 4.1.1.

Plus en détail

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE.

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE. COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE. RESUME le fichier exécutable «morsebinaire_win_orphygts II_v2.exe», est un logiciel de démonstration permettant de faire

Plus en détail

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Caractéristiques techniques du module électronique Témoin lumineux rouge

Caractéristiques techniques du module électronique Témoin lumineux rouge Caractéristiques techniques du module électronique Témoin lumineux rouge Raccordement terminal de programmation TELU DATA Pile lithium de maintien de l heure type CR032 Résistance de terminaison 120 Ω

Plus en détail

Centrale d alarme DA996

Centrale d alarme DA996 Centrale d alarme DA996 Référence : 7827 La DA-996 est une centrale d alarme pour 6 circuits indépendants les uns des autres, avec ou sans temporisation, fonctions 24 heures, sirène, alerte et incendie.

Plus en détail

Structure et fonctionnement d'un ordinateur : hardware

Structure et fonctionnement d'un ordinateur : hardware Structure et fonctionnement d'un ordinateur : hardware Introduction : De nos jours, l'ordinateur est considéré comme un outil indispensable à la profession de BDA, aussi bien dans les domaines de la recherche

Plus en détail

Mode d emploi Flip Box

Mode d emploi Flip Box Mode d emploi Flip Box Mode d emploi Flip Box Sommaire : 1 - Contenu du package 2 - Description et fonction des voyants et touches 3 - Téléchargement des données à partir du tachygraphe numérique 4 - Téléchargement

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Contraintes, particularités. 1. Généralités... 2. 2. Gestion de la mémoire... 2. a. Type des variables et constantes... 2

Contraintes, particularités. 1. Généralités... 2. 2. Gestion de la mémoire... 2. a. Type des variables et constantes... 2 C Embarque Contraintes, particularités 1. Généralités... 2 2. Gestion de la mémoire... 2 a. Type des variables et constantes.... 2 b. Variables locales ou globales... 3 3. Interruptions... 5 4. Imposer

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Enregistreur de Température pour PC DALLAS 1820

Enregistreur de Température pour PC DALLAS 1820 Conrad sur INTERNET www.conrad.fr * Capteur à visser, M10, 5 m de câble DS 1820-HD-5M Capteur à visser, M10, longueur spéciale DS 1820-HD-SL Capteur à visser, G1/8, 2m de câble DS 1820-G18-2M Capteur à

Plus en détail

Manuel d installation Lecteur XM3

Manuel d installation Lecteur XM3 Manuel d installation Lecteur XM3 Conditions, Les Transactions, les livraisons, etc seront effectuées selon les conditions générales de livraisons, déposées à la Chambre de Commerce de Mappel, Pays Bas.

Plus en détail

Présentation Module logique Zelio Logic 0 Interface de communication

Présentation Module logique Zelio Logic 0 Interface de communication c 1 2 3 4 5 6 7 8 9 1 + 0 # = Présentation Module logique Zelio Logic 0 Présentation L offre communication de la gamme Zelio Logic est principalement dédiée à la surveillance ou à la télécommande de machines

Plus en détail

Présentation et installation PCE-LOG V4 1-5

Présentation et installation PCE-LOG V4 1-5 PCE-LOG V4 version borne externe type PC50 mesures U, I + 3 TS version coffret mural mesures U, U, I + 3TS PRESENTATION 1-5 1 Presentation PCE-LOG V4 est un datalogger pour la télésurveillance de la protection

Plus en détail

13/11/2009 DUT-MUX-0185 /V2.0

13/11/2009 DUT-MUX-0185 /V2.0 www.nsi.fr MUXy diag R Guide utilisateur 13/11/2009 DUT-MUX-0185 /V2.0 Auteur : Approbation : Bruno Cottarel C. Andagnotto Page laissée intentionnellement blanche I. Contenu I. CONTENU... 1 II. AVERTISSEMENTS...

Plus en détail

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Document de formation T I A Page 1 sur 23 Module A5 Ce document a été édité par Siemens

Plus en détail

epowerswitch 8XM+ Fiche technique

epowerswitch 8XM+ Fiche technique Fiche technique L est le successeur de l epowerswitch 8XM. Il peut piloter jusqu à 136 prises secteur et dispose de borniers à vis amovibles en face avant pour une connexion aisée et rapide de capteurs

Plus en détail

CAA/SE N O T I C E D E M O N T A G E E T D U T I L I S A T I O N KIT DE MONTAGE. Clavier lumineux - 100 codes DIGICODE

CAA/SE N O T I C E D E M O N T A G E E T D U T I L I S A T I O N KIT DE MONTAGE. Clavier lumineux - 100 codes DIGICODE CAA/SE Clavier lumineux - 100 codes N O T I C E D E M O N T A G E E T D U T I L I S A T I O N L affichage lumineux par les leds rouge, jaune et verte est toujours opérationnel. Il est possible d avoir

Plus en détail

ANALYSE TRAMEs LIAISON SERIE

ANALYSE TRAMEs LIAISON SERIE ANALYSE TRAMEs LIAISON SERIE 1 Objectifs de ce travail Nous allons étudier dynamiquement la liaison série en utilisant la simulation. La mise en œuvre des liaisons séries simulées et de TestCom est expliquée

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une version javascript sera disponible directement dans le cours prochainement. Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement

Plus en détail

1. PRESENTATION DU PROJET

1. PRESENTATION DU PROJET Bac STI2D Formation des enseignants Jean-François LIEBAUT Denis PENARD SIN 63 : Prototypage d un traitement de l information analogique et numérique (PSoC) 1. PRESENTATION DU PROJET Les systèmes d éclairage

Plus en détail

My Custom Design ver.1.0

My Custom Design ver.1.0 My Custom Design ver.1.0 Logiciel de création de données de broderie Mode d emploi Avant d utiliser ce logiciel, veuillez lire attentivement ce mode d emploi pour bien l utiliser correctement. Conservez

Plus en détail

Manuel d aide à la pose

Manuel d aide à la pose Manuel d aide à la pose Téléphones d Urgence de la série DICTIS MICOME Téléphones d urgence Téléalarmes Pont de Peille 06340 Drap France Tel : (33) 4 93 91 16 17 Fax : (33) 4 93 91 26 27 e-mail : micome@micome.com

Plus en détail

SOMe2100 MANUEL D UTILISATION. TRANSMETTEUR GSM/GPRS - M-Bus Master D INSTALLATION. Montage sur rail DIN. Notice simplifiée du module SOMe2100

SOMe2100 MANUEL D UTILISATION. TRANSMETTEUR GSM/GPRS - M-Bus Master D INSTALLATION. Montage sur rail DIN. Notice simplifiée du module SOMe2100 SOMe2100 TRANSMETTEUR GSM/GPRS - M-Bus Master MANUEL D UTILISATION ET D INSTALLATION Montage sur rail DIN com-xxx Edition du : 24/02/2014 SOMMAIRE I- GENERALITES 2 II- RACCORDEMENT ELECTRIQUE 3 III- PARAMETRAGE

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

Organisation des Ordinateurs

Organisation des Ordinateurs Organisation des Ordinateurs Bernard Boigelot E-mail : boigelot@montefiore.ulg.ac.be URL : http://www.montefiore.ulg.ac.be/~boigelot/ http://www.montefiore.ulg.ac.be/~boigelot/cours/org/ 1 Chapitre 1 Les

Plus en détail

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE I/ GÉNÉRALITÉS I.1/ Fonction Un compteur binaire est utilisé : -pour compter un certain nombre d'évènements binaires -pour diviser la fréquence d'un signal logique par 2 m Page 1 FONCTION COMPTAGE BINAIRE

Plus en détail

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

galaxy MODULE TELECOM F A204-50-NF Manuel d Installation

galaxy MODULE TELECOM F A204-50-NF Manuel d Installation galaxy MODULE TELECOM F A204-50-NF Manuel d Installation II8-0079 Edition 03/2003/A Manuel d'installation du module Télécom F SOMMAIRE SECTION 1 Présentation... 1-1 Compatibilité... 1-1 Adressage... 1-1

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

UGVL : HOMOLOGATION PS 200406-01. ZAC du bois Chaland 6 rue des Pyrénées LISES - 91056 EVRY Cedex FRANCE Tel. 01 69 11 46 00 Fax 01 69 11 46 10

UGVL : HOMOLOGATION PS 200406-01. ZAC du bois Chaland 6 rue des Pyrénées LISES - 91056 EVRY Cedex FRANCE Tel. 01 69 11 46 00 Fax 01 69 11 46 10 UGVL : HOMOLOGATION PS 200406-01 ZAC du bois Chaland 6 rue des Pyrénées LISES - 91056 EVRY Cedex FRANCE Tel. 01 69 11 46 00 Fax 01 69 11 46 10 www.aiphone.fr Crée-le : Mai 2005 Dernière modification le

Plus en détail

TP : Gestion d une image au format PGM

TP : Gestion d une image au format PGM TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples

Plus en détail

Tests de performance du matériel

Tests de performance du matériel 3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons

Plus en détail