Software Drivers

ttcps v2_0

This is the driver for one 16-bit timer counter in the Triple Timer Counter (TTC) module in the Ps block.

The TTC module provides three independent timer/counter modules that can each be clocked using either the system clock (pclk) or an externally driven clock (ext_clk). In addition, each counter can independently prescale its selected clock input (divided by 2 to 65536). Counters can be set to decrement or increment.

Each of the counters can be programmed to generate interrupt pulses: . At a regular, predefined period, that is on a timed interval . When the counter registers overflow . When the count matches any one of the three 'match' registers

Therefore, up to six different events can trigger a timer interrupt: three match interrupts, an overflow interrupt, an interval interrupt and an event timer interrupt. Note that the overflow interrupt and the interval interrupt are mutually exclusive.

Initialization & Configuration

An XTtcPs_Config structure is used to configure a driver instance. Information in the XTtcPs_Config structure is the hardware properties about the device.

A driver instance is initialized through XTtcPs_CfgInitialize(InstancePtr, CfgPtr, EffectiveAddr). Where CfgPtr is a pointer to the XTtcPs_Config structure, it can be looked up statically through XTtcPs_LookupConfig(DeviceID), or passed in by the caller. The EffectiveAddr can be the static base address of the device or virtual mapped address if address translation is supported.

Interrupts

Interrupt handler is not provided by the driver, as handling of interrupt is application specific.

Note:
The default setting for a timer/counter is:
  • Overflow Mode
  • Internal clock (pclk) selected
  • Counter disabled
  • All Interrupts disabled
  • Output waveforms disabled
 MODIFICATION HISTORY:
 Ver   Who    Date     Changes
 ----- ------ -------- -----------------------------------------------------
 1.00a drg/jz 01/20/10 First release..
 2.0   adk    12/10/13 Updated as per the New Tcl API's