Skip to main content

Analog IO

Found under IO on the device's panel list.

Analog IO

Live view of the four analog inputs, with control over the two analog outputs, the trigger window and the programmable supply. The inputs and outputs live on CN23, the 10-pin CAN/analog header - a separate connector from the 20-pin GPIO header, so none of it is affected by the IO voltage reference selected there (see about-vref.md and gpio.md).

The screen

The plot at the top traces all four input channels in millivolts, each in its own colour. Under it, the numbers are the present reading for each channel.

Below those sits the trigger indicator, then a row of five controls:

  • o0, o1 - the two analog output voltages
  • tg-, tg+ - the low and high thresholds of the trigger window
  • Vo - the programmable output supply

The selected control is drawn in yellow.

Controls

ButtonAction
Left / RightChoose which of the five you are adjusting
Up / DownChange it by 0.05 V
SliderDrag the selected one
CentreOn o0 or o1, open the waveform generator for that channel
GrayCapture rate: 50, 20, 10 or 5 ms (the label shows the rate)
GreenInput source: TLA2024, RP2350, or Both
YellowTurn the programmable supply on or off
BlueRoute the trigger comparator to the CPU, or release it
RedRetired as the exit control; unlabelled and does nothing here
CancelThis help page

HOME leaves the screen from here, as it does everywhere else in the menu.

Outputs

o0 and o1 go straight to the AOUT pins. Full scale is 4.84 V, the 1.21 V internal reference at 4x gain, so asking for more simply holds at 4.84 V.

Each of these two channels can generate a waveform instead of a steady voltage. Press Centre on the row to open a separate waveform-editor screen for that channel. While a waveform is configured, that row shows the shape and frequency rather than a voltage, and nudging the row with Up, Down or the slider hands the channel back to DC at the voltage shown. The waveform screen has its own dedicated OK button to return here; unlike this page, it keeps Red working as a labelled Stop control.

The trigger window

tg- and tg+ set a window on the Trig IN pin. The comparator output is high while the input sits between them, and that signal can drive the Logic Analyzer and Logic Player. The blue button decides whether it actually reaches the CPU.

Set the low threshold below the high one. If they cross, the output stops changing rather than triggering.

The programmable supply

Vo is a separate rail, adjustable from 1.0 V to 5.5 V and good for about 1.5 A. The yellow button switches it on and off; the row sets the voltage. Check what you have connected before enabling it.

This is the same physical supply that about-vref.md and gpio.md call Prog Vout, one of the sources selectable elsewhere as what feeds the 20-pin GPIO header's IO reference voltage. Turning Vo on or changing its voltage here changes what that source delivers if it is the one currently selected there.

Input source

The green button cycles what the plot and the readouts show:

  • TLA2024 is the external ADC: 12-bit, single-ended against ground at its default +/-6.144 V range (3 mV per step), reading the connector directly with no attenuation ahead of the chip.
  • RP2350 is the processor's own ADC: also 12-bit, read through a fixed front-end divider and scaled back in software to a 0-5.0 V range (roughly 1.2 mV per step).

Both shows the external reading large with the internal one beneath it in grey, which is useful when you want to see whether the two agree.

Gray's capture rate (50/20/10/5 ms) controls how often a new point lands in the plot, but it only actually resamples the ADC when RP2350 is feeding it. When the plot is fed from the TLA2024 instead, each point is just whatever that chip's own background scan last produced - it cycles through all four channels roughly every 40 ms (paced 10 ms per channel at its default data rate) no matter what Gray is set to.

Power

This panel requires the Analog power zone (11) - the DAC, the TLA2024 and the front-end opamps behind both ADCs all sit on it. Opening this screen switches that zone on if it was off, without asking; readings take a moment to reflect real hardware while the rail comes up. Zone 11 is on by default and is also switched from Power Devices.

Waveform Generator

Drives the DAC63204's built-in function generator on an analog output. Reached from the Analog IO screen: select the o0 or o1 row and press center. Only those two channels have a generator — tg- and tg+ are the trigger-window comparator thresholds and Vo is the programmable supply.

o0 is AOUT0, pin 5 of the CN23 10-pin analog/CAN header; o1 is AOUT1, pin 3 of the same header.

Controls

ButtonAction
Up / DownMove between parameters
Left / RightChange the selected parameter
SliderDrag the selected parameter
Greenrun starts the channel; reads update once running
Redstop (blank when nothing is running)
OkLeave, back to Analog IO

Red stops the running waveform; its label goes blank when there is nothing to stop. Ok returns to the Analog IO screen; HOME leaves the menu entirely from here, as it does everywhere else.

update re-applies the settings and re-triggers the generator. You do not need it to make an edit take effect — edits reach the hardware as you make them while the channel is running. It is there to restart the waveform from the beginning, which is the only way to reset a sine's phase.

Parameters

Typetriangle, sawtooth, invsawtooth, sine, or off. Setting it to off stops the channel and hands the pin back to DC mode. There is no square wave; the hardware does not generate one.

Freq — the frequency you want, stepped 1‑2‑5 (100, 200, 500, 1k …). The hardware can only produce a fixed set of frequencies, so the value actually produced is shown next to the row as act. See Why act differs below.

Low / High — the bottom and top of the waveform in volts. Full scale is 4.84 V (the 1.21 V internal reference at 4× gain), not 5 V.

For sine these two behave differently: the chip plays a fixed 24-point table, so Low and High cannot shape it directly. They are used to pick the closest output gain instead, giving four possible amplitudes — roughly 1.45, 1.94, 2.90 or 3.87 V peak-to-peak, always centred on mid-scale. The act line reports what you actually got.

The detail line

Under the rows, the resolved hardware settings:

  • SR — slew rate, the time the DAC spends on each step (4 µs to 5127.92 µs).
  • CS — code step, how many counts it moves per step (1 to 32).
  • ML / MH — the 12-bit codes for Low and High.
  • gain — the output gain setting; 5 is the 4× default.

Frequency comes out of these: a triangle takes (MH−ML+1)/CS steps up and the same back down, at SR per step. If a channel is in DC mode the line reads channel in DC mode, and if the settings cannot be realised it says so instead of showing numbers.

Why act differs from Freq

There are only 15 slew rates and 8 code steps, so for triangle and sawtooth the achievable frequencies are a discrete set that depends on your amplitude. The firmware picks the closest one and tells you what it picked.

Near the top of the range this gets coarse: the slew rate is already at its 4 µs minimum and only the code step can move, in 2× jumps. At 0.5–4.0 V the only frequencies available above 340 Hz are 453, 676, 679 and 1359 Hz — so asking for 1 kHz gives you 679 Hz, and nothing gets you closer.

A precise high frequency costs amplitude. A narrower Low–High span shifts the whole achievable set upward and packs it more densely. Sine is exempt: it is 1/(24 × SR), fifteen evenly spread steps, and amplitude does not affect it.

Ranges

LowestHighest
Sine8.13 Hz (fixed)10.42 kHz
Triangle, full scale0.024 Hz (42 s)977 Hz
Triangle, 0.1 V span1.15 Hz62.5 kHz
Sawtooth2× the triangle floor2× the triangle ceiling

Requests outside the range are clamped to the nearest achievable value, not rejected. Sine cannot go below about 8 Hz at any amplitude — use a triangle or sawtooth if you need sub-Hz.

Sharing the channel with DC

A channel is either generating a waveform or holding a DC voltage, never both. The last thing you touch wins: setting a DC voltage on the Analog IO screen, or with the s console command, stops any waveform on that channel. While a waveform is configured, that screen's row shows the shape and frequency instead of a voltage.

Console equivalents

w <channel> <waveform> <freqHz> <lowV> <highV> <phase>
x <mask>

w configures and starts one channel. x sets the run state of both channels in a single write, so x 3 starts them on the same edge — use it when two channels need to start together. The console also exposes phase (0, 120, 240, or 90 degrees), which this screen always leaves at 0 degrees.

Power

This screen requires the Analog power zone (11), which also feeds the TLA2024 ADC and the input opamps. Opening it switches that zone on if it was off, without asking. Zone 11 is on by default and is also switched from Power Devices.

See also: Analog In, and Analog Out & Trigger — the console/GUI commands for this panel.