68

GitHub - maximeborges/pico-rmii-ethernet

 2 years ago
source link: https://github.com/maximeborges/pico-rmii-ethernet
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

pico-rmii-ethernet

Enable 100Mbit/s Ethernet connectivity on your Raspberry Pi Pico with an RMII based Ethernet PHY module.

Leverages the Raspberry Pi RP2040 MCU's PIO, DMA, and dual core capabilities to create a Ethernet MAC stack in software!

Hardware

Modification to do

We're generating the 50MHz RMII clock on the RP2040 instead of getting it from the LAN8720A crystal. For that, we remove the two R12 and R14 resistors, and connect one of them back on the two top pads instead to avoid connecting the onboard crystal to the clock, and instead connect the nINT/RETCLK pin from the connector to the XTAL1/CLKIN pin of the LAN8720A chip.

Wiring

RMII Module Raspberry Pi Pico Library Default

TX1 TX0 + 1 11

TX-EN TX0 + 2 12

TX0 any GPIO 10

RX0 any GPIO 6

RX1 RX0 + 1 7

nINT / RETCLK 21/23/24/25 21

CRS RX0 + 2 8

MDIO any GPIO 14

MDC MDIO + 1 15

VCC 3V3

GND GND

Examples

See examples folder. LWIP is included as the TCP/IP stack.

Current Limitations

  • Built-in LWIP stack is compiled with NO_SYS so LWIP Netcon and Socket API's are not enabled
  • Auto-negotiation to 10BASE-T is not supported
  • MDIO is bit-banged

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK