Menu English Ukrainian Russe Accueil

Bibliothèque technique gratuite pour les amateurs et les professionnels Bibliothèque technique gratuite


ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE
Bibliothèque gratuite / Schémas des appareils radio-électroniques et électriques

Module de débogage pour les microcontrôleurs de la série MCS51. Encyclopédie de l'électronique radio et de l'électrotechnique

Bibliothèque technique gratuite

Encyclopédie de l'électronique radio et de l'électrotechnique / microcontrôleurs

Commentaires sur l'article Commentaires sur l'article

Le développement de dispositifs sur microcontrôleurs (MC), en règle générale, s'effectue selon un plan simple: le MC dans une inclusion typique est "pondéré" avec les périphériques nécessaires, puis le logiciel est écrit. Dans ce cas, vous devez utiliser divers outils qui prennent en charge le travail de routine, laissant le programmeur résoudre des problèmes créatifs.

Le dispositif décrit ci-dessous est un "produit semi-fini" d'un système de microcontrôleur, un outil pour son débogage et un objet d'étude en même temps. Il est destiné à acquérir des compétences en programmation et à déboguer des programmes pour le MCS51, mais il peut également servir de modèle d'un système réel, permettant de déboguer un logiciel d'application avec l'objet de contrôle. Avec un tel module, le développeur sera soulagé de la nécessité d'utiliser souvent un programmeur ou un émulateur ROM, inaccessible à beaucoup en raison de son coût élevé.

Le diagramme schématique du module de débogage pour la série MK MCS51 est illustré dans la figure. La plupart des nœuds sont fabriqués selon des schémas standard, et le dispositif d'interface avec le port série d'un ordinateur personnel (PC) est emprunté au dispositif décrit dans l'article de S. Kuleshov et Yu. Zaumenny "Programmeur ROM" ("Radio ", 1995, n° 10, p. 22 -25). Vous pouvez connecter divers périphériques aux broches libres des ports P1 et P3 du microcontrôleur DD1 (elles se terminent par des flèches sur le schéma). La prise XP1 est connectée avec un câble à la prise de l'un des ports série du PC, sous lequel le module fonctionnera.

Module de débogage pour les microcontrôleurs de la série MCS51
(cliquez pour agrandir)

Après l'application de la tension d'alimentation, le condensateur C3 est chargé à travers la résistance R1. Selon le signal de réinitialisation RES généré par l'élément DD3.4, MK DD1 passe dans son état initial et effectue des opérations préparatoires, notamment la mise au niveau logique 1 sur toutes les broches du port P3. Le déclencheur sur les éléments DD3.1, DD3.2 est dans un état où son signal de sortie définit une telle distribution de mémoire que la zone d'adresse de mémoire de programme 0-7FFFH occupe la ROM (DD5) et 8000H-0FFFFH occupe la RAM (DD6). Le programme Monitor, situé dans la ROM, est en cours d'exécution. En tapant les commandes Monitor sur le clavier du PC, l'opérateur peut travailler avec la RAM et les périphériques du module.

Pour transférer le déclencheur dans un autre état, il est nécessaire d'envoyer la commande RESET Monitor décrite ci-dessous depuis le PC de contrôle, qui positionne le signal MOD=0. Les adresses de la RAM et de la ROM de la mémoire programme sont interchangées et le programme, préalablement entré par l'opérateur dans la RAM du module, commence à fonctionner. Cela vous permet d'émuler le fonctionnement d'un appareil réel et de vérifier les programmes traduits vers des adresses mémoire inférieures, par exemple, préparés pour l'écriture sur ROM. Le bouton SB1 est utilisé pour réinitialiser le MK à son état d'origine sans modifier l'allocation de mémoire. Le moniteur ne peut être redémarré qu'en appuyant sur le bouton SB2 ou en éteignant et rallumant l'alimentation. Cela permet aux programmes débogués de fonctionner librement sur l'état du port P3 (par exemple, en travaillant avec des périphériques) sans craindre de changer accidentellement d'allocation de mémoire.

La LED HL1 est le moyen le plus simple d'afficher des informations et est très utile, surtout s'il n'y a pas de connexion avec le PC pour une raison ou une autre. Après la mise sous tension, il clignote à une fréquence d'environ 1 Hz, ce qui indique que le moniteur fonctionne. La diode zener protège l'appareil contre l'inversion de polarité ou la surtension de l'alimentation +5 V.

Le programme Monitor (tableau 1) permet de contrôler le module et son interaction via le port série RS-232C avec un PC, à partir duquel les commandes et les données nécessaires pour travailler sur une tâche spécifique sont transmises. Par le même port, le PC reçoit et affiche les résultats de l'opération du module sur son écran. Le programme de communication "Telemax" du shell largement utilisé Norton Commander 5.0, "Hyper Terminal" de Windows 95 OSR2 ou similaire doit être exécuté sur le PC. Dans les cas extrêmes, vous pouvez vous passer d'un programme spécial, simplement en envoyant les fichiers de commande MS DOS avec les données préparées au port série du PC.

Module de débogage pour les microcontrôleurs de la série MCS51
(cliquez pour agrandir)

Lors de la configuration du programme de communication, vous devez supprimer les lignes d'initialisation du modem, paramétrer les modes "Echo local" et "Diffusion CR/LF", si nécessaire, sélectionner le terminal ANSI et la table des codes ASCII. Le mode de fonctionnement du port série doit être le suivant : vitesse - 4800 bauds, nombre de bits par caractère - 8, contrôle de parité désactivé, nombre de bits d'arrêt - 1. Si tout est correct, le texte tapé sur le clavier du PC ira au module de débogage et ses réponses - affichées à l'écran.

Les commandes de moniteur peuvent être saisies à la fois dans les claviers majuscules et minuscules. Tous les caractères doivent être en codage ASCII. La touche [BackSpace] supprime le dernier caractère saisi du tampon du module de débogage. Chaque instruction se compose d'un nom et d'un opérande. Le nom se termine par un caractère séparateur : espace, tabulation, saut de ligne ou retour chariot. De plus, nous l'indiquerons conditionnellement avec un trait de soulignement (_), mais vous pouvez entrer n'importe lequel des nommés.

Ayant reçu le délimiteur, le Moniteur compare les quatre premiers caractères précédemment reçus et situés dans le tampon avec le contenu de la table d'instructions dans la ROM. Après avoir trouvé une correspondance, il se souvient de l'adresse du gestionnaire de commandes de la même table et commence à accepter un opérande - un ou plusieurs nombres hexadécimaux. Nous convenons que les adresses à un et deux octets de la mémoire interne et externe du MK seront respectivement désignées XX et XXXX, la longueur du bloc est YYYY, les autres données sont ZZ ou ZZZZ. Par exemple, XXXX,YYYY est un bloc de mémoire de données externe commençant à l'adresse XXXX, avec une longueur de YYYY octets. Tous les zéros non significatifs doivent être spécifiés. L'opérande doit également se terminer par un délimiteur, à la réception duquel le gestionnaire de commandes est lancé. Un délimiteur entré dans un tampon vide est ignoré.

RESET_ ZZZZ_ - le deuxième mode d'allocation de mémoire est activé, le MC est réinitialisé, le contrôle est transféré à l'adresse ZZZZ. La commande nécessite une bonne RAM pour un fonctionnement normal.

DATA_ XXXX:_ ZZ_ [ZZ_][XXXX:_ZZ_ [ZZ_]._- les informations sont inscrites dans des cellules successives de la mémoire de données externe, à partir de l'adresse XXXX . Vous n'avez pas besoin d'entrer des crochets, ils indiquent seulement que le nombre d'opérandes ZZ_ peut être arbitraire. La saisie des données se termine par un point. En tableau. La figure 2 montre un exemple d'utilisation des commandes DATA et RESET pour entrer un programme simple dans la RAM et l'exécuter.

READ_XX_ ou READ_XXXX_ - lit un mot (deux octets consécutifs) à partir des cellules de mémoire de la RAM de données interne ou externe. Le résultat sous forme de nombre hexadécimal (octet à l'adresse haute en premier) est envoyé au port série.

WRITE_XX,ZZ_, WRITE_XX,ZZZZ_, WRITE_XXXX,ZZ_ ou WRITE_XXXX,ZZZZ_ - écrit l'octet ZZ ou le mot ZZZZ à l'adresse XX ou XXXX.

Notez que les commandes READ et WRITE sont implémentées à l'aide d'un adressage indirect, elles ne peuvent donc pas fonctionner avec des registres de fonction spéciaux. Pour accéder aux registres, il convient d'écrire des procédures d'échange avec adressage direct spécifiques à chacun d'eux. Un exemple est le gestionnaire de commande SPEED. Si un MCU avec une RAM interne de 256 octets est installé dans le module, les commandes READ et WRITE pourront fonctionner avec ses 128 octets supplémentaires aux adresses 80H-0FFH.

LOAD_XXXX,YYYY_ - rempli d'informations provenant du port série, bloc de mémoire de données externe.

SAVE_XXXX,YYYY_ - le contenu du bloc de mémoire de données externe est transféré sur le port série.

CALL_ZZZZ_ - un sous-programme est appelé à partir de l'adresse ZZZZ. Pour revenir au moniteur, il doit se terminer par la commande RET. Les interruptions sont désactivées pendant la durée du sous-programme.

CHECK_XXXX,YYYY_ - la somme de contrôle est calculée - l'octet de poids faible de la somme de tous les octets du bloc de mémoire de données externe.

FILL_XXXX,YYYY,ZZ_ - remplit la zone de mémoire de données externe avec l'octet ZZ et calcule sa somme de contrôle.

COPY_XXXX,YYYY,ZZZZ_ ou COPY_PXXXX,YYYY,ZZZZ_ - le bloc de mémoire de données externe est copié à l'adresse ZZZZ. Le symbole P indique que la zone à copier se trouve dans la mémoire programme. En même temps, la somme de contrôle est calculée.

TEST_XXXX,YYYY_ - la santé du bloc de RAM externe est vérifiée. S'il n'y a pas d'erreur, le message "OK" s'affiche, sinon - "XXXX : YY<>ZZ", où XXXX est l'adresse de la cellule en échec, YY est la valeur qui y est écrite et ZZ est la valeur lue. La commande ne détruit pas le contenu de la RAM.

SPEED_ZZ_ ou SPEED_ZZ+_ - modifie la vitesse d'échange de données via le port série. Il est par défaut à 4800 bauds (déterminé par l'octet de programme Monitor à l'adresse 2DH). La valeur égale à l'opérande ZZ est placée dans le registre TH1 du microcontrôleur et détermine la vitesse de son émetteur-récepteur. Un signe plus dans l'opérande double la vitesse en définissant le bit PCON.7.

Le port série du PC peut fonctionner à 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 bauds et plus. La capacité de régler avec précision le port série du microcontrôleur de la série MSC51 aux vitesses indiquées dépend de la fréquence du résonateur à quartz utilisé. Par exemple, s'il est de 12 MHz, le port peut être défini sur 300, 600, 1200, 2400 et 4800 bauds avec la commande SPEED avec les opérandes 98, CC, E6, F3 et F3+ respectivement. Avec un résonateur de 11 MHz, 9600 bauds pourraient être atteints. Cependant, lors du transfert de fichiers, le MK ne sera probablement pas en mesure de suivre les données arrivant à une vitesse trop élevée.

L'ensemble de commandes décrit peut être étendu et complété sans retransmission du moniteur et même sans effacer la ROM. Le nouveau gestionnaire de commandes est placé dans sa zone libre. Le nom de la commande (les quatre premiers caractères en majuscules) est écrit à partir de l'adresse 5ABH, suivi d'une adresse de gestionnaire à deux octets et de l'octet 0FFH. Le gestionnaire doit se terminer par un saut à l'adresse 23FH.

Toutes les adresses de cellule à un octet mentionnées ci-dessous font référence à la RAM interne du MCU. Le moniteur utilise les banques de registres 0 et 2, ainsi que les emplacements 20H-3FH. La pile grandit à partir de l'adresse 50H. Lorsqu'il est libre de recevoir et de traiter des commandes, le microcontrôleur exécute en permanence le sous-programme situé dans la ROM à l'adresse spécifiée dans les cellules 35H et 36H. Par défaut, c'est 063H. Ce sous-programme, modifiant périodiquement l'état du bit P3.4, allume et éteint la LED HL1. La fréquence de clignotement dépend du contenu de la cellule 3DH. Si ce bit doit être utilisé à d'autres fins, la commande WRITE_35,006A_ doit être émise.

Dans les cellules 37H et 38H se trouve l'adresse du gestionnaire d'interruptions du port série, qui sert en fait de colonne vertébrale du moniteur et détermine sa réponse aux commandes de l'opérateur. Par défaut, on écrit ici 0, ce qui correspond à l'appel du gestionnaire standard situé en ROM à l'adresse 081H.

En écrivant un code autre que 3 à l'adresse 0BH, vous pouvez activer la fonction "Echo". Toutes les données reçues via le port série seront renvoyées au moniteur. Cela désactivera "l'écho local" dans le programme de communication et, si nécessaire, enregistrera dans un fichier texte toutes les commandes envoyées au module de débogage et ses réponses.

Le numéro à l'adresse 3AH fixe la pause entre la réception d'une commande par le Moniteur et la réponse à celle-ci, nécessaire pour faire passer certains programmes de communication de l'émission à la réception (ce n'est pas nécessaire pour "Telemax"). Elle est égale à la durée de la pause en secondes multipliée par 50.

L'un des résultats des commandes qui opèrent sur des blocs de mémoire (LOAD, SAVE, CHECK, FILL, COPY) est la somme de contrôle du bloc, qui est placée dans la cellule 39H. Il peut être utilisé pour contrôler la bonne exécution des commandes listées.

Le moniteur peut accepter directement les fichiers au format Intel HEX générés par de nombreux assembleurs. Il suffit d'envoyer un tel fichier sur le port série du PC à l'aide d'un programme de communication ou simplement avec la commande MSDOS COPY <nom du fichier> COM2. Le port pré-utilisé (dans ce cas COM2) doit être configuré avec la commande MODE COM2:4800,N,8,1. Les informations seront écrites dans la mémoire de données externe du module de débogage, et si les sommes de contrôle ne correspondent pas, un message correspondant sera affiché.

Chaque ligne d'un fichier Intel HEX commence par deux-points suivis d'octets représentés par des nombres hexadécimaux à deux chiffres sans espaces :

  • le nombre d'octets de données contenus dans la ligne ;
  • les octets haut et bas de l'adresse du premier des octets de données ;
  • octet nul ;
  • octets de données (leur nombre est donné par le premier octet de la chaîne) ;
  • somme de contrôle
  • octet de poids faible de la somme habituelle de tous les octets de la chaîne, pris avec un signe moins.

Un fichier HEX se termine toujours par une ligne contenant deux points et zéro octet de données et une adresse, suivi du dernier caractère de ligne (01) et d'une somme de contrôle égale à FF. Le tableau 3 montre un exemple d'un tel fichier contenant les mêmes données que celles saisies par la commande DATA Monitor conformément au tableau 2.

Auteur : V.Ogleznev, Izhevsk

Voir d'autres articles section microcontrôleurs.

Lire et écrire utile commentaires sur cet article.

<< Retour

Dernières nouvelles de la science et de la technologie, nouvelle électronique :

Machine pour éclaircir les fleurs dans les jardins 02.05.2024

Dans l'agriculture moderne, les progrès technologiques se développent visant à accroître l'efficacité des processus d'entretien des plantes. La machine innovante d'éclaircissage des fleurs Florix a été présentée en Italie, conçue pour optimiser la phase de récolte. Cet outil est équipé de bras mobiles, lui permettant de s'adapter facilement aux besoins du jardin. L'opérateur peut régler la vitesse des fils fins en les contrôlant depuis la cabine du tracteur à l'aide d'un joystick. Cette approche augmente considérablement l'efficacité du processus d'éclaircissage des fleurs, offrant la possibilité d'un ajustement individuel aux conditions spécifiques du jardin, ainsi qu'à la variété et au type de fruits qui y sont cultivés. Après avoir testé la machine Florix pendant deux ans sur différents types de fruits, les résultats ont été très encourageants. Des agriculteurs comme Filiberto Montanari, qui utilise une machine Florix depuis plusieurs années, ont signalé une réduction significative du temps et du travail nécessaires pour éclaircir les fleurs. ...>>

Microscope infrarouge avancé 02.05.2024

Les microscopes jouent un rôle important dans la recherche scientifique, car ils permettent aux scientifiques d’explorer des structures et des processus invisibles à l’œil nu. Cependant, diverses méthodes de microscopie ont leurs limites, parmi lesquelles la limitation de la résolution lors de l’utilisation de la gamme infrarouge. Mais les dernières réalisations des chercheurs japonais de l'Université de Tokyo ouvrent de nouvelles perspectives pour l'étude du micromonde. Des scientifiques de l'Université de Tokyo ont dévoilé un nouveau microscope qui va révolutionner les capacités de la microscopie infrarouge. Cet instrument avancé vous permet de voir les structures internes des bactéries vivantes avec une clarté étonnante à l’échelle nanométrique. En général, les microscopes à infrarouge moyen sont limités par leur faible résolution, mais le dernier développement des chercheurs japonais surmonte ces limitations. Selon les scientifiques, le microscope développé permet de créer des images avec une résolution allant jusqu'à 120 nanomètres, soit 30 fois supérieure à la résolution des microscopes traditionnels. ...>>

Piège à air pour insectes 01.05.2024

L'agriculture est l'un des secteurs clés de l'économie et la lutte antiparasitaire fait partie intégrante de ce processus. Une équipe de scientifiques du Conseil indien de recherche agricole et de l'Institut central de recherche sur la pomme de terre (ICAR-CPRI), à Shimla, a mis au point une solution innovante à ce problème : un piège à air pour insectes alimenté par le vent. Cet appareil comble les lacunes des méthodes traditionnelles de lutte antiparasitaire en fournissant des données en temps réel sur la population d'insectes. Le piège est entièrement alimenté par l’énergie éolienne, ce qui en fait une solution respectueuse de l’environnement qui ne nécessite aucune énergie. Sa conception unique permet la surveillance des insectes nuisibles et utiles, fournissant ainsi un aperçu complet de la population dans n'importe quelle zone agricole. "En évaluant les ravageurs cibles au bon moment, nous pouvons prendre les mesures nécessaires pour lutter à la fois contre les ravageurs et les maladies", explique Kapil. ...>>

Nouvelles aléatoires de l'Archive

Le graphène accélère les commutateurs optiques de 100 fois 05.08.2013

Des scientifiques des universités de Bath et d'Exeter au Royaume-Uni ont trouvé un moyen d'augmenter de 100 fois la vitesse des commutateurs optiques utilisés dans les équipements de télécommunications. L'article scientifique correspondant a été publié dans la revue Physical Review Letters.

"Chaque jour, d'énormes quantités d'informations passent par des fibres optiques, des photodétecteurs et des lasers. Les signaux envoyés dans les longueurs d'onde infrarouges passent par des commutateurs optiques qui les convertissent en une séquence d'impulsions lumineuses", expliquent les scientifiques dans l'ouvrage.

L'essence de l'invention est l'utilisation du graphène dans la conception d'un commutateur optique au lieu d'un semi-conducteur conventionnel. Le graphène est un réseau d'atomes de carbone d'une couche d'épaisseur.

"Grâce à sa haute résistance, sa flexibilité et sa conductivité, sa légèreté et son faible prix, le graphène est l'un des matériaux les plus prometteurs. Et maintenant, nous voyons qu'il vous permet d'atteindre de nouvelles frontières sur le marché des télécommunications", commentent les scientifiques.

"Plus nous en apprenons sur le graphène, plus nous découvrons de nouvelles propriétés étonnantes", déclare Simon Bending, co-directeur du Centre de recherche sur le graphène de l'Université de Bath. "Au cours de nos recherches, nous avons vu que ce matériau possède des propriétés optiques uniques. fonctionnalités qui ouvrent de nouvelles possibilités.

Le graphène a déjà été proposé pour une utilisation dans les équipements de télécommunications. En mars de cette année, des scientifiques du Georgia Institute of Technology, aux États-Unis, ont développé une antenne en graphène permettant de transmettre des données à une vitesse de 1 Tbps.

Un autre exemple est le travail conjoint des lauréats du prix Nobel Andrey Geim et Konstantin Novoselov, qui ont développé il y a deux ans une méthode pour multiplier par 20 la vitesse de transmission des données sur les réseaux à fibre optique. Leur travail était également basé sur le graphène découvert par eux plus tôt.

Autres nouvelles intéressantes :

▪ Défense aérienne laser Skyranger 30 HEL

▪ détecteur de mines végétales

▪ Les mensonges changent le cerveau

▪ Enceinte sans fil Drifter

▪ Nouveau contrôleur d'échange à chaud

Fil d'actualité de la science et de la technologie, nouvelle électronique

 

Matériaux intéressants de la bibliothèque technique gratuite :

▪ section radio du site Web. Sélection d'articles

▪ article Cas dans le chapeau. Expression populaire

▪ article Pour quels mérites A. V. Suvorov a-t-il été promu maréchal général? Réponse détaillée

▪ article déclencheur JK. Radio - pour les débutants

▪ article Détecteur de métaux simple à haute sensibilité. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Micro HPP. Encyclopédie de l'électronique radio et de l'électrotechnique

Laissez votre commentaire sur cet article :

Nom:


E-mail (facultatif) :


commenter:





Toutes les langues de cette page

Page principale | bibliothèque | Articles | Plan du site | Avis sur le site

www.diagramme.com.ua

www.diagramme.com.ua
2000-2024