Data Sheet
Inline Functions—Ethernet Controller I210
351
6. When the SYSTIML/H registers becomes equal or larger than the TRGTTIML/H registers that define
the beginning of the pulse, the selected SDP changes its level. Then, when the SYSTIML/H registers
becomes equal or larger than the other TRGTTIML/H registers (that define the trailing edge of the
pulse), the selected SDP changes its level back.
7.8.3.3.3 Synchronized Output Clock on SDP Pins
The I210 supports driving a programmable Clock on the SDP pins (up to two output clocks). The output
clocks generated are synchronized to the global System time registers (SYSTIM). The Target Time
registers (TRGTTIML/H0 or TRGTTIML/H1) can be used for the clock output generation. To start an
clock output on one of the SDP pins when System Time (SYSTIM) reaches a pre-defined value, the
driver should do the following:
1. Select a specific SDP pin by setting the TSSDP.TS_SDPx_EN flag to 1b (while ‘x’ is 0, 1, 2 or 3).
2. Select the target time register for a selected SDP, by setting the TSSDP.TS_SDPx_SEL field to 10b
or 11b if output clock should occur based on TRGTTIML/H0 or TRGTTIML/H1 respectively.
3. Program the matched FREQOUT0/1 register to define clock half cycle time. Note that in the general
case the maximum supported half cycle time of the synchronized output clock is 70 ms. A slower
output clock can be generated by the Synchronized Level Change scheme described in
Section 7.8.3.3.1. In this option, software should trigger the output level change time periodically
for each clock transition. Slower half cycle time than 70msec can be programmed also as long as
the output clock is synchronized to whole seconds as follow (useful specifically for generating a 1Hz
clock):
a. The clock should start at a programmable time (as described in bullet 5 below)
b. The starting time plus 'n' times the value of the programmed FREQOUT0/1 must be whole
number of seconds (for 'specific' values of 'n')
c. Permitted values for the FREQOUT0/1 register that can meet the above conditions are:
125,000,000 decimal, 250,000,000 decimal and 500,000,000 decimal (equals to 125msec,
250msec and 500msec respectively)
4. Define the selected SDPx pin as output, by setting the appropriate SDPx_IODIR bit (while ‘x’ is 0, 1,
2, or 3) in the CTRL or CTRL_EXT registers.
5. TRGTTIML/Hx should be set to the required start time of the low phase of the clock.
6. Enabled the clock operation by setting the relevant TSAUXC.EN_CLK0/1 bit to 1b.
The clock out initially drives a logic zero level on the selected SDP. When SYSTIM reaches TRGTTIM,
hardware begins an endless loop of the following two steps:
1. Increment the used TRGTTIML/Hx by FREQOUT.
2. When SYSTIM is equal or larger than the TRGTTIM, the SDP reverts its output level.
7.8.3.4 Time Stamp Events
Upon a change in the input level of one of the SDP pins that was configured to detect Time stamp
events using the TSSDP register, a time stamp of the system time is captured into one of the two
auxiliary time stamp registers (AUXSTMPL/H0 or AUXSTMPL/H1). Software enables the timestamp of
input event as follow:
1. Define the sampled SDP on AUX time ‘x’ (‘x’ = 0b or 1b) by setting the TSSDP.AUXx_SDP_SEL field
while setting the matched TSSDP.AUXx_TS_SDP_EN bit to 1b.
2. Set also the TSAUXC.EN_TSx bit (‘x’ = 0b or 1b) to 1b to enable “timestamping”.
Following a transition on the selected SDP, the hardware does the following:
1. The SYSTIM registers (low and high) are latched to the selected AUXSTMP registers (low and high)