🛠 Inicio avanzado: UEXT-CH390 y Raspberry Pi Pico
Objetivos
Este tutorial tiene como objetivo inicializar la comunicación Ethernet cableada de 10/100 Mbps entre un microcontrolador RP2040 y el módulo UEXT-CH390. A diferencia de los enfoques para principiantes, nos centramos aquí en la configuración precisa de la interfaz SPI y la optimización del búfer SRAM para garantizar una estabilidad de red fiable.
Material Necesario
- Placa Raspberry Pi Pico o Pico 2 (RP2040/RP2350)
- Módulo Olimex UEXT-CH390
- Cable USB-C para alimentación y flash
- Cables Dupont o conector UEXT compatible
- Entorno de desarrollo: Arduino IDE o SDK Raspberry Pi Pico (C/C++)
Pasos
- Verificación de hardware: Inspeccione el módulo UEXT-CH390. Asegúrese de que los pines del conector pUEXT (paso de 1.0 mm) estén alineados con los pines SPI de la Pico. El módulo funciona a 3.3V; nunca lo conecte a 5V.
- Conexión SPI: Si no utiliza un conector UEXT dedicado, conecte los pines SPI de la Pico al módulo. Utilice el bus SPI0 predeterminado para la compatibilidad de software estándar. Verifique la polaridad y la fase para los modos SPI 0 o 3, soportados hasta 72 MHz.
- Configuración de software: En su IDE, seleccione la placa "Raspberry Pi Pico". Importe la biblioteca específica del controlador CH390 desarrollada para RP2040. Defina los pines CS (Chip Select) y las líneas MISO/MOSI en el código.
- Inicialización: En la función
setup(), llame a la rutina de inicialización del CH390. El controlador MAC/PHY integrado requiere una secuencia de reinicio precisa para cargar los registros internos y activar los 16KB de SRAM para el búfer de paquetes. - Prueba de enlace: Conecte un cable Ethernet RJ45 del módulo a su enrutador. El LED de enlace debe encenderse. Muestre la dirección MAC programada de fábrica a través del puerto serie para confirmar la detección del hardware.
Verificación
Abra el monitor serie a 115200 baudios. Debería ver un mensaje confirmando la inicialización del CH390 y la visualización de la dirección MAC. Si el mensaje falla, verifique la fuente de alimentación de 3.3V y las conexiones SPI. Una vez que la inicialización sea exitosa, intente un ping a la dirección IP asignada por DHCP para validar la capa de red.
Para Ir Más Allá
Explore la integración con ESPHome para el descubrimiento automático de Home Assistant. Para un rendimiento máximo, estudie el controlador lwIP para el SDK de Pico para gestionar las actualizaciones OTA y la interfaz web local directamente en el microcontrolador.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
esp32-ch390-lwip-station.inoC++rp2040-pico-ch390-micropython.pyPythonesp32-ch390-udp-sensor-gateway.inoC++esp32-ch390-web-server-local.inoC++rp2040-ch390-iot-home-assistant.inoYAMLrp2040-lwip-ethernet-ping-6.inoC/C++ (Raspberry Pi Pico SDK)