![Intel IXP45X Developer'S Manual Download Page 831](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092831.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Order Number: 306262-004US
831
Time Synchronization Hardware Assist (TSYNC)—Intel
®
IXP45X and Intel
®
IXP46X Product
Line of Network Processors
19.3
Theory of Operation (Ethernet Interfaces)
Time synchronization adjusts the rate that System Time increases in a time slave so
that it is synchronized to the time master’s System Time. System Time is incremented
by an overflow of the Accumulator. The Accumulator increments due to the repetitive
addition of the Addend register to itself on every system clock. Therefore, periodically
adjusting the value of the Addend register controls the rate that System time
increments. System Time snapshots are taken in hardware by both master and slave
when certain messages are detected. These snapshots are used to calculate the skew
between master and slave, and the slave is then adjusted accordingly.
According to the IEEE-1588 protocol, four messages form the framework of the
protocol: Sync, Follow_up, Delay_Req, and Delay_Resp. Because the messages for
Ethernet use UDP/IP, this implies that messages can be lost and firmware must
compensate for this.
Per the 1588 specification, synchronized time is referenced to the end of the “start of
frame delimiter” (SFD) as shown in
. Therefore, the time sync hardware
captures the system time immediately upon detection of the SFD in the appropriate
snapshot register (two per channel, one for transmit, one for receive). Due to PHY and
Figure 188. Block Diagram of TSync Circuit
Notes:
1.
If Master, the XMIT snapshot holds the “SYNC” msg time and the RECV snapshot holds the: DELAY” msg time. If Slave,
the XMIT snapshot holds the “DELAY” msg time and the RECV snapshot holds the “SYNC” msg time
2.
Take snapshot = Sync, edge detect, & lock until reset by write of ‘1’ to corresponding bit in event register
B4319-01
Event - 32 bit
System Time Clock
- 64bit
(low word always read/written 1st)
Addend - 32 bit
(Frequency Scaling Value)
Accumulator - 32 bit
+=
Carry
Increment
Target Time - 64bit
Auxiliary Master Mode Snapshot
- 64bit
Auxiliary Slave Mode Snapshot
- 64bit
>=
Ethernet XMIT Snapshot
- 64bit
Sync/Delay
Message
Detect
GPIO
Ethernet
APB Bus
Repeat for
each Ethernet
channel
Control/Status
- 32 bit
Ethernet RECV Snapshot
- 64bit
RECV Message Source UUID 48bit
Sequence ID
– 16bit
TAKE SNAPSHOT*
TAKE SNAPSHOT*
TAKE SNAPSHOT*
TAKE SNAPSHOT*
locked
locked
System Time Clock is > or = Target Time
Interrupt to
Xscale
processor, if
enabled in
Control/Store
Channel Event
- 32 bit
Channel Control
- 32 bit