Implementing an IEEE 1588 V2 Node on the ColdFire MCF5441x ...
Implementing an IEEE 1588 V2 Node on the ColdFire MCF5441x ...
Implementing an IEEE 1588 V2 Node on the ColdFire MCF5441x ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<str<strong>on</strong>g>IEEE</str<strong>on</strong>g> <str<strong>on</strong>g>1588</str<strong>on</strong>g> basic overview<br />
4<br />
t3 = timestamp<br />
of delay_req msg received<br />
t3<br />
delay_requ msg<br />
delay_resp msg<br />
(includes t3)<br />
Figure 2. offset <str<strong>on</strong>g>an</str<strong>on</strong>g>d delay measurement—delay messages<br />
Figure 3 serves as <str<strong>on</strong>g>an</str<strong>on</strong>g> example of <strong>the</strong> <str<strong>on</strong>g>IEEE</str<strong>on</strong>g> <str<strong>on</strong>g>1588</str<strong>on</strong>g> synchr<strong>on</strong>izati<strong>on</strong> sequence (<strong>on</strong>e cycle) <str<strong>on</strong>g>an</str<strong>on</strong>g>d calculati<strong>on</strong> of<br />
<strong>the</strong> actual offset <str<strong>on</strong>g>an</str<strong>on</strong>g>d <strong>the</strong> actual delay between master <str<strong>on</strong>g>an</str<strong>on</strong>g>d slave node.<br />
100<br />
102<br />
104<br />
106<br />
108<br />
110<br />
112<br />
Estimated<br />
Send Time<br />
(100)<br />
Precise<br />
Send<br />
Time<br />
(101)<br />
B<br />
Precise<br />
Receive<br />
Time<br />
(108)<br />
Master Clock<br />
PTP Appl. G/MII<br />
t 0<br />
t 3<br />
Key Equati<strong>on</strong>s:<br />
A = t1 –t0 = Delay + Offset<br />
B = t3 -t2 = Delay – Offset<br />
Delay = (A+B) / 2<br />
Offset = (A-B) / 2<br />
System A<br />
(Master)<br />
SYNC(100??)<br />
FOLLOW_UP(101!)<br />
DELAY_REQ<br />
DELAY_RESP(108)<br />
System B<br />
(Slave)<br />
Figure 3. <str<strong>on</strong>g>IEEE</str<strong>on</strong>g> <str<strong>on</strong>g>1588</str<strong>on</strong>g> synchr<strong>on</strong>izati<strong>on</strong> message sequence<br />
For more informati<strong>on</strong> about <strong>the</strong> <str<strong>on</strong>g>IEEE</str<strong>on</strong>g> <str<strong>on</strong>g>1588</str<strong>on</strong>g> st<str<strong>on</strong>g>an</str<strong>on</strong>g>dard, visit <strong>the</strong> web page for <strong>the</strong> Nati<strong>on</strong>al Institute of<br />
St<str<strong>on</strong>g>an</str<strong>on</strong>g>dards <str<strong>on</strong>g>an</str<strong>on</strong>g>d Technology.<br />
<str<strong>on</strong>g>Implementing</str<strong>on</strong>g> <str<strong>on</strong>g>an</str<strong>on</strong>g> <str<strong>on</strong>g>IEEE</str<strong>on</strong>g> <str<strong>on</strong>g>1588</str<strong>on</strong>g> <str<strong>on</strong>g>V2</str<strong>on</strong>g> <str<strong>on</strong>g>Node</str<strong>on</strong>g> <strong>on</strong> <strong>the</strong> MCF5441X, Rev. 0<br />
t2<br />
Example:<br />
A = 106 – 101 = 5<br />
B = 108 – 111 = -3<br />
Delay = (5-3) / 2 = 1<br />
Offset = (5+3) / 2 = 4<br />
Equati<strong>on</strong> 2:<br />
t2 = timestamp<br />
of delay_req msg sent<br />
t3 – t2 = delay - offset<br />
Slave Clock<br />
G/MII PTP Appl.<br />
t 1<br />
t 2<br />
A<br />
Precise<br />
Receive<br />
Time (106)<br />
Offset<br />
Computati<strong>on</strong><br />
Precise<br />
Send Time<br />
(111)<br />
104<br />
106<br />
108<br />
110<br />
112<br />
114<br />
116<br />
UDP port 319: Sync <str<strong>on</strong>g>an</str<strong>on</strong>g>d<br />
Delay_Req<br />
UDP port 320: Follow_up,<br />
Delay_Resp, <str<strong>on</strong>g>an</str<strong>on</strong>g>d Mgmt<br />
Freescale Semic<strong>on</strong>ductor