Intel IXP400 Frozen Dessert Maker User Manual


 
Intel
®
IXP400 Software
Access-Layer Components: Time Sync (IxTimeSyncAcc) API
April 2005 IXP400 Software Version 2.0 Programmer’s Guide
288 Document Number: 252539, Revision: 007
VLAN-tagged Ethernet frames include an additional four bytes prior to the beginning of the
original Ethernet
Type/Length field. The IP header immediately follows the Type/Length field.
VLAN-tagged Ethernet frames can be identified by the value of 0x8100 at offset 12 and 13 of the
Ethernet frame. If the IEEE 1588 Hardware Assist block identifies a value of 0x8100 (i.e.,
VLAN
TPID
field) at this offset, it will adjust the offsets it uses to support PTP messages by four bytes.
Note: Some popular Ethernet switch PHY chips use the same bytes
in VLAN-tagged frames to encode
the port through which a frame is received. These devices encode the physical port from which a
frame is received in the least-significant four bits of offset 13. The IEEE 1588 Hardware Assist
block will be unable to detect
Sync and Delay_Req messages in this scenario.
Additional Hardware Information
For more information on the IEEE 1588 Hardware Assist block, please refer to the Intel hardware
documentation for the Intel
®
IXP46X Product Line.
20.2.3 IxTimeSyncAcc
The IxTimeSyncAcc access-layer component provides a software interface to configure the IEEE
1588 Hardware Assist block, and provide access to the snapshot register data. More details are
provided in “IxTimeSyncAcc API Details” on page 288.
20.2.4 IEEE 1588 PTP Client Application
A IEEE 1588 PTP client application is application code running on the Intel XScale core that
utilizes the IxTimeSyncAcc API (and other APIs in the IXP400 software) to implement and use
PTP messages and timestamps according to the IEEE 1588 specifications.
The IXP400 software does not provide this client application, although it does include a codelet
that demonstrates the basic usage of the APIs in some IEEE 1588 scenarios. Refer to Chapter 23.
A common scenario would involve a IEEE 1588 client application implementing a slave, master, or
boundary clock on the target hardware platform. When transmitting PTP protocol messages, the
client application would need to obtain the appropriate timestamp information from
IxTimeSyncAcc, construct the appropriate PTP protocol messages, and transmit the messages
using the Ethernet subsystem of the IXP400 software. When receiving PTP protocol messages, the
client application may poll via the IxTimeSyncAcc API for the existence of new timestamp and
other related PTP message information. If the remainder of the PTP message content is of interest
to the client application, it will need to receive the Ethernet frame via the Ethernet subsystem of the
IXP400 software (i.e., IxEthAcc).
When operating over Ethernet networks, these messages are carried in frames using the UDP
transport-layer. UDP does not guarantee successful message transfer between sending and
receiving nodes, and the IEEE 1588 client application must take this behavior into account.
20.3 IxTimeSyncAcc API Details
20.3.1 Features
IxTimeSyncAcc API provides the following features: