English
Language : 

LAN9353 Datasheet, PDF (402/523 Pages) Microchip Technology – Interfaces at up to 200Mbps via Turbo MII
LAN9353
• For Sync and Pdelay_Resp packets, the value of the Port Delay Asymmetry (DELAY_ASYM[15:0]) field in the
1588 Port x Asymmetry and Peer Delay Register (1588_ASYM_PEERDLY_x) (for the particular ingress port) is
added to the correctionField.
This function is used for one-step transparent clocks. If one-step end-to-end transparent clock mode is not being
used, correction field modifications would not be enabled for PDelay_Resp messages. If one-step transparent
clock mode is not being used, correction field modifications would not be enabled for Sync or PDelay_Resp mes-
sages.
• The nanoseconds portion of the ingress time are subtracted from the correctionField.
• Bits 3:0 of the seconds portion of the ingress time are inserted into bits 3:0 of a reserved byte in the PTP header.
Bit 7 is set to a one as an indication to the transmitter that residence time correction is being done. Bits 6:4 are set
to zero.
The offset of this reserved byte is specified by the RX PTP Insert Timestamp Seconds Offset (RX_PT-
P_INSERT_TS_SEC_OFFSET[5:0]) field in the 1588 Port x RX Timestamp Insertion Configuration Register
(1588_RX_TS_INSERT_CONFIG_x).
Note: Proper operation of the transmitter portion of the Correction Field Residence Time Adjustment requires that
the reserved byte resides after the versionPTP field and before the correctionField.
Note:
For version 2 of IEEE 1588, the reserved byte at offset 5 should be used for the seconds.
Since the modification of the packet occurs on ingress, any packets that are forwarded to the Host software
will also have the ingress time subtracted from the original correctionField. If necessary, the original correc-
tionField can be reconstructed by adding the ingress time.
FRAME UPDATING
Frames are modified even if their original FCS or UDP checksum is invalid.
• For IPv4, the UDP checksum is set to 0.
If the original UDP checksum was invalid, a receive symbol error is forced and the 1588 Port x RX Checksum
Dropped Count Register (1588_RX_CHKSUM_DROPPED_CNT_x) incremented.
This can be disabled by the RX PTP Bad UDP Checksum Force Error Disable (RX_PTP_BAD_UDP_CHKSUM_-
FORCE_ERR_DIS) field in the 1588 Port x RX Timestamp Insertion Configuration Register (1588_RX-
_TS_INSERT_CONFIG_x).
Note: An original UDP checksum value of 0x0000 indicates that the checksum is not included and is considered
a pass.
Note: The original UDP checksum is calculated over the entire UDP payload as indicated by the UDP length field
and not the assumed PTP packet length.
Note: The original UDP checksum calculation does not included layer 2 pad bytes, if any.
• For IPv6, the two bytes beyond the end of the PTP message are modified so that the original UDP checksum is
correct for the modified payload. These bytes are updated by accumulating the differences between the original
frame data and the substituted data using the mechanism defined in IETF RFC 1624.
If the original UDP checksum was invalid, a receive symbol error is forced and the 1588 Port x RX Checksum
Dropped Count Register (1588_RX_CHKSUM_DROPPED_CNT_x) incremented.
This can be disabled by the RX PTP Bad UDP Checksum Force Error Disable (RX_PTP_BAD_UDP_CHKSUM_-
FORCE_ERR_DIS) field in the 1588 Port x RX Timestamp Insertion Configuration Register (1588_RX-
_TS_INSERT_CONFIG_x).
Note:
Since the two bytes beyond the end of the PTP message are modified based on the differences between
the original frame data and the substituted data, an invalid incoming checksum would always result in an
outgoing checksum error.
Note: An original UDP checksum value of 0x0000 is invalid and is considered a fail.
Note: For IPv6, the UDP checksum calculation includes the IPv6 Pseudo header. Part of the IPv6 Pseudo header
is the final IPv6 destination address.
DS00001925A-page 402
 2015 Microchip Technology Inc.