![Intel IXP45X Developer'S Manual Download Page 834](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092834.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors—Time Synchronization
Hardware Assist (TSYNC)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
Developer’s Manual
August 2006
834
Order Number: 306262-004US
FreqDivisionRatio = FreqOscillator/FreqClock
where FreqClock is the nominal frequency at which the clock counter is to be
incremented.
The equation for the FreqCompensationValue utilizes the precision of the accumulator
and the FreqDivisionRatio. Since the accumulator is 32 bits, the following equation
applies:
FreqCompensationValue = 2
32
/ FreqDivisionRatio
The hexidecimal representation of the FreqCompensationValue is the value that is
written to the Addend register. The following table gives examples of addend values
based on a 66 MHz FreqOscillator.
19.3.10
MII Message Detection
Two state machines for each Ethernet channel are implemented in the Time Sync logic:
one of the pair is for transmit message detection and the other is for received message
detection. Both are required for full duplex operation of the channel.
Mastership of a channel is indicated per channel in the TS_Channel_Control register.
Based on this information, the Time Sync logic knows the mastership of the channel,
and it monitors the MII signals for transmission or reception of Ethernet messages
accordingly. A master channel will time stamp Sync messages that are transmitted and
Delay_Req messages that are received. Conversely, a slave channel will time stamp
Delay_Req messages that are transmitted and Sync messages that are received.
The timestamp point is immediately after the SFD and this value is frozen in the
snapshot register when the last nibble of the frame CRC is transmitted or received and
the overall message is detected. Because the Sync and Delay_Req messages are of
fixed length, the location of the last nibble of CRC is known. Byte 169 corresponds to
the last byte of the CRC. The snapshot is locked and this value is frozen until the
software acknowledges it. Therefore, a constant can be subtracted from the snapshot
to compensate for PHY and synchronization delays to arrive at the IEEE-1588 specified
time stamp point.
An explanation of time stamping of messages and time stamp lockout is necessary to
assist the user with the implementation of the TSync registers. Time stamping means
that the current value in the system time register is captured in a second register,
generally called a snapshot register. Each Ethernet channel has two snapshot registers,
and there are two auxiliary snapshot registers controlled by general-purpose I/O.
The time stamping will occur when the appropriate conditions exist such as a general-
purpose input is received or when a particular type of message is transmitted or
received by the channel. Once a timestamp of system time is taken and locked, a
unique indication for the snapshot is set in the appropriate Event register. No interrupt
is sent to the Intel XScale
®
Processor upon timestamp capture/lock on the MII
interface, this is due to being to early as the MII messages would not have propagated
up the network protocol stack, thus the poling of the event register is necessary to
determine if the timestamp is captured. No further timestamps of that type can be
received until the snapshot indication is cleared by firmware. Thus, the setting of the
indication is a lockout of further snapshots of a particular type until firmware takes
action (unless the traffic analyzer lock inhibit feature is enabled).
Table 266.
System Time Clock Rates
FreqOscillator
FreqClock
FreqDivisionRatio
FreqCompensationValue
66 MHz
40 MHz
1.65
0x9B26C9B3
66 MHz
50 MHz
1.32
0xC1F07C1F
66 MHz
60 MHz
1.1
0xE8BA2E8C