Information
Enhanced Three-Speed Ethernet Controllers
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
Freescale Semiconductor 16-119
Table 16-122 describes the fields of the TMR_ALARMn_H/L register.
16.5.3.10.13 Timer Fixed Interval Period Register (TMR_FIPER1–3)
Timer fixed interval period pulse generator register. It is used to generate periodic pulses. This register is
reset with 0xFFFF_FFFF to prevent any false pulse upon initialization. The down count register loads the
value programmed in the fixed period interval (FIPER). FIPER register must be programmed before the
timer is enabled. At every tick of the timer accumulator overflow, the counter decrements by the value of
TMR_CTRL[TCLK_PERIOD]. It generates a pulse when the down counter value reaches zero. It reloads
the down counter in the cycle following a pulse.
Should a user wish to use the TMR_FIPER1 register to generate a 1 PPS event, the following setup should
be used:
• Program TMR_FIPER1 to a value that will generate a pulse every second,
• Program TMR_ALARM1 to the correct time for the first PPS event
• Enable the timer
The eTSEC will then wait for TMR_ALARM1 to expire before enabling the count down of
TMR_FIPER1. The end result will be that TMR_FIPER1 will pulse every second after the original timer
ALARM1 expired.
NOTE
In the case where the PPS signals are required to be phased aligned to the
prescale output clock, the alarm value should be configured to 1 clock
period less than the wanted value.
In order to keep tracking the prescale output clock, each time before enabling the FIPER, the user must
reset the FIPER by writing a new value to the register. The ratio between the prescale register value and
the FIPER value should be devisable by the clk period.
FIPER_VALUE = (prescale_value tclk_per N) – tclk_per
For example:
prescale = 9
clock period = 10
Table 16-122. TMR_ALARMn_H/L Register Field Descriptions
Bits Name Description
0–63 ALARM_H/L Alarm time comparator register. The corresponding alarm event in TMR_TEVENT is set when the
current time counter becomes equal to or greater than the alarm time compare value in
TMR_ALARMn_L/H. Writing the TMR_ALARMn_L register deactivates the alarm event after it has
fired. Writing the TMR_ALARMn_L followed by the TMR_ALARMn_H register rearms the alarm
function with the new compare value.
The value programmed in this register must be an integer multiple of TMR_CTRL[TCLK_PERIOD] in
order to get correct result. This register is reset to all ones to avoid false alarm after reset.
In FS mode the alarm trigger is used as an indication to the fiper start down counting. Only alarm 1
supports this mode. In FS mode, alarm polarity bit should be configured to 0 (rising edge).