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

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 microprocesador , bibliotecas y diferentes herramientas para desarrollar aplicaciones basadas en microprocesadores. Un procesador ARM es una de las mejores alternativas que pueden obtener los diseñadores de sistemas integrados. En los últimos años, la arquitectura ARM se ha vuelto muy popular y están disponibles en diferentes fabricantes de circuitos integrados. Las aplicaciones de los procesadores ARM incluyen teléfonos móviles, sistemas de frenado de automóviles, etc. Una comunidad global de socios ARM ha desarrollado semiconductores, así como corporaciones de diseño de productos que incluyen empleados como 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 le ayudará a comprender los conceptos básicos del microcontrolador.

Microcontrolador LPC2148 basado en ARM7

La forma completa de un ARM es una computadora avanzada con un conjunto de instrucciones reducido (RISC) máquina y es una arquitectura de procesador de 32 bits expandida por tenencias ARM. Las aplicaciones de un procesador ARM incluyen varios microcontroladores y procesadores. La arquitectura de un procesador ARM fue licenciada por muchas corporaciones para diseñar CPU y productos SoC basados ​​en procesadores ARM. Esto permite a las corporaciones 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 Cortex. Este procesador es tremendo para encontrar los recursos existentes en Internet con la documentación de excelencia que ofrece NXP Semiconductors. Se adapta perfectamente a que un aprendiz obtenga en detalle la implementación del diseño de hardware y software.



Microcontrolador LPC2148

El microcontrolador LPC2148 está diseñado por Philips (NXP Semiconductor) con varias funciones y periféricos incorporados. Por estas razones, será una opción 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 principales características de LPC2148 incluyen las siguientes.

  • El LPC2148 es un microcontrolador basado en la familia ARM7 de 16 o 32 bits y está disponible en un pequeño paquete LQFP64.
  • ISP (en la programación del sistema) o IAP (en la programación de la aplicación) usando el software del cargador de arranque en chip.
  • La RAM estática en el chip es de 8 kB-40 kB, la memoria flash en el chip es de 32 kB-512 kB, la interfaz amplia es de 128 bits o el acelerador permite una operación de alta velocidad de 60 MHz.
  • Se necesitan 400 milisegundos para borrar los datos en el chip completo y 1 milisegundo para 256 bytes de programación.
  • Las interfaces Embedded Trace y Embedded ICE RT ofrecen depuración en tiempo real con seguimiento de alta velocidad de ejecución de instrucciones y software Real Monitor en chip.
  • Tiene 2 kB de RAM de punto final y controlador de dispositivo USB 2.0 de velocidad completa. Además, este microcontrolador ofrece 8kB de RAM en chip cerca de USB con DMA.
  • Uno o dos ADC de 10 bits ofrecen 6 o 14 analógicos i / ps con un tiempo de conversión bajo de 2,44 μs / canal.
  • Solo el DAC de 10 bits ofrece o / p analógico intercambiable.
  • Contador de eventos externo / temporizadores 2 de 32 bits, unidad PWM y perro guardián.
  • RTC (reloj en tiempo real) de baja potencia y entrada de reloj de 32 kHz.
  • Varias interfaces seriales como dos UART 16C550, dos buses I2C con una velocidad de 400 kbit / s.
  • Pines de entrada / salida de uso general rápidos y tolerantes a 5 voltios en un paquete pequeño LQFP64.
  • Pines de interrupción externos-21.
  • 60 MHz del máximo reloj CLK de la CPU que se puede obtener del bucle de bloqueo de fase programable en el chip mediante el tiempo de resolución es de 100 μs.
  • El oscilador incorporado en el chip funcionará mediante un cristal exterior que va desde 1 MHz-25 MHz
  • Los modos de ahorro de energía comprenden principalmente inactivo y apagado.
  • Para una optimización de energía adicional, hay habilitación o deshabilitación individual de funciones periféricas y escalado CLK periférico.

Memoria


El microcontrolador LPC2148 tiene memoria FLASH en chip de 512 kB y SRAM en chip de 32 kB. Además, este microcontrolador incluye soporte inherente hasta 2kB de memoria RAM USB de punto final. Este recuerdo se adapta bien a todos los 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 el almacenamiento de datos como para el código. La programación de esta memoria se puede realizar de la siguiente manera.

  • Incorporando interfaz JTAG en serie
  • Usando UART o ISP (en la programación del sistema)
  • Capacidades de IAP (programación en aplicación)

El programa de aplicación basado en la función IAP también puede eliminarse mientras se ejecuta el programa. Siempre que se utilice el cargador de arranque en chip del microcontrolador LPC2148, se pueden obtener 500 kB de memoria Flash para el código del consumidor. La memoria Flash de este microcontrolador ofrece la menor cantidad de 100.000 ciclos de escritura / borrado, así como 20 años de conservación de datos.

SRAM en chip

Este microcontrolador ofrece RAM estática con 32 kB y muy útil para almacenamiento de 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 denominan P0 y P1. Todos los pines del puerto tienen la marca PX.Y. Aquí, 'X' indica un número de puerto como 0 o 1, mientras que 'Y' indica el número de pin 0-31. Todos los pines también pueden ejecutar tareas alternativas. Por ejemplo, P0.8 proporciona como pin GPIO y Tx de UART1, AD1.1, PWM4. En RST (RESET), cada pin se organiza como GPIO.

¿Cómo empezar a programar?

El paso inicial hacia la programación de lpc2148 es una disposición de pines GPIO. Así que aquí están los conceptos relacionados también como registros . Los pines del puerto de E / S de propósito general en LPC2148 incluyen P0.0 a P0.31 y P1.16 a P1.31, y en realidad, estos pines están disponibles según la utilización de la función alternativa.

Port-0 y Port-1 son puertos de entrada / salida de 32 bits, y cada bit de estos puertos se puede controlar mediante una dirección individual. Las operaciones del puerto 0 y del puerto 1 dependen de la función de un pin que se selecciona usando el bloque conectado al pin. En el puerto 0, los pines como P0.24, P0.26 y P0.27 no se pueden obtener, mientras que en el puerto 1, los pines 0 a 15 no se pueden obtener. Aquí, tanto los pines como el puerto 0 y el puerto 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)

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

Pin1- (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 un AD1.6 denota ADC-1, i / p-6.
  • PWM5 es una salida 5 de modulador de ancho de pulso.
  • CAP1.3 es una captura i / p para Timer-1, channel-3

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

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

Pin3-RTXC1 3

Es una I / p al circuito del oscilador RTC

Pin4- TRACEPKT3 / P1.19

  • TRACEPKT3 es un paquete de rastreo, bit-3, puerto de entrada / salida estándar por el pull-up interno.
  • P1.19 es un pin digital GPIO

Pin5-RTXC2

Este es un pin de salida del circuito oscilador RTC

Pin6, Pin18, Pin25, Pin42 y Pin50

Estos pines son una referencia a tierra

Pin7-VDDA

Este pin es una fuente de alimentación de voltaje analógico (3.3V), y este voltaje es muy útil para el chip convertidores de analógico a digital y convertidores de digital a analógico.

Pin8- P1.18 / TRACEPKT2

  • P1.18 es un pin digital GPIO
  • TRACEPKT2 es un paquete de rastreo, bit-2, puerto de entrada / salida estándar por el pull-up interno.

Pin9- P0.25 / AOUT / AD0.4

  • P0.25 es un pin digital GPIO I
  • AD0.4 denota ADC-0, entrada-4
  • Aout- la salida de DAC y que es accesible solo en LPC2142 / LPC2144 / LPC2146 / LPC2148

Pin10- D +

Este pin es una línea D + bidireccional USB

Pin11- D-

Este pin es una línea D bidireccional USB

Pin12-P1.17 / TRACEPKT1

  • P1.17 es un pin digital GPIO
  • TRACEPKT1 es un paquete de rastreo, bit-1, puerto de entrada / salida estándar por el pull-up interno.

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

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

Pin 14-P0.29 / CAP0.3 / AD0.2 / MAT0.3

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

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

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

Pin 16- P1.16 / TRACEPKT0

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

Pin17-P0.31 / UP_LED / CONNECT

  • P0.31 es un pin digital GPIO
  • UP_LED es un indicador LED de buen enlace USB. Cuando el dispositivo está arreglado, entonces es bajo y cuando el dispositivo no está arreglado, entonces es alto.
  • CONNECT: esta señal se usa para controlar una resistencia exterior (1.5 kΩ) bajo el control de un control de software, y es usada por la función de Soft Connect

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.

Pin 20- P1.31 / TRIESTE

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

Pin21-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 0 de interrupción externa

Pin22- P0.2 / CAP0.0 / SCL0

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

Pin 23, 43 y 51- VDD

Estos pines son voltaje de suministro de energía para los puertos de E / S y el núcleo.

Pin24- P1.26 / RTCK

  • P1.26 es un pin digital GPIO
  • RTCK es un CLK de prueba devuelto o / p, una señal adicional agregada al puerto JTAG. Cuando cambia la frecuencia del procesador, ayuda a 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 abierta para la observancia del bus I2C.
  • MAT0.0 coincide con o / p para el temporizador-0, canal-0.
  • EINT1 es una interrupción externa 1-i / p.

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

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

Pin 28-P1.25 / EXTIN0

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

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

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

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

  • P0.6 es una E / S de pin digital GPIO
  • MOSI0 es un maestro de salida esclavo para SPI0, y datos de salida desde maestro SPI / datos i / p a esclavo SPI.
  • CAP0.2 es una captura i / p para Timer-0, channel-2.

Pin31-P0.7 / PWM2 / SSEL0 / EINT2

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

Pin32-P1.24 / TRACECLK

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

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

  • P0.8 es una E / S 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 denota ADC-1, input-1, y solo se puede obtener en LPC2144 / 46/48.

Pin34- P0.9 / PWM6 / RXD1 / EINT3

  • P0.9 es una E / S 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 E / S de pin digital GPIO
  • RTS1 solicita enviar o / p para UART1 y LPC2144 / 46/48.
  • CAP1.0 es una captura i / p para el temporizador 1, canal 0.
  • AD1.2 denota ADC-1, input-2, y solo se puede obtener en LPC2144 / 46/48

Pin36-P1.23 / PIPESTAT2

  • P1.23 es una E / S de pin digital GPIO
  • PIPESTAT2 es un estado de tubería, bit-2., Y un puerto de entrada / salida estándar con pull-up interno

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

  • P0.11 es una E / S digital GPIO
  • CTS1 es claro para enviar i / p para UART1, y estos son accesibles solo en LPC2144 / 46/48
  • CAP1.1 es una captura i / p para el temporizador 1, canal 1.
  • SCL1 - I2C1 CLK I / O, y drenaje abierto o / p para la observancia del bus I2C

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

  • P0.12 es una E / S de pin digital GPIO
  • DSR1 es un conjunto de datos listo i / p para UART1, y estos son accesibles solo en LPC2144 / 46/48.
  • MAT1.0 es una coincidencia o / p para el temporizador-1, canal-0.
  • AD1.3 denota ADC input-3, y solo es accesible en LPC2144 / 46/48.

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

  • P0.13 es una E / S de pin digital GPIO
  • DTR1 es un terminal de datos listo o / p para UART1 y LPC2144 / 46/48 solamente.
  • MAT1.1 es una coincidencia o / p para el temporizador 1, canal 1.
  • AD1.4 denota ADC input-4, y estos son accesibles solo en LPC2144 / 46/48.

Pin40-P1.22 / PIPESTAT1

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

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

  • P0.14 es una E / S de pin digital GPIO
  • DCD1 es un portador de datos que detecta i / p para UART1, y también solo para LPC2144 / 46/48 solamente.
  • EINT1 es una entrada 1 de interrupción exterior.
  • SDA1 es una E / S de datos I2C1 y un drenaje abierto o / p para la observancia del bus I2C

Pin 44: P1.21 / PIPESTAT0 44

  • I / O P1.21 es un pin I / O digital GPIO
  • PIPESTAT0 es un estado de canalización, bit 0, y un puerto de entrada / salida estándar del pull-up interno.

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

  • I / O P0.15 es un pin I / O 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, input-5 y también está disponible solo en LPC2144 / 46/48

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

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

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

  • P0.17 es una E / S de pin digital GPIO
  • CAP1.2 es una captura i / p para Timer-1, channel-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.

Pin 48: P1.20 / TRACESYNC

  • P1.20 es una E / S de pin digital GPIO
  • TRACESYNC es sincronización de seguimiento.

Pin49: VBAT

Fuente de alimentación del RTC: este pin proporciona el suministro al RTC.

Pin52: P1.30 / TMS

P1.30 es una E / S digital GPIO

TMS es un modo de prueba seleccionado para la interfaz de JTAG.

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

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

Pin54: P0.19 / MOSI1 / MAT1.2 / CAP1.2

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

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

  • P0.20 es una E / S de pin digital GPIO.
  • MAT1.3 es una coincidencia o / p para el temporizador 1, canal 3. I
  • SSEL1 es un Slave Select diseñado para SSP. Aquí, elige la interfaz de SSP como esclavo.
  • EINT3 es una interrupción externa de 3 entradas.

Pin 56: P1.29 / TCK

  • P1.29 es una E / S digital GPIO
  • TCK es un CLK de prueba para una interfaz de JTAG.

Pin57: Entrada de reinicio externo

El dispositivo se puede reorganizar con un LOW 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.

Pin58: P0.23 / VBUS

  • P0.23 es una E / S de pin digital GPIO
  • VBUS especifica la existencia de alimentación por bus USB

Pin59: VSSA

VSSA es una tierra analógica, y este debe ser un voltaje similar al VSS, aunque debe estar separado para reducir el error y el ruido.

Pin60: P1.28 / TDI 60

  • P1.28 es una E / S de pin digital GPIO
  • El pin TDI es un dato de prueba que se utiliza para interconectar JTAG

Pin61: XTAL2

XTAL2 es un o / p del amplificador del oscilador

Pin62: XTAL1

XTAL1 es un i / p al generador CLK interno, así como a 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.

Pin64: P1.27 / TDO 64

  • P1.27 es una E / S de pin digital GPIO
  • TDO es una salida de datos de prueba que se utiliza para interconectar JTAG.

Por lo tanto, se trata de la configuración de pines del microcontrolador LPC2148 basada en ARM 7. Para los estudiantes de ingeniería electrónica, esta información les dará un conocimiento básico sobre configuración de pines, memoria de puertos de E / S y registros. Aquí hay una pregunta para usted, ¿cuáles son las aplicaciones del microcontrolador LPC2148?