Configuration des broches du microcontrôleur basé sur ARM7 (LPC2148)

Essayez Notre Instrument Pour Éliminer Les Problèmes





Les concepteurs de systèmes embarqués et de SOC (système sur puce) choisissent en particulier cœurs de microprocesseur , bibliothèques et différents outils pour développer des applications basées sur des microprocesseurs. Un processeur ARM est l'une des meilleures alternatives disponibles pour les concepteurs de systèmes embarqués. Au cours des dernières années, l'architecture ARM est devenue très populaire et celles-ci sont disponibles auprès de différents fabricants de circuits intégrés. Les applications des processeurs ARM concernent les téléphones mobiles, les systèmes de freinage automobile, etc. Une communauté mondiale ARM partenaires a développé des semi-conducteurs ainsi que des sociétés de conception de produits comprenant des employés comme des ingénieurs, des concepteurs et des développeurs. Cet article concerne le microcontrôleur LPC2148 basé sur ARM7, l'architecture et la configuration des broches. Cet article vous aidera à comprendre les bases du microcontrôleur.

Microcontrôleur LPC2148 basé sur ARM7

La forme complète d'un ARM est un ordinateur avancé à jeu d'instructions réduit (RISC) machine , et c'est une architecture de processeur 32 bits étendue par les fonds ARM. Les applications d'un processeur ARM comprennent plusieurs microcontrôleurs ainsi que des processeurs. L'architecture d'un processeur ARM a été autorisée par de nombreuses entreprises pour la conception de produits SoC et de processeurs ARM. Cela permet aux entreprises de fabriquer leurs produits en utilisant l'architecture ARM. De même, toutes les principales sociétés de semi-conducteurs créeront des SOC basés sur ARM tels que Samsung, Atmel, TI, etc.




Qu'est-ce qu'un processeur ARM7?

Le processeur ARM7 est couramment utilisé dans les applications système embarquées. En outre, il s'agit d'un équilibre entre la séquence classique et la nouvelle séquence Cortex. Ce processeur est formidable pour trouver les ressources existantes sur Internet avec une documentation d'excellence offerte par NXP Semiconductors. Il convient parfaitement à un apprenti d'obtenir en détail la mise en œuvre de la conception matérielle et logicielle.

Microcontrôleur LPC2148

Le microcontrôleur LPC2148 est conçu par Philips (NXP Semiconductor) avec plusieurs fonctionnalités et périphériques intégrés. Pour ces raisons, cela rendra plus fiable ainsi que l'option efficace pour un développeur d'applications. LPC2148 est un microcontrôleur 16 bits ou 32 bits basé sur la famille ARM7.



Caractéristiques du LPC2148

Les principales caractéristiques du LPC2148 sont les suivantes.

  • Le LPC2148 est un microcontrôleur basé sur la famille ARM7 16 bits ou 32 bits et disponible dans un petit boîtier LQFP64.
  • ISP (en programmation système) ou IAP (en programmation d'application) utilisant un logiciel de démarrage sur puce.
  • La RAM statique sur puce est de 8 ko à 40 ko, la mémoire flash intégrée de 32 ko à 512 ko, l'interface large est de 128 bits ou l'accélérateur permet un fonctionnement à haute vitesse de 60 MHz.
  • Il faut 400 millisecondes pour effacer les données dans la puce complète et 1 milliseconde pour 256 octets de programmation.
  • Les interfaces Embedded Trace et Embedded ICE RT offrent un débogage en temps réel avec un traçage à grande vitesse de l'exécution des instructions et un logiciel Real Monitor intégré.
  • Il dispose de 2 Ko de RAM de point final et d'un contrôleur de périphérique USB 2.0 pleine vitesse. De plus, ce microcontrôleur offre 8 Ko de RAM sur puce à proximité de l'USB avec DMA.
  • Un ou deux ADC 10 bits offrent 6 ou 14 analogiques i / ps avec un temps de conversion faible de 2,44 μs / canal.
  • Seul le DAC 10 bits offre une sortie / sortie analogique modifiable.
  • Compteur d'événements externes / minuteries 32 bits-2, unité PWM et chien de garde.
  • RTC basse consommation (horloge temps réel) et entrée d'horloge 32 kHz.
  • Plusieurs interfaces série comme deux UART 16C550, deux bus I2C avec une vitesse de 400 kbit / s.
  • Broches d'entrée / sortie à usage général rapides tolérantes à 5 volts dans un petit boîtier LQFP64.
  • Broche d'interruption extérieure-21.
  • 60 MHz de la plus grande horloge CLK du processeur pouvant être obtenue à partir de la boucle à verrouillage de phase programmable sur puce en résolvant le temps est de 100 μs.
  • L'oscillateur incorporé sur la puce fonctionnera par un cristal extérieur qui va de 1 MHz à 25 MHz
  • Les modes d'économie d'énergie comprennent principalement le ralenti et la mise hors tension.
  • Pour une optimisation de la puissance supplémentaire, il existe une activation ou une désactivation individuelle des fonctions périphériques et une mise à l'échelle CLK périphérique.

Mémoire


Le microcontrôleur LPC2148 dispose d'une mémoire FLASH intégrée de 512 Ko ainsi que d'une SRAM intégrée de 32 Ko. En outre, ce microcontrôleur comprend une prise en charge inhérente jusqu'à 2 Ko de RAM USB au point d'arrivée. Cette mémoire est bien adaptée à tous les applications de microcontrôleur.

Système de mémoire FLASH sur puce

Ce microcontrôleur comprend un système de mémoire Flash de 512 ko et cette mémoire peut être utile à la fois pour le stockage de données et pour le code. La programmation de cette mémoire peut être effectuée de la manière suivante.

  • En incorporant l'interface JTAG en série
  • Utilisation de UART ou ISP (dans la programmation système)
  • Capacités d'IAP (dans la programmation d'application)

Le programme d'application basé sur la fonction IAP peut également être supprimé pendant l'exécution du programme. Chaque fois que le chargeur de démarrage sur puce du microcontrôleur LPC2148 est utilisé, 500 Ko de mémoire Flash peuvent être obtenus pour le code consommateur. La mémoire Flash de ce microcontrôleur offre la plus petite quantité de 100 000 cycles d'écriture / effacement ainsi que 20 ans de conservation des données.

SRAM sur puce

Ce microcontrôleur offre une RAM statique de 32 ko et très utile pour le stockage de données ou de code. Il est accessible pour 8 bits, 16 bits et 32 ​​bits.

Ports d'entrée / sortie

Le microcontrôleur LPC2148 a deux ports d'entrée / sortie et ceux-ci sont appelés P0 et P1. Toutes les broches de port sont marquées avec PX.Y. Ici, «X» désigne un numéro de port comme 0 ou 1, tandis que «Y» désigne le numéro de broche 0-31. Toutes les broches peuvent également exécuter des tâches alternatives. Par exemple, P0.8 fournit comme broche GPIO et Tx de l'UART1, AD1.1, PWM4. Sur RST (RESET), chaque broche est arrangée comme GPIO.

Comment débuter la programmation?

La première étape vers la programmation lpc2148 est un arrangement de broches GPIO. Voici donc les concepts associés comme registres . Les broches de port d'E / S à usage général dans LPC2148 incluent P0.0 à P0.31 et P1.16 à P1.31, et en fait, ces broches sont disponibles en fonction de l'utilisation de la fonction alternative.

Le port 0 et le port 1 sont des ports d'entrée / sortie 32 bits, et chaque bit de ces ports peut être contrôlé par une direction individuelle. Les opérations du port-0 et du port-1 dépendent de la fonction d'une broche sélectionnée à l'aide du bloc connecté à la broche. Dans le port 0, les broches telles que P0.24, P0.26 et P0.27 ne peuvent pas être obtenues alors que, dans le port-1, les broches 0 à 15 ne peuvent pas être obtenues. Ici, les deux broches comme Port-0 et Port-1 sont contrôlées par deux groupes de registres décrits ci-dessous.

Configuration des broches LPC2148

Configuration des broches du microcontrôleur ARM7 (LPC2148)

Configuration des broches du microcontrôleur ARM7 (LPC2148)

Broche1- (P0.21 / PWM5CAP1.3 / AD1.6)

  • P0.21 est une broche GPIO (broche d'E / S à usage général)
  • AD1.6 ne peut être obtenu dans les microcontrôleurs LPC2144 / 46/48 que lorsqu'un AD1.6 désigne ADC-1, i / p-6.
  • PWM5 est une sortie-5 du modulateur de largeur d'impulsion.
  • CAP1.3 est un Capture i / p pour Timer-1, channel-3

Broche2- (P0.22 / CAP0.0 / AD1.7 / MAT0.0 2

  • P0.22 est une broche numérique GPIO
  • La broche AD1.7 est disponible dans LPC2144 / 46/48 uniquement lorsqu'un AD1.7 désigne ADC-1, entrée-7
  • CAP0.0 est une broche d'entrée de capture pour Timer-0, channel-0.
  • MAT0.0 est une correspondance o / p pour Timer-0, channel-0

Broche3-RTXC1 3

C'est un I / p vers le circuit de l'oscillateur RTC

Broche4- TRACEPKT3 / P1.19

  • TRACEPKT3 est un paquet de trace, bit-3, port d'entrée / sortie standard par le pull-up interne.
  • P1.19 est une broche numérique GPIO

Pin5-RTXC2

Il s'agit d'une broche de sortie du circuit de l'oscillateur RTC

Pin6, Pin18, Pin25, Pin42 et Pin50

Ces broches sont une référence de masse

Pin7-VDDA

Cette broche est une alimentation en tension analogique (3,3 V), et cette tension est très utile pour le sur puce convertisseurs analogique-numérique et convertisseurs numérique-analogique.

Broche8- P1.18 / TRACEPKT2

  • P1.18 est une broche numérique GPIO
  • TRACEPKT2 est un paquet de trace, bit-2, port d'entrée / sortie standard par le pull-up interne.

Pin9- P0.25/AOUT/AD0.4

  • P0.25 est une broche numérique GPIO I
  • AD0.4 désigne ADC-0, entrée-4
  • Aout- la sortie du DAC et qui n'est accessible que dans LPC2142 / LPC2144 / LPC2146 / LPC2148

Broche10- D +

Cette broche est une ligne D + bidirectionnelle USB

Broche 11- D-

Cette broche est une ligne D bidirectionnelle USB

Broche 12-P1.17 / TRACEPKT1

  • P1.17 est une broche numérique GPIO
  • TRACEPKT1 est un paquet de trace, bit-1, port d'entrée / sortie standard par le pull-up interne.

Broche 13-P0.28 / CAP0.2 / AD0.1 / MAT0.2

  • P0.28 est une broche numérique GPIO
  • AD0.1 désigne ADC-0, entrée-1
  • CAP0.2 est un i / p de capture pour Timer-0, channel-2.
  • MAT0.2 est une correspondance o / p pour Timer-0, channel-2

Broche14-P0.29 / CAP0.3 / AD0.2 / MAT0.3

  • P0.29 est une broche numérique GPIO
  • AD0.2 désigne ADC-0, entrée-2
  • CAP0.3 est un i / p de capture pour Timer-0, canal-3.
  • MAT0.3 est un match o / p pour Timer-0, channel-3

Broche 15-P0.30 / EINT3 / AD0.3 / CAP0.0

  • P0.30 est une broche numérique GPIO
  • AD0.3 désigne ADC-0, entrée-3
  • EINT3 est une interruption externe à 3 entrées.
  • CAP0.3 est une entrée / sortie de capture pour Timer-0, channel-0.

Broche 16- P1.16 / TRACEPKT0

  • P1.16 est une broche numérique GPIO
  • TRACEPKT1 est un paquet de trace, bit-0, port d'entrée / sortie standard par pull-up interne

Pin17-P0.31 / UP_LED / CONNECT

  • P0.31 est une broche numérique GPIO
  • UP_LED est un indicateur LED de bonne liaison USB. Lorsque l'appareil est agencé, il est bas et lorsque l'appareil n'est pas agencé, alors il est haut.
  • CONNECT - Ce signal est utilisé pour contrôler une résistance extérieure (1,5 kΩ) sous le contrôle d'un contrôle logiciel, et il est utilisé par la fonction de Soft Connect

Pin19- P0.0 / PWM / TXD0

  • P0.0 est une broche numérique GPIO
  • TXD0 est un émetteur o / p pour UART0.
  • PWM1 est un modulateur de largeur d'impulsion o / p-1.

Pin20- P1.31 / TRIESTE

  • P1.31 est une broche numérique GPIO
  • TRST est une réinitialisation de test pour l'interface JTAG.

Broche21-P0.1 / PWM3 / RXD0 / EINT0

  • P0.1 est une broche numérique GPIO
  • RXD0 est un récepteur i / p pour UART0.
  • PWM3 est un modulateur de largeur d'impulsion o / p-3.
  • EINT0 est une entrée 0 d'interruption externe

Broche22- P0.2 / CAP0.0 / SCL0

  • P0.2 est une broche numérique GPIO
  • SCL0 est une E / S d'horloge I2C0 et un O / P à drain ouvert
  • CAP0.0 est une entrée / sortie de capture pour Timer-0, channel-0.

Broche 23, 43 et 51 - VDD

Ces broches sont la tension d'alimentation des ports d'E / S ainsi que du noyau.

Pin24- P1.26 / RTCK

  • P1.26 est une broche numérique GPIO
  • RTCK est un test CLK o / p renvoyé, un signal supplémentaire ajouté au port JTAG. Lorsque la fréquence du processeur change, cela facilite la synchronisation du débogueur.

Broche26- P0.3 / SDA0 / MAT0.0 / EINT1

  • P0.3 est une broche numérique GPIO
  • SDA0 est une E / S de données I2C0 et un drain ouvert o / p pour le respect du bus I2C.
  • MAT0.0 correspond à o / p pour le temporisateur 0, canal 0.
  • EINT1 est une interruption externe 1-i / p.

Broche27-P0.4 / CAP0.1 / SCK0 / AD0.6

  • P0.4 est une E / S numérique à broches GPIO
  • SCK0 est un CLK série pour SPI0 et SPI CLK o / p du maître / i / p à l'esclave.
  • CAP0.1 est un i / p de capture pour timer-0, channel-0.
  • IAD0.6 désigne ADC-0, entrée-6

Broche28-P1.25 / EXTIN0

  • P1.25 est une E / S numérique à broches GPIO
  • EXTIN0 est un déclencheur externe i / p et une entrée / sortie standard avec pull-up interne

Broche29-P0.5 / MAT0.1 / MISO0 / AD0.7

  • P0.5 est une E / S numérique à broches GPIO
  • MISO0 est un maître en esclave pour SPI0, les données i / p vers le maître SPI / les données o / p de l'esclave SPI.
  • MAT0.1 est une correspondance o / p pour timer-0, channel-1.
  • AD0.7 désigne ADC-0, entrée-7.

Broche30-P0.6 / MOSI0 / CAP0.2 / AD1.0

  • P0.6 est une E / S numérique à broches GPIO
  • MOSI0 est un maître de sortie esclave pour SPI0, et les données o / p du maître SPI / données i / p vers l'esclave SPI.
  • CAP0.2 est un i / p de capture pour Timer-0, channel-2.

Broche31-P0.7 / PWM2 / SSEL0 / EINT2

  • P0.7 est une E / S numérique à broches GPIO
  • SSEL0 est une sélection d'esclave pour SPI0 et choisit l'interface SPI comme esclave.
  • PWM2 est un modulateur de largeur d'impulsion output-2.
  • EINT2 est une interruption externe à 2 entrées.

Pin32-P1.24 / TRACECLK

  • P1.24 est une E / S numérique à broches GPIO.
  • TRACECLK est un CLK de trace et un port d'entrée / sortie standard avec pull-up interne

Broche33-P0.8 / TXD1 / PWM4 / AD1.1

  • P0.8 est une E / S numérique à broches GPIO
  • TXD1 est un émetteur o / p pour UART1.
  • PWM4 est un modulateur de largeur d'impulsion o / p-4.
  • AD1.1 désigne ADC-1, entrée-1, et il n'est disponible que dans LPC2144 / 46/48.

Broche34- P0.9 / PWM6 / RXD1 / EINT3

  • P0.9 est une E / S numérique à broches GPIO
  • RXD1 est un récepteur i / p pour UART1.
  • PWM6 est un modulateur de largeur d'impulsion o / p-6.
  • EINT3 est une interruption externe à 3 entrées

Broche35-P0.10 / RTS1 / CAP1.0 / AD1.2

  • P0.10 est une E / S numérique à broches GPIO
  • RTS1 demande d'envoyer o / p pour UART1 et LPC2144 / 46/48.
  • CAP1.0 est un i / p de capture pour timer-1, channel-0.
  • AD1.2 désigne ADC-1, entrée-2, et il n'est disponible que dans LPC2144 / 46/48

Broche36-P1.23 / PIPESTAT2

  • P1.23 est une E / S numérique à broches GPIO
  • PIPESTAT2 est un état de pipeline, bit-2., Et un port d'entrée / sortie standard avec pull-up interne

Broche37-P0.11 / CAP1.1 / CTS1 / SCL1

  • P0.11 est une E / S numérique à broches GPIO
  • CTS1 est libre d'envoyer i / p pour UART1, et ceux-ci ne sont accessibles que dans LPC2144 / 46/48
  • CAP1.1 est une entrée / sortie de capture pour timer-1, channel-1.
  • SCL1 - I2C1 CLK I / O et open drain o / p pour le respect du bus I2C

Broche38-P0.12 / MAT1.0 / AD1.3 / DSR1

  • P0.12 est une E / S numérique à broches GPIO
  • DSR1 est un ensemble de données prêt i / p pour UART1, et ceux-ci ne sont accessibles que dans LPC2144 / 46/48.
  • MAT1.0 est une correspondance o / p pour timer-1, channel-0.
  • AD1.3 désigne l'entrée ADC-3, et il n'est accessible que dans LPC2144 / 46/48.

Broche 39-P0.13 / DTR1 / MAT1.1 / AD1.4

  • P0.13 est une E / S numérique à broches GPIO
  • DTR1 est un terminal de données prêt o / p pour UART1 et LPC2144 / 46/48 uniquement.
  • MAT1.1 est une correspondance o / p pour timer-1, channel-1.
  • AD1.4 désigne l'entrée ADC-4, et ceux-ci ne sont accessibles que dans LPC2144 / 46/48.

Broche40-P1.22 / PIPESTAT1

  • P1.22 est une E / S numérique à broches GPIO
  • PIPESTAT1 est un état de pipeline, bit-1, et un port d'entrée / sortie standard avec pull-up interne

Broche41-P0.14 / DCD1 / EINT1 / SDA1

  • P0.14 est une E / S numérique à broches GPIO
  • DCD1 est un support de données de détection i / p pour UART1, et également uniquement pour LPC2144 / 46/48 uniquement.
  • EINT1 est une entrée d'interruption extérieure 1.
  • SDA1 est une E / S de données I2C1 et un drain ouvert o / p pour le respect du bus I2C

Broche44: P1.21 / PIPESTAT0 44

  • L'E / S P1.21 est une E / S à broche numérique GPIO
  • PIPESTAT0 est un état du pipeline, bit 0, et un port d'entrée / sortie standard par le pull-up interne.

Broche 45: P0.15 / EINT2 / RI1 / AD1.5 45

  • L'E / S P0.15 est une E / S à broches numériques GPIO
  • RI1 est un pointeur en anneau i / p pour UART1 et il n'est accessible que dans LPC2144 / 46/48.
  • EINT2 est une interruption externe à 2 entrées.
  • AD1.5 indique ADC 1, entrée-5, et également disponible uniquement dans LPC2144 / 46/48

Broche46: P0.16 / MAT0.2 / EINT0 / CAP0.2

  • P0.16 est une E / S numérique à broches GPIO
  • EINT0 est une entrée d'interruption 0 externe.
  • MAT0.2 est une correspondance o / p pour Timer-0, canal -2
  • CAP0.2 est un i / p de capture pour Timer-0, channel-2.

Broche 47: P0.17 / SCK1 / CAP1.2 / MAT1.2 47

  • P0.17 est une E / S numérique à broches GPIO
  • CAP1.2 est un i / p de capture pour Timer-1, channel-2.
  • SCK1 est un CLK série pour SSP et CLK o / p du maître à l'esclave.
  • MAT1.2 est une correspondance o / p pour Timer-1, channel-2.

Broche48: P1.20 / TRACESYNC

  • P1.20 est une E / S numérique à broches GPIO
  • TRACESYNC est la synchronisation des traces.

Broche 49: VBAT

Alimentation RTC: Cette broche fournit l'alimentation au RTC.

Broche52: P1.30 / TMS

P1.30 est une E / S numérique à broches GPIO

TMS est une sélection de mode de test pour l'interfaçage de JTAG.

Broche53: P0.18 / CAP1.3 / MISO1 / MAT1.3

  • P0.18 est une E / S numérique à broches GPIO
  • CAP1.3 est une entrée / sortie de capture pour la minuterie 1, canal 3.
  • MISO1 est un maître In Slave-out pour SSP, et des données i / p vers SPI-master

Broche 54: P0.19 / MOSI1 / MAT1.2 / CAP1.2

  • P0.19 est une E / S numérique à broches GPIO.
  • MAT1.2 indique la correspondance o / p pour la minuterie 1, canal 2.
  • MOSI1 est un maître esclave pour le maître SSP.
  • CAP1.2 est une entrée / sortie de capture pour la minuterie 1, canal 2.

Broche 55: P0.20 / SSEL1 / MAT1.3 / EINT3

  • P0.20 est une E / S numérique à broches GPIO.
  • MAT1.3 est une correspondance o / p pour la minuterie 1, canal 3. I
  • SSEL1 est un Slave Select conçu pour SSP. Ici, choisit l'interface de SSP comme esclave.
  • EINT3 est une interruption externe à 3 entrées.

Broche56: P1.29 / TCK

  • P1.29 est une E / S numérique à broches GPIO
  • TCK est un CLK de test pour une interface de JTAG.

Pin57: Entrée de réinitialisation externe

Le périphérique peut être réorganisé par un LOW sur cette broche, affectant les ports d'entrée / sortie ainsi que les périphériques pour obtenir leurs conditions par défaut, et l'exécution du processeur commence à l'adresse 0.

Broche58: P0.23 / VBUS

  • P0.23 est une E / S numérique à broches GPIO
  • VBUS spécifie l'existence d'une alimentation par bus USB

Broche59: VSSA

VSSA est une masse analogique, et cela doit être la tension similaire à VSS, bien qu'elle doive être séparée pour réduire les erreurs et le bruit

Broche60: P1.28 / TDI 60

  • P1.28 est une E / S numérique à broches GPIO
  • La broche TDI est une donnée de test utilisée pour interfacer JTAG

Broche61: XTAL2

XTAL2 est un o / p de l'amplificateur de l'oscillateur

Broche62: XTAL1

XTAL1 est un i / p vers le générateur CLK interne ainsi que les circuits d'oscillateur

Pin63: Référence VREF-ADC

Cette broche doit être nominalement égale ou inférieure à la tension VDD bien qu'elle doive être séparée pour réduire les erreurs ainsi que le bruit.

Broche64: P1.27 / TDO 64

  • P1.27 est une E / S numérique à broches GPIO
  • TDO est une donnée de test utilisée pour interfacer JTAG.

Il s'agit donc de la configuration des broches du microcontrôleur LPC2148 basée sur ARM 7. Pour les étudiants en génie électronique, ces informations donneront des connaissances de base sur la configuration des broches, la mémoire des ports d'E / S, ainsi que les registres. Voici une question pour vous, quelles sont les applications du microcontrôleur LPC2148?