You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Breaking**: Updated ADC and DAC pipeline requires a new ADC and DAC calibration after the update!
7
+
-**Breaking**: When not using the ADC calibration the integer values will now be in the range of [-32768, 32767] instead of [-8192, 8191]
8
+
9
+
### Updated ADC Pipeline
10
+
- The decimating pipeline after the ADC now uses the full 16-bit accuracy decreasing the quantization noise which becomes dominant over the ADC noise at high decimations (>256)
11
+
- The FIR filter added in v0.6.0 can now be switched on and off using `firEnabled!`. For all standard applications the filter should be left on for improved anti-aliasing and flatter frequency response. The filter can be turned off for applications where the delay introduced by the filter is unwanted, e.g. time-based multiplexing
12
+
13
+
### Updated DAC Pipeline
14
+
- increased amplitude resolution of waveform signal components to 16-bit, decreasing the discretization of the sine amplitude from 122 µV to 15 µV
15
+
- increase resolution of DAC pipeline to 16-bit until the final output quantization for improved accuracy when combining different components
16
+
- prevent potential overflow in DAC pipeline when adding multiple components
17
+
- reintroduced signal limiter, which was mistakenly removed in a previous release
18
+
- removed hard limit of 1 V from amplitude components, as the DAC might be able to produce higher amplitudes depending on the calibration
19
+
20
+
### General Updates
21
+
- extended instant reset to ramp down the outputs if ramping is enabled instead of cutting
22
+
- (re)added SCPI interface to enable instant reset
23
+
- added 3-bit counter output with configurable counter speed outputting on DIO2_N (LSB) to DIO4_N (MSB)
24
+
- Improved passing of error messages from SCPI server to the Julia client, SCPI errors still do not throw, but additional info is output as log messages
25
+
- added `calibReset!(rp)` to reset ADC and DAC calibration to default
26
+
- added `serverversion(rp)` to query the version of the server running of the RedPitaya
27
+
- improved `imgversion` to not error on server versions prior to the introduction
28
+
- added two examples on FIR switching
29
+
- deprecated `enableRampDown!` and `enableRampDown` due to misleading names and functionality. Use `startRampDown!(rp, channel)` in the future to start a ramp down. It is not and was never possible to stop a triggered ramp down contrary to what the existence of `enableRampDown!(rp, channel, false)` might suggest.
Copy file name to clipboardExpand all lines: docs/src/generation.md
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,16 @@
1
1
# Signal Generation
2
-
Once the acquisition is triggered, each RedPitaya also starts producing signals on their output channels. Each RedPitaya features six such channels, two of those are the 16-bit DAC channel and four of those are digital pins using PDM, see [Connections](connections.md). The output signals are composed of three parts: parameterized waveforms ``W_i(t)``, an offset ``o_i`` and repeating arbitrary LUT tables. The latter are called sequences ``seq_i(t)``. The resulting signal of the DAC channel can be described as:
2
+
Once the acquisition is triggered, each RedPitaya also starts producing signals on their output channels. Each RedPitaya features six such channels, two of those are the 14-bit DAC channel and four of those are digital pins using PDM, see [Connections](connections.md). The output signals are composed of three parts: parameterized waveforms ``W_i(t)``, an offset ``o_i`` and repeating arbitrary LUT tables. The latter are called sequences ``seq_i(t)``. The resulting signal of the DAC channel can be described as:
3
3
4
4
```math
5
5
S_i(t) = seq_i(t) + o_i + W_i(t)
6
6
```
7
7
## Waveforms
8
-
Each of the 16-bit DAC channel can output a compositve waveform with four components. Each component can be parametrized by its amplitude ``a_{i,j}``, frequency ``f_{i,j}`` and phase ``\varphi_{i,j}``, which can all be changed via SCPI commands. Furthermore, each component also offers different waveforms ``w_{i,j}``(sine, triangle, sawtooth):
8
+
Each of the 14-bit DAC channels can output a compositve waveform with three components. Each component can be parametrized by its amplitude ``a_{i,j}``, frequency ``f_{i,j}`` and phase ``\varphi_{i,j}``, which can all be changed via SCPI commands. Furthermore, each component also offers different waveforms ``w_{i,j}``(sine, triangle, sawtooth):
Additionally there is a fourth waveform which can be user-configured to an arbitrary waveform. The arbitrary waveform is defined by a 16384 sample buffer representing a single period, which is then also parameterized using a frequency and phase. Note, that the amplitude of the waveform has to be adjusted by updating the buffer.
12
14
## Ramping
13
15
The signals output on the DAC channel can also be multiplied with an increasing/decreasing ramping factor ``r(t)``. Ramping and the ramping duration can be enabled and set on a per channel basis. The increasing factor starts from 0 and goes to 1 from the acquisition start on. The decreasing factor goes from 1 to 0.
Copy file name to clipboardExpand all lines: docs/src/scpi.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,7 +89,11 @@ During an active trigger the buffer is periodically updated by the server. If th
89
89
|RP:CALib:DAC:CHannel#:OFFset? | channel (0, 1) | Return the DAC offset value for given channel from EEPROM | Any | RP:CAL:DAC:CH1:OFF? |
90
90
|RP:CALib:DAC:CHannel#:SCAle| channel (0, 1), scale| Store the DAC scale value for given channel in EEPROM | C | RP:CAL:DAC:CH1:SCA 1.0 |
91
91
|RP:CALib:DAC:CHannel#:SCAle? | channel (0, 1) | Return the DAC scale value for given channel from EEPROM | Any | RP:CAL:DAC:CH1:SCA? |
92
-
92
+
|RP:CALib:DAC:CHannel#:LIMit:UPper| channel (0, 1), upper limit| Store the DAC upper limit value (in V) for given channel in EEPROM | C | RP:CAL:DAC:CH1:LIM:UP 1.0 |
93
+
|RP:CALib:DAC:CHannel#:LIMit:UPper? | channel (0, 1) | Return the DAC upper limit value (in V) for given channel from EEPROM | Any | RP:CAL:DAC:CH1:LIM:UP? |
94
+
|RP:CALib:DAC:CHannel#:LIMit:LOWer| channel (0, 1), lower limit| Store the DAC lower limit value (in V) for given channel in EEPROM | C | RP:CAL:DAC:CH1:LIM:LOW -1.0 |
95
+
|RP:CALib:DAC:CHannel#:LIMit:LOWer? | channel (0, 1) | Return the DAC lower limit value (in V) for given channel from EEPROM | Any | RP:CAL:DAC:CH1:LIM:LOW? |
96
+
|RP:CALib:RESet|| Reset all EEPROM calibration values to their default | C | RP:CAL:RES|
0 commit comments