Configuración de pines del microcontrolador basado en ARM7 (LPC2148)

Los diseñadores de sistemas integrados y SOC (sistema en chip) eligen núcleos de microprocesadores, bibliotecas y diferentes herramientas particulares para desarrollar aplicaciones basadas en microprocesadores. Un procesador ARM es una de las mejores alternativas disponibles para los diseñadores de sistemas integrados. En los últimos años, la arquitectura ARM se ha vuelto muy popular y están disponibles a través de varios fabricantes de circuitos integrados. Las aplicaciones de los procesadores ARM se encuentran en teléfonos móviles, sistemas de frenado de automóviles, etc. Una comunidad global de socios de ARM ha desarrollado semiconductores y empresas de diseño de productos, incluidos ingenieros, diseñadores y desarrolladores. Este artículo trata sobre el microcontrolador LPC2148 basado en ARM7, la arquitectura y la configuración de pines. Este artículo lo ayudará a comprender los conceptos básicos del microcontrolador.


Índice de Contenido
  1. Microcontrolador LPC2148 basado en ARM7
  2. ¿Qué es un procesador ARM7?
    1. microcontrolador LPC2148
    2. Características de LPC2148
    3. ¿Cómo empiezo con la programación?
  3. Configuración de pines LPC2148

Microcontrolador LPC2148 basado en ARM7

La forma completa de un ARM es una máquina avanzada de computadora con conjunto de instrucciones reducidas (RISC), y es una arquitectura de procesador de 32 bits extendida por las tenencias de ARM. Las aplicaciones de un procesador ARM incluyen varios microcontroladores y procesadores. Muchas empresas han autorizado la arquitectura de un procesador ARM para el diseño de productos y procesadores SoC basados ​​en un procesador ARM. Esto permite a las empresas fabricar sus productos utilizando la arquitectura ARM. Del mismo modo, todas las principales empresas de semiconductores fabricarán SOC basados ​​en ARM, como Samsung, Atmel, TI, etc.

¿Qué es un procesador ARM7?

El procesador ARM7 se usa comúnmente en aplicaciones de sistemas integrados. Además, es un equilibrio entre la secuencia clásica y la nueva secuencia de Cortex. Este procesador es excelente para encontrar recursos existentes en Internet con la excelente documentación que ofrece NXP Semiconductors. Es muy adecuado para que un alumno obtenga una implementación detallada del diseño de hardware y software.

microcontrolador LPC2148

El microcontrolador LPC2148 está diseñado por Philips (NXP Semiconductor) con varias características y periféricos integrados. Por estas razones, hará que la opción sea más confiable y eficiente para un desarrollador de aplicaciones. LPC2148 es un microcontrolador de 16 o 32 bits basado en la familia ARM7.

Características de LPC2148

Las características principales del LPC2148 son las siguientes.

  • El LPC2148 es un microcontrolador de 16 o 32 bits basado en la familia ARM7 y disponible en un paquete pequeño LQFP64.
  • ISP (en la programación del sistema) o IAP (en la programación de aplicaciones) mediante el software de cargador de arranque en chip.
  • La RAM estática en el chip es de 8 KB a 40 KB, la memoria flash en el chip es de 32 KB a 512 KB, la interfaz ancha es de 128 bits o el acelerador permite un funcionamiento de alta velocidad de 60 MHz.
  • Se necesitan 400 milisegundos para borrar datos de chip completo y 1 milisegundo para 256 bytes de programación.
  • Las interfaces Embedded Trace y Embedded ICE RT brindan depuración en tiempo real con seguimiento de ejecución de instrucciones de alta velocidad y software Real Monitor en chip.
  • Tiene 2 KB de RAM de punto final y un controlador de dispositivo USB 2.0 de alta velocidad. Además, este microcontrolador ofrece 8 KB de RAM en chip cerca de USB con DMA.
  • Uno o dos ADC de 10 bits ofrecen 6 o 14 fps analógicos con un tiempo de conversión bajo de 2,44 μs/canal.
  • Solo el DAC de 10 bits ofrece una salida analógica editable.
  • Contador/temporizadores de eventos externos de 32 bits 2, unidad PWM y vigilancia.
  • RTC de baja potencia (reloj en tiempo real) y entrada de reloj de 32 kHz.
  • Múltiples interfaces seriales como dos UART 16C550, dos buses I2C con velocidad de 400 kbps.
  • Pines de E/S rápidos tolerantes a 5 voltios en un paquete LQFP64 pequeño.
  • Fuera de la interrupción-21 pines.
  • 60 MHz de reloj CLK de CPU máximo que se puede obtener del bucle de bloqueo de fase programable en el chip resolviendo que el tiempo es 100 μs.
  • El oscilador incorporado en el chip será operado por un cristal externo que oscila entre 1 MHz y 25 MHz
  • Los modos de ahorro de energía incluyen principalmente inactivo y apagado.
  • Para una mayor optimización de la energía, existe la activación o desactivación individual de las funciones periféricas y el escalado periférico CLK.

Memoria

El microcontrolador LPC2148 tiene una memoria FLASH en chip de 512 KB, así como una memoria SRAM en chip de 32 KB Además, este microcontrolador incluye soporte inherente para hasta 2 KB de RAM USB de punto final. Esta memoria es adecuada para todas las aplicaciones de microcontroladores.

Sistema de memoria FLASH en chip

Este microcontrolador incluye un sistema de memoria Flash de 512 KB y esta memoria puede ser útil tanto para almacenamiento de datos como de código. La programación de esta memoria se puede realizar de la siguiente manera.

  • Al incorporar la interfaz serial JTAG
  • Usando UART o FAI (en la programación del sistema)
  • Capacidades IAP (en programación de aplicaciones)

El programa de aplicación basado en la función IAP también puede borrarse durante la ejecución del programa. Cada vez que se utiliza el cargador de arranque en chip del microcontrolador LPC2148, hay 500 KB de memoria Flash disponibles para el código del consumidor. La memoria flash de este microcontrolador ofrece la cantidad mínima de 100 000 ciclos de escritura/borrado, así como 20 años de retención de datos.

SRAM en chip

Este microcontrolador ofrece 32 KB de RAM estática y es muy útil para almacenar datos o código. Es accesible para 8 bits, 16 bits y 32 bits.

Puertos de entrada/salida

El microcontrolador LPC2148 tiene dos puertos de entrada/salida y estos se llaman P0 y P1. Cada pin de puerto está marcado como PX.Y. Aquí, "X" indica el número de puerto como 0 o 1, mientras que "Y" indica el número de pin 0-31. Todos los ejes también pueden realizar tareas alternativas. Por ejemplo, P0.8 proporciona pines GPIO y Tx de UART1, AD1.1, PWM4. En RST (RESET), cada pin se organiza como un GPIO.

¿Cómo empiezo con la programación?

El primer paso hacia la programación lpc2148 es un diseño de pines GPIO. Aquí están los conceptos asociados así como los registros. Los pines del puerto de E/S de uso general del LPC2148 incluyen P0.0 a P0.31 y P1.16 a P1.31 y, de hecho, estos pines están disponibles según el uso de la función alternativa.

Port-0 y Port-1 son puertos de E/S de 32 bits, y cada bit de estos puertos se puede controlar mediante una dirección individual. Las operaciones de puerto 0 y puerto 1 dependen de la función de un pin seleccionado mediante el bloque de pin conectado. En el puerto 0, no se pueden obtener pines como P0.24, P0.26 y P0.27, mientras que en el puerto 1, los pines 0 a 15 no están disponibles. Aquí, los pines como Port-0 y Port-1 están controlados por dos grupos de registros que se describen a continuación.

Configuración de pines LPC2148

Configuración de pines del microcontrolador basado en ARM7 (LPC2148)

Clavija 1-(P0.21/ PWM5CAP1.3/ AD1.6)

  • P0.21 es un pin GPIO (pin de E/S de propósito general)
  • AD1.6 se puede obtener en microcontroladores LPC2144/46/48 solo donde AD1.6 denota ADC-1, i/p-6.
  • PWM5 es una salida de modulador de ancho de pulso-5.
  • CAP1.3 es una captura i/p para Timer-1, canal-3

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

  • P0.22 es un pin GPIO digital
  • El pin AD1.7 está disponible en LPC2144/46/48 solo cuando un AD1.7 indica ADC-1, entrada-7
  • CAP0.0 es un pin de entrada de captura para Timer-0, channel-0.
  • MAT0.0 es una coincidencia o/p para Timer-0, channel-0

Clavija 3-RTXC1 3

Este es un I/p al circuito del oscilador RTC

Clavija 4-TRACEPKT3/ P1.19

  • TRACEPKT3 es un paquete de seguimiento, bit 3, puerto de E/S estándar a través del pull-up interno.
  • P1.19 es un pin GPIO digital

Pin5-RTXC2

Este es un pin de salida del circuito del oscilador RTC

Clavija 6, Clavija 18, Clavija 25, Clavija 42 y Clavija 50

Estos pines son una referencia a tierra

Pin7-VDDA

Este pin es un suministro de voltaje analógico (3,3 V), y este voltaje es muy útil para convertidores de analógico a digital en chip y convertidores de digital a analógico.

Clavija 8-P1.18/TRACEPKT2

  • P1.18 es un pin GPIO digital
  • TRACEPKT2 es un paquete de seguimiento, bit 2, puerto de E/S estándar a través del pull-up interno.

Pin9- P0.25/AUG/AD0.4

  • P0.25 es un pin digital GPIO I
  • AD0.4 denota ADC-0, entrada-4
  • Aout: la salida del DAC y a la que solo se puede acceder en LPC2142/ LPC2144/ LPC2146/ LPC2148

Pin10-D+

Este pin es una línea USB bidireccional D+

Pin11-D-

Este pin es un D-line bidireccional USB

Clavija 12-P1.17/TRACEPKT1

  • P1.17 es un pin GPIO digital
  • TRACPKT1 es un paquete de seguimiento, bit 1, puerto de E/S estándar a través del pull-up interno.

Pin13-P0.28/CAP0.2/AD0.1/MAT0.2

  • P0.28 es un pin GPIO digital
  • AD0.1 denota ADC-0, entrada-1
  • CAP0.2 es una entrada/salida de captura para Timer-0, channel-2.
  • MAT0.2 es una coincidencia o/p para Timer-0, canal-2

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

  • P0.29 es un pin GPIO digital
  • AD0.2 denota ADC-0, entrada-2
  • CAP0.3 es una captura i/p para Timer-0, canal-3.
  • MAT0.3 coincide con o/p para Timer-0, canal-3

Pin15-P0.30/ EINT3/ AD0.3/ CAP0.0

  • P0.30 es un pin GPIO digital
  • AD0.3 denota ADC-0, entrada-3
  • EINT3 es una interrupción externa de 3 entradas.
  • CAP0.3 es una E/S de captura para Timer-0, channel-0.

Pin16- P1.16/TRACEPKT0

  • P1.16 es un pin GPIO digital
  • TRACPKT1 es un paquete de seguimiento, bit 0, puerto de E/S estándar mediante pull-up interno

Pin17-P0.31/UP_LED/CONECTAR

  • P0.31 es un pin digital GPIO
  • UP_LED es un indicador LED de buen enlace USB. Cuando el dispositivo está colocado, está bajo y cuando el dispositivo no está colocado, está alto.
  • CONECTAR: esta señal se usa para controlar una resistencia externa (1,5 kΩ) bajo el control del software de control, y la usa la función Conexión suave

Pin19-P0.0/PWM/TXD0

  • P0.0 es un pin digital GPIO
  • TXD0 es un transmisor o/p para UART0.
  • PWM1 es un modulador de ancho de pulso o/p-1.

Clavija 20-P1.31/TRST

  • P1.31 es un pin GPIO digital
  • TRST es un reinicio de prueba para la interfaz JTAG.

Clavija 21-P0.1/ PWM3/ RXD0/EINT0

  • P0.1 es un pin digital GPIO
  • RXD0 es un receptor i/p para UART0.
  • PWM3 es un modulador de ancho de pulso o/p-3.
  • EINT0 es una entrada de interrupción externa 0

Pin22- P0.2/ CAP0.0/ SCL0

  • P0.2 es un pin digital GPIO
  • SCL0 es una entrada/salida de reloj I2C0 y una salida/salida de drenaje abierto
  • CAP0.0 es una E/S de captura para Timer-0, channel-0.

Pines 23, 43 y 51- VDD

Estos pines son el suministro de voltaje para los puertos de E/S, así como también para el núcleo.

Clavija 24-P1.26/RTCK

  • P1.26 es un pin GPIO digital
  • RTCK es una retroalimentación de prueba CLK o/p, una señal adicional añadida al puerto JTAG. Cuando la frecuencia de la CPU cambia, facilita la sincronización del depurador.

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

  • P0.3 es un pin digital GPIO
  • SDA0 es una E/S de datos I2C0 y una salida de drenaje abierto para el cumplimiento del bus I2C.
  • MAT0.0 se asigna o/p para temporizador-0, canal-0.
  • EINT1 es una interrupción externa 1-i/p.

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

  • P0.4 es entrada/salida de pin digital GPIO
  • SCK0 es un CLK serial para SPI0 y SPI CLK o/p de maestro/i/p a esclavo.
  • CAP0.1 es una entrada/salida de captura para el temporizador-0, canal-0.
  • IAD0.6 denota ADC-0, entrada-6

Pin28-P1.25/EXTIN0

  • P1.25 es entrada/salida de pin digital GPIO
  • EXTIN0 es un disparador de i/p externo y E/S estándar con pull-up interno

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

  • P0.5 es entrada/salida de pin digital GPIO
  • MISO0 es salida de maestro a esclavo para SPI0, datos i/p a SPI-master / o/p datos del esclavo SPI.
  • MAT0.1 es una coincidencia o/p para el temporizador-0, canal-1.
  • AD0.7 significa ADC-0, entrada-7.

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

  • P0.6 es entrada/salida de pin digital GPIO
  • MOSI0 es una salida maestra esclava para SPI0, y SPI maestro o/p datos/i/p datos a SPI esclavo.
  • CAP0.2 es una entrada/salida de captura para Timer-0, channel-2.

Clavija 31-P0.7/ PWM2/ SSEL0/EINT2

  • P0.7 es entrada/salida de pin digital GPIO
  • SSEL0 es una selección de esclavo para SPI0 y elige la interfaz SPI como esclavo.
  • PWM2 es una salida de modulador de ancho de pulso-2.
  • EINT2 es una interrupción externa de 2 entradas.

Pin32-P1.24/TRACECLK

  • P1.24 es una entrada/salida de pin digital GPIO.
  • TRACECLK es un rastreo CLK y un puerto de E/S estándar con pull-up interno

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

  • P0.8 es entrada/salida de pin digital GPIO
  • TXD1 es un transmisor o/p para UART1.
  • PWM4 es un modulador de ancho de pulso o/p-4.
  • AD1.1 significa ADC-1, entrada-1, y solo se puede obtener en LPC2144/46/48.

Pin34-P0.9/PWM6/RXD1/EINT3

  • P0.9 es entrada/salida de pin digital GPIO
  • RXD1 es un receptor i/p para UART1.
  • PWM6 es un modulador de ancho de pulso o/p-6.
  • EINT3 es una interrupción externa de 3 entradas

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

  • P0.10 es una entrada/salida de pin digital GPIO
  • Solicitud RTS1 para enviar o/p para UART1 y LPC2144/46/48.
  • CAP1.0 es una E/S de captura para el temporizador 1, canal 0.
  • AD1.2 significa ADC-1, entrada-2, y solo se puede obtener en LPC2144/46/48

Pin36-P1.23/PIPESTAT2

  • P1.23 es entrada/salida de pin digital GPIO
  • PIPESTAT2 es un estado de canalización, bit 2 y puerto de E/S estándar con pull-up interno

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

  • P0.11 es una entrada/salida de pin digital GPIO
  • CTS1 está autorizado para enviar i/p para UART1, y estos solo son accesibles en LPC2144/46/48
  • CAP1.1 es una E/S de captura para el temporizador-1, canal-1.
  • SCL1 — I2C1 CLK I/O y drenaje abierto o/p para cumplimiento de bus I2C

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

  • P0.12 es entrada/salida de pin digital GPIO
  • DSR1 es un conjunto de datos listo para i/p para UART1, y solo se puede acceder a estos en LPC2144/46/48.
  • MAT1.0 es una coincidencia o/p para el temporizador-1, canal-0.
  • AD1.3 designa la entrada ADC-3 y solo es accesible en LPC2144/46/48.

Pin39-P0.13/DTR1/MAT1.1/AD1.4

  • P0.13 es una entrada/salida de pin digital GPIO
  • DTR1 es un terminal de datos listo para UART1 y LPC2144/46/48 únicamente.
  • MAT1.1 es una coincidencia o/p para el temporizador-1, canal-1.
  • AD1.4 significa entrada ADC-4, y solo son accesibles en LPC2144/46/48.

Clavija 40-P1.22/PIPESTAT1

  • P1.22 es entrada/salida de pin digital GPIO
  • PIPESTAT1 es el estado de la canalización, bit 1 y puerto de E/S estándar con pull-up interno

Clavija 41-P0.14/DCD1/EINT1/SDA1

  • P0.14 es entrada/salida de pin digital GPIO
  • DCD1 es detección de portadora de datos i/p para UART1, y también solo para LPC2144/46/48.
  • EINT1 es una entrada de interrupción externa 1.
  • SDA1 es una E/S de datos I2C1 y una salida de drenaje abierto para el cumplimiento del bus I2C

Clavija 44:P1.21/ PIPESTAT0 44

  • I/O P1.21 es una entrada/salida de pin digital GPIO
  • PIPESTAT0 es el estado de la canalización, bit 0 y puerto de E/S estándar según el pull-up interno.

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

  • E/S P0.15 es una entrada/salida de pin digital GPIO
  • RI1 es un puntero de anillo i/p para UART1 y solo es accesible en LPC2144/46/48.
  • EINT2 es una interrupción externa de 2 entradas.
  • AD1.5 indica ADC 1, entrada -5, y también solo disponible en LPC2144/46/48

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

  • P0.16 es entrada/salida de pin digital GPIO
  • EINT0 es una entrada de interrupción externa 0.
  • MAT0.2 es una coincidencia o/p para Timer-0, canal -2
  • CAP0.2 es una entrada/salida de captura para Timer-0, channel-2.

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

  • P0.17 es entrada/salida de pin digital GPIO
  • CAP1.2 es entrada/salida de captura para Timer-1, canal-2.
  • SCK1 es un CLK serial para SSP y CLK o/p de maestro a esclavo.
  • MAT1.2 es una coincidencia o/p para Timer-1, channel-2.

Pin48: P1.20/TRAZAS DE SINCRONIZACIÓN

  • P1.20 es entrada/salida de pin digital GPIO
  • TRACESYNC es la sincronización de trazas.

Pin49: VBAT

RTC Power: este pin proporciona energía al RTC.

Clavija 52: P1.30/TMS

P1.30 es entrada/salida de pin digital GPIO

TMS es un modo de prueba seleccionado para interconectar JTAG.

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

  • P0.18 es una entrada/salida de pin digital GPIO
  • CAP1.3 es una E/S de captura para el temporizador 1, canal 3.
  • MISO1 es maestro In Slave-out para SSP, y datos i/p al maestro SPI

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

  • P0.19 es una entrada/salida de pin digital GPIO.
  • MAT1.2 indica el mapeo o/p para el temporizador 1, canal 2.
  • MOSI1 es un esclavo de salida maestro para el maestro SSP.
  • CAP1.2 es una E/S de captura para el temporizador 1, canal 2.

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

  • P0.20 es una entrada/salida de pin digital GPIO.
  • MAT1.3 es una coincidencia o/p para el temporizador 1, canal 3. I
  • SSEL1 es una selección de esclavos diseñada para SSP. Aquí, elija la interfaz SSP como esclavo.
  • EINT3 es una interrupción externa de 3 entradas.

Clavija 56: P1.29/TCK

  • P1.29 es entrada/salida de pin digital GPIO
  • TCK es una prueba CLK para una interfaz JTAG.

Pin57: entrada de reinicio externo

El dispositivo puede ser reordenado por un BAJO en este pin, lo que afecta los puertos de entrada/salida, así como los periféricos para obtener sus condiciones predeterminadas, y la ejecución del procesador comienza en la dirección 0.

Clavija 58: P0.23/VBUS

  • P0.23 es entrada/salida de pin digital GPIO
  • VBUS especifica la existencia de alimentación de bus USB

Pin59: VSSA

VSSA es una tierra analógica y debe tener el mismo voltaje que VSS, aunque debe separarse para reducir los errores y el ruido.

Clavija 60: P1.28/TDI 60

  • P1.28 es entrada/salida de pin digital GPIO
  • El pin TDI son datos de prueba utilizados para la interfaz JTAG

Pin61: XTAL2

XTAL2 es un amplificador de oscilador o/p

Pin62: XTAL1

XTAL1 es una entrada/salida para el generador CLK interno, así como para los circuitos del oscilador

Pin63: referencia VREF-ADC

Este pin debe ser nominalmente igual o menor que el voltaje VDD, aunque debe estar separado para reducir el error y el ruido.

Clavija 64: P1.27/TDO 64

  • P1.27 es entrada/salida de pin digital GPIO
  • TDO es una salida de datos de prueba utilizada para interconectar JTAG.

Así que esta es la configuración de pines del microcontrolador LPC2148 basado en ARM 7. Para los estudiantes de ingeniería electrónica, esta información brindará un conocimiento básico de la configuración de pines, los puertos de E/S de memoria y los registros. Aquí hay una pregunta para usted, ¿cuáles son las aplicaciones del microcontrolador LPC2148?

Si quieres conocer otros artículos parecidos a Configuración de pines del microcontrolador basado en ARM7 (LPC2148) puedes visitar la categoría Generalidades.

¡Más Contenido!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir