FR 2606528 A1 19880513 FR 8715571 A 19871110 PHN 11.933 1 DISPOSITIF POUR EMULER UN MICROCONTROLEUR AU MOYEN D'UN MICROCONTROLEUR MERE ET D'UN MICROCONTROLEUR FILLE, MICROCONTROLEUR MERE OU MICROCONTROLEUR FILLE A UTILISER DANS UN TEL DISPOSITIF, CIRCUIT INTEGRE A UTILISER DANS UN TEL MICROCONTROLEUR FILLE ET MICRO- CONTROLEUR CONTENANT UN TEL CIRCUIT INTEGRE. ARRIERE-PLAN DE L'INVENTION. L'invention concerne un dispositif pour émuler un microcontrôleur, contenant un microcontrôleur mère en version "bond-out" (à composants séparés) qui est pourvu de: - une première série de broches standard, correspondant à celle d'une version "non-bond-out" pour effectuer des opérations d'entrée/sortie, - une deuxième série de broches de connexion de mémoire pour l'échange de données, d'adresses et de signaux de commande avec une mémoire de programme externe, - une troisième série de broches de connexion pour l'échange de signaux de commande avec un registre matériel externe, - un élément processeur, - et de moyens de communication entre le dit élément processeur, les dites séries de broches et d'autres éléments contenus dans le microcontrôleur mère. Par microcontrôleur, on entend un circuit intégré qui contient un élément de traitement, des moyens permettant d'appliquer séquentiellement des signaux de commande d'un programme à l'élément de traitement, des moyens d'échange pour l'échange de signaux d'utilisateur entre le monde extérieur et le microcontrôleur et un bus pour la communication de signaux d'utilisateur entre les moyens d'échange et PHN 11.933 2 l'élément de traitement. D'autres particularités peuvent, en outre, être prévues. Dans une version standard ("non-bond-out"), le programme est inclus dans une partie du microcontrôleur, par exemple dans une ROM (à contenu invariable) ou dans une EPROM, dont le contenu doit être inscrit une seule fois et ne peut ensuite plus être modifié par voie électrique. En soi, de nombreuses particularités peuvent être prévues en supplément pour permettre ou améliorer le fonction- nement dans un environnement d'utilisateur. Pour chaque application d'utilisateur du microcontrôleur, un programme de commande spécifique est nécessaire. La conception de ce programme a lieu par phases successives. Après une phase préparatoire, on charge d'abord un programme et on vérifie pas à pas si les instructions successives sont correctes. Pour pouvoir corriger des erreurs éventuelles, on utilise, dans une telle phase d'émulation, une mémoire externe, par exemple une mémoire vive (RAM) ou une EEPROM. A cet effet, on développe une version "bond-out" du micro- contrôleur, pour laquelle des broches de connexion externes supplémentaires sont prévues (broches d'adresses, de données et de commande), tandis que la mémoire de programme interne n'est pas prévue ou ne l'est que partiellement. Un tel microcontrôleur est décrit dans l'ouvrage "Single-chip 8-bit micro- controllers USER MANUAL", Philips Electronic Components and Materials Division, International Business Relations, P.O. Box 218, Eindhoven, The Netherlands, 1986, pages 323 et suivantes. Les broches standard sont mentionnées à la page 329. Les broches de connexion de mémoire pour la mémoire de programme externe sont mentionnées à la page 330. Les broches de commande pour le processus d'émulation sont mentionnées à la page 331: HALT, INTA, DXALE, IFF, STFF. Enfin, une série de PHN 11.933 3 broches de connexion est également prévue pour l'échange de signaux de commande avec un registre matériel externe: DXRD, DXWR, EXDI. Pour chacune des applications d'utilisateur différentes, il ne faut, en principe, qu'un seul exemplaire en version "bond-out"; de plus, cet exemplaire unique peut, en principe, être appliqué pour plusieurs fonctions d'utilisateur. Le nombre d'exemplaires de la version standard est, au premier abord, illimité pour chaque fonction d'utilisateur. Les frais de développement pour la version "bond-out" pèsent donc généralement sur un nombre d'exemplaires relativement restreint. Des versions dérivées sont souvent également développées à partir d'un tel microcontrôleur. Ces dernières peuvent se distinguer de diverses manières, par exemple par une connexion externe supplémentaire (port) pour des applications générales, par des possi- bilités de connexion d'un élément de visualisation (à cristaux liquides), d'un clavier de touches ou par une capacité de stockage accrue ou amoindrie pour des informations de programme ou des informations de données. De nombreuses autres possibilités peuvent être d'application. En l'occurrence, une partie supplé- mentaire de logique de dérivation est alors présente. Pour l'émulation de chaque version dérivée, il faut, en principe, prévoir aussi une version bond-out associée. Ceci nécessite des efforts de développement supplémentaires. L'invention a pour but de procurer des moyens permettant de réaliser cette émulation au moyen d'une version "bond-out" d'un microcontrôleur mère et d'un exemplaire normal de la version dérivée = micro- contrôleur fille, cependant que le nombre de modifi- cations prévues à cet effet dans les deux micro- contrôleurs, en particulier le nombre de broches supplémentaires, est extrêmement petit. PHN 11.933 4 La version bond-out est utilisée normalement aussi pour la confection d'un prototype. Dans ce cas, la mémoire de programme externe est connectée au moyen d'une connexion dite "a califourchon" au micro- contrôleur. On utilise alors le même circuit intégré, mais les connexions de cette puce sur les broches de l'enveloppe sont différentes de celles prévues pour l'émulation. La différence que présente cette manière de procéder par rapport à l'émulation est qu'ici, non seulement les dimensions physiques que présentent le microcontrôleur + la mémoire de programme externe diffèrent peu de celles de la version standard (le microcontrôleur est, par exemple, à utiliser dans un environnement physiquement réel), mais qu'en outre, le déroulement des choses dans le temps s'effectue à la vitesse voulue, de sorte que diverses fonctions qui sont assurées à la limite dans la phase d'émulation et qui seraient défaillantes dans les conditions de service normales présentent maintenant aussi une telle défaillance à un stade précoce. RESUME DE L'INVENTION. L'invention atteint son but par le fait qu'elle est caractérisée en ce que, pour l'émulation d'un microcontrôleur fille qui possède, en tant que version "non-bond-out" d'un dérivé du microcontrôleur mère, en plus d'un élément processeur propre, une mémoire de programme interne, une partie supplémentaire de logique de dérivation, des moyens de communication propres et une série de broches standard propre, une première connexion de données de la série de broches standard propre du microcontrôleur fille est connectée, en parallèle avec une connexion de données de la dite deuxième série du microcontrôleur mère, a une connexion de données de la dite mémoire de programme externe, une deuxième connexion de données de la série de broches PHN 11.933 5 standard du microcontrôleur fille est connectée à la dite troisième série de broches de connexion du micro- contrôleur mère et au moins une broche de commande de la dite deuxième connexion de données, chaque fois en parallèle avec une broche de commande correspondante de la dite deuxième série du microcontrôleur mère, à la dite mémoire de programme externe, et que le micro- contrôleur fille est pourvu d'un moyen de commande d'émulation, de telle manière qu'un premier état du dit moyen de commande d'émulation rend inactifs les dits moyens de communication propres pour l'échange avec l'élément processeur propre et la mémoire de programme interne du microcontrôleur fille, de sorte que l'élé- ment processeur du microcontrôleur mère et la dite mémoire de programme externe sont respectivement actifs à cette fin, que les broches standard de la première série du microcontrôleur à émuler sont actives comme broches standard et que la dite logique de dérivation supplémentaire et d'autres éléments du microcontrôleur fille sont actifs et connectés aux moyens de communication du microcontrôleur mère. Les frais exposés pour les particularités supplémentaires néces- saires à la version bond-out du microcontrôleur mère seront déjà facilement compensés par le développement d'un petit nombre de versions dérivées (micro- contrôleurs filles). L'invention concerne également un micro- contrôleur mère qui convient pour être inclus dans un dispositif servant à émuler un microcontrôleur fille. Seuls quelques éléments matériels et/ou logiciels doivent y être prévus, tandis que dans de nombreux cas, ces éléments supplémentaires peuvent également trouver une application utile autre que dans un dispositif d'émulation. L'invention concerne également un micro- PHN 11.933 6 contrôleur fille qui convient pour être inclus en vue de l'émulation dans un dispositif tel que précité. Quelques particularités internes et, sur l'enveloppe, une broche de commande supplémentaire commandant l'émulation permettent de réaliser le but mentionné plus haut, de sorte que l'émulation peut être réalisée au moyen de deux contrôleurs. Dans certains cas, cette broche de commande, qui correspondrait, bien entendu, à une surface de connexion sur le circuit intégré (puce) lui-même peut être omise. Dans ce cas, cette surface de connexion est continuellement connectée au potentiel commandant l'émulation. Une autre solution consiste à réaliser le moyen de commande d'émulation à l'aide d'un conducteur qui est prévu sur le substrat et qui, pour un premier état, assure la connexion à un potentiel adéquat. Dans le second état (version normale), la connexion est, par exemple, établie avec l'autre potentiel (alimentation ou terre). A cet effet, seul le motif de conducteurs à réaliser par une dernière étape du processus (masque) est adapté. Cette manière de procéder est nettement moins onéreuse que le développement d'une version "bond-out" du microcontrôleur fille. Le choix de la première ou de la seconde méthode dépend de la disponi- bilité éventuelle de broches/surfaces de connexion et éléments analogues supplémentaires. L'invention concerne également un circuit intégré (puce) qui, lorsqu'il est placé dans une enveloppe, convient pour former un tel microcontrôleur fille en vue de son émulation. Lors de l'émulation, la mémoire de programme externe est donc toujours con- nectée également au microcontrôleur mère. Lorsque le nombre de connexions de données (ports) du micro- contrôleur fille est déjà également prévu dans le microcontrôleur mère, l'invention est en l'occurrence PHN 11.933 7 d'une réalisation extrêmement simple. Ce circuit intégré convient de ce fait aussi implicitement pour la réalisation d'un prototype dont il a déjà été question. Dans le cas de l'utilisation comme prototype, il faut maintenant aussi, conformément à l'invention, deux microcontrôleurs (et une mémoire de programme externe, montée à califourchon sur le microcontrôleur fille). L'invention concerne également un micro- contrôleur contenant un circuit intégré qui convient en soi pour être inclus dans un tel microcontrôleur fille. En réglant la commande d'émulation sur la position "non-émulation", on réalise cependant un micro- contrôleur avec le nombre standard de broches de connexion. La commande mentionnée en dernier lieu peut être réalisée de manière interne par connexion à un potentiel fixe. D'autres réalisations avantageuses sont mentionnées dans les revendications dépendantes. COURTE DESCRIPTION DES FIGURES. L'invention sera décrite ci-après avec réfé- rence à quelques figures, dans lesquelles: la Fig. 1 est un schéma synoptique d'un microcontrôleur du type 84 COO; la Fig. 2 montre la modification qui y est apportée pour la version "bond-out"; la Fig. 3 montre la modification apportée à la Fig. 1 pour la version "à califourchon"; la Fig. 4 montre le système de connexion (interface) pour un registre supplémentaire dans le cas de la version "bond-out" de la Fig. 1; la Fig. 5 montre un dispositif conforme à l'invention pour l'émulation d'un microcontrôleur de la famille 84 CXX; la Fig. 6 montre un schéma synoptique interne d'un microcontrôleur fille de la famille 84 CXX pour la PHN 11.933 8 partie de traitement fonctionnelle supplémentaire matérialisant la version dérivée; la Fig. 7 montre les deux modes opérationnels pour un tel microcontrôleur dérivé, et la Fig. 8 montre un dispositif conforme à l'invention pour l'émulation d'un microcontrôleur de la famille 80 C51. BREVE RECAPITULATION POUR UN MICROCONTROLEUR CONNU. A des fins d'éclaircissement, la Fig. 1 montre un schéma synoptique du microcontrôleur déjà mentionné (voir également page 325 de la référence biblio- graphique). Sur le bus central 36 (8 bits) sont con- nectés successivement: - un système de connexion 38 pour une con- nexion aux données série d'horloge SCLK, aux données série SERDAT et à l'entrée/sortie sériées d'interruption; - un circuit de verrouillage 40 et un tampon 42 pour une connexion à 8 bits; - un diviseur par 32 (44) et un compteur 46 recevant la fréquence d'horloge interne; - deux compteurs de programmes (48, 50); - des bascules de banque de mémoire 52; - une ROM de programme résidant 54; - un registre de mots d'états de programme 56; deux connexions de 8 bits à commutateurs électroniques 58, 60 et à tampons 62, 64; - un accumulateur 66; - deux registres temporaires 68, 70; - une unité arithmétique et logique ALU 72 à élément d'ajustement décimal 74 (adjust); - un registre d'instructions avec un décodeur 76; - un compteur de programme 78; - un registre d'adresses RAM 80; PHN 11.933 9 - une RAM résidentielle (82) avec un multi- plexeur de données, un décodeur d'adresses, 8 registres, une pile de registres, une seconde banque de registres éventuelle, une partie de mémoire de données; - un circuit logique de branchement conditionnel 86; un moyen d'imposition de rythme et de commande 88; - et un élément 90 de remise sous tension (power on reset). La Fig. 2 indique la modification apportée à la Fig. 1 pour la version "bond-out" par remplacement de la partie 54 de la Fig. 1. Dans ce cas, les lignes d'adresses et de données sont amenées à l'extérieur et cinq lignes de commande sont aussi prévues à l'état de broches externes. Ce remplacement implique donc une modification du circuit tel qu'il est présent sur le substrat. La Fig. 3 indique la modification apportée par rapport à la Fig. 1 pour la version "à califourchon" par remplacement de la partie 54 de la Fig. 1. Les mesures prises concernent ici une souscatégorie de celles prévues pour la Fig. 2. Dans le cas o les mesures prévues pour la Fig. 2 sont réalisées sur le substrat, les mesures prévues pour la Fig. 3 ne repré- sentent qu'une autre configuration de l'enveloppe: certains plots connecteurs ne doivent alors pas être connectés, ou bien sont connectés à un potentiel fixe (par exemple la terre). En soi, une telle version "à califourchon" est bien connue. DESCRIPTION D'UN DISPOSITIF D'EMULATION D'UN MICRO- CONTROLEUR DE LA FAMILLE 84 CXX. La Fig. 4 est un schéma synoptique d'un microcontrôleur du type 84 COO comportant un système de PHN 11.933 10 connexion pour un registre externe. Quelques éléments y sont prévus pour permettre son utilisation comme microcontrôleur mère dans un dispositif destiné à l'émulation d'un microcontrôleur fille. Le micro- contrôleur, à savoir l'élément 20, est en version "bond-out" et comprend la série de broches standard suivante (première série), les broches d'alimentation n'étant pas représentées pour plus de concision: - première connexion de données PO (8 bits); - deuxième connexion de données Pl (8 bits); - troisième connexion de données P2 (4 + 1 bits); - broche d'entrée pouvant être testée Tl; - connexion d'interruption INT/To; - broche de repositionnement RESET; - entrée d'oscillateur XTALl; - sortie d'oscillateur XTAL2. En outre, la deuxième série suivante de broches de connexion pour la mémoire de programme externe 22 (E-PROM du type 2732 ou 2716) est prévue: - connexion d'adresses A12-A00, de sorte qu'une mémoire de programme de 8K adresses au maximum peut être utilisée; - connexion de données D7-De, avec la même largeur que les connexions PO,Pl; - une connexion d'activation de mémoire PSEN; étant donné que cette mémoire de programme n'est utilisée que dans le mode de lecture, le nombre précité de broches suffit. La mémoire de programme peut donc fournir maintenant des données qui sont inscrites à l'intérieur du microcontrôleur 20 dans un registre ou une partie de registre convenable et qui réalisent ensuite diverses fonctions de commande. Un registre à verrouillage (latch) de 8 bits externe 24 est également prévu. Celui-ci est connecté à PHN 11.933 l la connexion de données de la mémoire 22 et est activé sous la commande d'un signal d'acquiescement DXALE. Un décodeur 26 est connecté à ce registre 24. L'infor- mation de 8 bits dans le registre 24 est convertie en signaux d'acquiescement (dans le décodeur 26) pour un ou plusieurs des registres de données 28, 30, 32. Ceux- ci sont connectés en parallèle à la sortie de données de la mémoire 22 et possèdent ainsi une capacité de 8 bits au maximum. D'autres connexions bidirec- tionnelles entre ces registres et le monde extérieur sont indiquées. La synchronisation des registres de données 28, 32 est réalisée au moyen d'un signal DXWR, à savoir un signal de commande d'écriture externe. Grâce à l'organisation décrite, les registres 28, 32 peuvent également être remplis au moyen d'informations provenant de la connexion de données D7-DY; il est également possible d'utiliser les registres de données 28, 32 comme sources d'informations pour la connexion de données D7-Df; à cet effet, il est prévu une sortie de commande DXRD qui n'est connectée symboliquement qu'au registre de données 32. Les éléments 24, 26, 28, , 32 peuvent être de la réalisation habituelle des composants TTL (Logique Transistor-Transistor). Les instructions internes nécessaires pour les activations précitées, à savoir MOV A, DX; MOV DX, A; ANL DX, A; ORL DX, A, sont mentionnées dans la référence biblio- graphique. Le résultat logique des deux dernières instructions est stocké dans le registre DX en question. Enfin, le microcontrôleur comporte encore une broche de connexion EXDI pour recevoir un signal d'interruption externe. Dans cet exemple simple, celle- ci ne doit cependant pas être utilisée. La version de l'élément 20 utilisée dans le présent exemple porte le numéro de type PCF84COOT; il s'agit, en l'occurrence, d'une réalisation en module réduit à 56 broches (S.O.- PHN 11.933 12 small outline), dans laquelle seules les broches de connexion nécessaires sont réalisées (quelques-unes de plus que celles indiquées à la Fig. 4). Ainsi, les broches d'alimentation ne sont, par exemple, pas représentées. La Fig. 5 montre un dispositif conforme à l'invention pour l'émulation d'un microcontrôleur de la famille 84 CXX, par exemple 84C43. Le microcontrôleur mère 20 et la mémoire de programme 22 sont représentés de la même manière que sur la Fig. 1. La mémoire 22 peut, si on le souhaite, également être réalisée sous la forme d'une mémoire vive à accès direct (RAM) qui fait partie d'une machine d'émulation connue en soi. Cette machine d'émulation peut, par exemple, être une machine PMDS/MAB (Philips Microprocessor Development System / Microcomputer Adapter Box). Cette machine est disponible dans le commerce (non représentée pour plus de concision). L'interaction peut alors se produire d'une manière qui est indiquée à la Fig. 4 pour des registres externes. Le microcontrôleur mère fonctionne ainsi comme circuit principal. L'élément 34 est le microcontrôleur fille; celui-ci est du type 84C43. La logique de dérivation fonctionnelle supplémentaire sera décrite avec réfé- rence à la Fig. 6. Un certain nombre de broches stan- dard sont à nouveau indiquées du côté gauche: - la connexion de repositionnement RESET; - les connexions d'horloge XTAL, XTAL2; - la connexion de données P2 avec une con- nexion de données série SDA pour un bus dit I2C; - la connexion d'horloge SCL appartenant également à ce bus I2C; cette broche correspond, dans la version standard, à la broche T1; ce bus I2C est réalisé à l'aide d'accessoires qui, pour ce qui est des registres, sont décrits dans le brevet européen 2606s28 PHN 11.933 13 no 51 332 et dans les demandes de brevets des Etats- Unis d'Amérique n 310 686 (retirée) et 317 693, qui y correspondent, lesquels sont incorporés au présent mémoire à titre de référence; - la connexion de données P; - la connexion de données P1, dont cinq lignes de bits seulement P10...P14 sont indiquées, le reste n'étant pas utilisé. De plus, le microcontrôleur fille comporte des moyens pour piloter un certain nombre d'éléments de visualisation à sept segments. Il s'agit, en l'occur- rence, de vingt-quatre broches de commande de segment SOO-S23, au moyen desquelles trois caractères à sept segments peuvent être activés en parallèle (le huitième bit est disponible pour activer, en plus, un point décimal). Quatre signaux de sélection BP0...BP3 (fond de panier 0...3) sont, en outre, prévus. Ces derniers permettent une sélection parmi quatre éléments de visualisation différents, de sorte que la capacité suffit pour 12 caractères. L'alimentation pour les éléments de visualisation est reçue sur la broche VLCD. Enfin, le contrôleur fille est pourvu d'une connexion de données supplémentaire d'une largeur de 4 bits, P2. Les broches, à savoir, respectivement les particu- larités prévues Si - S23; BPP...BP3, SDA, SCL, P2, VLCD, représentent les particularités supplémentaires prévues dans le contrôleur fille. Pour d'autres versions dérivées, plus ou moins de particularités et/ou d'autres particularités peuvent être prévues. La seule omission de particularités par rapport au micro- contrôleur mère ne nécessite, en général, pas une émulation spécifique effectuée sur le microcontrôleur fille, mais dans ce cas, celle-ci peut être réalisée directement sur le microcontrôleur mère. Il est certes possible que certaines particularités soient prévues PHN 11.933 14 sur le microcontrôleur mère, mais ne le soient pas sur le microcontrôleur fille. Toutefois, dans chacun des deux microcontrôleurs, un élément de traitement de données est toujours présent, de même que des possi- bilités suffisantes de connexion, tandis que le micro- contrôleur fille possède une mémoire de programme interne (sinon l'émulation serait inutile). Dans certains cas, la mémoire de programme interne du microcontrôleur mère peut même être entièrement suppri- mée, parce qu'une mémoire de programme externe est de toute façon toujours utilisée. L'émulation du microcontrôleur fille 34 peut être effectuée par le fait qu'il est connecté de la manière suivante au microcontrôleur mère 20. La con- nexion Po est connectée à la connexion de données D7...Do du microcontrôleur mère. De cette manière, le mr. microcontrôleur fille peut se présenter au micro- contrôleur mère comme le registre 24 à la Fig. 4. De plus, la connexion P1 est conçue pour permettre la communication d'un certain nombre de signaux de com- mande avec le microcontrôleur mère 20: le registre à verrouillage interne prévu dans la version standard emmagasine alors temporairement ces signaux de commande. La broche de connexion P10 alimente le microcontrôleur mère au moyen d'un signal d'inter- ruption EXDI. La broche de connexion Pll reçoit le signal de commande de lecture DXRD. La broche de connexion P12 reçoit, en parallèle avec la mémoire externe 22, le signal d'acquiescement PSEN. La broche de connexion P13 reçoit le signal de commande d'écri- ture DXWR. Ces quatre signaux de commande ont déjà été décrits à propos de la Fig. 1. La broche de connexion P14 reçoit le signal de commande d'arrêt STFF. Ceci permet d'exécuter l'instruction de commande d'arrêt; cette instruction est exécutée dans le microcontrôleur PHN 11.933 15 mère pour économiser de l'énergie (par exemple parce que l'environnement d'utilisateur envisagé est pourvu d'une alimentation par piles). Cette situation est alors communiquée, au moyen du signal STFF, au micro- contrôleur fille, qui peut alors également commuter dans un mode d'arrêt. En soi, la commutation entre modes actif et d'arrêt est bien connue. L'utilisation de ce signal STFF est notamment avantageuse lors de la réalisation d'un prototype (qui comportera alors en effet également l'alimentation par piles mentionnée plus haut). Enfin, le microcontrôleur fille contient une connexion de commande d'émulation EMUL. Sous la com- mande d'une première valeur de signal sur cette con- nexion, le microcontrôleur fille fonctionne dans le mode normal. Dans ce cas, entre autres, le processeur, la mémoire de programme et la mémoire vive à accès direct se trouvant sur la puce sont actifs de la manière normale. Sous la commande d'une seconde valeur de signal sur cette connexion, le microprocesseur fille fonctionne dans le mode d'émulation et ces éléments sont mis hors circuit. Ils sont alors remplacés par l'élément 22, pour la mémoire de programme, et par les éléments voulus du microprocesseur mère 20, pour le processeur et la mémoire vive (une mémoire de programme n'est pas prévue dans le microprocesseur mère). Les éléments fonctionnels supplémentaires (logique de dérivation) de la version dérivée dans le micro- contrôleur mère, qui ne sont pas présents dans le microcontrôleur mère, doivent, bien entendu, maintenant rester opérationnels. La première valeur précitée est, par exemple, le potentiel de la terre. Dans ce cas, ce signal peut, par exemple, être réalisé par une con- nexion à la broche de mise à la terre déjà prévue en soi sur la puce (GND, non représentée à la Fig. 5), de PHN 11.933 16 sorte que ceci ne nécessite pas de broche de connexion supplémentaire sur une enveloppe. Ceci présente comme seul inconvénient que cet exemplaire du microprocesseur fille n'est plus utilisable en tant que composant autonome pour des applications autres que l'émulation. Cette connexion sera le plus souvent réalisée par une connexion câblée spécifique entre deux plots con- necteurs. Il est possible que la commande d'émulation soit prévue de manière interne par une liaison à masque vers l'un de deux potentiels standard (à savoir de l'alimentation et de la terre). La configuration du masque pour l'établissement des pistes conductrices est alors adaptée. Ceci signifie que la fonction est fixée à un stade plus précoce de la fabrication que lors du recours à une commande d'émulation par broche ouplot connecteur. La Fig. 6 montre un schéma synoptique interne d'un microcontrôleur fille de la famille 84 CXX, pour la partie de traitement fonctionnelle supplémentaire matérialisant la spécificité de la version dérivée. Cette particularité prévue comporte un générateur 132 pour les tensions d'alimentation du dispositif d'affi- chage à cristaux liquides. Un montage en série, entre la tension d'alimentation VDD et la tension d'alimen- tation spéciale VLCD, de trois résistances et d'un commutateur de mise en parallèle, permet d'utiliser des éléments d'affichage à cristaux liquides dont la tension de service est comprise entre 2 et 5 volts. L'élément 128 contient un oscillateur propre, une commande de temps et une possibilité de sélection de tensions pour les éléments d'affichage à cristaux liquides. L'élément 130 contient quatre éléments de pilotage dits de fond de panier (backplane) à quatre sorties. Les éléments 120 à 122 (en fait au nombre de PHN 11.933 17 douze) comprennent des éléments de registre et des éléments de multiplexage pour deux sorties de segments (deux bits de visualisation pour chaque fond de panier). Les éléments 124 à 126 (également au nombre de douze) reçoivent leur alimentation de l'élément 128 et pilotent donc chacun deux éléments de visualisation. Les éléments 120 à 122 doivent être connectés au bus pour recevoir l'information à visualiser en largeur de 8 bits. Ils peuvent, à cet effet, être adressés sélectivement. Le réglage du système de visualisation sur le mode stationnaire (un fond de panier, ou bien, à volonté, en multiplexage sur 2 à 4 fonds de panier différents) peut être réalisé au moyen d'un câblage fixe, de la manière déjà décrite pour la broche EMUL de la Fig. 5. La connexion au bus correspond alors à douze adresses différentes. Les connexions de bus elles-mêmes sont indiquées par les flèches 121, 123 et assurent donc l'alimentation en données et en adresses. Pour le reste, les particularités spécifiques du bus (largeur de voies de données et d'adresses) ne sont pas repré- sentées de manière plus détaillée pour plus de concision. La Fig. 7 illustre les deux modes opéra- tionnels pour un microcontrôleur fille tel que décrit ci-dessus. La ligne interrompue 162 indique le circuit se trouvant sur le substrat. Le bloc 150 indique la majorité des parties de traitement fonctionnelles qui sont représentées à la Fig. 1, en l'occurrence, l'unité arithmétique et logique ELU, la ROM de programme résident et les éléments dont le montage entre ces deux premiers éléments est organisé pour commander l'unité arithmétique et logique ALU. La ligne 160 symbolise le bus qui se poursuit dans le bloc 158 lorsque l'inter- rupteur 154 est fermé. La connexion PO est connectée au bus par l'intermédiaire d'un tampon 156 et d'un PHN 11.933 18 registre à verrouillage 152. De la même manière, les éléments 166, 168 associés à la connexion P1 sont connectés à la partie du bus située audessus de l'interrupteur 154. Il est également possible de remplacer la combinaison 152/156 par un système com- portant un tampon bidirectionnel, auquel cas les directions sont activées par les signaux DXWR et DXRD (voir Fig. 5). L'élément 158 symbolise les parties de traitement fonctionnelles supplémentaires pour la version dérivée, donc, dans le cas présent, en l'occur- rence, les éléments qui sont représentés à la Fig. 6, les moyens de connexion pour le bus I2C série déjà mentionné plus haut, ainsi que la connexion P3. Sous la commande du signal sur la broche de connexion EMUL, l'interrupteur 154 est ouvert ou fermé. Lorsque l'interrupteur 154 est fermé, tous les éléments de traitement fonctionnels du microcontrôleur sont donc opérationnels. Lorsque l'interrupteur 154 est ouvert, seule la logique de dérivation adjointe en supplément 158 est opérationnelle, de même que les éléments qui sont nécessaires au mode d'émulation. Par opérationnel, on entend que l'interaction avec le monde extérieur a lieu de la manière normale. Dans le mode d'émulation, l'interaction entre le bloc 150 et le monde extérieur est interrompue; à l'intérieur du bloc 150, d'autres actions peuvent encore être en cours. L'interrupteur 151, qui est ouvert en même temps que l'interrupteur 154, est notamment prévu pour cette raison. Des signaux éventuellement fournis par le bloc 150 sont alors bloqués pour le monde extérieur. La Fig. 7 montre la connexion Po des éléments actifs pour l'émulation, avec les éléments associés. En outre, ceci concerne (comme illustré à la Fig. 5): - la connexion de repositionnement (élément 90); PHN 11.933 19 - la connexion d'oscillateur XTAL2 (et, par conséquent, l'élément 88). Les autres fonctions standard sont assurées par le microcontrôleur mère et ne doivent donc pas être actives dans le microcontrôleur fille. Dans certains cas, la répartition peut être telle que certaines particularités prévues dans le microcontrôleur fille restent actives, même dans le cas o elles pourraient être remplacées par des particularités semblables présentes dans le microcontrôleur mère. A titre d'exem- ple, on peut mentionner la situation dans laquelle le microcontrôleur mère possède une mémoire de données (RAM), mais o le microcontrôleur fille possède une mémoire RAM plus grande. On se trouve alors devant le choix suivant: utiliser toute la RAM de la mère plus une partie de la RAM de la fille, ou bien uniquement toute la RA4 de la fille. Les registres suoplémentaires dans le microcontrôleur fille peuvent, le plus souvent, être utilisés comme emplacements pour la mémoire vive (RAM) du microcontrôleur mère. Selon les types de particularités prévus et l'architecture, le choix se portera sur la particu- larité prévue dans l'un des deux microcontrôleurs. L'interrupteur 154 peut alors, comme illustré, se trouver dans le bus. Dans certains cas, la désacti- vation de la communication avec le bloc 150 peut être réalisée d'une autre manière. Un deuxième interrupteur 164 est, en outre, prévu pour la connexion correcte des signaux de commande (broches P10...P14). Au moment o l'interrupteur 154 est ouvert, l'interrupteur 164 est précisément fermé. La communication des signaux de commande est alors établie avec l'élément de connexion 170. Celui-ci assure un effet tampon adéquat et est, en outre, connecté à d'autres éléments du circuit, par exemple pour l'activation de la lecture ou de l'écri- PHN 11.933 20 ture, ou encore de l'arrêt, et pour le passage d'un signal d'interruption. Pour plus de concision, ces dernières connexions ne sont pas représentées. Dans un but de simplification, la réalisation du moyen de commande par câblage interne dans la puce n'est pas davantage précisée du point de vue de sa conception. DESCRIPTION D'UN DISPOSITIF D'EMULATION POUR UN MICRO- ORDINATEUR DE'LA FAMILLE 80C51. La Fig. 8 montre un dispositif conforme à l'invention pour l'émulation d'un microcontrôleur de la famille 80C51. Le microcontrôleur mère 80C51B. 0 (= bond-out) est, en grande partie, décrit dans la référence bibliographique déjà citée, aux pages 70 à 121. Les connexions RSAD7...0.. . INTA, qui sont décrites ci-après, y sont toutefois ajoutées. Le microcontrôleur mère 100 comporte les connexions suivantes: -une connexion de données P/ (8 bits); - une connexion de données P1 (idem, qui n'est cependant pas utilisée dans cet exemple de réalisation) 8 bits; une connexion de données P1 (8 bits); - une connexion de données P3 (8 bits), en plus de la fonction de connexion de données, les lignes de bits de celle-ci assurent les fonctions alternatives suivantes: entrée/sortie série; interruption externe (2x); commande de temps externe (2x); synchronisation d'écriture (3.6) et de lecture (3.7) externe; dans la situation d'émulation, seules les deux lignes de bits mentionnées en dernier lieu sont utilisées; - signal d'acquiescement de bascule d'adresse (ALE); - deux connexions d'horloge XTAL1, 2; - signal d'acquiescement pour la mémoire de PHN 11.933 21 programme (PSEN); de sorte que la mémoire de programme interne et une mémoire de programme externe non destinée à l'émulation peuvent se remplacer ou se compléter mutuellement; - un signal de sélection parmi les mémoires de programmes interne/externe (EA); - un signal de repositionnement (RESET); - une borne d'alimentation (VDD) et une borne de mise à la terre (GND) qui sont, par ailleurs, présentes sur tous les circuits illustrés. Pour l'émulation, la version "bond-out" en question est pourvue des particularités suivantes: - un circuit de verrouillage à 8 bits (104) qui est commandé par le signal ALE; - une mémoire de programme EPROM (106) ou * respectivement la mémoire vive de la machine d'ému- lation MAM; celle-ci peut recevoir des adresses d'une largeur de 16 bits, les données ont une largeur de 8 bits; - un élément de passage tampon 108 qui reçoit et laisse passer sélectivement un certain nombre de signaux externes Ml, M2, INTR, EX1, INTD. De plus, les connexions suivantes sont prévues: - une ligne multiplexée pour les bits d'adresses les moins significatifs pour la mémoire de programme, de même que pour les bits de données (EAD7...,"); - une ligne multiplexée pour les bits les plus significatifs, ou respectivement les signaux de sortie de l'élément de passage tampon 108, (EA8...EN15); - un signal d'acquiescement destiné spécia- lement & la mémoire d'émulation (différent de PSEN) PSENE; PHN 11.933 22 - un signal de commande qui indique si le microcontrôleur mère est passé à l'état d'attente (idle) ou sans puissance (power down); dans ces posi- tions (voir le mode d'arrêt de la Fig. 2), la réali- sation du programme n'est pas poursuivie; - un signal de sélection de machine (C1/INTD) qui indique si le premier ou bien le deuxième cycle ou un cycle suivant d'une instruction à plusieurs cycles est en vigueur; pendant le premier, apparaît le code d'opération, pendant le deuxième et les suivants éventuels, des opérandes peuvent apparaître, ou bien ils peuvent être prévus pour certaines réalisations de plus longue durée, comme une multiplication; - un signal de confirmation d'interruption (INTA), qui n'est toutefois pas davantage utilisé ici; - un signal d'adresse/données multiplexé (RSAD...7...) d'une largeur de 8 bits; les signaux de lecture (RSRD) et d'écriture (RSWR) externes qui correspondent aux signaux DXRD, D";R de la Fig. 2; - un signal d'acquiescement de registre à verrouillage (RSALE); - un signal de "mémoire/particularité spéciale" (RAM/MF) qui indique si les données sont destinées à la mémoire vive à accès direct du micro- contrôleur fille ou à un ou plusieurs registres avec une fonction spéciale qui y sont prévus; - enfin, deux connexions de signaux d'engre- nage de synchronisation (INT, INTA) peuvent être présentes pour un mécanisme d'interruption; cette particularité a pour effet que le moment d'apparition d'un signal d:interruption n'est pas soumis à des limitations qui pourraient être provoquées par des relations de temporisation mutuelles du microcontrôleur mère et du microcontrôleur fille. PHN 11.933 23 Le microcontrôleur fille 102 est représenté en deux versions qui se distinguent l'une de l'autre par leurs logiques de dérivation 'prévues en supplément. Dans la première version dérivée, seule une connexion de bus série pour un système I2C est prévue au-dessus des éléments du microcontrôleur mère. Le micro- contrôleur fille comporte, en outre, les connexions suivantes: - deux broches de connexion pour l'alimen- tation de courant (VDD, GND); - deux broches de connexion d'horloge (01-2) pour que la synchronisation soit assurée non pas par un cristal d'oscillateur externe, mais par des siqnaux d'horloge du microcontrôleur mère; bt - une connexion de données d'une largeur de 8 bits (PO) qui est connectée de manière bidirec- tionnelle à RSAD7...g du microcontrôleur mère; - une connexion de données d'une largeur de s bits (P2) dont les connexions à un bit P20-P27 sont utilisées comme suit: P20: signal de commande de lecture cour le registre à fonction spéciale (-SFRRD); P21: idem, pour le signal de commande d'écri- ture (SFRWR); P22: idem, pour le signal d'acquiescement (SFRALE); P23: signal de sélection entre la mémoire vive à accès direct et le registre à fonction spéciale RAM/SFR); P24: le signal d'acquiescement pour la mémoire de programme externe 106 (PSENE) qui synchro- nise (bidirectionnellement) l'état du microcontrôleur mère et celui de la fille; P25: le signal de mode d'attente/arrêt (IDL/PD) du microcontrôleur mère; PHN 11.933 24 P26: un bit d'arrêt qui est formé par la machine d'émulation pour arrêter le microcontrôleur fille/mère, pour pouvoir, par exemple, y lire de manière statique un contenu de registre. Cette con- nexion assure sur le microcontrôleur mère la double fonction déjà mentionnée. Le signal INTD peut être reçu a partir du tampon 108; P27: ce signal assure la sélection entre les deux versions du microcontrôleur dérivé (83C652 ou 83C552). Le signal en question peut à nouveau être obtenu par une connexion sélective de plots, comme déjà décrit pour le signal EMUL de la Fig. 5; - seules les broches P36 et P37 de la con- nexion de données d'une largeur de 8 bits P3 sont connectées en parallèle aux broches P36, P37 respec- tives du microcontrôleur mère. De plus, sont encore prévues deux broches de connexion qui correspondent aux broches INT, INTA du microcontrôleur mère pour réaliser un engrenage de synchronisation pour un signal d'inter- ruption provenant du microcontrôleur fille. Les autres connexions ne sont pas utilisées lors de l'émulation de cette version du microcontrôleur fille, ou bien elles ne sont pas prévues. Dans la deuxième version dérivée du micro- contrôleur fille sont réalisées plusieurs autres particularités qui sont matérialisées dans des éléments fonctionnels adéquats, à savoir une conversion analo- gique-numérique (tension vers motif de bits), con- version numérique-analogique (motif de bits vers modulation en longueur d'impulsions), des connexions supplémentaires P4, P5, un mécanisme de comptage d'événements (event counter), un dispositif de sur- veillance de temps (watchdog timer) et la connexion I2C déjà mentionnée. Outre les connexions précitées, cette version comporte, à cette fin, les connexions suivantes PHN 11.933 25 (seules quelques connexions supplémentaires du micro- contrôleur mère sont utilisées, mais celles-ci étaient déjà prévues au préalable dans cette version "bond- out"); une connexion de repositionnement pour le mécanisme d'entrée/sortie (RESI/O) qui est connectée de manière bidirectionnelle en parallèle à la connexion de repositionnement du microcontrôleur mère; - une entrée de signal d'horloge (XTALl) qui est pilotée par l'intermédiaire d'un étage tampon (110) par la sortie du signal d'horloge (XTAL2) du micro- contrôleur mère; - deux connexions de données d'une largeur de 8 bits Pl, P4; - les 6 autres bits de la connexion de données d'une largeur de 8 bits, P3; - une connexion de données (P5) d'une largeur de huit canaux; sur chacun de ces canaux, une tension analogique peut être reçue, laquelle peut être con- vertie en un signal numérique dans le microcontrôleur fille. Les signaux analogiques peuvent, à. cet effet, être reçus sur un élément de conversion analogique- numérique multiplexé. Les canaux peuvent aussi être utilisés pour des signaux numériques, auquel cas ils peuvent être actifs de manière bidirectionnelle; - un signal de synchronisation d'un bit (STADC) pour initialiser (strobe) la dite conversion analogique-numérique; - deux connexions de tension de référence (VREF+, VREF-) qui sont nécessaires pour effectuer la dite conversion analogique-numérique; - deux tensions d'alimentation (AVSS,AVCC) qui sont prévues spécialement pour la conversion analo- gique-numérique; - deux sorties pour des siqnaux rendus analo- PHN 11.933 26 giques par modulation en largeur d'impulsion (PWM,PWM1l); - un signal d'activation pour le dispositif de surveillance de temps. En outre, les connexions suivantes restent inutilisées: - la sortie de signal d'horloge XTAL2; - la ligne d'acquiescement de registre d'adresses ALE; - un signal de sollicitation externe EA, voir également le microcontrôleur mère; - la ligne PSEN pour une mémoire de programme externe (voir aussi le microcontrôleur mère). La mise en et hors circuit des fonctions respectives peut à nouveau être réalisée au moyen d'un signal sur la connexion EMUT, ce qui, de manière interne, est par exemple effectué comme pour la Fig. 7. Si, dans ce cas, les particularités supplémentaires prévues pour le microcontrôleur fille sont activées en permanence (par exemple si les interrupteurs 151/154 sont fermés et l'interrupteur 164, ouvert) à l'inter- vention d'une tension amenée par un fil entre deux plots de connexion, l'enveloppe ne doit plus comporter de broche spéciale et le microcontrôleur ainsi enve- loppé peut être utilisé de la même manière que la version standard, et ce pour tout environnement d'uti- lisateur envisageable. Une autre application possible pour un micro- contrôleur fille tel que décrit ci-dessus est celle 3 d'un appareil périphérique pour le microcontrôleur mère. Dans ce cas, la mémoire de programme interne peut nouveau être activée dans le microcontrôleur mère. Seules les fonctions supplémentaires du microcontrôleur fille sont alors, à nouveau, opérationnelles. Ainsi, un microprocesseur fille dont l'unité arithmétique et PHN 11.933 27 logique et/ou la mémoire de programme interne sont défectueuses, peut malgré tout être utilisé, le micro- contrôleur mère assurant la reprise "stand-in" des fonctions défaillantes. PHN 11.933 28 R E V E N D I C A T I O N S 1.- Dispositif pour émuler un microcontrôleur, contenant un microcontrôleur mère en version "bond-out" qui est pourvu de: - une première série de broches standard, correspondant à celle d'une version "non-bond-out" pour effectuer des opérations d'entrée/sortie, - une deuxième série de broches de connexion de mémoire pour l'échange de données, d'adresses et de signaux de commande avec une mémoire de programme externe, - une troisième série de broches de connexion pour l'échange de signaux de commande avec un registre matériel externe, - un élément processeur, - et de moyens de communication entre le dit élément processeur, les dites séries de broches et d'autres éléments contenus dans le microcontrôleur mère, caractérisé en ce que, pour l'émulation d'un micro- contrôleur fille qui possède, en tant que version "non- bond-out" d'un dérivé du microcontrôleur mère, en plus d'un élément processeur propre, une mémoire de pro- gramme interne, une partie supplémentaire de logique de dérivation, des moyens de communication propres et une série de broches standard propre, une première con- nexion de données de la série de broches standard propre du microcontrôleur fille est connectée, en parallèle avec une connexion de données de la dite deuxième série du microcontrôleur mère, à une connexion de données de la dite mémoire de programme externe, une deuxième connexion de données de la série de broches standard du microcontrôleur fille est connectée à la dite troisième série de broches de connexion du micro- PHN 11.933 29 contrôleur mère et au moins une broche de commande de la dite deuxième connexion de données, chaque fois en parallèle avec une broche de commande correspondante de la dite deuxième série du microcontrôleur mère, à la dite mémoire de programme externe, et que le micro- contrôleur fille est pourvu d'un moyen de commande d'émulation, de telle manière qu'un premier état du dit moyen de commande d'émulation rend inactifs les dits moyens de communication propres pour l'échange avec l'élément processeur propre et la mémoire de programme interne du microcontrôleur fille, de sorte que l'élé- ment processeur du microcontrôleur mère et la dite mémoire de programme externe sont respectivement actifs à cette fin, que les broches standard de la première série sont actives comme broches standard du micro- contrôleur à émuler et que la dite logique de dériva- tion supplémentaire et d'autres éléments du micro- contrôleur fille sont actifs et connectés aux moyens de communication du microcontrôleur mère. 2.- Dispositif suivant la revendication 1, caractérisé en ce au'une sortie d'arrêt de la dite troisième série est connectée à un élément de commande d'arrêt du dit microcontrôleur fille. 3.- Microcontrôleur mère à utiliser dans un dispositif suivant la revendication 1 ou 2, caractérisé en ce que la dite troisième série de broches de con- nexion comporte, en vue de réaliser une émulation d'un microcontrôleur fille qui peut y être connecté, outre deux broches de commande respectives de lecture et d'écriture, une sortie pour un signal d'activation de registre de verrouillage (ALE). 4.- Microcontrôleur mère suivant la revendica- tion 3, caractérisé en ce qu'il comporte deux con- nexions d'engrenage de synchronisation pour des signaux d'interruption à connecter à des connexions d'engrenage PHN 11.933 30 de synchronisation correspondantes du dit micro- contrôleur fille. 5.- Microcontrôleur fille à utiliser dans un dispositif suivant la revendication 1 ou 2, caractérisé en ce que le dit moyen de commande d'émulation est réalisé sous la forme d'une liaison permanente avec une connexion fixe du microcontrôleur fille pour réaliser la dite inactivation. 6.- Microcontrôleur fille suivant la revendi- cation 5, caractérisé en ce qu'un moyen de connexion (170) pour des signaux de commande pouvant être activés par le dit premier état est connecté à une partie de ses broches standard. 7.- Microcontrôleur fille suivant la revendi- cation 5 ou 6, caractérisé en ce que le dit moyen de commande d'émulation est pourvu d'une programmation à masque. 8.- Microcontrôleur fille suivant la revendi- cation 5 ou 6, caractérisé en ce que le dit moyen de commande d'émulation peut être réalisé par une liaison externe par rapport au substrat. 9.- Circuit intégré à utiliser dans un micro- contrôleur fille suivant la revendication 5, 6 ou 8, caractérisé en ce qu'une connexion est prévue pour être mise en contact avec la dite connexion de commande d'émulation, lors de l'incorporation dans une enve- loppe, et qu'un deuxième signal logique empêche la dite inactivation, de sorte que l'élément Processeur et la mémoire de programme du circuit intégré peuvent alors être activés. 10.- Microcontrôleur contenant un circuit intégré suivant la revendication 9, caractérisé en ce que la dite connexion d'émulation est connectée, à l'intérieur de l'enveloppe, à une source pour le dit deuxième signal logique.