Grandmaster PTP

If you have a simple question and just want an answer.
User avatar
Sebastian
Active Member
Posts: 39
Joined: Wed Jul 20, 2016 9:15 am

Grandmaster PTP

Post by Sebastian »

Hello,


actually I use two xCore-200 Multichannel Boards an one custom Board.
The Boards are connected over an Motu AVB Switch.

My question:
Who decide wich device is Grandmaster an wich is PTP "listener".

On the other hand.
If I config one device as: DEVICE_MEDIA_CLOCK_LOCAL_CLOCK,
is it the Grandmaster, too?

Best Regards,
Sebastian


User avatar
Thomas
Experienced Member
Posts: 66
Joined: Fri Feb 05, 2010 12:34 pm

Post by Thomas »

Hi Sebastian
Your are talking about two different clocks:
1. PTP clock is the global clock reference. This is a virtual network clock.
2. DEVICE_MEDIA_CLOCK_LOCAL_CLOCK is a configuration parameter for a different clock: The physical audio master clock (MCLK)

PTP clock master is determined by the Best Master Clock Algorithm (BMCA)
http://www.ieee802.org/1/files/public/d ... 061114.pdf

Audio clock master can be set by a 1722.1 Controller.
Here are a few options: http://www.xcore.com/forum/viewtopic.php?f=47&t=4148
DEVICE_MEDIA_CLOCK_LOCAL_CLOCK means that the MCLK is synchronous to the oscillator local to the board. This board will the the Audio clock master.
When set to DEVICE_MEDIA_CLOCK_INPUT_STREAM_DERIVED the MCLK is derived (recovered) from the timestamps in the 1722 packets and the PTP reference clock. Endpoints configured like this are audio clock slaves.

Both processes (PTP clock synchronisation and MCLK recovery) are described and illustrated here:
https://standards.ieee.org/events/autom ... et_AVB.pdf

Best Regards, Thomas
User avatar
Sebastian
Active Member
Posts: 39
Joined: Wed Jul 20, 2016 9:15 am

Post by Sebastian »

Thank you.

So I hope, I understand it in the right way.

PTP_GRANDMASTER_CAPABLE : The device decide over BMCA if it is an Grandmaster or Slave

PTP_SLAVE_ONLY : The device is PTP Slave only


DEVICE_MEDIA_CLOCK_INPUT_STREAM_DERIVED : MCLK is "produced, syncronized" from the PTP Server

DEVICE_MEDIA_CLOCK_LOCAL_CLOCK : MCLK is "produced" only from the crystal, without PTP sync


When I run the project (Gigbit I2S AVB)
xscope shows:
PTP Port 0 Role: Master
...
PTP Port 0 Roe: Slave

Is there an build in funktion, like the avb._get_souce_info to read out the PTP Role? Like Master/Slave?
I only found a lot of functions for timestamps and converting them.

Best Regards,
Sebastian