Drie jaar geleden kreeg het Pico-10BASE-T-project van @kingyoPiyo veel aandacht right here on Elektor doordat er 10 Mbit/s Ethernet op de Raspberry Pi Pico werd geïmplementeerd met slechts een paar weerstanden. In 2023 volgde er weer een mijlpaal met bit-banged USB, waar werd getoond hoe ver de programmeerbare I/O van de RP2040 (en nu ook RP2350) kan worden uitgerekt.

Wat kan een RP2350 hierna bit-bangen?

Nu heeft ontwikkelaar Steve Markgraf (GitHub @steve-m) het concept uitgebreid met Pico-100BASE-TX — een 100 Mbit/s Fast Ethernet-zender die helemaal in software draait.

Markgraf’s implementatie gebruikt de PIO en DMA om MLT-3-codering, 4B5B-lijncodering en scrambling toe te passen op een symboolsnelheid van 125 MHz. Het resultaat is een werkende 100 Mbit/s-link die ongeveer 11 Mbyte/s kan streamen via UDP, wat wordt aangetoond met real-time audio- en ADC-datastreams.

Bit-Bangs 100 Mbit/s Ethernet on a Raspberry Pi Pico
Bit-bangen van 100 Mbit/s Ethernet op een Raspberry Pi Pico. Bron: https://github.com/steve-m/Pico-100BASE-TX

Zoals eerder is dit een alleen-zenden proof of concept en mag het niet worden aangesloten op PoE-hardware. Gebruik een pulstransformator of een tussenliggende Ethernet-switch voor isolatie.

Bekijk de rest van zijn repo

Voorbeelden van toepassingen in de repository zijn onder andere een teller, een interne-ADC-streamer en een audiodemo met een PCM1802-converter op 75 kHz. De library ondersteunt zowel de RP2040 als de nieuwere RP2350 (Pico 2) en werkt met de standaard Pico SDK.

Bron: Pico-100BASE-TX op GitHub — check de video daar om het in actie te zien.
 

Naast het technische hoogstandje laten dit soort projecten zien wat er allemaal mogelijk is voor goedkope, snelle data-acquisitie en streaming met microcontrollers die daar eigenlijk helemaal niet voor bedoeld zijn. Een Pico die 11 MB/s over Ethernet kan versturen, zou de basis kunnen zijn voor compacte, goedkope meetinstrumenten, externe sensoren of experimentele netwerkinterfaces — allemaal zonder aparte PHY-chip. Nu deze bit-banged interfaces steeds sneller en krachtiger worden, is de vraag natuurlijk: hoe ver kan software-gedefinieerde hardware eigenlijk gaan op een microcontroller van twee euro?


Inschrijven
Schrijf u in voor tag alert e-mails over Raspberry Pi!