Figure 9-1 – Xilinx IP Ethernet AVB Endpoint v2.4 UG492 User Manual

Page 84

Advertising
background image

84

www.xilinx.com

Ethernet AVB Endpoint User Guide

UG492 September 21, 2010

Chapter 9: Precise Timing Protocol Packet Buffers

Despite the logic and formatting of each individual PTP buffer being identical, the block
RAM is pre-initialized at device configuration to hold template copies of each of the PTP
frames, as indicated in

Figure 9-1

. This shows that the first seven memory segments are in

use. PTP Buffer number 8 is currently unused and could therefore be used by proprietary
applications.

The

“Tx PTP Packet Control Register”

is defined for the purpose of requesting which of the

eight Tx PTP Buffers are to be transmitted. It is possible to request more than a single frame
at one time (indeed it is possible to request all 8). When more than one frame is requested,
the Tx PTP Buffer logic will give a priority order to the lowest PTP Buffer Number that has
been requested.

The

“Tx PTP Packet Control Register”

also contains a frame waiting field. This can be read

by the software drivers to determine which of the previously requested PTP frames have
been sent, and which are still queued.

Following transmission completion of each requested PTP frame, a dedicated interrupt
signal, interrupt_ptp_tx, will be generated by the core. On the assertion of the
interrupt, the captured timestamp will already be available in the upper four bytes of the
buffer, and the tx_packet field of the

“Tx PTP Packet Control Register”

will indicate the

most recently transmitted Buffer Number.

The

“Software Drivers”

provided with the core, using the PLB and dedicated interrupts,

will use this interface to periodically, as defined by the IEEE802.1AS protocol, update
specific fields within the PTP packets, and request transmission of these packets.

X-Ref Target - Figure 9-1

Figure 9-1:

Tx PTP Packet Buffer Structure

Tx PTP Packet Buffers

Buffer Number

Buffer Base Address

0

1

2

3

4

5

6

7

0x1000

0x1100

0x1200

0x1300

0x1400

0x1500

0x1600

0x1700

Single Tx PTP Packet Buffer

Address (+ Buffer Base Address)

byte-wide data

0xFF

0xFE

0xFD

0xFC

0x00

0x08

0x08 + frame_length_field

frame_length_field

reserved

PTP Frame Data

unused

timestamp[7:0]

timestamp[15:8]

timestamp[23:16]

timestamp[31:24]

Sync Frame

Follow_Up Frame

Pdelay_Req Frame

Pdelay_Resp Frame

Pdelay_Resp_Follow_Up
Frame

Announce Frame

Signaling Frame

Advertising