Categorías
Hardware

El ladrillo que se convierte en un LED que brilla. (Parte 1)

Este es el primero de una serie de posts que voy a dedicar a entender como se pasa de una tarjeta electrónica «vacia» a tener un dispositivo con un software mínimo que nos permita hacer tareas alucinantes como… encender un LED

Antes de meternos en harina tienes que saber unas cuantas cosas.

Lo primero, que la tarjeta que voy a utilizar es la Argon kit de la firma Particle.

Argon, IoT Starter Kit – Particle Retail
Argon Kit con sus accesorios:
Bread board, antena WiFi, cable USB, LEDs y resistencias.

Las características más destacables de esta placa son:

MCU PrincipalNordic Semiconductor nRF52840 SoC
ARM Cortex-M4F 32-bit processor @ 64MHz
1MB flash, 256KB RAM
MCU SecundarioEspressif ESP32-D0WD 2.4G Wi-Fi coprocessor
SPI-Flash4MB
I/O20 patillas de GPIO que pueden configurarse como PWM, I2C, SPI, UART
JTAGConnector SWD para usar In-Circuit Debuggers
LED1 x LED RBC conectado a 3 de las salidas GPIO
1 x LED monocolor azul conectado a otra salida GPIO
CargaConector para batería LiPo
USBConector USB para alimentación / UART y grabación de Firmware mediante el bootloader.
BotonesReset y Mode
Especificaciones de la Argon Kit

¿Por qué esta placa?

Pues por dos motivos. Primero que es una placa que tenía en casa. Ya sabes, de esas que compras en una preventa mientras te prometes que no le pasará lo mismo que a las 15 anteriores…

…eso fue en noviembre de 2018

El segundo motivo es porque el MCU (SoC o como quieras llamarlo) principal de esta placa es de la marca Nordic Semiconductor en concreto de la familia nRF528xx.

Es una familia muy extendida desde hace 3-4 años en el mercado y NO HE TRABAJADO NUNCA CON ELLA.

Espera, ¿que?. ¿Y como se supone que vas a enseñarnos a hacer algo útil?

Una cosa que quiero demostrar con este tutorial es que teniendo claros unos conceptos básicos, puedes enfrentarte con cualquier Microcontrolador/Microprocesador/SoC (o el nombre molón que le pongan a la siguiente generación semiconductores) y salir victorioso.

Consiguiendo el mapa del tesoro

En esto de los sistemas embebidos, puesto que vas a meter en terrenos inexplorados lo primero que tenemos que conseguir es documentación.

¿Documentación sobre que? Pues sobre dos cosas

a) Esquema electrónico (o esquemático)

Lo que nos permitirá saber como está conectado todo.

Extracto del esquematico de la placa Argon Kit

Por ejemplo, en el extracto del esquemático del Argon Kit vemos que el LED RGB está conectado a 3 patillas que se llaman P0.13(Rojo), P0.14(Verde) y P0.15(Azul).

Que son esas patillas y que significan los nombres que tienen, lo veremos más adelante.

Si quieres ver el esquemático del Argon Kit. PINCHA AQUÍ

b) Manual de referencia

En este manual, que habitualmente tiene cientos de páginas el fabricante cuenta con pelos y señales todas las interioridades del chip en cuestión.

Secuencia de arranque, mapa de memoria, configuración de los periféricos, cuanta memoria flash tiene, cuanta memoria RAM, como se accede a ella, etc.

Además suele tener entremezclada información sobre características puramente electrónicas. Voltajes de operación, corrientes máximas, esquemas de conexión básicos, consideraciones a la hora de hacer un PCB para este chip, etc.

Si quieres ver el manual del nRF52840. PINCHA AQUÍ

!551 páginas de indómita e indigesta información!

Separando en grano de la paja

Como comentaba hace un momento, en el manual de referencia se mezclan datos de dos tipos que interesan a diferentes personas.

Por un lado información eléctrica/electrónica que interesa al diseñador de PCB o Ingeniero Electrónico que vaya a diseñar una placa con este SoC.

Y por otro lado información que necesita alguien que como nosotros quiera ejecutar algún SW en ese SoC.

Una de las cosas más importantes a la hora de desarrollar SW embebido para una tarjeta es saber extraer la información de este tipo de manuales y saber como aplicarla en nuestro software.

A lo largo de la serie veremos ejemplos concretos sobre como configurar diferentes periféricos del SoC en nuestro SW a partir de la información extraída del manual de referencia.

En el próximo capítulo…

En este primer capítulo hemos hecho las presentaciones y dado algunas pinceladas de cosas a tener en cuenta a la hora de convertir un ladrillo en algo útil.

En la segunda parte del post hablaremos de las herramientas SW que utilizaremos para dar vida a nuestro ladrillo.

Pero por hoy es suficiente, que no quiero provocar derrames cerebrales masivos nada más empezar.

Una respuesta a «El ladrillo que se convierte en un LED que brilla. (Parte 1)»

la primera vez que entro y pinta bien, intentaré seguirte porque ando algo liado con un proyecto que empezó con arduino y va a evolucionar a ESP32

Deja una respuesta

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