Skip to content
JasonMur edited this page Jan 13, 2017 · 9 revisions

Welcome to the DP83848-Controller wiki!

This is my second LogiPi project and a little more ambitious. Building on the I2C interface I designed for the I2CMatrix project, this project provides a bi-directional interface to the DP83848I Ethernet Board. I have also added 'clock stretching' to the I2C Interface (which allows I2C slaves to place the I2C master in idle when they are not ready to receive or send data).

I also needed to make a couple of minor mods to the Ethernet Board. I removed R1 which links the on-board 50Mhz Crystal Osc to the Osc input to the chip, so that I can use the LogiPi on-board 50Mhz reference clock. I also added a 22K pull up resistor to the MDIO input. Otherwise the interface is good to go.

Connecting the board is very straightforward, basiclly it plugs directly into PMOD 1 so that the GND and Vcc pins line up with PMOD1 Pins 5 & 11 (GND) and PMOD1 Pins 6 & 12 (Vcc). You can also see the pull up resistor here.

The Python program creates a GUI to allow users to setup and monitor registers and provides LEDs for Ethernet link status.

I did look at the standard PMOD Ethernet controller from Digilent, but it does not provide access to the line Tx and Rx signals via the PMOD, so although this project would have been OK, future full MAC implementation would not have been possible.

Clone this wiki locally