🛠 Mise en route avancée : UEXT-CH390 et Raspberry Pi Pico
Objectifs
Ce tutoriel vise à initialiser la communication Ethernet filaire 10/100 Mbps entre un microcontrôleur RP2040 et le module UEXT-CH390. Contrairement aux approches débutantes, nous nous concentrons ici sur la configuration précise de l'interface SPI et l'optimisation des tampons SRAM pour garantir une stabilité réseau fiable.
Matériel nécessaire
- Carte Raspberry Pi Pico ou Pico 2 (RP2040/RP2350)
- Module Olimex UEXT-CH390
- Câble USB-C pour l'alimentation et le flash
- Câbles Dupont ou connecteur UEXT compatible
- Environnement de développement Arduino IDE ou SDK Raspberry Pi Pico (C/C++)
Étapes
- Vérification matérielle : Inspectez le module UEXT-CH390. Assurez-vous que les broches du connecteur pUEXT (pas de 1.0 mm) sont alignées avec les broches SPI de la Pico. Le module fonctionne en 3.3V ; ne jamais connecter en 5V.
- Connexion SPI : Si vous n'utilisez pas un connecteur UEXT dédié, reliez les broches SPI de la Pico au module. Utilisez le bus SPI0 par défaut pour la compatibilité logicielle standard. Vérifiez la polarité et la phase pour les modes SPI 0 ou 3, supportés jusqu'à 72 MHz.
- Configuration logicielle : Dans votre IDE, sélectionnez la carte « Raspberry Pi Pico ». Importez la bibliothèque spécifique au pilote CH390 développée pour RP2040. Définissez les broches CS (Chip Select) et les lignes MISO/MOSI dans le code.
- Initialisation : Dans la fonction
setup(), appelez la routine d'initialisation du CH390. Le contrôleur MAC/PHY intégré nécessite une séquence de réinitialisation précise pour charger les registres internes et activer les 16KB de SRAM pour le tampon de paquets. - Test de liaison : Connectez un câble Ethernet RJ45 au module et à votre routeur. Le LED de lien doit s'illuminer. Affichez l'adresse MAC programmée en usine via le port série pour confirmer la détection du matériel.
Vérification
Ouvrez le moniteur série à 115200 bauds. Vous devez voir un message confirmant l'initialisation du CH390 et l'affichage de l'adresse MAC. Si le message échoue, vérifiez l'alimentation 3.3V et les connexions SPI. Une fois l'initialisation réussie, tentez un ping vers l'adresse IP attribuée par DHCP pour valider la couche réseau.
Pour aller plus loin
Explorez l'intégration avec ESPHome pour une découverte automatique Home Assistant. Pour des performances maximales, étudiez le pilote lwIP pour le SDK Pico afin de gérer les mises à jour OTA et l'interface web locale directement sur le microcontrôleur.
Autres tutoriels pour cette carte
- Premier branchement et mise en route de l'UEXT-CH390
- Contrôler des GPIO et capteurs avec UEXT-CH390
- Cas d'usage complet : Connectivité Ethernet pour Raspberry Pi Pico
- Premier branchement et mise en route de l'UEXT-CH390
- Intégrer des GPIO avec l'Ethernet UEXT-CH390
- Connecter un RP2040 au réseau avec UEXT-CH390 et ESPHome
Exemples de code pour cette carte
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)