next up previous contents
Next: Example Up: 4kHz State Machine Previous: States   Contents

Setpoint Table Processing

At every 4kHz cycle, starting when entering the `RUN' state (or at the reception of an event if in one of the `EVENTx' states a new setpoint is written to the DAC. Some details are controlled by the following PVs:

Interpolation Steps (<corr>:CurrInterSteps - default: 0)

If so desired, any number of interpolation steps can be inserted between two setpoint table values. The processor performs linear interpolation between the table values or between the current value and the 1st table value (when processing starts).

Example: current value is 2A. Two setpoints [5,10] are written and interpolation steps are '1'. Hence, the processor will write the sequence: 3.5, 5, 7.5, 10.

If the parameter is 0, no interpolation is performed, i.e., setpoint table values are written as-is.

Scale (<corr>:CurrScale - default: 1)

The every sample written to the DAC is scaled by this value. This makes it possible to change the amplitude of a waveform without having to generate a new table.

Loop iterations (<corr>:LoopIter - default: 1)

This parameter controls how many times the table is to be processed. I.e., after the last value has been written, processing is resumed from the beginning of the table for LoopIter - 1 times. Any number less than 1 instructs the processor to continue indefinitely. Processing needs to be stopped by switching into one of the `HALT' or `ARM' (or `REMOTE') states.

Note that it is legal to modify CurrScale and CurrInterSteps on the fly, while processing is ongoing thus allowing for ``knobbing'' the amplitude/frequency of a continuous waveform.

While LoopIter can be modified after processing has started, the modification will only take effect the next time processing is started.


next up previous contents
Next: Example Up: 4kHz State Machine Previous: States   Contents
Till Straumann 2019-12-03