Daisy chain clocks and triggers
Functionality overview
Daisy chain commands configure clock and trigger sharing between multiple Red Pitaya boards connected via extension connectors. This enables synchronized multi-board acquisition and generation for expanded channel counts and simultaneous measurements across multiple units.
Important notes
Requires hardware daisy chain connections between boards.
Proper cable length and impedance matching critical for signal integrity.
Clock distribution affects maximum achievable synchronization accuracy.
Code examples
Here are some examples of how to use daisy chain synchronization:
Parameters and command table
Parameter options:
<state> = {OFF, ON}<mode> = {ADC, DAC}<enable> = {true, false}
Available Jupyter and API macros:
Shared trigger source -
OUT_TR_ADC, OUT_TR_DAC
SCPI |
API, Jupyter |
DESCRIPTION |
ECOSYSTEM |
|---|---|---|---|
DAISY:ENable <state>Examples:
DAISY:ENable ON |
C++:
rp_SetEnableDaisyChainSyncPython: ~
|
Enables clock and trigger sync over SATA daisy chain connectors.
Once the primary board will be triggered, the trigger will be forwarded to the secondary board over
the SATA connector where the trigger can be detected using rp_GenTriggerSource with EXT_NE selector.
Noticed that the trigger that is received over SATA is ORed with the external trigger from GPIO.
|
only 2.00-15 |
DAISY:ENable? > <state>Examples:
DAISY:ENable? > ON |
C++:
rp_GetEnableDaisyChainSyncPython: ~
|
Returns the current state of the SATA daisy chain mode. |
only 2.00-15 |
DAISY:SYNC:TRIG <state>Examples:
DAISY:SYNC:TRIG ON |
C++:
rp_SetEnableDaisyChainTrigSync(bool enable)Python:
rp_SetEnableDaisyChainTrigSync(<enable>) |
Enables trigger sync over SATA daisy chain connectors. Once the primary board will be triggered,
the trigger will be forwarded to the secondary board over the SATA connector
where the trigger can be detected using EXT_NE selector.
|
2.00-18 and up |
DAISY:SYNC:TRIG? > <state>Examples:
DAISY:SYNC:TRIG? > ON |
C++:
rp_GetEnableDaisyChainTrigSync(bool *status)Python:
rp_GetEnableDaisyChainTrigSync() |
Returns the current state of the trigger synchronization using Daisy Chain.
|
2.00-18 and up |
DAISY:SYNC:CLK <state>Examples:
DAISY:SYNC:CLK ON |
C++:
rp_SetEnableDiasyChainClockSync(bool enable)Python:
rp_SetEnableDiasyChainClockSync(<enable>) |
Enables clock sync over SATA daisy chain connectors.
The primary board will start generating a clock for the secondary unit and so on.
|
2.00-18 and up |
DAISY:SYNC:CLK? > <state>Examples:
DAISY:SYNC:CLK? > ON |
C++:
rp_GetEnableDiasyChainClockSync(bool *state)Python:
rp_GetEnableDiasyChainClockSync() |
Returns the current state of the SATA daisy chain mode.
|
2.00-18 and up |
DAISY:TRIG_O:ENable <state>Examples:
DAISY:TRIG_O:ENable ON |
C++:
rp_SetDpinEnableTrigOutput(bool enable)Python:
rp_SetDpinEnableTrigOutput(<enable>) |
Turns DIO0_N into trigger output for selected source - acquisition or generation.
|
2.00-15 - 2.00-30 |
DAISY:TRig:Out:ENable <state>Examples:
DAISY:TRig:Out:ENable ON |
C++:
rp_SetDpinEnableTrigOutput(bool enable)Python:
rp_SetDpinEnableTrigOutput(<enable>) |
Turns DIO0_N into trigger output for selected source - acquisition or generation.
|
2.04-35 and up |
DAISY:TRIG_O:ENable? > <state>Examples:
DAISY:TRIG_O:ENable? > ON |
C++:
rp_GetDpinEnableTrigOutput(bool *state)Python:
rp_GetDpinEnableTrigOutput() |
Returns the current mode state for DIO0_N. If true, then the pin mode works as a source.
|
2.00-15 - 2.00-30 |
DAISY:TRig:Out:ENable? > <state>Examples:
DAISY:TRig:Out:ENable? > ON |
C++:
rp_GetDpinEnableTrigOutput(bool *state)Python:
rp_GetDpinEnableTrigOutput() |
Returns the current mode state for DIO0_N. If true, then the pin mode works as a source.
|
2.04-35 and up |
DAISY:TRIG_O:SOUR <mode>Examples:
DAISY:TRIG_O:SOUR DAC |
C++:
rp_SetSourceTrigOutput(rp_outTiggerMode_t mode)Python:
rp_SetSourceTrigOutput(<mode>) |
Sets the trigger source mode ADC/DAC.
|
2.00-15 - 2.00-30 |
DAISY:TRig:Out:SOUR <mode>Examples:
DAISY:TRig:Out:SOUR DAC |
C++:
rp_SetSourceTrigOutput(rp_outTiggerMode_t mode)Python:
rp_SetSourceTrigOutput(<mode>) |
Sets the trigger source mode ADC/DAC.
|
2.04-35 and up |
DAISY:TRIG_O:SOUR? > <mode>Examples:
DAISY:TRIG_O:SOUR? > DAC |
C++:
rp_GetSourceTrigOutput(rp_outTiggerMode_t *mode)Python:
rp_GetSourceTrigOutput() |
Returns the trigger source mode.
|
2.00-15 - 2.00-30 |
DAISY:TRig:Out:SOUR? > <mode>Examples:
DAISY:TRig:Out:SOUR? > DAC |
C++:
rp_GetSourceTrigOutput(rp_outTiggerMode_t *mode)Python:
rp_GetSourceTrigOutput() |
Returns the trigger source mode.
|
2.04-35 and up |
Note
The daisy chain commands are meant to work with the X-channel system and the Red Pitaya Click Shields.
Note
The trigger signals from the SATA connector and the DIO0_P (External trigger pin) are OR-ed together in the software.
The generation and acquisition trigger fronts apply after the signals have been combined and trigger either DAC or ADC depending on the DAISY:TRig:Out:SOUR <mode> command.