load_wrpg_stl
Usage
Outline:
configure and run White Rabbit Pulse Generator on uut
./load_wrpg_stl.py –stl=file uut
WRTD: White Rabbit Trigger Distribution WRTT: White Rabbit Time Trigger. WRPG: White Rabbit Pulse Generator
Ext-Trg -> WRTD -> WRTT -> WRPG
WRTD detects an external trigger input, snaps the TAI time, broadcasts a WRTD message for a short time in the future (50ms). When the specified TAI time is reached, all ACQ2106 units issue pulse WRTT We set up the WRPG to trigger on the WRTT
Full sequence:
- Activate package 99-custom_wrpg
On the UUT
mv /mnt/packages.opt/99-custom_wrpg* /mnt/packages sync;sync;reboot
- A standard ACQ2106_WR box boots with WRTD running
We typically connect a 2Hz signal to the WRTD INPUT port. Check it’s running: 2Hz count on TRG.d0
- Actually, a free-running trigger is NOT helpful, stop it
If you have active control of the WRTD INPUT, stop the signal Else, it’s easy to stop the WRTTD output by stopping the wrtd rx process
nc localhost 4280 ^T ^XCheck that the 2Hz clock on TRG.d0 stops.
- Configure a transient capture to trigger on TRG.d0
- From cs-studio:
Capture|Transient [DEFAULT POST] [setMode] ARM The ADC sits in ARM mode.
- Or use an external client program. Ensure that
UUT:1:TRG=enable UUT:1:TRG:DX=d0 UUT:1:TRG:SENSE=rising
- Set a waterfall display:
/usr/local/epics/scripts/set.AI.waterfall
- Configure the GPG to use TRG.d0
ACQ400GPG.OPI | set GPG_TRG Or use an external client program. Ensure that UUT:0:GPG_TRG=enable UUT:0:GPG_TRG:DX=d0 UUT:0:GPG_TRG:SENSE=rising
- Load the STL, using this program
./load_wrpg_stl.py –stl=STL/ramp_1step_64samp.stl uut
- Enable the WRTD INPUT.
^X again on the 4280 session will allow the WRTT signal to restart.
Both the GPG and the ADC will trigger on the next WRTT, and at the end of the shot you should see the preprogrammed pulse train.
Limits:
Number of DO lines: 32 (Single DIO482 in Site 6)
Time resolution: 1usec (clocks on WR 1MHz)
Maximum number of states: 512
Maximum delay per state: 2^24 = 16s
Maximum theoretical delay: > 8192s with 1usec resolution.
In practise, we don’t expect delays > 600s.