Introduction à l'architecture de microcontrôleur LPC2148 basée sur ARM7

Essayez Notre Instrument Pour Éliminer Les Problèmes





L'ARM (Advanced RISC Machine) a lancé plusieurs processeurs qui ont différentes fonctionnalités ainsi que les différents cœurs pour une grande variété d'applications. La première conception d'architecture ARM a des processeurs 26 bits, mais elle atteint maintenant les processeurs 64 bits. L'expansion générale des produits ARM ne peut pas être classée dans certaines informations particulières. Mais les produits ARM peuvent être compris en fonction de leur architecture. Les processeurs de la série ARM standard disponibles sur le marché commencent de ARM7 à ARM11. Ces processeurs ont plusieurs fonctionnalités telles que le cache, la mémoire à couplage étroit des données, MPU, MMU, etc. Certaines des séries de processeurs ARM les plus connues sont ARM926EJ-S, ARM7TDMI et ARM11 MPCore. Cet article est particulièrement destiné à la présentation de l'architecture de microcontrôleur LPC2148 basée sur ARM7 qui vous donnera de brèves informations sur le microcontrôleur architecture.

Architecture de microcontrôleur LPC2148 basée sur ARM7

L'ARM7 est un 32 bits polyvalent microprocesseur , et il offre certaines des fonctionnalités telles qu'une faible consommation d'énergie et des performances élevées. L'architecture d'un ARM dépend de la principes du RISC . Le mécanisme de décodage associé, ainsi que l'ensemble d'instructions RISC- sont beaucoup plus faciles quand on compare avec CISC microprogrammé -Ordinateurs à jeu d'instructions complexes.




La méthode Pipeline est utilisée pour traiter tous les blocs de l'architecture. En général, un seul jeu d'instructions est exécuté, puis son descendant est traduit, & un 3rd-l'instruction est obtenue à partir de la mémoire.

Une exclusivité plan architectural de ARM7 s'appelle Thumb, et convient parfaitement aux applications à volume élevé où la compacité du code est une question. L'ARM7 utilise également une architecture exclusive à savoir Thumb. Cela le rend parfaitement adapté à différentes applications par des limitations de mémoire où la densité du code est une question.



Architecture du microcontrôleur ARM7 (LPC2148)

Architecture du microcontrôleur ARM7 (LPC2148)

Sources d'interruption

Chaque périphérique se compose d'une seule ligne d'interruption alliée au VIC (contrôleur d'interruption de vecteur), bien qu'il puisse avoir divers indicateurs d'interruption à l'intérieur. Les indicateurs d'interruption individuels peuvent également signifier une ou plusieurs ressources d'interruption.


Mémoire de programme Flash sur puce

Le microcontrôleur LPC2141 / 42/44/46/48 comprend une mémoire flash comme respectivement 32 kilo-octets, kilo-octets, 128 kilo-octets, 256 kilo-octets. Cette mémoire flash peut être utilisée à la fois pour le stockage de données et pour le code. La programmation de la mémoire flash peut être effectuée dans le système via le port série.

L'application de programme peut également s'effacer pendant que l'application du programme est en cours d'exécution, ce qui permet une flexibilité des améliorations du micrologiciel du champ de stockage de données, etc. En raison du choix d'une solution architecturale pour un chargeur de démarrage sur puce, la mémoire disponible pour les microcontrôleurs LPC2141 / 42 / 44/46/48 correspond à 32 kilo-octets, kilo-octets, 128 kilo-octets, 256 kilo-octets et 500 kilo-octets. La mémoire flash de ces microcontrôleurs offre 1 00 000 effacements par cycles et la conservation des données pendant de nombreuses années.

Bloc de connexion par broches

Ce bloc permet aux broches choisies du microcontrôleur LPC2148 basé sur ARM7 d'avoir plusieurs fonctions. Les multiplexeurs peuvent être contrôlés par les registres de configuration pour permettre la liaison entre la broche ainsi que les périphériques sur puce.

Les périphériques doivent être couplés aux broches appropriées avant d'être déclenchés et avant que toute interruption connectée ne soit autorisée. La fonctionnalité du microcontrôleur peut être définie par le module de commande de broches par sa sélection de broches de registres dans un environnement matériel donné.

Après avoir réorganisé toutes les broches des ports (port 0 et port 1) sont arrangées comme i / p par les exceptions données. Si le débogage est autorisé

Si le débogage est autorisé, les broches du JTAG devineront la fonctionnalité de JTAG. Si une trace est autorisée, les broches de trace devineront la fonctionnalité de trace. Les broches connectées aux broches I2C0 et I2C1 sont à drain ouvert.

GPIO - Entrée / sortie parallèle à usage général

Les registres GPIO contrôlent les broches du périphérique qui ne sont pas liées à une fonction périphérique particulière. Les broches de l'appareil peuvent être agencées comme i / p [s ou o / ps. Les registres individuels permettent de compenser n'importe quel nombre d'opérations simultanément. La valeur du registre de sortie peut être relue, et l'état actuel des broches du port. Ces microcontrôleurs commencent une fonction accélérée sur les appareils LPC200.

Les registres d'entrée / sortie à usage général sont déplacés vers le bus processeur utilisé pour le meilleur temps d'E / S probable.

  • Ces registres sont des octets adressables.
  • La valeur totale d'un port peut être
  • La valeur complète du port peut être écrite dans la seule instruction

ADC 10 bits (convertisseur analogique-numérique)

Les microcontrôleurs comme LPC2141 ou 42 comprennent deux Convertisseurs ADC , et ce ne sont que 10 bits en ont un et les LPC2144 / 46/48 ont deux ADC, et ce ne sont que des ADC à approximation directe de 10 bits. Bien que ADC0 comprend 6 canaux et ADC1 a 8 canaux. Ainsi, le nombre d'entrées / sorties ADC accessibles pour LPC2141 ou 42 est 6 & 14 pour LPC2141 ou 42.

DAC 10 bits (convertisseur numérique-analogique)

Le DAC permet à ces microcontrôleurs de produire un o / p analogique modifiable, et VREFest le meilleur résultat d'un numérique vers analogique Tension.

Contrôleur de périphérique-USB 2.0

Le bus série universel se compose de 4 fils, ce qui permet la communication entre un certain nombre de périphériques et d'hôtes. Ce contrôleur autorise la bande passante de l'USB pour connecter des périphériques à l'aide d'un protocole basé sur le jeton.

Le bus prend en charge le débranchement du branchement à chaud et la collecte dynamique des périphériques. Chaque communication est démarrée via le contrôleur hôte. Ces microcontrôleurs sont conçus avec un contrôleur d'appareil de bus série universel qui permet de remplacer les données 12 Mbit / s par un contrôleur hôte USB.

UART

Ces microcontrôleurs comprennent deux UART pour les lignes de données standard de transmission et de réception. Contrairement aux microcontrôleurs précédents (LPC2000), les UART dans les microcontrôleurs LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 lancent un générateur de débit en bauds partiel utilisé pour les deux UART, permettant à ces types de microcontrôleurs d'atteindre des débits en bauds typiques comme 115200 pour chaque fréquence de cristal sur 2 MHz . De plus, les fonctions de contrôle telles que CTS / RTS sont entièrement exécutées dans le matériel.

Contrôleur d'E / S série du bus I2C

Chaque microcontrôleur de LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 comprend deux I2C contrôleurs de bus, et ceci est bidirectionnel. Le contrôle inter-IC peut être effectué à l'aide de deux fils à savoir un SCL et un SDA. Ici, le SDA et SCL sont la ligne d'horloge série et la ligne de données série

Chaque appareil est identifié par une adresse individuelle. Ici, les émetteurs et les récepteurs peuvent fonctionner dans deux modes comme le mode maître / mode esclave. Il s'agit d'un bus multi-maître, et il peut être géré par un ou plusieurs maîtres de bus qui lui sont liés. Ces microcontrôleurs prennent en charge des débits allant jusqu'à 400 kbit / s.

Contrôleur d'entrée / sortie série SPI

Ces microcontrôleurs comprennent un seul contrôleur SPI et sont destinés à gérer de nombreux maîtres et esclaves associés à un bus spécifié.

Simplement un maître et un esclave peuvent converser sur l'interface tout au long de la transmission de données spécifiée. Pendant ce temps, le maître transmet constamment un octet de données vers l'esclave, et l'esclave transmet constamment des données vers le maître.

Contrôleur d'entrée / sortie série SSP

Ces microcontrôleurs contiennent un seul SSP, et ce contrôleur est capable de traiter sur un SPI, un bus Microwire ou un SSI 4 fils. Il peut communiquer avec le bus de plusieurs maîtres ainsi que des esclaves

Mais, simplement un maître particulier, ainsi qu'un esclave, peuvent converser sur le bus tout au long d'une transmission de données spécifiée. Ce microcontrôleur prend en charge les transferts en duplex intégral, par trames de données de 4 à 16 bits utilisées pour le flux de données depuis le maître - l'esclave ainsi que depuis l'esclave - le maître.

Minuteries / compteurs

Minuteries et compteurs sont conçus pour compter les cycles PCLK (horloge périphérique) et produisent éventuellement des interruptions basées sur des registres à 4 correspondances.

Et il comprend quatre i / ps de capture pour saisir la valeur d'une minuterie lorsqu'un signal i / p change. Plusieurs broches pourraient être choisies pour exécuter une capture particulière. Ces microcontrôleurs peuvent calculer des événements extérieurs sur les entrées de capture si la moindre impulsion extérieure est équivalente. Dans cet agencement, les lignes de capture inactives peuvent être choisies comme i / ps de capture par minuterie habituelle.

Minuterie de chien de garde

La minuterie de surveillance est utilisée pour réinitialiser le microcontrôleur dans un délai raisonnable. Lorsqu'elle est autorisée, la minuterie produira une réinitialisation d'un système si le programme consommateur ne réussit pas à recharger la minuterie dans une somme de temps fixe.

Horloge en temps réel RTC

Le RTC est destiné à fournir des compteurs pour calculer l'heure à laquelle le mode de fonctionnement inactif ou normal est choisi. Le RTC utilise une petite quantité d'énergie et est conçu pour des arrangements appropriés alimentés par batterie où l'unité centrale ne fonctionne pas en permanence

Contrôle de puissance

Ces microcontrôleurs prennent en charge deux modes d'alimentation condensés tels que le mode de mise hors tension et le mode de veille. En mode veille, l'exécution des instructions est équilibrée jusqu'à ce qu'une interruption ou un RST se produise. Les fonctions du périphérique maintiennent le fonctionnement tout au long du mode inactif et peuvent produire des interruptions pour provoquer le redémarrage du CPU. Le mode veille supprime la puissance utilisée par le processeur, les contrôleurs, les systèmes de mémoire et les bus internes.

En mode hors tension, l'oscillateur est désactivé et le circuit intégré ne reçoit aucune horloge interne. Les registres périphériques, l'état du processeur avec les registres, les valeurs SRAM internes sont conservés pendant le mode de mise hors tension et les broches de sortie des niveaux logiques de la puce restent fixes.

Ce mode peut être terminé et le processus commun redémarré par des interruptions spécifiques capables de fonctionner sans horloge. Le fonctionnement de la puce étant équilibré, le mode de mise hors tension réduit l'utilisation de la puissance de la puce à presque zéro.

Modulateur de largeur d'impulsion PWM

Les PWM sont basés sur le bloc de minuterie normal et entrent également dans toutes les fonctionnalités, bien que simplement la fonction de modulateur de largeur d'impulsion soit fixée sur les microcontrôleurs comme LPC2141 / 42/44/46/48.

Le temporisateur est destiné à calculer les cycles PCLK (horloge périphérique) et à produire éventuellement des interruptions lorsque des valeurs de temporisateur particulières surviennent sur la base de registres à 7 correspondances, et la fonction PWM dépend également des événements de registre de correspondance.

La capacité de contrôler individuellement les positions limites croissantes et décroissantes permet à la modulation de largeur d'impulsion d'être utilisée pour plusieurs applications. Par exemple, la commande de moteur typique avec multiphasé utilise 3 sorties sans chevauchement de PWM par un contrôle séparé de chaque largeur d'impulsion ainsi que des positions.

Bus VPB

Le diviseur VPB résout l'association entre le CCLK (horloge du processeur) et le PCLK (horloge utilisée par les périphériques). Ce diviseur est utilisé à deux fins. La première utilisation consiste à alimenter les périphériques par le PCLK préféré en utilisant le bus VPB afin qu'ils puissent fonctionner à la vitesse sélectionnée du processeur ARM. Pour ce faire, cette vitesse de bus peut être réduite la fréquence d'horloge du processeur de 1⁄ 2 -1⁄ 4.

Parce que ce bus doit fonctionner avec précision à la mise sous tension, et que l'état par défaut à RST (réinitialisation) est que le bus fonctionne à 1⁄4 de la fréquence d'horloge du processeur. La deuxième utilisation est de permettre des économies d’énergie chaque fois qu’une application n’a pas besoin de périphériques pour fonctionner à la vitesse du processeur complète. Etant donné que le diviseur VPB est associé à la sortie de PLL, celui-ci reste actif tout au long d'un mode inactif.

Émulation et débogage

Le microcontrôleur (LPC2141 / 42/44/46/48) détient l'émulation et le débogage via le port série-JTAG.Un permis de trace-port traçant l'exécution du programme. Les fonctions de trace et les concepts de débogage sont multiplexés avec le port1 et les GPIO.

Sécurité du code

La fonction de sécurité de code de ces microcontrôleurs LPC2141 / 42/44/46/48 permet à une fonction de contrôler s'il peut être protégé ou débogué de l'inspection.

Il s'agit donc de l'architecture de microcontrôleur LPC2148 basée sur ARM7. De l'article ci-dessus, enfin, nous pouvons conclure que ARM est une architecture utilisée dans de nombreux processeurs ainsi que dans des microcontrôleurs. Voici une question pour vous, quelle est l'architecture d'un processeur ARM?