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

Nous concevons des appareils sur microcontrôleurs. Encyclopédie de la radioélectronique 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

Entre l'idée initiale de créer un dispositif basé sur un microcontrôleur (MCU) et le développement de son programme, il y a une étape importante : l'élaboration d'un schéma fonctionnel de l'algorithme. Elle est souvent oubliée ou, pire, négligée. La programmation s'effectue de manière « heuristique », essentiellement par essais et erreurs. Le résultat est un programme peu fonctionnel et encombrant, qui n'est pas entièrement compréhensible, même pour son créateur, et qui est difficile à moderniser. Cependant, des méthodes assez simples sont connues depuis longtemps et sont utilisées par les programmeurs, permettant, à commencer par la formulation verbale de l'algorithme, de concevoir avec compétence son schéma fonctionnel. Les intérêts professionnels de l'auteur de l'article résident dans le domaine des développements sur les MK de la série Z8, mais le matériel qu'il présente s'applique également à d'autres types de MK.

L'interaction de tout système MK avec l'opérateur et l'objet de contrôle peut être représentée comme le montre la Fig. 1 schéma [1]. Dans le cas général, l'objet de contrôle est équipé d'actionneurs et de capteurs. L'opérateur humain agit sur le microcontrôleur à l'aide de dispositifs maîtres et reçoit des informations sur l'état de l'objet à partir des lectures des dispositifs d'affichage. Les premiers sont des interrupteurs, des boutons, des résistances variables, les seconds sont des indicateurs lumineux (y compris graphiques et alphanumériques), des dispositifs émetteurs de son et autres dispositifs de signalisation.

Nous concevons des dispositifs sur des microcontrôleurs

Toutes les unités fonctionnelles et connexions illustrées dans le schéma sont requises uniquement dans les systèmes de surveillance et de contrôle interactifs complexes. Dans les systèmes de contrôle dits en boucle ouverte, le microcontrôleur travaille « à l’aveugle », sans recevoir aucune information sur l’état de l’objet. Parfois, il ne fournit même à l'opérateur aucune information sur le travail (le sien et celui de l'objet), surtout s'il est possible d'évaluer les résultats du contrôle en observant l'objet lui-même. Dans les systèmes de contrôle fermés, le MC ajuste les actions de contrôle sur l'objet en fonction des lectures du capteur, mais les dispositifs d'affichage ne sont pas non plus nécessaires ici. Les systèmes de contrôle ne contiennent pas d'actionneurs et, à l'aide d'appareils maîtres, l'opérateur sélectionne uniquement les paramètres contrôlés ou change les modes de fonctionnement des indicateurs.

La méthodologie de conception de systèmes sur MK [2, 3] comprend la formulation et l'analyse du problème, son interprétation technique, le développement d'un schéma fonctionnel de l'algorithme et le texte du programme d'application. Dans de tels systèmes, ils ont tendance à attribuer le maximum de fonctions aux logiciels. L'efficacité de leur mise en œuvre détermine en fin de compte la quantité de mémoire requise, la vitesse et la fiabilité du système dans son ensemble. Bien entendu, nous devons encore développer le schéma conceptuel et la conception du produit lui-même, mais nous n'y reviendrons que dans la mesure nécessaire au développement du programme MK.

Un énoncé de problème est une formulation verbale des exigences du système en cours de conception. Tout d'abord, ils décrivent sa fonction, les caractéristiques de l'objet de contrôle, des capteurs, des indicateurs, des actionneurs et des dispositifs maîtres. Ensuite, vous devez parler en détail du comportement souhaité du système dans toutes les situations possibles, y compris les situations « anormales ». Vous ne devez en aucun cas vous fier aux actions de l'opérateur sans erreur. Par exemple, après avoir entendu un signal d'urgence, il peut très bien appuyer sur le bouton « START » au lieu du bouton « STOP » prescrit ou appuyer au hasard sur tous les boutons d'affilée. Bien entendu, il est impossible de prévoir toutes ces situations, mais nous devons nous y efforcer. Il est impératif de préciser les valeurs numériques des paramètres du système à concevoir.

Premièrement, la tâche est généralement formulée « au niveau de l’utilisateur ». Par exemple, la tâche initiale pour développer un système de contrôle de ventilateur peut ressembler à ceci : « Allumez et éteignez le ventilateur, réglez l'intensité du flux d'air et changez sa direction (échappement/refoulement). » L'analyse technique réduira ce problème au contrôle de la vitesse et du sens de rotation de l'entraînement du ventilateur - un moteur électrique à courant continu. Étant donné que la puissance des signaux de sortie du MC est évidemment insuffisante pour le contrôle direct du moteur, un dispositif pilote spécial devra être installé entre eux, générant des signaux de la puissance requise, et la tâche sera résolue par le MC. se limitera à la fourniture d'actions de contrôle au conducteur.

Nous ne nous attarderons pas en détail sur le choix des éléments de contrôle de puissance, des capteurs et des dispositifs pour leur interface avec le MK. Aujourd'hui, des microcircuits spécialisés sont produits à ces fins, dont l'utilisation est beaucoup plus efficace que la construction d'un système à partir de composants discrets.

Supposons qu'un pilote de moteur à courant continu intégré LMD18200 de National Semiconductor soit utilisé. Un schéma typique de sa connexion est présenté sur la Fig. 2. Il contient un pont de puissants transistors MOS dont la diagonale comprend un moteur.

Nous concevons des dispositifs sur des microcontrôleurs

Le pilote est contrôlé à l'aide de trois signaux logiques. Des impulsions rectangulaires sont fournies à l'entrée PWM (Pulse width Modulation), dont le rapport entre la durée et la période de répétition (facteur de service) détermine le régime du moteur. Le niveau logique du signal à l'entrée DIR (sens) fixe la polarité de la tension fournie au moteur, et donc le sens de sa rotation. En définissant le journal de niveau. 1 à l'entrée BR (frein), le moteur est arrêté, et si à ce moment il y a un log à l'entrée PWM. 0, le circuit d'alimentation du moteur sera simplement ouvert, sinon les fils du moteur seront également connectés entre eux, ce qui assurera un freinage d'urgence.

Le conducteur est doté de deux capteurs intégrés. L'un d'eux génère un courant circulant depuis la broche CUR (courant) et est proportionnel au courant du moteur avec un facteur de 377 μA/A. La sortie du capteur de température TF (Thermal Flag) est discrète avec un collecteur ouvert. Il passe à l'état de journal. 0. Si le cristal du pilote est chauffé au-dessus de 145 °C.

Formulons les exigences relatives au dispositif de commande du moteur du ventilateur et, essentiellement, au pilote du moteur.

Le dispositif de commande doit être équipé de boutons, en appuyant sur lesquels l'opérateur (utilisateur) peut allumer et éteindre le moteur, changer de direction, augmenter et diminuer sa vitesse. Il doit y avoir une indication du sens de rotation du moteur avec des signaux lumineux de différentes couleurs et une alarme sonore en cas d'accident (surchauffe ou surcharge).

Après application de la tension d'alimentation, l'appareil doit, sans démarrer le moteur, attendre une commande précisant le sens de rotation. Sa réception doit être confirmée par un signal lumineux. Lors de la commande « START », le moteur doit être allumé et commencer à tourner dans le sens spécifié à une fréquence moyenne (cycle de service du signal PWM = 0.5). Pour les commandes " PLUS LENT " et " PLUS RAPIDE ", le rapport cyclique doit diminuer ou augmenter en conséquence, sans dépasser 0.2... 1. La commande " STOP " doit arrêter immédiatement le moteur, après quoi il peut être redémarré en émettant le Commande "START".

Si la valeur admissible de la consommation de courant est dépassée, ce qui peut être la conséquence, par exemple, d'un blocage mécanique de l'arbre du moteur, celui-ci doit être éteint et un signal sonore intermittent d'une fréquence de 1000 Hz doit être émis. sous forme de rafales courtes (leur durée et les pauses entre elles sont de 1 s). Si le microcircuit surchauffe, il est nécessaire d'arrêter le moteur et de faire retentir un signal sonore par rafales longues (la durée des rafales et des pauses est de 2 s). L'alarme sonore doit rester allumée jusque-là. jusqu'à ce que l'opérateur émette la commande STOP, ramenant l'appareil à son état d'origine. Avant qu’une telle commande ne soit donnée, elle ne doit répondre à aucune autre.

Déjà à ce stade, il faut faire abstraction des détails qui ne sont pas essentiels au développement du programme MK. Par exemple, dans ce cas, cela n'a pas d'importance. que l'objet de contrôle (moteur) sert d'entraînement de ventilateur, le type de ventilation (évacuation ou soufflage) dépend du sens de sa rotation, et l'intensité du flux d'air dépend de la fréquence. De plus, lors du développement d'un algorithme, vous pouvez complètement oublier le moteur et son pilote, en vous concentrant sur la génération de signaux de commande PWM. DIR, BR et traitement du signal des capteurs CUR et TE.

Lors de l'analyse du problème formulé, il est conseillé d'identifier immédiatement certains problèmes qui se manifesteront inévitablement dans les étapes suivantes. Par exemple, le système doit-il répondre à une commande RUN si le sens de rotation n'est pas prédéfini ? Si oui. alors dans quel sens le moteur doit-il tourner dans un tel cas ? La vitesse et le sens de rotation spécifiés doivent-ils être maintenus après l'arrêt et le redémarrage du moteur ? Et une fois la situation d’urgence résolue ? Toutes ces questions doivent recevoir une réponse le plus tôt possible.

Sur la base de la description verbale, des listes de signaux d'entrée et de sortie du MK sont compilées. Le premier d'entre eux comprend les commandes données par l'opérateur et les signaux des capteurs : « EXTRACTION ». "POMPAGE". "COMMENCER". "PLUS RAPIDE". "RALENTISSEZ." "ARRÊT". " SURCHARGE " (CUR). " SURCHAUFFE " (TF). Le second contient des signaux de commande pour le pilote du moteur et des indicateurs : PWM - vitesse de rotation. DIR - sens de rotation, BR - éteindre le moteur. G - allumez la LED verte. Y - allumez la LED jaune. S - son.

Compte tenu de ce qui précède, nous pouvons tirer une conclusion préliminaire. ce que MK exige. ayant au moins 14 broches pour connecter des circuits externes (huit entrées et six sorties). Étant donné que le signal CUR est analogique, un comparateur sera nécessaire pour comparer les lectures du capteur avec une valeur acceptable et générer un signal logique « SURCHARGE ». Par conséquent, MK est préférable. équipé d'un comparateur intégré. La modification minimale à 18 broches de la série Z86 MK convient, par exemple. L'option la moins chère est un microcircuit. Z86E02. C'est tout pour le moment. quant au matériel de l'appareil. La distribution des signaux d'entrée et de sortie sur les broches MC n'est pas significative à ce stade.

Ensuite, il est recommandé de représenter l'algorithme spécifié verbalement sous la forme d'un graphe de machine à états finis. Un dispositif discret est considéré comme une machine à états finis s'il est possible de lister tous les états dans lesquels il peut se trouver, tous les événements (influences externes) conduisant à des changements d'état et tous les signaux de sortie générés. Ce sont précisément les appareils basés sur MK.

Un exemple de graphe d'automate est montré dans la fig. 3.

Nous concevons des dispositifs sur des microcontrôleurs

Les états sont représentés par des nœuds (sommets) du graphe. Dans ce cas, il y en a quatre : A. B. C et D. Les sommets sont reliés par des arcs équipés de flèches indiquant la direction de la transition, l'événement Xi qui provoque cette transition est indiqué au dessus de l'arc, et en dessous se trouve un ensemble des signaux de sortie Yi générés par la machine à ce moment et inchangés jusqu'à la prochaine transition. Théoriquement, exactement autant d’arcs devraient sortir de chaque sommet du graphique. combien d'influences externes différentes sont possibles sur la machine. Si un événement ne change pas l’état de l’automate, l’arc correspondant est affiché entrant dans le même sommet d’où il est sorti. Toutefois, afin de ne pas encombrer le dessin, on ne laisse en pratique que celles de ces arcs. avec lesquels les changements dans les signaux de sortie sont associés. Par exemple, à partir du graphique présenté sur la Fig. 3. Vous pouvez supprimer les arcs A-A et B-B. En langage courant, cela signifie que la machine dans les états A et B ne répond pas à l'événement X3.

Événements affectant la machine, implémentés sous la forme d'un programme MK. ne sont pas seulement « directs », provoqués par des changements dans les niveaux logiques des signaux fournis aux broches externes du MC, mais aussi « indirects ». Ces derniers incluent, par exemple, un certain résultat de la comparaison des valeurs calculées et spécifiées d'un certain paramètre ou l'achèvement d'une opération à long terme. La frontière entre les événements directs et indirects est parfois difficile à tracer. Par exemple, un événement aussi courant que le déclenchement d'une minuterie intégrée à un MK peut être considéré comme indirect s'il est enregistré. en analysant le numéro situé dans le registre correspondant, ou directement, en répondant au signal généré par le temporisateur à la fin du décompte. Les signaux de sortie peuvent également être indirects, sans modifier directement les niveaux logiques aux sorties MK. Souvent, lors de la transition entre les états d'un automate, ils n'attribuent que certaines valeurs aux variables du programme.

Revenant au problème en question, construisons un graphique de la machine de contrôle du moteur. En analysant la tâche, nous pouvons distinguer les états suivants :

  • DÉMARRER - réglé immédiatement après la mise sous tension. Les actions initiales nécessaires sont effectuées - les valeurs initiales des variables du programme et des signaux de sortie sont définies et les périphériques sont configurés. Après cela, la machine passe à l'état STOP1 (un bon exemple de transition basée sur un événement indirect - la fin de l'initialisation) ;
  • STOP 1 - la machine y entre à la fin de l'initialisation ou après avoir quitté une situation d'urgence. Sorties selon les commandes qui précisent le sens de rotation du moteur :
  • STOP2 - la machine attend la commande "START" ;
  • FONCTIONNEMENT - état principal, l'appareil génère un signal PWM. Sortie par commande « STOP » ou par signaux des capteurs d'urgence ;
  • SURCHAUFFER. SURCHARGE - états dans lesquels la machine passe de l'état de FONCTIONNEMENT suite à l'activation des capteurs correspondants. Le moteur est arrêté et l'appareil génère des signaux sonores. La sortie se fait uniquement par la commande "STOP".

Le graphique construit est représenté sur la fig. quatre.

Nous concevons des dispositifs sur des microcontrôleurs

Il est facile de voir qu'il est impossible de modifier un sens de rotation incorrect réglé accidentellement sans allumer puis arrêter le moteur. De plus, pour le démarrer, vous devez toujours donner deux commandes : direction et démarrage. En refusant la commande "START", vous pouvez éliminer la condition STOP2. et diriger les arcs des commandes « PUSH » et « EXTRACTION » directement vers l'état OPERATION. En conséquence, il y aura un bouton de moins sur le panneau de commande et une entrée MK sera libérée. et le moteur s'allumera immédiatement après avoir appuyé sur l'un des boutons qui définissent la direction. À proprement parler, toute modification d’un algorithme de contrôle donné doit recueillir l’accord du client ou du futur utilisateur de l’appareil. Mais dans la pratique amateur, le client, l'interprète et l'utilisateur sont souvent une seule personne et il suffit de « se consulter ».

Il est frappant que le graphique ne reflète pas la méthode de génération d'un signal PWM avec un rapport cyclique variable. En général, cela peut être fait par un dispositif spécial contrôlé depuis le MK. Mais nous nous efforçons de tout implémenter de manière purement programmatique, nous devrons donc diviser l'état WORK en deux. Dans le premier d'entre eux (WORK) PWM = 0, dans le second (WORK 1) - PWM = 1.

Nous allons maintenant prévoir les événements qui provoquent des transitions entre eux - le déclenchement alterné de deux minuteries, dont l'une définit la durée des impulsions PWM, et la seconde - les pauses entre elles, et chaque minuterie, lorsqu'elle est déclenchée, démarre l'autre. Étant donné que dans ce cas, les minuteries « logiques » ne fonctionnent jamais simultanément, elles peuvent être mises en œuvre à l'aide d'une minuterie « physique », en modifiant par programme son délai après chaque opération.

Les commandes « PLUS RAPIDE » et « PLUS LENTE » ajustent les temporisations des minuteries, laissant leur somme inchangée et égale à la période de répétition spécifiée des impulsions PWM. La machine peut répondre à ces commandes dans les deux états considérés. Cependant, pour simplifier l’algorithme, il est permis de limiter la réaction à un seul d’entre eux. Du fait de la courte durée de ces états, le délai d’exécution restera invisible pour l’opérateur.

Une autre précision nécessaire concerne la vérification de l'admissibilité des valeurs de temporisation. Selon la tâche, le rapport cyclique du signal PWM. égal à T1/(T1+T0). où T1 et T0 sont les temporisations des temporisateurs, doivent toujours rester dans l'intervalle 0,2... 1. Par conséquent, après chaque commande de changement de vitesse, la machine doit passer à l'état CHECK et seulement de là revenir à l'OPERATION état le long de l’un des deux arcs. Le premier correspond à un résultat de test positif ; en cliquant dessus, de nouvelles valeurs de vitesse d'obturation sont définies. La seconde - le résultat est négatif, les extraits précédemment valables restent inchangés.

En continuant à analyser le graphique, nous constatons que les états SURCHAUFFE et SURCHARGE ne diffèrent que par la période de répétition du signal sonore. C’est une bonne idée de les combiner en un seul, en l’appelant ACCIDENT. Le signal audio S peut être généré à l'aide de deux minuteries, similaires au signal PWM discuté ci-dessus. De plus, il est conseillé d'utiliser le même timer « physique », qui reste inactif dans cet état.

Pour rendre le son intermittent, vous pouvez utiliser une autre minuterie, mais il est plus facile de s'en passer en comptant les périodes du signal généré à l'aide d'un compteur implémenté dans le logiciel, en allumant et éteignant le signal de sortie après un certain nombre d'entre elles. Tout cela nécessitera la fourniture d'états supplémentaires de la machine et de transitions entre eux.

Le graphique développé du contrôle automatique du moteur est illustré à la fig. 5.

Nous concevons des dispositifs sur des microcontrôleurs

Notez que les déclarations verbales des actions effectuées sont remplacées par l'attribution de valeurs spécifiques aux variables. Par exemple, au lieu de la phrase « allumer la LED jaune », Y = 1 est indiqué et il est spécifié que la LED verte doit être éteinte, G = 0. En plus des signaux de sortie et des temporisations mentionnés précédemment, le la constante T est la période de répétition des impulsions PWM et la variable N est le nombre d'impulsions S restantes jusqu'à la fin de l'intervalle du signal audio généré.

L'étape suivante consiste à convertir le graphique en un schéma fonctionnel de l'algorithme de fonctionnement MK. Tout d’abord, tous les sommets du graphe (états de la machine) doivent être numérotés. L'ordre de numérotation est très important dans la mise en œuvre matérielle de la machine. En le choisissant correctement, vous pouvez simplifier considérablement l'appareil. Pour l’implémentation logicielle, cela n’est pas si important et, dans la plupart des cas, la numérotation peut être arbitraire. Le programme doit fournir ce qu'on appelle une « variable d'état » à laquelle, pendant le fonctionnement, se voient attribuer des valeurs égales aux numéros des états actuels. Dans les programmes complexes, il peut y avoir plusieurs de ces variables. De nombreux langages de programmation vous permettent de donner des noms symboliques à des valeurs numériques. Ceci peut être largement utilisé, car une ligne de programme dans laquelle une variable reçoit la valeur RABOTA est beaucoup plus claire qu'une ligne affectant, par exemple, la valeur 6.

En figue. 6, un schéma fonctionnel typique de l'algorithme de contrôle est présenté sous sa forme la plus générale. Après initialisation, le programme s'exécute de manière cyclique. Après avoir analysé la variable d'état, il exécute la procédure appropriée à chaque cycle. Un changement dans l'état de la machine se traduit par l'attribution d'une nouvelle valeur à la variable d'état, à la suite de quoi une procédure différente sera effectuée au cours du cycle suivant.

Nous concevons des dispositifs sur des microcontrôleurs

Les procédures qui implémentent chaque état de la machine sont construites selon des schémas fonctionnels similaires à ceux présentés sur la Fig. 7. Tout d'abord, les influences externes (événements) sont analysées. Ensuite, le processus est divisé en autant de branches qu'il y a d'arcs partant du sommet correspondant du graphe de l'automate, chacune d'elles prévoit l'exécution des fonctions nécessaires à la mise en œuvre de cette transition, et enfin, une valeur égale au numéro du sommet vers laquelle l'arc est dirigé est affecté à la variable d'état. Une autre approche est également possible : ils mettent d'abord en œuvre les arcs entrant dans le sommet, puis réagissent aux influences. Son principal inconvénient est que le programme doit « savoir » à partir de quel état la machine est passée à celui-ci, ce qui n'était pas nécessaire dans le cas précédent.

Nous concevons des dispositifs sur des microcontrôleurs

Veuillez noter que sur la fig. La figure 7 montre deux options possibles pour quitter la procédure d'état. Dans le premier, les événements sont analysés cycliquement jusqu'à ce que l'un d'entre eux soit détecté, provoquant une sortie de cet état. Dans le second cas, s'il n'y a aucune de ces influences. la procédure est terminée comme indiqué par la ligne pointillée.

S'il y a peu d'influences externes et que la réaction à celles-ci dans chaque état est spécifique, les procédures de détection d'événements sont incluses dans les blocs de traitement des états. Par exemple, vous pouvez vérifier si le bouton "START" est enfoncé uniquement dans l'état dans lequel la machine doit y réagir. Souvent, la procédure de filtrage des événements est placée dans la boucle principale (sur la figure 6, elle est représentée par une ligne pointillée) et une variable est fournie, à laquelle est attribuée une valeur associée de manière unique à l'événement qui s'est produit. Par exemple, le résultat d'une interrogation du clavier est le code de la touche enfoncée. Dans le bloc de traitement d'état, exécuté selon la deuxième des options évoquées ci-dessus, la valeur de cette variable est uniquement analysée.

Contrairement au modèle théorique, les événements réels se produisent souvent simultanément. Dans une telle situation, la machine doit réagir en premier à l’événement ayant la plus haute priorité. Le moyen le plus simple de définir des priorités consiste à choisir la séquence correcte d’analyse des événements. Par exemple, selon le schéma fonctionnel présenté sur la Fig. 7, l'événement X1 a la priorité la plus élevée. le plus bas est pour HZ. Si les événements de haute priorité se produisent beaucoup plus souvent que les événements de faible priorité, la file d'attente risque de ne jamais atteindre les derniers. Pour éviter cela, les événements rares doivent bénéficier de la plus haute priorité. Parfois, la répartition de ces derniers doit être modifiée pendant l'exécution du programme, par exemple en plaçant chaque événement nouvellement traité en fin de file d'attente.

Le comportement imprévisible du système sur le MK s'explique souvent par des interférences ou des rebonds des contacts de commande. De tels faux événements doivent être « éliminés » à l’aide de filtres logiciels. Le plus souvent, pour reconnaître qu'un événement s'est produit, il suffit de s'assurer que le niveau du signal logique à l'entrée correspondante du MK est resté inchangé pendant un certain temps. Dans les cas critiques, des procédures plus complexes sont utilisées.

Parmi les nombreux événements, on peut souvent distinguer les événements « d’urgence », auxquels la réponse doit être immédiate. Un exemple typique. Afin de ne pas rater le moment où le timer se déclenche, le programme doit vérifier en permanence l'état de son registre, sans pouvoir faire autre chose jusqu'à l'expiration du timer. Un signal de demande d'interruption généré par le temporisateur à la fin du décompte résout le problème. L'ayant accepté. Le MK procède immédiatement (en tout cas beaucoup plus rapidement que lors du traitement normal du même événement par un programme) à l'exécution du sous-programme destiné à gérer cette interruption, dont l'adresse (vecteur) doit être spécifiée dans des cellules de mémoire de programme spécialement désignées.

Le dispositif d'interruptions vectorielles prioritaires du programme en cours d'exécution est prévu dans la grande majorité des microcontrôleurs. Les interruptions peuvent être externes ou internes. Dans ce dernier cas, l'entrée de requête d'interruption ne possède pas de sortie externe, mais est connectée à une source de requête située directement sur la puce MK. En règle générale, les interruptions internes sont fournies non seulement par la minuterie, mais également par d'autres appareils intégrés à ce MK : contrôleurs de port série, comparateurs de signaux analogiques, convertisseurs analogique-numérique.

Souvent, l'une des interruptions internes des MK modernes est associée au soi-disant chien de garde, qui sert à se protéger contre les pannes aléatoires. Cette minuterie nécessite une constante

initialisation en écrivant un code spécifique dans un emplacement spécifique de l'espace d'adressage. Le programme MK est construit de telle manière qu'au cours de son déroulement normal, une telle procédure est effectuée assez souvent. Si le MK est gelé, l'initialisation du temporisateur de surveillance s'arrête et après un certain temps, il soumet sa demande d'interruption dont le traitement est destiné à rétablir le fonctionnement normal du système. En règle générale, la réponse à une interruption de surveillance est la même. comme signal externe qui remet le MK à son état initial.

Les interruptions sont contrôlées en les activant ou en les désactivant en fonction de l'état de la machine mise en œuvre. Si la même interruption dans différents états doit être traitée différemment, la procédure de traitement est construite de manière similaire à la boucle du programme principal, permettant une analyse d'état. La différence est la suivante. qu'une telle procédure n'est pas fermée en boucle. Une fois terminé, le MK continuera à exécuter le programme à partir de l'endroit où il a été interrompu. Ceci est semé d'échecs, car dans un état qui a changé à la suite du traitement des interruptions, la poursuite des actions interrompues peut donner un résultat incorrect. Ils sont protégés contre de telles erreurs en interdisant les interruptions lors de l'exécution des sections critiques du flux du programme, qui. ralentit sans aucun doute la réponse du système.

S'il y a plus de sources de demandes d'interruption dans le système que les entrées MK fournies pour elles, une demande de groupe est implémentée dans le matériel, combinant les sorties de plusieurs sources à l'aide d'un circuit OU. Ayant accepté une telle demande. MK est obligé de découvrir qui l'a envoyé et de le traiter en conséquence.

L'ensemble de l'algorithme de fonctionnement du dispositif est parfois implémenté par un ensemble de routines de gestion des interruptions. Dans ce cas, la boucle principale dégénère en plusieurs instructions machine, jusqu'à une seule commande pour sauter inconditionnellement vers elle-même. De nombreux MK fournissent spécifiquement des commandes HALT ou IDLE, qu'ils utilisent. Essentiellement, ils cessent de fonctionner (parfois même le générateur d'horloge s'éteint). Seule une demande d'interruption entrante peut faire sortir le MC de cet état. Ayant fini de traiter la demande. Le microcontrôleur effectue la transition inconditionnelle vers la commande d'arrêt fournie dans la boucle principale et « s'endort » à nouveau. Ce mode est très économique, car la puissance consommée par un MK arrêté est réduite plusieurs fois, n'augmentant que lors d'une réaction à des influences extérieures.

Le schéma fonctionnel de l'algorithme de contrôle du moteur du ventilateur, développé en tenant compte de ce qui précède, se compose de deux parties, illustrées à la Fig. 8 (cycle principal) et Fig. 9 (traitement des interruptions de minuterie). Les deux correspondent fondamentalement aux schémas fonctionnels typiques discutés ci-dessus, à l'exception du fait que les mêmes opérations effectuées lors du traitement de différents événements sont combinées. Le gestionnaire d'interruption de minuterie génère des signaux PWM et S. Lors du passage de l'état STOP à l'état RUN, l'interruption est activée et lors du retour à l'état STOP, elle est désactivée.

Nous concevons des dispositifs sur des microcontrôleurs

Le programme dispose désormais d'une variable d'état ST, à laquelle, pour plus de clarté, se voient attribuer des valeurs de chaîne - les noms des états correspondants. Comme mentionné ci-dessus, dans le programme, ce seront des nombres - des numéros d'état ou leurs noms symboliques. Les valeurs attribuées à la variable N0 sont sélectionnées en partant de l'hypothèse que les périodes de répétition des impulsions générées PWR et S sont les mêmes et égales à 1 ms. Si ce n'est pas le cas. Le schéma fonctionnel devra être un peu modifié.

Nous concevons des dispositifs sur des microcontrôleurs

Vous pouvez maintenant passer à la sélection d'un MK, à la distribution des signaux d'entrée et de sortie sur ses broches et à l'élaboration d'un schéma de circuit complet de l'appareil. Après avoir déterminé à quels circuits externes les bits d'un port d'entrée/sortie particulier du MK seront connectés et les niveaux logiques des signaux dans ces circuits, le programmeur peut commencer à développer le programme.

littérature

  1. Franke K. Introduction aux micro-ordinateurs : Per. avec lui. - M. : Energoatomiedat. 1998.
  2. Kagan B. M., Stashin V. V. Fondamentaux de la conception de dispositifs d'automatisation basés sur un microprocesseur. - M. : Energoatomiedat. 1987.
  3. Stashin V.V., Urusov A.V., Mologoitseva O.F. Conception d'appareils numériques sur microcontrôleurs monopuce. - M. : Energoatomiedat. 1990.

Auteur : M. Gladshtein, Rybinsk

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

Impression de circuits électroniques souples sur matériaux et tissus élastiques 18.04.2015

Des chercheurs de l'Université Purdue aux États-Unis ont mis au point une méthode d'impression de conducteurs électriques flexibles et extensibles sur pratiquement toutes les surfaces, y compris les matériaux élastiques et les tissus. Le procédé permet de maîtriser facilement la production à l'échelle industrielle.

Pour appliquer des circuits conducteurs à un matériau élastique, un groupe de scientifiques dirigé par John William Boley, Ph.D., a utilisé une imprimante à jet d'encre conventionnelle, mais au lieu d'encre, ils ont placé une suspension de particules métalliques dans la cartouche.

La suspension a été préparée par la destruction du « métal liquide » (métal liquide). Les microparticules du matériau obtenu à la suite de la destruction ont été placées dans de l'éthanol et le mélange résultant a été fouetté en suspension sous l'action d'ultrasons.

"Le métal liquide lui-même ne peut pas être imprimé. Nous l'avons donc transformé en une bouillie qui passe facilement à travers les buses de la tête d'impression », a déclaré Rebecca Kramer, l'une des participantes à l'étude. "Et maintenant, nous pouvons appliquer des circuits flexibles à presque tout. peu importe."

Après application de la suspension sur le matériau, l'éthanol s'évapore et il ne reste que des particules de "métal liquide".

Cependant, le circuit imprimé résultant ne conduit pas le courant. Pour qu'il devienne conducteur, il faut "l'activer", faire pression dessus pour que les particules du "métal liquide" se collent les unes aux autres. Cela ouvre certaines possibilités au fabricant : il peut créer un modèle de circuit et donner au circuit différentes fonctionnalités dans différents produits, en activant seulement certaines de ses sections, tout en laissant le reste non conducteur.

Les chercheurs pensent que la nouvelle méthode facilitera l'impression de circuits électroniques sur des vêtements et la création de nouveaux types d'appareils portables, et trouvera également une application en robotique - pour créer des machines humanoïdes. "Les conducteurs fabriqués à partir de" métal liquide "peuvent s'étirer et se déformer sans se casser", a déclaré Kramer.

Les chercheurs n'ont pas expliqué comment ils proposent d'appliquer les composants électroniques aux matériaux élastiques.

À l'avenir, l'équipe de recherche prévoit d'étudier si et comment la conductance des circuits flexibles en métal liquide est affectée par le matériau de substrat auquel ils sont appliqués. Et aussi inventer une technologie pour activer automatiquement le circuit après son impression.

Ajoutons que l'électronique flexible intéresse depuis longtemps les ingénieurs. En 2009, des scientifiques américains et allemands ont développé un nouveau type d'encre semi-conductrice pouvant être appliquée sur un produit à l'aide d'une imprimante à jet d'encre spéciale.

Autres nouvelles intéressantes :

▪ Les fourmis peuvent prédire les tremblements de terre

▪ Les images sont projetées sur de l'air pur

▪ NXP améliorera la sécurité des passeports électroniques

▪ Spécifications du format Blu-ray terminées

▪ Mémoire 3D dense peu coûteuse

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

 

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

▪ section du site Sécurité électrique, sécurité incendie. Sélection d'articles

▪ article Traitement de la pierre. Histoire de l'invention et de la production

▪ article Quelle ville s'appelle la Venise de l'Orient ? Réponse détaillée

▪ article Traqueur de voies ferrées, d'ouvrages artificiels et monteur de voie désigné pour inspection. Instruction standard sur la protection du travail

▪ article Indication de connexion d'appareils électriques à un réseau 220 volts. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Amplificateur large bande basé sur le transistor KT3115A. 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