A partir del LPC1768

En este tutorial, empezaremos a explorar un área muy nueva de los microcontroladores conocida como la secuencia ARM Cortex-M3. Para ser más concretos, tomaremos una MCU basada principalmente en el Framework ARM Cortex-M3 y descubriremos sus opciones, características y programación. Para este objetivo, he elegido la MCU LPC1768 de NXP. En esta información de Introducción al LPC1768, hablaré de las especificaciones de la MCU LPC1768, de su diagrama de bloques interno, del mapa de memoria y de algunas de sus funciones genéricas.

[adsense1]

¿Por qué he elegido el LPC1768?

Antes de aclarar la lógica, déjame que te explique algunos fundamentos de la secuencia ARM Cortex-M. Es un grupo de núcleos de procesadores ARM de 32 bits basados en RISC, principalmente diseñados y licenciados por Arm Holdings. Los núcleos Cortex-M Sequence están diseñados para microcontroladores de bajo precio y bajo consumo que pueden utilizarse en diversas funciones integradas.

A lo largo de la secuencia Cortex-M, hay una serie de grados como Cortex-M0, M3, M4, M7 y muchos otros. Cada uno de ellos tiene una serie de variantes útiles o de implementación y están diseñados para un conjunto de funciones concreto. Por ejemplo, las variantes de ARM Cortex-M3 tienen un pipeline de instrucciones de 3 fases y no ayudan a las dos direcciones de nivel flotante ni a las direcciones DSP. Sin embargo, las variantes de ARM Cortex-M7 tienen un pipeline de 6 niveles y ayudan a cada nivel flotante además de las direcciones DSP.

[adsense2]

Ahora nos permite tratar la estructura de esta secuencia tutorial, es decir, ARM Cortex-M3. Es la primera secuencia de toda la línea ARM Cortex-M y se centra principalmente en el mercado de los microcontroladores de 32 bits. El ARM Cortex-M3, basado principalmente en MCU, tiene muchas opciones incorporadas que sólo se pueden descubrir en los microprocesadores de gama alta.

El núcleo ARM Cortex-M3 fue diseñado y desarrollado como sucesor del conocido marco ARM-7. Lanzó una serie de opciones como las interrupciones no enmascarables, las interrupciones vectoriales anidadas, la manipulación atómica de bits y la seguridad reminiscente. Todo esto y muchas otras opciones hacen del núcleo ARM Cortex-M3 una estructura ARM muy conocida y utilizada en el mercado de los microcontroladores.

Los productores de semiconductores compran a Arm Holdings la licencia de la IP ARM Cortex-M3 dentro del tipo RTL de Verilog (que es el núcleo del procesador). A continuación, modifican (u optimizan) el marco para adaptarlo a sus necesidades, pero siguiendo estrictamente los indicadores de Arm (es decir, el núcleo del procesador). Además, añaden su propio sabor de periféricos para hacer una unidad de microcontrolador completa.

Algunos de los principales distribuidores de MCUs basados en ARM Cortex-M3 son STMicroelectronics, NXP, Texas Devices, Infineon, Microchip (Atmel), Toshiba, Analog Units y muchos otros.

En esta secuencia de tutoriales sobre ARM Cortex-M3, he elegido la MCU LPC1768 de NXP. Aunque se basa principalmente en el marco ARM Cortex-M3, creo que es un aparato bastante fácil en lo que respecta a su implementación de SFR (Registros Operativos Particulares), buena ayuda para el {hardware} (placas de mejora y depuradores) además del programa de software (IDEs y Simuladores), buena documentación y bibliotecas periféricas bien escritas.

El enfoque correcto para enseñar el LPC1768 (o cualquier sistema ARM)

Estudiar algunos aparatos nuevos, y también un aparato elegante como una MCU basada principalmente en ARM Cortex-M3, es una actividad bastante dura. Para empezar, la documentación es una pesadilla. Primero quieres la Guía de Referencia del Marco ARM, luego el TRM (Manual de Referencia Técnica) del Núcleo ARM, y después la Información Genérica para el Consumidor del Núcleo ARM. Esto es simplemente de la faceta ARM.

Así que ahora tenemos la documentación particular del proveedor, como el Manual de Referencia, la Información al Consumidor y la Hoja de Datos. Sin embargo, estudiar todos estos paquetes de documentación no va a ser útil. Para empezar, nadie (ni siquiera los mejores constructores de software) lee toda la documentación (y te recomiendo que no te aprendas toda la documentación). Tendrás que estudiar un comportamiento de simplemente estudiar la mitad obligatoria e ignorar el resto (en ese segundo específico).

Además, el estudio de un aparato elegante como el LPC1768, una MCU ARM Cortex-M3, tiene un plus. Como consecuencia de su complejidad, arquitectónicamente, todos los aparatos ARM Cortex-M3, junto con el LPC1768, están organizados en varios «bloques útiles». Cada bloque tiene su conjunto personal de registros y funciona de forma bastante imparcial para los distintos bloques.

Por ejemplo, toma el propio LPC1768. Tiene una Unidad de Era de Reloj para producir el reloj principal del sistema, una Unidad GPIO para interconectar periféricos diversos, un Periférico UART para la comunicación en serie y mucho más. Si quieres estudiar sobre los GPIOs, entonces puedes ocuparte estrictamente de la Unidad GPIO, sus registros y averiguar cómo manipularlos.

En este método, podrás conocer todos los periféricos y, en el transcurso del mismo, te darás cuenta de cómo estos periféricos dependen unos de otros, cómo se transmiten (entre ellos además del procesador principal) y cómo podemos utilizarlos de acuerdo con el desarrollo de nuestras funciones.

Especificaciones del LPC1768

El LPC1768 de NXP es un microcontrolador ARM Cortex-M3 basado principalmente en la secuencia LPC1700. Su frecuencia de CPU será tan excesiva como 100 MHz. El núcleo del procesador principal, que es el Arm Cortex-M3, depende de la estructura Harvard con tres buses, uno para cada dirección, conocimiento y periféricos.

Hablando de periféricos, la MCU LPC1768 consta de los siguientes periféricos 512 kB de Flash, 64 kB de RAM, interfaz USB, MAC Ethernet, 4 UART, 2 CAN, 3 interfaces I2C, SPI, 2 controladores SSP, 2 entradas 2 salidas I2S, ADC de 8 canales con decisión de 12 bits, DAC de 10 bits, 4 temporizadores, DMA de 8 canales, PWM de 6 canales, PWM de gestión de motores, RTC de bajo consumo, codificador de cuadratura y 70 pines GPIO.

A continuación se ofrece una breve lista de las especificaciones de la MCU LPC1768. Para conocer todos los detalles, te recomiendo que consultes la hoja informativa.

  • Procesador ARM Cortex-M3 con NVIC y MPU integrados y frecuencia de CPU de 100 MHz.
  • Cargador de arranque en el chip para la programación en el sistema (ISP) y la programación en la aplicación (IAP).
  • 512 kB de Flash en el chip y 64 kB de SRAM en el chip.
  • controlador DMA de 8 canales que puede utilizarse con ADC, DAC, temporizadores, UART, SSP, I2S.
  • Matriz de interconexión AHB multicapa con bus separado para el agarre AHB (CPU, DMA, Ethernet y USB). Bus APB separado para todos los diferentes periféricos.
  • Interfaces seriales
    • MAC Ethernet con interfaz RMII
    • Controlador USB 2.0 de alta velocidad
    • 4 UARTs
    • controlador CAN de 2 canales
    • 2 Controladores SSP
    • 3 Interfaces I2C
    • SPI
    • I2S
  • Diferentes periféricos
    • 70 pines GPIO
    • cDa de 8 canales de 12 bits
    • dAC de 10 bits
    • 4-Timers
    • Bloque PWM dedicado
    • Gestión de motores PWM
    • Interfaz del codificador de cuadratura
    • RTC
    • WDT

Diagrama de bloques del LPC1768

La siguiente imagen muestra el diagrama de bloques interno de la MCU LPC1768. Como puedes ver en el diagrama de bloques, el procesador ARM Cortex-M3 consta de tres buses: el bus I-code (para la obtención de instrucciones), el bus D-code (para la entrada de conocimientos) y el bus del sistema (para la entrada de periféricos).

Introducción al diagrama de bloques del LPC1768

La matriz AHB de varias capas se utiliza para conectar los tres buses del ARM Cortex-M3, además de los Bus Masters opuestos (es decir, DMA, USB y Ethernet) al resto de periféricos.

Mapa de recuerdo de LPC1768

La MCU LPC1768, al igual que las otras MCU ARM Cortex-M3, incorpora varias áreas de memoria para Flash, RAM, periféricos AHB y periféricos APB. Al tratarse de una estructura de 32 bits, el LPC1768 tiene una casa de mango de 4 GB.

La siguiente imagen representa el mapa de reminiscencia global de toda la casa de cables de 4 GB.

Cómo empezar con el mapa de memoria del LPC1768

Funciones del LPC1768

La MCU LPC1768, al ser un microcontrolador basado principalmente en ARM Cortex-M3, es lo suficientemente eficaz como para realizar funciones integradas bastante complicadas. A continuación se enumeran varias de las funciones generalizadas de esta MCU:

  • Gestión del motor
  • Alarma / Técnicas de seguridad
  • Red industrial
  • Modelos de gestión de la iluminación
  • equipo de medición electrónica
  • Modelos de refrigeración y lavado de calidad para el cliente

Conclusión

Este puede ser un sencillo tutorial para empezar a utilizar la MCU LPC1768. En este tutorial, he dado una breve introducción a la MCU LPC1768 de NXP, basada principalmente en ARM Cortex-M3, junto con algunas especificaciones esenciales. Te recomiendo que consigas la Hoja de Datos además del Manual del Consumidor para el LPC1768, ya que son la información de entrada para toda la información obligatoria.

En los próximos tutoriales, tomaré algunos periféricos esenciales del LPC1768 e intentaré aclarar cómo configurarlos accediendo a los registros correspondientes.

{Ideas de programas de hardware y software

Como parte de esta información sobre el inicio del LPC1768, quiero hacer algunas soluciones sobre el {hardware} y el programa de software utilizados para las funciones de crecimiento del LPC1768.

Dado que todas las MCUs LPC1768 incluyen cargadores de arranque UART, cualquier placa de mejora con una MCU LPC1768 y una interfaz UART a USB integrada puede ser suficiente. No quieres una tabla de mejora de alta gama ni una tabla de mejora cara.

En cuanto al programa de software, quiero utilizar el IDE Keil MDK para escribir y depurar el código C para el LPC1768. Para programar la MCU LPC1768, podría utilizar el dispositivo de programación Flash Magic, que está diseñado especialmente para los microcontroladores NXP con cargadores de arranque UART.

Si es así, debes comprar un depurador JTAG para microcontroladores ARM. Sin embargo, esto es opcional y puedes salirte con la función del simulador Keil MDK.

Lee:  9 Reseñas de los Mejores Acondicionadores de Aire de 2022
Javired
Javired

Deja una respuesta

Tu dirección de correo electrónico no será publicada.