This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83867IR IEEE 1588 functionality

Other Parts Discussed in Thread: DP83867IR

I'm looking for a Gb Ethernet PHY with RGMII interface and found the DP83867IR. In the short overview on page 1 of the datasheet it mentions IEEE 1588, and the only other reference to this is a short description of the possibility to generate an SFD pulse on one of the GPIOs.

This will generate a pulse for each package that comes through the PHY in both directions, which can become quite a lot in a busy Gb network. There are however  a lot of pattern match registers and a register where you can see if the pattern was matched.

I want to match IEEE 1588 messages for only the domain that I'm setup to use and my understanding is that I will be able to setup match data and masks specifying what must be matched, which should work. Is this right?

Is it possible to also have the match bit put out on a GPIO? With the SFD and the match bit on GPIOs I will be able to use my fpga for precise timestamping and only save the timestamps that are relevant for my domain, which is exactly what I'm looking for.

  • Could I use the Wake on Pattern Match interrupt even though nothing is a sleep, to generate the interrupt I need when ever there is a pattern match?
  • Hi Thomas,

    I think your setup is feasible with the DP83867IR.

    Wake on Pattern Match doesn't impose the requirement for the system or PHY to be in any sort of power mode before it will raise an interrupt on a GPIO pin. Interrupt handling is completely up to the system.

    SFD could be output on GPIO_0 and WoL(pattern) could be output on GPIO_1 or vice versa.

    Pattern match will work for identifying any and all packets with the data you've programmed, masked as you've chosen. This could be used to identify a PTP header specific to a node's MAC address.

    Pattern match will issue an interrupt for any and all frames that display the pattern. The destination MAC address registers are not applicable for pattern match.

    Best Regards,

  • Hi Rob,

    thank you very much for your quick reply. I have read a little more about the PHY functionality, and there may be a problem for our use.

    The SFD gives me an interrupt for each packages that arrives or leaves, no matter which type they are. So to be able to figure out which SFD (Time Stamp) belongs to a certain IEEE 1588 package I wanted to use the "Wake on Pattern Match" functionality. The problem is that the "Wake on Pattern Match" only is for in-comming trafic, so I still need something to tell me when the outgoing IEEE 1588 packages leave the PHY.

    There may also be another problem in that the "Wake on Pattern Match" interrupt bit has to be read via the cmd interface to be cleared, which could be hard for the CPU to keep up with. This may be solvable, but has to be tested.

    We have always had to do a lot of design work, both hw and sw, to get this to work with other PHYs, so I was more than exited when I first read about this PHY that seems to do almost exactly what we always wanted. Now, so close to our goal, it looks like it may not be possible after all.

    Kind regards

    Thomas