15.12.2012 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!