RB8514 Time Delay
[Reference Manual]


Detailed Description

Purpose

Generate a programmable time delay.

Description

Module RB8514 is a programmable delay time generator.

It has a clock input, a trigger input, two delay outputs, a gate and a gate-not output, and a Rulbus interrupt output.

The module's front-panel looks as follows.

  +-----------+
  |   DELAY   |
  |           |
  |           |
  |           |
  |  (o) CLOCK|
  |  (o) TRIG |
  |  (o) OUT1 |
  |  (o) OUT2 |
  |  (o) GATE |
  |  (o)/GATE |
  |           |
  |           |
  |           |
  |    RULBUS |
  +-----------+

The delay is made with a 24-bit down counter that counts a programmable number of clock-pulses, when started by a trigger-pulse on the trigger input. See setClockFrequency(), setIntrinsicDelayTime(), setDelayTime(), setDelayCount(), isBusy().

The trigger input can be made positive or negative edge sensitive. Besides triggering the delay with the trigger-input, it is also possible to trigger the delay with a software command. See setSignalDirection() and trigger().

Each of the two delay outputs (1 and 2) can be programmed to generate a short pulse (15 ns) at the start of the delay, at the end of it, both or to generate no pulse at all. See enableSignal().

The level of the start- and end-pulses of output 1 and 2 can be made positive or negative. The restriction is that both outputs have the same polarity for the same pulse. See setSignalDirection().

An additional restriction with negative pulses is, that only the start- or the end-pulse may be enabled on an output.

The gate and gate-not outputs generate a pulse from the start of the delay time upto the end of it. The gate-output is active high, the gate-not output is active low.

Configuration

The RB8514 delay module has no attributes that are configured at production time.

Default configuration

rb8515_delay "name"
{
   address = 0xC4
}

When the Rulbus configuration file is read, delay modules are initialized as follows:

Usage

Among others, there are functions to specify the delay module's clock frequency and signal polarities and signal enable-states and to specify the module's delay time.

int32 handle;

rb8514_delay_open( &handle, "delay" );

rb8514_delay_setClockFrequency( handle, 10e6 );
rb8514_delay_enableSignal     ( handle, "s1",  1 );
rb8514_delay_enableSignal     ( handle, "e1",  0 );
rb8514_delay_enableSignal     ( handle, "s2",  0 );
rb8514_delay_enableSignal     ( handle, "e2",  1 );
rb8514_delay_setDelayTime     ( handle, 1e-3 );

rb8514_delay_close( handle )


Open and close

EXPORT int32 RDL_API rb8514_delay_open (int32 *pHandle, CCstr name)
 open a delay module.
EXPORT int32 RDL_API rb8514_delay_close (int32 handle)
 close a delay module .

Clock frequency

EXPORT int32 RDL_API rb8514_delay_getClockFrequency (int32 handle, float32 *pFrequency)
 get the current clock frequency.
EXPORT int32 RDL_API rb8514_delay_setClockFrequency (int32 handle, float32 frequency)
 set clock frequency.

Delay

EXPORT int32 RDL_API rb8514_delay_getIntrinsicDelayTime (int32 handle, float32 *pTime)
 get the current intrinsic delay time (the time subtracted from requested delay time).
EXPORT int32 RDL_API rb8514_delay_setIntrinsicDelayTime (int32 handle, float32 time)
 set intrinsic delay time (will be subtracted from requested delay time).
EXPORT int32 RDL_API rb8514_delay_getDelayTime (int32 handle, float32 *pTime)
 get the current delay time.
EXPORT int32 RDL_API rb8514_delay_setDelayTime (int32 handle, float32 time)
 set new delay time.
EXPORT int32 RDL_API rb8514_delay_getDelayCount (int32 handle, int32 *pCount)
 get the current delay count.
EXPORT int32 RDL_API rb8514_delay_setDelayCount (int32 handle, int32 count)
 set new delay count.

Signals

EXPORT int32 RDL_API rb8514_delay_getSignalDirection (int32 handle, CCstr signal, int32 *pDir)
 get the current signal direction: signal in [t s1 s2 e1 e2], result: [p n].
EXPORT int32 RDL_API rb8514_delay_setSignalDirection (int32 handle, CCstr signal, int32 dir)
 set new signal direction: signal in [t s1 s2 e1 e2], dir in [p n i] for positive, negative and invert.
EXPORT int32 RDL_API rb8514_delay_isEnabledSignal (int32 handle, CCstr signal, bool32 *pEnabled)
 get the current signal enable-state: signal in [i s1 s2 e1 e2].
EXPORT int32 RDL_API rb8514_delay_enableSignal (int32 handle, CCstr signal, bool32 enable)
 enable signal: signal in [i s1 s2 e1 e2], i for interrupt.

Timing

EXPORT int32 RDL_API rb8514_delay_trigger (int32 handle)
 software trigger: start delay.
EXPORT int32 RDL_API rb8514_delay_isBusy (int32 handle, bool32 *pBusy)
 true if timing a delay.


Generated on Wed Apr 6 08:59:22 2005 for Rulbus Device Library for Microsoft Windows by doxygen 1.4.0