El nRF51822 de la marca Nordic Semiconductor es un microcontrolador ARM Cortex M0 con capacidades de transmitir datos inalámbricamente en frecuencias 2.4GHz. Tiene varios protocolos para establecer la comunicación con otros dispositivos. En aliexpress venden la placa XL51822-D01 la cual viene con la antena dentro de la misma placa.

Sin embargo esta solo es compatible con su placa de desarrollo BLE. También en aliexpress venden el conjunto listo para llegar y programar. En este otro link tambien pueden comprarlo.

Hace un tiempo quise volver a programar uC pero de más alto nivel ya que necesito que sean capaces de procesar múltiples tareas sin que pierda rendimiento y que además su consumo energético sea bajo. Los PIC de microchip se desempeñan muy bien para actividades monotarea pero cuando necesitas más procesos que administrar estos se quedan cortos…por lo menos en la serie de 8 bit. Es por ello que dedique un poco de tiempo en internet hasta que encontré los procesadores ARM-M0, Este post será para introducirlos en esta familia de procesadores potentes y bajo consumo.
nRF51822:
Este dispositivo tiene entre sus características clave:
- Soporte para enlaces multiples de radio a 2.4GHz radio
- Un microcontrolador ARM Cortex-M0 de 32bit
- Memoria programable flash de 256Kb y 16 Kb de Ram
- Totalmente compatible con dispositivos de la serie nRF24L
- Potencia de salida programable desde +4 dBm a -20dBm
- RSSI
- Entradas y salidas configurables: 31 GPIO.
- Gestion de Energia Simplificada
- Interfaz de comunicación : SPI/2-wire/UART
- Conversor Analogo a Digital de 10-bit
- 128-bit AES ECB / CCM / AAR co-processor
- Amplio voltaje de alimentación: 1.8 V a 3.6 V.
La verdad no entendía por qué había tantos fabricantes distintos diseñando sus SoC con el mismo microprocesador ARM, pero leyendo el libro The Definitive Guide to the ARM Cortex-M0 despeje mis dudas al respecto. Añado parte de la introducción acerca de esta uC.
ARM Cortex-M0
El procesador ARM Cortex-M0 esta diseñado para cumplir las necesidades de de MCU modernos. Está destinada a satisfacer la demanda para las aplicaciones de bajo coste mejorando la conectividad a otras interfaces tales como Ethernet, USB, inalámbricas de baja potencia y usos de sensores análogos tales como sensores touch y acelerómetros.
La idea detrás de un ARM Cortex-M0 fue crear el procesador más pequeño y con un menor consumo posible, mientras es compatible con el rendimiento de procesadores ARM Cortex-M3. Es el resultado del diseño de 12000 compuertas lógicas en una configuración mínima, como un procesador pequeño de 8 o 16 bit, pero siendo un procesador completo de 32 bit que incorpora una tecnología avanzada con muchos beneficios por sobre los dispositivos de 8 o 16 bit.
Eficiencia Energética:
El rendimiento eficiente de un Cortex-M0 (0.9 DMIPS/Mhx) significa que puede hacer una tarea en algunos ciclos (incluso una multiplicación de 32-bit puede ser completada en un ciclo). Esto significa que los dispositivos Cortex-M0 pueden estar en modo bajo consumo más de una vez, otorgando eficiencia energética. Alternativamente, ellos pueden realizar el mismo trabajo en algunos MHz, significando en un menor potencia activa e interferencia Electromagnética (EMI). Su controlador de interrupciones (NVIC) es muy eficiente, lo que se traduce en una sobrecarga de interrupciones menor, aun cuando manipulan interrupciones anidadas a diferentes prioridades.
Densidad de Código.
El tamaño del código generado por el set de instrucciones Thumb-2 es más pequeño que el utilizado en aplicaciones de 8-bit o 16-bit. Esto conlleva a un uso menor de espacio en la memoria flash para la misma aplicación. Esto ahorra al dispositivo costo y potencia, debido a que el acceso a la memoria flash contribuye significativamente al consumo de potencia.
Fácil de uso.
El uC Cortex-M0 es diseñado idealmente para focos donde se programa en C, muchos compiladores lo soportan, y su servicio de rutinas de interrupciones puede ser codificado directamente como funciones en C sin necesidad de assembler.
Antecedentes ARM y procesadores ARM.
ARM tiene una larga historia en el diseño de microprocesadores de 32 bit. En estos días muchos teléfonos móviles usan algunos procesadores ARM en sus diseños, y la aplicación de los procesadores ARM a sido extendida a muchos sistemas de entretención, juguetes electrónicos, computadoras móviles y aplicaciones industriales. Sin embargo, a diferencia de muchas compañías de semiconductores, ARM no produce o vende sus propios microprocesadores. En vez de eso, los procesadores diseñados por ARM son utilizados por otras compañías de semiconductores mediante un modelo de negocios de licenciamiento. ARM proporciona una variada cantidad de diseños de procesadores, y el Cortex-M0 es uno de los productos de la familia procesadores Cortex-M que es diseñado para aplicaciones de microcontroladores.
Temas futuros:
- Programador J-Link
- Programación mediante Keil
- nRF51822
avlosulfon 100mg sale atenolol 50mg without prescription order tenormin sale
order oxybutynin 5mg order oxcarbazepine generic oxcarbazepine order online
order azathioprine sale naproxen 250mg pills purchase naprosyn
prednisolone 20mg uk buy prednisolone 40mg without prescription furosemide order online
buy zofran 8mg sale zofran pill sulfamethoxazole for sale
buy absorica buy isotretinoin pill ampicillin 500mg cost
oral deltasone 10mg buy generic isotretinoin 40mg buy amoxicillin 250mg generic
clomid online buy clomid 50mg price prednisolone 10mg tablet
buy glucophage 1000mg sale buy tamoxifen 10mg pill order nolvadex pill
minocycline 50mg usa purchase minocycline capsules buy terazosin 5mg sale
cheap nexium 20mg buy clarithromycin 500mg sale lasix 100mg uk
buy requip pills order calcitriol generic buy trandate 100mg sale
pepcid tablet cheap pepcid 40mg remeron 30mg for sale
nortriptyline ca buy paxil without prescription paxil pills
buy indocin 75mg online oral cenforce generic cenforce 50mg
fosamax online buy buy furadantin 100 mg generic order ibuprofen for sale
cost digoxin 250 mg digoxin 250mg price buy molnunat 200 mg online cheap
acetazolamide oral diamox 250 mg brand purchase imuran pills
digoxin uk lanoxin over the counter order molnupiravir
Que buena!, yo he estado desconectado de programar micros por el trabajo :(, Espero tener un poquito de tiempo para indagar mas rato
Saludos!
Disculpa olvide poner eso xD, dos nRF51, los compré aqui en ebay (CORE51822), los estoy programando con el ST-Link de una discovery y OpenOCD o también desde Keil, solo he checado algunos de los ejemplos que vienen en los packs de Keil (solo los de los perifericos, nada con SoftDevices), algunos funcionan sin modificaciones, otros tiran algunos errores ;/.
Saludos
que modulos recibiste?, donde los compraste?
Saludos!
A la espera de futuros posts, hoy recibí dos modulos parecidos 🙂