Brevet FR2598531A1 — publié le 19871113

La présente invention concerne les microcontrôleurs dotés de plusieurs fonctions situées dans un plogrclume interne. Ces microcontrôleurs peuvent être utilisés comme composants indépendants ou comme microprocesseurs spéciaux travaillant en interconnection avec des programmes externes. Les microcontrôleurs sont des microprocesseurs munis en plus de l'unité centrale (un microprocesseur) de mémoires ROM pour le programme interne, RAM pour les données et autres periphériques. En utilisant des microcontrozleurs, on peut réaliser des applications spécifiques avec un nombre réduit de composants. Le masquage d'un microcontrôleur n'est justifié que pour des quantités importantes. Ceci présente un grand inconvénient pour la grande diversité d'applications de petite série. Dans beaucoup d'applications multicontrôleurs, on retrouve les memes fonctions de base comme encodeur de clavier, affichage, éditeur de page, moniteur, etc. A l'heure actuelle, on ne trouve pas de microcontrôleur multifonction destiné à l'utilisation générale qui incorpore plusieurs fonctions et qui puisse exécuter en plus un programme externe. La méthode selon l'invention permet l'utilisation d'un microcontrôleur multifonction pouvant être interconnecté avec des programmes externes pour réaliser une application souhaitée. Pour cela, les séquences d'instructions du interne donnent au programme externe la possibilité d'exécuter ses séquences d'instructions correspondantes avant même d'exécuter ses propres séquences d'instructions. Pour pouvoir être complétées ou modifiées, les séquences d'instructions du firmware interne enchaînent en mode successif les séquences d'instructions correspondantes de un ou plusieurs programmes externes, si ceux-ci sont présents. Les séquences d'instructions du programme interne peuvent etre enchaînées avec les séquences d'instructions des programmes externes en les appelant comme un sous-programme. Les programmes externes peuvent également appeler les séquences d'instructions du programme interne comme on appelle un sous-programme. Les séquences d'instructions du vecteur RESET ou autres du programme interne sont organisées en une ou plusieurs boucles qui avant chaque point de décision ou ramification appelent les séquences d'instructions correspondantes de programme interne, pour que celles-ci puissent compléter ou modifier le programme interne. Si dans la boucle principale du vecteur RESET est détectée la présence des informations d'entrée dans les files d'attente, le programme interne passe dans des boucles secondaires pour exécuter les fonctions décrites par les informations. Le dispositif selon l'invention contient un micro contraleur multifonction interfacé avec un ou plusieurs programmes externes de type ROM ou RAM, composés de séquences d4instructions appropriées, qui sont appelés par le microcontrôleur en mode successif. Dans la description qui suit, faite à titre d'exemple, on se refère aux dessins annexés dans lesquels - la figure 1 est une vue très schématique d'un microcontrôleur multifonction interconnecté avec deux programmes externes, un premier appelé utilisateur, et un deuxième rappelé privé ; - la figure 2 est une vue détaillée d'un noeud de points d'accès du firmware aux programmes externes (APEi) - la figure 3 est un synopsie de la séquence d'instructions du vecteur RESET et de l'interconnection avec les programmes externes utilisateur et privé du microcontrôleur multifonction MIW-F-x5x. Dans la figure 1 est présenté un microcontroleur multifonction 11 interconnecté avec deux programmes externes un dit programme utilisateur 12 qui commence à l'adresse 2000H, et un dit programme privé 13 qui commence à l'adresse EOOOH. Conformément à l'invention, au début de chaque séquence d'instructions de tous les vecteurs d'interruption, ainsi qu'avant tous les points de décision ou ramification, on trouve un noeud d'accès aux programmes externes (APEi) présenté dans la figure 2. Si le programme externe privé est présent, un drapeau 21 est à "1" et la séquence correspondante est appelée. Si le programme externe utilisateur est présent, un drapeau 22 est à "1" et la séquence d'instruction correspondante est appelée, et donc enchaînée avec les séquences internes. Si les deux programmes externes 12 et 13 sont absents, les séquences d'instructions du programme interne se déroulent sans enchainement avec des séquences d'instructions externes. Selon l'invention, également, après la détection de la présence de programmes externes 31, la séquence d'instructions du vecteur RESET du firmware, figure 3, permet de les appeler par un noeud APEO. Cette opération ou des opération équivalentes sont exécutées pour tous les vecteurs d'interruption. Après une séquence d'initialisation 32, le firmware interne continue l'exécution des séquences d'instructions dans une boucle principale 33, où il teste la présence de fonctions ou de caractères (dans les files d'attente) en provenance de diverses sources d'entrée comme entrée série 34, entré parallele 35 et entrée clavier 36. S'il y a des fonctions ou des caractères dans les files d'attente, on entre dans une boucle secondaire 37, où on appelle dans des noeuds APE14, APE15 et APE16 une séquence d'instructions correspondante située dans les programmes externes. Après être passée par un bloc de liaison 38 avec les sorties, la boucle secondaire appelle des fonctions internes 39 en concordance avec les codes trouvés dans les files d'attente. Ces mêmes fonctions internes 39 peuvent Autre appelées par des entrées spécifiques 40 directement par les programmes externes. Une fois que toutes les files d'attente sont vides et après avoir donné accès aux programmes externes dans un noeud APEll, la boucle principale 33 entre dans un bloc d'interfaces 41 avec les périphériques du microcontrôleur multifonction. Le cicle de la boucle principale recommence au niveau APE9. Conformément à 1 'invention, le programme interne contient également des sous-programmes 42 destinés tant au programme interne qu'aux programmes externes. La méthode et le dispositif objet de l'invention peuvent être utilisés dans tous les appareils de mesure et de contrôle pour l'industrie, laboratoires, commerce, transport, banques, professions libérales, etc. REVENDICATIONS 1. Méthode d'interconnection d'un microcontroleur multifonction avec un programme externe utilisateur qui a le role de réaliser une application particulière souhaitée, caractérisée en ce que les séquences d'instructions du programme interne donnent au programme externe la possibilité d'exécuter ses séquences d'instructions correspondantes avant meme d'exécuter ses propres séquences d'instructions. 2. Méthode d'interconnection d'un microcontroleur multifonction avec un programme externe selon la revendication 1 caractériséé en ce que pour pouvoir etre complétées ou modifiées, les séquences d'instuctions du programme interne enchainent en mode successif les séquences de un ou plusieurs programmes externes, si ceux-ci sont présents. 3. Méthode d'interconnection d'un microcontroleur multifonction avec un programme externe selon les revendications 1 et 2 caractérisée en ce que les séquences d'instructions du programme interne peuvent etre enchainées avec les séquences d'instructions des programmes externes en les appelant comme un sous-programme. 4. Méthode d'interconnection d'un microcontroleur multifonction avec un programme externe selon les revendications 1,2 et 3 caractérisée en ce que les programmes externes peuvent appeler les séquences d'instructions du programme interne comme on appelle un sous-programme. 5. Méthode d'interconnection d'un microcontroleur avec un programme externe selon les revendications 1, 2, 3 et 4, charactérisée en ce que les séquences d'instructions du vecteur RESET ou autres du programme interne sont organisées en une ou plusieurs boucles qui avant chaque point de décision ou ramification appellent les séquences d'instructions correspondantes du programme externe, afin que celles-ci puissent compléter ou modifier le programme interne. 6. Méthode d'interconnection d'un microcntroleur multifonction avec plusieurs sources d'entrées qui en mode général sont traitées sous interruption selon les revendications 1, 2, 3, 4, et 5, caractérisée en ce que si dans la boucle principale du vecteur RESET (33) est détectée la présence des informations d'entrées dans les files d'attente (34), (35), (36), le programmeinterne passe dans des boucles secondaires (37) pour exécuter les fonctions décrites par les informations. 7. Dispositif d'interconnection d'un microcontroleur multifonction avec des programmes externes pour réaliser une application concrète en applicant la méthode selon l'une des revendications 1 à 6, caractérisé en ce qu'il contient un microcontroleur multifonction interfacé avec un ou plusieurs programmes externes de type ROM ou RAM composés de séquences d'instructions appropriées, qui sont appelés par le microcontroleur en mode successif.