[Diao Ye aprende a programar] Arduino práctico (196) --- Placa de desarrollo Raspberry Pi Pico

La referencia a 37 sensores y módulos ha estado muy difundida en Internet, de hecho, debe haber más de 37 módulos sensores compatibles con Arduino. En vista del hecho de que he acumulado algunos módulos de sensores y actuadores a la mano, de acuerdo con el concepto de verdadero conocimiento (debe ser práctico), con el propósito de aprender y comunicar, aquí voy a tratar de hacer más. experimentos uno por uno. Ya sea que tenga éxito o no, se registrará —— Pequeño progreso o problemas irresolubles, espero poder arrojar ladrillos y chispas de jade.

[Arduino] 168 tipos de experimentos de la serie de módulos de sensores (código de datos + programación de simulación + programación de gráficos)
Experimento 196: placa de desarrollo Raspberry Pi Pico raspberry pi PICO dual-core RP2040 controlador de nivel de entrada de programación C++/Python de un solo chip

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

El 21 de enero de 2021, el blog del sitio web oficial de la Fundación Raspberry Pi (Fundación Raspberry Pi) lanzó la última placa de desarrollo de microcontroladores: RaspBerry Pi Pico, que utiliza el primer chip RP2040 de desarrollo propio.

El chip RP2040 es fabricado por TSMC utilizando un proceso de 40 nm. Adopta la arquitectura de procesador Arm Cortex M0+ con una frecuencia de ejecución de 133 MHz. Tiene 264 K SRAM y 2 MB de espacio de almacenamiento integrado, lo que resuelve en gran medida los problemas de entrada analógica, baja latencia, y bajo consumo de energía. .

El Raspberry Pi Pico se basa en el RP2040. De acuerdo con los principios de diseño originales, PR2040 logró tres objetivos: primero, alto rendimiento, especialmente para cargas de trabajo de números enteros; segundo, E/S más flexible, que permite la comunicación con cualquier dispositivo externo; tercero, bajo costo.

inserte la descripción de la imagen aquí
Con respecto al significado del número de modelo RP2040, RP significa "Raspberry Pi", "2" es la cantidad de núcleos y "0" se refiere al núcleo MCU utilizado (por ejemplo, Cortex-M0+).

Los dos últimos dígitos son "4" y "0". Utilice la fórmula floor(log2(x/16k)) para calcular un número que represente la SRAM y la capacidad de almacenamiento no volátil dentro del chip.

El chip RP2040 está empaquetado en QFN-56 de 7 × 7 mm y el diagrama de bloques funcional específico es el siguiente:

inserte la descripción de la imagen aquí
Indicadores de rendimiento de RP2040:

Arm Cortex-M0+ de doble núcleo @ 133 MHz
264 KB de RAM en chip, 6 bloques de RAM independientes internos, intercambiados en el centro del bus, lo que permite que el núcleo y DMA funcionen en paralelo sin conflicto A través del
bus QSPI dedicado, puede soportar hasta a 16 MB de memoria flash fuera del chip
Controlador DMA
Interpolador y divisor de enteros periféricos
30 pines GPIO, 4 de los cuales se pueden usar para entrada analógica
2 × UART, 2 × controlador SPI y 2 × controlador I2C
16 × canales PWM
1 × controlador USB 1.1 y PHY, compatible con host y dispositivo
8 × Raspberry Pi máquina de estado de E/S programable
modo de arranque de almacenamiento USB y compatible con UF2, se puede programar arrastrando y soltando
el paquete QFN de 56 pines 7*7

inserte la descripción de la imagen aquí
El chip RP2040 está diseñado y desarrollado por la propia Raspberry Pi, utilizando una tecnología de proceso de 40 nm y un paquete QFN-56 de 7×7 mm. La filosofía de diseño del RP2040 se basa en las fortalezas y debilidades de los productos Raspberry Pi y los equipos de otros proveedores utilizados en proyectos a lo largo de los años. Tiene principalmente las siguientes tres ventajas clave:

1. Dos núcleos de CPU rápidos. El RP2040 cuenta con un par de núcleos ARM Cortex-M0+ sincronizados a 133 MHz, lo que proporciona un amplio rendimiento de enteros. Los usuarios pueden usar un núcleo para ejecutar el código de la aplicación mientras que el otro supervisa el hardware; también pueden usar FreeRTOS o MicroPython para ejecutar el código de la aplicación en ambos núcleos.
2. Mucha RAM. El RP2040 tiene 264 KB de RAM, lo que permite a los usuarios concentrarse en implementar la funcionalidad sin gastar tiempo y esfuerzo en optimizar el tamaño de la aplicación. Entre ellos, un conmutador totalmente conectado conecta el núcleo ARM y el motor DMA a seis bancos de RAM independientes, lo que permite a los usuarios aprovechar al máximo el rendimiento del sistema.
3. E/S flexibles. El RP2040 proporciona todas las interfaces comunes: controladores de hardware UART, SPI e I2C, USB 1.1 y ADC de cuatro canales. Lo que distingue al RP2040 es el subsistema de E/S programable (PIO), que admite protocolos implementados por software, incluidos SDIO, DPI, I2S e incluso DVI-D.

Todo esto está empaquetado en un chip de 2 mm² y 40 nm.

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Diagrama esquemático eléctrico de la placa de desarrollo pico de frambuesa

inserte la descripción de la imagen aquí

Diagrama de pin pico de Raspberry Pi

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Lista de recursos recopilados de Raspberry Pi Pico
Raspberry Pi Pico es una placa de microcontrolador de bajo costo y alto rendimiento con una interfaz digital flexible.

Documentación
Primeros pasos: guía oficial de inicio de Pico. https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
Pico SDK C/C++ - Pico SDK C/C++ ± documentación oficial de Pico C/C++ SDK. https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf
Pico SDK MicroPython - Pico SDK MicroPython - Documentación oficial de MicroPython SDK. https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-python-sdk.pdf
Pico Doxygen - Pico Doxygen - La "documentación oficial de Doxygen de nivel API para Raspberry Pi Pico". https://www.raspberrypi.com/documentation/pico-sdk/
Diagrama de pines: diagrama de pines oficial de Raspberry Pi pico. https://datasheets.raspberrypi.com/pico/Pico-R3-A4-Pinout.pdf
Diagrama de Fritzing - Diagrama de Fritzing - Diagrama oficial de Fritzing de Pico.
Archivos de diseño - Archivos de diseño - Archivos de diseño de hardware oficiales de Pico.
Hoja de datos de Pico - Hoja de datos de Pico - Hoja de datos oficial de Pico. https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf
Hoja de datos RP2040 - Datos del chip RP2040 - Hoja de datos oficial del chip RP2040.
Diseño de hardware - Diseño de hardware - Manual de referencia oficial de diseño de hardware para RP2040.

Software y herramientas
Ejemplos de Pico - Ejemplos de SDK de Raspberry Pi Pico. https://github.com/raspberrypi/pico-examples
Ejemplos de Pico MicroPython - Ejemplos de Raspberry Pi Pico MicroPython. https://github.com/raspberrypi/pico-micropython-examples
Pico SDK Repo - Repositorio oficial de Raspberry Pi Pico SDK. https://github.com/raspberrypi/pico-sdk
Script de configuración de Pico C++: un script BASH para configurar la cadena de herramientas de Pico C++ en su dispositivo.
Picotool: Picotool es una herramienta para inspeccionar binarios RP2040 e interactuar con dispositivos RP2040 cuando está en modo BOOTSEL.
Picoprobe: use un Raspberry Pi Pico para depurar otro Pico. Esto es posible con picoprobe, una aplicación que permite que el Pico actúe como un convertidor USB→SWD y UART.
Restablecimiento de la memoria flash Pico: fuerce la limpieza del espacio de la memoria flash pico de Raspberry pi para que se vacíe.
Thonny IDE: soporte de Thonny IDE para Pico. https://github.com/raspberrypi/thonny-pico
Pico-Stub: inserción de código Python y autocompletado para Raspberry Pi pico desde Visual Studio Code. https://github.com/cpwood/Pico-Stub
Pimoroni Pico: biblioteca y ejemplos de Pimoroni Pico con compatibilidad con micropython y C/C++. https://github.com/pimoroni/pimoroni-pico

Blog de recursos
Anuncio oficial de Pico: primer anuncio de Raspberry Pi Pico.
Libro MicroPython: nuevo libro para ayudarlo a comenzar con MicroPython en Raspberry Pi Pico.
NeoPixel Dithering: la mirada de la revista HackSpace a los NeoPixels con un Raspberry Pi Pico.
Un vistazo más de cerca a RP2040: obtenga información detallada sobre la E/S programable (PIO) Raspberry Pi RP2040.

Libros
MicroPython Pico: comience a aprender sobre las placas de desarrollo raspberrypi pico usando micropython.

Community Project
Pico Tetris - Tetris en Raspberry Pi Pico instalado en Pimoroni Pico Explorer.
Pico Display Color Change: aplicación Pico que utiliza el paquete de visualización de Pimoroni.
Pico Lib para NeoPixels: una biblioteca Raspberry Pi Pico para usar NeoPixels (WS2812b LED).
TensorFlow Lite Micro: biblioteca TensorFlow Lite Micro para Pico.
Rust Support Crate: brinda soporte para la arquitectura PIO de Raspberry Pi.
morse4pico - Script de código Morse muy simple en MicroPython para Raspberry Pi Pico.
picoLCD: picoLCD es una colección de características que facilitan la interfaz de pantallas LCD basadas en HD44780 en Raspberry Pi Pico.
Seguimiento de globos Dispositivo de seguimiento de globos meteorológicos Raspberry Pi Pico. El código está en https://github.com/daveake/pico-tracker
Pico Snake - Raspberry Pi Pico Snake ejecutándose en Pimoroni Pico Explorer.
Marcador de libro molesto: un marcador que cuenta el tiempo transcurrido desde la última vez que abrió el libro.

Tutorial
Controlar un LED - Documento de configuración oficial de Raspberry Pi, utilizando el lenguaje micro python para controlar la luz LED. https://projects.raspberrypi.org/es/proyectos/empezando-con-el-pico

Playpiper de programación de gráficos
: una plataforma de aprendizaje para principiantes. https://make.playpiper.com/

El enlace de datos que viene con la placa
Modelo: Raspberry Pi RP2 https://www.raspberrypi.org/documentation/rp2040/getting-started/

Supongo que te gusta

Origin blog.csdn.net/weixin_41659040/article/details/132148065
Recomendado
Clasificación