Fixed Pulse-Per-Second Output
The Ethernet MAC module supports a pulse-per-second output feature such that the signal,
EN0PPS
,
can indicate one second intervals. The frequency of the
EN0PPS
output can be changed by setting
the
PPSCTRL
bit field of the
Ethernet MAC PPS Control (EMACPPSCTRL)
register, offset 0x72C.
Flexible Pulse-Per-Second Output
The Ethernet MAC also provides the ability to control the following features of the
EN0PPS
output:
■ Start or stop time
■ The start point of a single pulse and the start and stop points of the pulse train in terms of a 64-bit
system time. The
EMACTIMESEC
and
EMACTIMNANO
registers are used to program the start
and stop time.
■ The stop time can be programmed in advance of starting.
■ The signal width. The rising edge and the corresponding falling edge of the
EN0PPS
output can
be programmed in terms of number of units of sub-second increment value programmed in the
Ethernet MAC Sub-Second Increment (EMACSUBSECINC)
register, offset 0x704.
■ The signal interval. The time between the rising edges of
EN0PPS
signal, in terms of number of
units of sub-second increment value can be programmed in the
Ethernet MAC PPS0 Interval
(EMACPPS0INTVL)
register, offset 0x760 . You can program the interval between pulses from
1 to 2
32
-1 units of sub-second increment value.
■ Cancellation of the programmed
EN0PPS
start or stop request.
■ Error indication if the start or stop time being programmed has already passed.
The start time can be programmed in the
EMACTARGSEC
and
EMACTARGNANO
registers. The
TRGTBUSY
bit in the
EMACTARGNANO
register indicates when the value is synchronized to the
PTP clock domain. When this bit is clear, a new start time can be programmed, even before the
earlier start time has elapsed. The start or stop time should be programmed with advanced system
time to ensure proper
EN0PPS
signal output. If the application programs a start or stop time that
has already elapsed, then the MAC sets an error status bit indicating the programming error. If
enabled, the MAC also sets the Target Time Reached interrupt event. The application can cancel
the start or stop request only if the corresponding start or stop time has not elapsed. If the time has
elapsed, the cancel command has no effect.
For a flexible
EN0PPS
output, the
EMACPPS0INTVL
and
EMACPPS0WIDTH
registers can be
configured. The
PPS0WIDTH
and
PPS0INT
fields are programmed in terms of granularity of system
time, that is, number of the units of sub-second increment value. For example, to have a
EN0PPS
pulse width of 80 ns and interval of 120ns, with the PTP reference clock of 25MHz, you should
program the width and interval to values 1 and 2, respectively. Note that the
PPS0WIDTH
and
PPS0INT
value must be programmed as one less than the required interval. Before giving the
command to trigger a pulse or pulse train on the
EN0PPS
output, the interval and width of the PPS
signal output should be programmed or updated.
Advanced Timestamp Transmit Path Functions
The only aspect of the transmit path that changes with advanced timestamp is the descriptor, which
extends to 32-bytes long.
June 18, 2014
1448
Texas Instruments-Production Data
Ethernet Controller