Implémentation d’une liaison Ethernet 100 Mbit/s en bit-banging sur RP2040 et RP2350
sur
Il y a trois ans, le projet Pico-10BASE-T de @kingyoPiyo avait suscité une large attention right here on Elektor pour avoir implémenté l’Ethernet 10 Mbit/s sur le Raspberry Pi Pico avec seulement quelques résistances. En 2023, une autre étape importante a été franchie avec bit-banged USB, montrant jusqu’où l’E/S programmable du RP2040 (et désormais du RP2350) pouvait être poussée.
Qu’est-ce que le RP2350 pourra faire en bit-banging ?
Le développeur Steve Markgraf (GitHub @steve-m) a désormais prolongé ce concept avec Pico-100BASE-TX : un émetteur Fast Ethernet 100 Mbit/s fonctionnant entièrement en logiciel.
L’implémentation de Markgraf utilise le PIO et le DMA pour réaliser le codage MLT-3, le codage de ligne 4B5B ainsi que le brouillage, le tout à un débit de symboles de 125 MHz. Le résultat est une liaison 100 Mbit/s pleinement fonctionnelle, capable de transmettre environ 11 Mo/s en UDP, ce qui permet par exemple de diffuser de l’audio ou des données ADC en temps réel.
Comme précédemment, il s’agit d’une preuve de concept limitée à l’émission, et il ne faut pas connecter le montage directement à du matériel compatible PoE. Un transformateur d’impulsions ou l’interposition d’un commutateur Ethernet est recommandé pour l’isolation.
Découvrez le reste de son dépôt
Les exemples fournis dans le dépôt incluent un compteur, un streamer ADC interne, ainsi qu’une démonstration audio utilisant un convertisseur PCM1802 à 75 kHz. La bibliothèque prend en charge à la fois le RP2040 et le nouveau RP2350 (Pico 2) et se compile avec le SDK standard du Pico.
Source : Pico-100BASE-TX sur GitHub — regardez-le en action dans la vidéo disponible là-bas.
Au-delà de la performance technique, des projets comme celui-ci ouvrent de nouvelles perspectives pour l’acquisition et la diffusion de données à haut débit et faible coût avec des microcontrôleurs qui n’étaient, à l’origine, pas prévus pour cela. Un Pico capable de transmettre 11 Mo/s via Ethernet peut servir de base à des instruments de test compacts et abordables, des capteurs distants ou des interfaces réseau expérimentales, le tout sans puce PHY dédiée. À mesure que ces interfaces bit-banged gagnent en vitesse et en fonctionnalités, une question se pose naturellement : jusqu’où peut aller le matériel défini par logiciel sur un microcontrôleur à deux dollars ?

Discussion (0 commentaire(s))