Introducción a la arquitectura de microcontroladores LPC2148 basada en ARM7

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





ARM (Advanced RISC Machine) ha lanzado varios procesadores que tienen diferentes características, así como los diferentes núcleos para una amplia variedad de aplicaciones. El primer diseño de arquitectura ARM tiene procesadores de 26 bits, pero ahora llegó a los procesadores de 64 bits. La expansión general de los productos ARM no se puede clasificar en una determinada información. Pero los productos ARM pueden entenderse en función de su arquitectura. Los procesadores estándar de la serie ARM disponibles en el mercado van desde ARM7 hasta ARM11. Estos procesadores tienen varias características como caché, memoria de datos estrechamente acoplados, MPU, MMU, etc. Algunas de las series de procesadores ARM más conocidas son ARM926EJ-S, ARM7TDMI y ARM11 MPCore. Este artículo está especialmente destinado a la descripción general de la arquitectura del microcontrolador LPC2148 basado en ARM7, que le brindará información breve sobre el microcontrolador arquitectura.

Arquitectura de microcontrolador LPC2148 basada en ARM7

El ARM7 es un dispositivo de propósito general de 32 bits. microprocesador , y ofrece algunas de las características como poca utilización de energía y alto rendimiento. La arquitectura de un ARM depende de la principles of RIESGO . El mecanismo de decodificación asociado, así como el conjunto de instrucciones RISC- son mucho más fáciles cuando lo comparamos con CISC microprogramado -Conjunto de instrucciones complejo Computadoras.




El método Pipeline se utiliza para procesar todos los bloques de la arquitectura. En general, se está ejecutando un solo conjunto de instrucciones, luego su descendiente se está traduciendo y un 3rd-La instrucción se obtiene de la memoria.

Una exclusiva plan arquitectónico de ARM7 se llama Thumb, y es perfectamente adecuado para aplicaciones de alto volumen donde la compacidad del código es un asunto. El ARM7 también utiliza una arquitectura exclusiva llamada Thumb. Lo hace perfectamente adecuado para diferentes aplicaciones por limitaciones de memoria donde la densidad del código es un asunto.



Arquitectura de microcontrolador basado en ARM7 (LPC2148)

Arquitectura de microcontrolador basado en ARM7 (LPC2148)

Fuentes de interrupción

Cada dispositivo periférico consta de una única línea de interrupción asociada al VIC (controlador de interrupción vectorial), aunque puede tener varios indicadores de interrupción en su interior. Los indicadores de interrupción individuales también pueden significar uno o más recursos de interrupción.


Memoria de programa flash en chip

El microcontrolador LPC2141 / 42/44/46/48 incluye una memoria flash como 32 kilobytes, kilobytes, 128 kilobytes, 256 kilobytes respectivamente. Esta memoria flash se puede utilizar tanto para el almacenamiento de datos como para el código. La programación de la memoria flash se puede realizar en el sistema a través del puerto serie.

La aplicación del programa también puede borrarse mientras se ejecuta la aplicación del programa, lo que permite la flexibilidad de las mejoras del firmware del campo de almacenamiento de datos, etc. Debido a la selección de una solución arquitectónica para un cargador de arranque en chip, la memoria disponible para los microcontroladores LPC2141 / 42 / 44/46/48 es 32 kilobytes, kilobytes, 128 kilobytes, 256 kilobytes y 500 kilobytes. La memoria flash de estos microcontroladores ofrece 1, 00,000 borrado por ciclo y conservación de datos durante muchos años.

Bloque de conexión de pines

Este bloque permite que los pines elegidos del microcontrolador LPC2148 basado en ARM7 tengan varias funciones. Los multiplexores puede ser controlado por los registros de configuración para permitir el enlace entre el pin y los periféricos en el chip.

Los periféricos deben estar acoplados con los pines adecuados antes de ser disparados y antes de que se permitan las interrupciones conectadas. La funcionalidad del microcontrolador puede ser definida por el módulo de control de pines mediante su selección de pines de registros en un entorno de hardware dado.

Después de reorganizar todos los pines de los puertos (puerto 0 y puerto 1) se organizan como i / p según las excepciones dadas. Si se permite la depuración

Si se permite la depuración, los pines de JTAG adivinarán la funcionalidad de JTAG. Si se permite un rastreo, los pines de rastreo adivinarán la funcionalidad del rastreo. Los pines conectados a los pines I2C0 e I2C1 son de drenaje abierto.

GPIO- Entrada / salida paralela de uso general

Los registros GPIO controlan los pines del dispositivo que no están vinculados a una función periférica en particular. Los pines del dispositivo se pueden organizar como i / p [so o o / ps. Los registros individuales permiten borrar cualquier número de o / p al mismo tiempo. El valor del registro de salida se puede leer y la condición actual de los pines del puerto. Estos microcontroladores comienzan una función acelerada sobre los dispositivos LPC200.

Los registros de entrada / salida de propósito general se mueven al bus del procesador que se utiliza para el mejor tiempo de E / S probable.

  • Estos registros son bytes direccionables.
  • El valor total de un puerto puede ser
  • El valor completo del puerto se puede escribir en la única instrucción

ADC de 10 bits (convertidor analógico a digital)

Los microcontroladores como LPC2141 o 42 incluyen dos Convertidores ADC , y estos son solo de 10 bits tienen uno y el LPC2144 / 46/48 tiene dos ADC, y estos son solo ADC de aproximación directa de 10 bits. Aunque ADC0 incluye 6 canales y ADC1 tiene 8 canales. Por lo tanto, el número de ADC i / ps accesibles para LPC2141 o 42 es 6 y 14 para LPC2141 o 42.

DAC de 10 bits (convertidor digital a analógico)

El DAC permite que estos microcontroladores produzcan un o / p analógico cambiante, y VREFes la máxima salida de un digital a analógico Voltaje.

Controlador de dispositivo: USB 2.0

El bus serie universal consta de 4 cables y brinda soporte para la comunicación entre varios periféricos y hosts. Este controlador permite el ancho de banda de USB para conectar dispositivos usando un protocolo basado en el token.

El bus admite la desconexión, la conexión en caliente y la recopilación dinámica de los dispositivos. Cada comunicación se inicia a través del controlador host. Estos microcontroladores están diseñados con un controlador de aparato de bus serie universal que permite la sustitución de datos de 12 Mbit / seg por un controlador host de USB.

UART

Estos microcontroladores incluyen dos UART para transmitir y obtener líneas de datos estándar. A diferencia de los microcontroladores anteriores (LPC2000), los UART en los microcontroladores LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 inician un generador de velocidad en baudios parcial utilizado para ambos UART, lo que permite que estos tipos de microcontroladores alcancen velocidades en baudios típicas como 115200 por cada frecuencia de cristal en 2 MHz . Además, las funciones de control como CTS / RTS se ejecutan completamente en hardware.

Controlador de E / S serie del bus I2C

Cada microcontrolador de LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 incluye dos I2C controladores de bus, y esto es bidireccional. El control entre IC se puede realizar con la ayuda de dos cables, a saber, un SCL y un SDA. Aquí, SDA y SCL son la línea de reloj en serie y la línea de datos en serie

Cada aparato está identificado por una dirección individual. Aquí, los transmisores y receptores pueden funcionar en dos modos, como modo maestro / modo esclavo. Se trata de un bus multimaestro y puede ser gestionado por uno o más bus masters vinculados a él. Estos microcontroladores admiten velocidades de bits de hasta 400 kbit / s.

Controlador de entrada / salida en serie SPI

Estos microcontroladores incluyen un solo controlador SPI y están diseñados para manejar numerosos maestros y esclavos asociados con un bus específico.

Simplemente, un maestro y un esclavo pueden conversar a través de la interfaz durante la transmisión de datos especificada. Durante esto, el maestro transmite constantemente un byte de datos hacia el esclavo, así como el esclavo transmite datos constantemente hacia el maestro.

Controlador de entrada / salida serie SSP

Estos microcontroladores contienen un solo SSP, y este controlador es capaz de procesar en un SPI, bus de microcables o SSI de 4 cables. Puede comunicarse con el bus de varios maestros y esclavos

Pero, simplemente un maestro en particular, así como un esclavo, pueden conversar en el bus durante una transmisión de datos específica. Este microcontrolador admite transferencias full-duplex, mediante tramas de datos de 4-16 bits que se utilizan para el flujo de datos desde el maestro-el esclavo así como desde el esclavo-el maestro.

Temporizadores / Contadores

Temporizadores y contadores están diseñados para contar los ciclos de PCLK (reloj periférico) y opcionalmente producen interrupciones basadas en registros de 4 coincidencias.

Y comprende cuatro capturas i / ps para capturar el valor de un temporizador cuando cambian las señales i / p. Se pueden elegir varios pines para ejecutar una captura en particular. Estos microcontroladores pueden calcular eventos exteriores en las entradas de captura si el menor pulso exterior es equivalente. En esta disposición, las líneas de captura inactivas se pueden elegir como captura habitual con temporizador i / ps.

Temporizador de vigilancia

El temporizador de vigilancia se utiliza para reiniciar el microcontrolador en un tiempo razonable. Cuando está permitido, el temporizador producirá un reinicio de un sistema si el programa consumidor no logra recargar el temporizador en una suma de tiempo fija.

RTC-Reloj en tiempo real

El RTC está diseñado para proporcionar contadores para calcular el tiempo en que se elige el método de funcionamiento inactivo o normal. El RTC utiliza una pequeña cantidad de energía y está diseñado para arreglos apropiados alimentados por batería donde la unidad central de procesamiento no está funcionando constantemente

Control de poder

Estos microcontroladores admiten dos modos de potencia condensada, como el modo de apagado y el modo inactivo. En el modo inactivo, la ejecución de las instrucciones se equilibra hasta que se produce una interrupción o RST. Las funciones del periférico mantienen la operación durante el modo inactivo y pueden producir interrupciones para hacer que la CPU reinicie el acabado. El modo inactivo elimina la energía utilizada por la CPU, los controladores, los sistemas de memoria y los buses internos.

En el modo de apagado, el oscilador se desactiva y el IC no tiene relojes internos. Los registros periféricos, la condición del procesador con registros, los valores internos de SRAM se conservan durante el modo de apagado y los pines de salida de los niveles lógicos del chip permanecen fijos.

Este modo se puede terminar y el proceso común reiniciar mediante interrupciones específicas que pueden funcionar sin relojes. Debido a que el funcionamiento del chip está equilibrado, el modo de apagado reduce la utilización de energía del chip a casi cero.

PWM - Modulador de ancho de pulso

Los PWM se basan en el bloque de temporizador normal y también entran en todas las características, aunque simplemente la función del modulador de ancho de pulso está fijada en los microcontroladores como LPC2141 / 42/44/46/48.

El temporizador está diseñado para calcular ciclos PCLK (reloj periférico) y, opcionalmente, producir interrupciones cuando surgen valores de temporizador particulares basados ​​en registros de 7 coincidencias, y la función PWM también depende de los eventos de registro de coincidencias.

La capacidad de controlar individualmente las posiciones de los límites crecientes y decrecientes permite que la modulación de ancho de pulso se utilice para varias aplicaciones. Por ejemplo, el control de motor típico con multifase utiliza 3 salidas no superpuestas de PWM mediante un control separado de cada ancho de pulso y posiciones.

Autobús VPB

El divisor VPB resuelve la asociación entre el CCLK (reloj del procesador) y el PCLK (reloj utilizado por los dispositivos periféricos). Este divisor se utiliza para dos propósitos. El primer uso es suministrar periféricos mediante el PCLK preferido utilizando el bus VPB para que puedan funcionar a la velocidad seleccionada del procesador ARM. Para lograr esto, esta velocidad del bus se puede reducir la frecuencia de reloj del procesador de 1⁄ 2 -1⁄ 4.

Porque este bus debe funcionar con precisión en el encendido, y el estado predeterminado en RST (reinicio) es que el bus funcione a 1⁄4 de la frecuencia de reloj del procesador. El segundo uso de esto es permitir ahorros de energía siempre que una aplicación no necesite ningún periférico para funcionar a la velocidad completa del procesador. Dado que el divisor VPB está asociado con la salida de PLL, este permanece activo durante un modo inactivo.

Emulación y depuración

El microcontrolador (LPC2141 / 42/44/46/48) mantiene la emulación y depuración a través del puerto serie-JTAG. Un puerto de rastreo permite rastrear la ejecución del programa. Las funciones de seguimiento y los conceptos de depuración se multiplexan con port1 y GPIO.

Seguridad del código

La característica de seguridad de código de estos microcontroladores LPC2141 / 42/44/46/48 permite que una función controle si se puede proteger o depurar de la inspección.

Por lo tanto, todo esto se trata de la arquitectura de microcontrolador LPC2148 basada en ARM7. Del artículo anterior, finalmente, podemos concluir que ARM es una arquitectura utilizada en numerosos procesadores y microcontroladores. Aquí hay una pregunta para usted, ¿cuál es la arquitectura de un procesador ARM?