| ECC1C 145-944-00

Signal Generator

Signal Generator system ID: 0x60

Signal Generator is a system for generating input signals of particular shapes. It is an input stage system, meaning that it is a system used as the very first stage of Signal Flow.

To set it up, all the appropriate registers (seen in the table below) have to be configured first. The shape of the signal, its frequency, amplitude, offset and phase can be adjusted. For the square and pulse waveforms, the signal's duty cycle can be configured.

The unit type of the value being output by the SignalGenerator, must match to the control mode selected by the Signal Flow Manager.

By default, the Signal Generator will continuously output the waveform corresponding to the configuration. If only a single period is desired (or N periods for some finite positive integer N), the number of desired periods to execute has to be set to the "cycles" register before running the system. A negative value in this register corresponds to infinite looping.

Finally, to get the configured SignalFlow generator to run, the following steps have to take place:

1. The Signal Generator system has to be set as active Input Stage system for the corresponding channel. This is done through the Signal Flow Manager system.
2. The "Run" register of the corresponding Signal Generator system has to be set to true (any non-zero value).

### Register Map:

Address | Name | Default Value | Description | Type | Access
--- | --- | --- | --- | --- | ---
0x6000 | Unit type | 0 |  | Unit Type | read write
0x6001 | Run | false | Turn Signal Generator on/off | boolean | read write
0x6002 | Shape | 0 |  | Waveform Shape | read write
0x6003 | Frequency | 0.0 | Frequency in Hz of generated signal | float | read write
0x6004 | Amplitude | 0.0 | Amplitude of generated signal | float | read write
0x6005 | Offset | 0.0 | Offset of generated signal | float | read write
0x6006 | Phase | 0.0 | Phase in rad of generated signal | float | read write
0x6007 | Cycles | -1 | Number of cycles to be generated. Run flag is turned off after completion. Negative value corresponds to infinite looping | int32 | read write
0x6008 | Duty cycle | 0.5 | Duty cycle of square and pulse shapes | 0 to 1 float Resolution is frequency/10000 | read write
0x6009 | External trigger | 0 | Signal Generator Unit can be synchronised with external signal (0=disabled, 1=rising/falling edge, 2=rising edge trigger) | uint32 | read write
0x600a | Output | N/A | Output of signal generator | float | read only
0x600b | Stair count | 5 | Count + direction of stairs for staircase shape (ignored for other shape types) | -100 to 100 int32 | read write
0x600c | External trigger GPIO | false | Turns GPIOx pin to trigger input source (GPIO default is trigger output) and disables global external trigger SYNCx pin | boolean | read write