<Desc/Clms Page number 1>
"Développement et système de développement de microprocesseur".
La présente invention se rapporte à un système de développement de microprocesseurs et au développement de ceux-ci.
Suivant l'invention, il est prévu un système de dévelop- pement de microprocesseurs comportant : un circuit de commande en vue de gérer le fonctionne- ment du système, un circuit d'interface pour la sortie et la réception de données de développement du microprocesseur d'exécution, vers et en provenance d'un ordinateur central, un circuit de mémoire de surveillance pour le stockage de sous-programmes de surveillance du microprocesseur d'exécution, ledit circuit de mémoire de surveillance comportant un circuit de mémoire à lecture simple d'instructions initiales, relié à un circuit de mémoire à accès sélectif, et un circuit de commande de mémoire qui permet à la mémoire à accès sélectif de stocker un code de surveil- lance qui a été transmis à partir de l'ordinateur central ou d'exécuter ce code de surveillance,
un circuit de confirmation de points d'interruption pour la confirmation de points d'interruption dans des adresses de mémoire de microprocesseur d'exécution, un circuit de mémoire et de commande d'analyse relié de manière opérationnelle à un circuit de rythmeur d'exécution, un circuit de mémoire et de commande d'émulation relié à un capteur externe en vue d'une connexion au microprocesseur d'exécution, un circuit de programmation du microprocesseur d'exécution, et une source d'alimentation.
L'invention sera plus clairement comprise à partir de la description suivante de certaines formes de réalisation avantageu- ses données au moyen d'un exemple, en faisant uniquement référence aux dessins annexés.
<Desc/Clms Page number 2>
La figure 1 est un schéma fonctionnel d'un système de développement de microprocesseur suivant l'invention.
La figure 2 est un schéma fonctionnel qui illustre une partie du système.
La figure 3 est un schéma fonctionnel qui illustre une autre partie du système.
La figure 4 est un schéma de circuit illustrant une partie du système qui se raccorde à un certain type de microproces- seur d'exécution.
Les figures 5 et 6 sont des schémas fonctionnels qui illustrent d'autres sources d'alimentation à utiliser avec le système de développement de microprocesseur.
En se reportant aux dessins et d'abord à la figure 1, il y est illustré un système de développement de microprocesseur suivant l'invention, indiqué dans son ensemble par la référence 1.
Le système 1 est illustré en service, relié à un processeur central 2 et, par un capteur 4 qui peut être dénommé aussi capteur d'émulation en circuit, à un microprocesseur d'exécution 3. Des moyens de com- mande du système sont fournis par un circuit de commande 8 qui commande un interface 9 RS232C destiné à l'ordinateur central 2. Le circuit de commande 8 comporte aussi une mémoire d'analyse, des rythmeurs d'exécution et un circuit logique de traitement de déclenchement. Des moyens d'émulation en circuit et spécifiques pour le microprocesseur sont fournis par un circuit d'ensemble 11 relié au circuit de commande 8 par une voie d'analyse 12 et par une voie générale 13.
Le circuit d'ensemble Il comporte des circuits d'émulation et une mémoire et aussi des circuits de points d'interruption, de détection de déclenchement et de représentation des correspondances.
Un câble d'émulation 15 est relié au circuit d'ensemble 11. La voie générale 13commande la synchronisation de tous les circuits du système 1 et réalise l'interconnexion du circuit de commande 8, du circuit d'ensemble Il et d'un circuit de programmation PROM 16. La voie d'analyse 12 relie le circuit d'ensemble 11 et la mémoire d'analyse du circuit de commande 8. Une source d'alimentation 17 fournit l'énergie au système.
<Desc/Clms Page number 3>
En bref, l'ordinateur central 2 en service est chargé d'un logiciel qui réagit en réciprocité avec le système 1. Un fichier de source d'utilisateur est ensuite introduit dans l'ordinateur central 2 et un assembleur ou un compilateur transforme le fichier de source en un code objet qui est stocké dans l'ordinateur central 2. L'utilisateur peut ensuite utiliser le système en vue d'une émulation dans laquelle le code est passé au système 1 qui simule une exécution du micro- processeur d'exécution de l'utilisateur. Dans ce cas, l'ordinateur central 2 transmet le code objet à la mémoire à accès sélectif du système 1.
En outre, le système 1 peut être utilisé pour une émulation en circuit, qui implique une connexion du système 1 au système de microprocesseur d'exécution par le capteur 4. Dans ce cas, le système 1 produit tous les signaux de commande nécessaires pour passer, analyser et surveiller le système de microprocesseur d'exécution. Lorsqu'il est utilisé pour une émulation en circuit, l'ordina- teur central 2 transmet par le capteur 4 le code objet à la mémoire à accès sélectif du système de microprocesseur d'exécution.
Une exécution du code objet peut être arrêtée à des points d'interruption auxquels les contenus courants de registres, d'emplacements de mémoire et de portes d'entrée/de sortie peuvent être analysés. L'utilisateur peut comparer un état de microprocesseur souhaité à un état réel en utilisant des fenêtres d'analyse affichées sur l'écran de l'ordinateur central 2. L'ordinateur central 2 peut être relié à une imprimante pour l'impression d'analyses ou d'un état de microprocesseur et l'utilisa- teur peut opter pour une analyse d'un état complet de registres de processeur et de marques, après l'exécution de chaque instruction.
En outre, des analyses de registres particuliers ou d'emplacements de mémoire peuvent n'être imprimée que lorsque les contenus changent.
En se reportant à la figure 2, le circuit.de commande 8 y est illustré avec plus de détails. Le but du circuit de commande 8 consiste à effectuer les opérations qui sont communes pour l'émulation de n'importe quel type de système de microprocesseur d'exécution.
En conséquence, le circuit de commande 8 doit avoir la possibilité de réaliser des échanges avec n'importe quel type de circuit d'ensemble
<Desc/Clms Page number 4>
11et aussi avec le circuit de programmation 16. Le circuit de commande
8 comporte un microprocesseur 20 dont la fréquence d'horloge est choisie pour fournir le taux de baud adapté à l'interface 9. Il y a plusieurs zones différentes de mémoire dont l'accès est commandé par des commutateurs de commande de sélection de banque 21. Les programmes et les données qui sont utilisés pour la commande des fonctions du système sont contenus dans une mémoire de surveillance 22.
Pour garantir que le circuit de commande 8 a la possibilité de faire démarrer l'exécution d'un programme de surveillance et pour garantir qu'il a la possibilité d'établir une communication entre l'ordina- teur central 2, il est nécessaire que la mémoire de surveillance 22 comporte des données de surveillance d'instructions initiales qui résident dans une EPROM 221. De plus, pour garantir que la circuit de com- mande 8 a la possibilité d'exécuter une variété de différents program- mes de surveillance qui correspondent à différents types de micropro- cesseurs d'exécution, il est nécessaire que la mémoire de surveillance 22 comporte des données de programme de surveillance qui résident dans une RAM 222 et qui peuvent être chargées avec un programme de surveillance particulier par l'ordinateur central 2.
Dans certaines installations, le microprocesseur de commande 20 peut être d'un type, semblable au type 8031, qui exige que la zone de mémoire de code ou de programme du microprocesseur soit séparée de la zone des données. Pour surmonter les problèmes d'établissement de communica- tion avec un programme de surveillance d'instructions initiales qui réside dans l'EPROM, de chargement d'une partie des données de surveillance dans la RAM et d'exécution du programme de surveillance -dans une zone séparée de programme ou de code, la mémoire de surveillance 22 comporte des circuits 223 qui autorisent à l'exécution d'une surveillance de commuter de l'EPROM à la RAM et qui autorisent à la zone de RAM d'apparaître au microprocesseur de commande, soit en tant que zone de données (afin de permettre au programme de surveillance d'être chargé)
soit en tant que zone de code ou de programme (afin d'autoriser le microprocesseur de commande d'exécuter un programme de surveillance à partir d'une zone de code ou de programme).
<Desc/Clms Page number 5>
Le circuit de commande 8 comporte aussi un circuit d'analyse 23 qui comprend une mémoire d'analyse (qui peut être à accès sélectif) 231, un ensemble de circuit de combinaison d'horloge 232, un ensemble de circuit de marche-arrêt 233 (ou de commande d'analyse) un ensemble de circuit de bit d'état, un compteur d'adresse d'analyse 234, un ensemble de circuit d'interruption et un circuit destiné à relire l'analyse. Une analyse peut être effectuée soit dans un mode continu soit dans un mode de bloc. En mode continu, un déclenchement de démarrage amorce un comptage du nombre de zones qui sont en cours d'analyse. Dans le mode de bloc, un déclenche- ment central est utilisé et il y a une mémoire tampon circulaire qui est analysée circulairement jusqu'à ce que survienne un déclenche- ment de démarrage.
Pour exécuter le mode de bloc, un compteur spécial, c'est-à-dire un compteur d'adresse d'analyse, est utilisé.
Le circuit de commande 8 comporte aussi un rythmeur d'exécution 24 comprenant trois compteurs, le premier traitant les 16 premiers bits du rythmeur de programme, le deuxième traitant les 14 bits suivants et le troisième traitant les 14 derniers bits. Des diodes électroluminescentes (LED) 25, respectivement pour l'alimenta- tion, pour l'émulation et pour la commande, et un connecteur d'exten- sion 26 sont montés sur le circuit de commande 8.
Un interface 27 (ou mémoire tampon de sélection de tableau ou encore mémoire tampon) est prévu pour la voie générale 13et comporte des mémoires tampons séparées pour des données, pour des adresses, pour une ligne de lecture et pour une ligne d'écriture.
Un circuit de combinaison d'évènements 28 est prévu pour des signaux d'évènement de qualification transmis à partir du système de micropro- cesseur d'exécution 3, par la voie générale 13. Un circuit d'unité arithmétique et logique (ALU) d'évènement 29 combine des signaux d'évènement qui ont été reçus et armés. Des signaux d'évènement semblables peuvent être utilisés pour une sélection de données ou pour démarrer un déclencheur.
Le circuit de commande 8 comporte un circuit de points d'interruption 30. Pour les types de microprocesseurs d'éxécu- tion qui présentent une gamme d'adresses de 64 K le circuit de points
<Desc/Clms Page number 6>
d'interruption peut être un dispositif RAM du type 64K X 1 auquel est appliquée la voie d'adresse du microprocesseur d'exécution 3.
S'il arrivait que l'adresse corresponde à une adresse de points d'inter- ruption qui a été réglée, le signal de données de sortie peut être utilisé pour arrêter l'exécution du programme visé. Pour certains types de microprocesseurs d'exécution, il peut être nécessaire d'admet- tre une gamme d'adresses considérablement plus grande que 64 K, par exemple de 512 K ou de 1 Mbyte.
Le circuit de commande 8 comporte encore une fenêtre d'analyse 81, une voie de commande 82 un dispositif de remise à l'état initial 83 et une voie de communication 84 avec le panneau d'ensemble.
Un circuit d'ensemble 11 particulier est illustré à la figure 3. Comme établi ci-dessus, le circuit d'ensemble 11 compor- te un ensemble de circuit qui est particulier au microprocesseur d'exé- cution. Plus particulièrement, le circuit d'ensemble comporte un ensem- ble de circuit d'émulation et un ensemble de circuit de mémoire, de points d'interruption, de correspondance et de détection de déclen- chement en plus de différents éléments de logique de commande associés au processus d'émulation.
La figure 3 montre entre autre une voie d'analyse 12, une voie d'exécution 302, une mémoire tampon d'analyse 303, une détection de déclenchement 304, une mémoire tampon 305 et une mémoire tampon de communication 15. La figure 3 montre aussi une mémoire de programme d'émulation 306, une mémoire de données d'émulation 307 une mise en correspondance des données 308, une mise en correspondance du programme 309, une bascule d'interruption 310 et une reconnaissance de données 311. La figure 3 comporte encore des mémoires à accès sélectif en série 312 et d'analyse 313, ainsi que des dispositifs de points d'interruption de lecture 314, d'écri- ture 315et de programme 316.
On voit aussi à la figure 3, une com- mande d'état 117 une détection et sélection d'horloge 318 une détection de Vcc 319 une sélection de banque 320 et une voie de communication 13 en provenance du circuit de commande.
Si l'on se reporte maintenant à la figure 4, une
<Desc/Clms Page number 7>
partie d'un circuit d'ensemble 11 à utiliser avec un microprocesseur d'exécution 3, comme par exemple celui du type 8051, y est décrit.
Le microprocesseur d'exécution 3 comporte quatre portes PO à P3, de huit lignes chacune. Ces portes sont quasiment bidirectionnelles, en ce sens que des signaux voyagent dans les deux directions et qu'il n'y a pas de portes d'entrée ou de sortie dédicacées. Une telle disposi- tion peut provoquer des problèmes lorsque le système 1 change du mode d'émulation au mode de commande, auquel cas il est possible que des données doivent être transmises au circuit de commande 8. Pour garantir que le fonctionnement du microprocesseur d'exécution ne subit pas d'interférence par le fonctionnement du système 1, un circuit de reconstitution 35 et une RAM en série 37 sont reliés à une ligne 38 qui est reliée à la broche de porte P3. 7.
La RAM en série 37 transforme une information d'émulation en série sous une forme parallèle en vue d'être traitée par le circuit d'ensemble 11 et par le circuit de commande 8. Le circuit de reconstitution 35 transmet une information qui devrait être normalement transmise sur la ligne 38 pour un fonctionnement normal du microprocesseur 3, et garantit que le comportement de ces lignes dans le système d'exécution est identique au comportement du microprocesseur d'exécu- tion lui-même, malgré l'utilisation de la RAM en série 37 pour transfé- rer une information au circuit de commande.
Les signaux d'entrée à la broche P3. 7 sont appliqués au microporcesseur d'exécution 3 au travers d'une mémoire tampon à 3 états 40. Des signaux de sortie en provenance de la broche P3.7 sont appliqués au travers du circuit à bascule du type D 36, d'une porte ET 41 et d'une mémoire tampon à trois états 42, au capteur externe 4. Pendant un cycle de lecture dans le mode d'émulation, la mémoire tampon à trois états d'entrée 40 est validée et le micropro- cesseur 3 peut lire avec précision l'état de la broche P3. 7 sur le capteur externe 4. Pendant un cycle d'écriture, des données de sortie en provenance du microprocesseur d'exécution 3 sont bloquées dans la bascule 36. Si le microprocesseur émet un signal logique bas, une bascule 43 actionne la mémoire tampon à trois états 42 qui a son tour amène la broche P3. 7 a un niveau bas.
Pour un signal logique
<Desc/Clms Page number 8>
haut, la mémoire tampon à trois états 42 est mise hors service par la bascule 43 et la broche P3. 7 est amenée à un niveau logique haut par la résistance de la polarisation 44. Ces caractéristiques simulent avec précision l'effet de la broche de porte de microprocesseur elle- même tout en garantissant que pendant les modes de surveillance ou de commande, le microprocesseur d'exécution 3 peut être isolé ou efficacement déconnecté du capteur externe 4 en mettant hors service les deux mémoires tampon à trois états 40 et 42. Dans le mode de surveillance ou de commande, la RAM en série 37 est arrêtée par un circuit de validation 37 (b). La RAM en série 37 reçoit son entrée à partir de la broche P3. 7 et est synchronisée par un compteur d'adresse de RAM en série 45.
Les données de RAM en série sont transmises à la voie générale 13 par une bascule de sélection de banque 46.
Il sera apprécié que cette particularité de l' invention permet une utilisation du système 1 avec des microprocesseurs du type de "microcircuit de commande à puce unique" dans lesquels le transfert d'une information dans le mode de commande ne doit pas être-autorisée à interférer avec le comportement du système d'exécution.
En ce qui concerne la source d'alimentation 17, il s'agit du type de régulateur linéaire à rendement élevé, illustré à la figure 5. Des diodes Schottky 50 constituent les éléments redresseurs de courant principaux. Un transistor principal de passage en série 51 reçoit son courant de base dérivé d'une alimentation de tension auxiliaire (non lissée) 52, de tension supérieure à celle de l'alimentation principale. Le courant d'alimentation de sortie est mesuré en surveillant la chute de tension au travers d'une résistance de sortie 53 en série et un échantillon de l'alimentation principale en courant continu est ajouté à cette chute de tension par une résistance 54 (dénommée résistance d'échantillonnage de la tension d'entrée) pour permettre l'utilisation d'une valeur de résistance basse pour la résistance de sortie 53.
En conséquence, la source d'alimentation du régulateur linéaire présente un rendement relativement élevé et il y a une dissipa- tion de chaleur inférieure à celle de sources d'alimentation convention-
<Desc/Clms Page number 9>
ne l les.
La figure 5 montre encore une entrée de courant alternatif 501, un circuit de redressement 502, un circuit de multiplica- tion de tension 503, des sorties 504 de ce dernier, et un régulateur 505.
En se reportant maintenant à la figure 6, il y est illustré une autre construction d'une source d'alimentation, c'est-à-dire une source d'alimentation à découpage secondaire 60 qui présente un transformateur 61 usuel d'isolation en fréquence du secteur et qui fournit une sortie secondaire à basse tension. En conséquence, la conception procure le rendement élevé qui est une caractéristique des conceptions de régulateurs à découpage mais cela n'expose pas les utilisateurs du système à un choc électrique dangereux qui pourrait exister si le régulateur à découpage fonctionnait à une tension élevée.
La figure 6 montre encore une alimentation en courant alternatif 600, un circuit de redressement et de découpage 601, un régulateur à découpage secondaire à 5 volts 602, un régulateur linéaire à 33 volts 603, un régulateur linéaire à 11 volts 604 et un régulateur linéaire à - Il volts 605.
Il doit être entendu que l'invention n'est nullement limitée aux formes de réalisation décrites et que bien des modifications peuvent être apportées à ces dernières sans sortir du cadre de la- dite invention.