DRS4 Forum
  DRS4 Discussion Forum, Page 3 of 15  Not logged in ELOG logo
New entries since:Thu Jan 1 01:00:00 1970
Entry  Fri Sep 13 15:27:41 2019, Arseny Rybnikov, Scaler / How to modify the firmware to change the scaler integration time 

We want to use the inner DRS4 counter(scaler) within more than the 100ms integration time. We guess that we need to modify the original
firmware around this point:
Entry  Tue Aug 27 08:33:22 2019, chinmay basu, DRS4 
Is DRS4 suitable for use with Silicon surface barrier detectors?
    Reply  Tue Aug 27 09:14:03 2019, Stefan Ritt, DRS4 
Is a 5 GSPS oscilloscope suitable for use with Silicon surface barier detectors?

basu wrote:

Is DRS4 suitable for use with Silicon surface barrier detectors?
Entry  Mon Aug 19 23:01:22 2019, Bill Ashmanskas, should one deassert DENABLE while writing the write-shift register? 
Hi Stefan,

We have for some time now been using custom firmware on a custom board to read waveforms out of DRS4 chips.  Now we are working on cascaded
readout mode, 4 channels @ 2048 samples, WSREG=0x55, in order to allow for longer trigger latency.
    Reply  Tue Aug 20 10:44:45 2019, Stefan Ritt, should one deassert DENABLE while writing the write-shift register? 
Hi Bill,

you keep DENABLE active all the time to keep the Domino Wave running, but you deassert DWRITE if you change any register via SRCLK. There is
no shadow register, just a simple shift register, but with DWRITE being low, the domino circuitry does not touch it.
       Reply  Tue Aug 20 16:05:21 2019, Bill Ashmanskas, should one deassert DENABLE while writing the write-shift register? 
Aha -- many thanks.  I think what tripped up my test logic is that the "done" state in drs4_eval5_app.vhd that executes post-readout sets
DWRITE back to 1 (drs_write_set).  If one then writes to FPGA register 5 while the FSM is in the "idle" state, the conf_strobe and wsr_strobe
states occur with DWRITE and DENABLE both asserted.  This is if one sets the "dactive" bit in the FPGA app code, which is probably not the
Entry  Thu Jul 18 01:03:44 2019, Ismael Garcia, Trace Impedance DRS4_Analog_IN.PNG

Hi Steffan,

              I'm an engineer at UCLA developing a board with the DRS4 chip. Our team has a question on
    Reply  Thu Jul 18 11:37:56 2019, Stefan Ritt, Trace Impedance 
The requiremnet is the same as for any high speed analog board, there is othing special with the DRS4. If you want to terminate your line with 50 Ohms
and you want a matched impedance layout, you route all lines with 50 Ohms impedance. Truth is however that nothing is perfect. The SMA connector is not
exactly 50 Ohm, the PCB gets a 10-20% variation depending on the manufacturer. So even if you try hard, you will never have a 50 Ohm matched impedance.
       Reply  Fri Jul 19 01:37:09 2019, Ismael Garcia, Trace Impedance 
When you're refering to laying a 50 Ohm trace, you're referring to the SMA input and not the interface between the output of the Op-AMP(THS4508)
and the inputs  of the DRS4(IN0-IN8). Is there a recommended diffential impedance for IN0-IN8? 
          Reply  Sat Jul 20 12:28:14 2019, Stefan Ritt, Trace Impedance 
The DRS4 input is high impedance. So if you like you can terminate it with 100 Ohm differentially and route it with 100 Ohm. But if you keep the lines
short, the reflection is negligible. That’s what we made on the evaluation board.

Entry  Sat Jul 13 01:00:15 2019, Brendan Posehn, Evaluation Board Test Functionality 

I have recently obtained a DRS4 Evaluation Board (V5), but I am unable to register signals when using the DRS Oscilloscope application. There
seems to be some difference in noise when I have an input connected to a signal or not, but I am unable to view a simple, 0.2V amplitude square wave or
    Reply  Mon Jul 15 17:26:50 2019, Stefan Ritt, Evaluation Board Test Functionality 
Have you set the trigger correctly to the channel with your signal, polarity and level? Do you undersand the difference between normal and auto trigger?
Why don't you post a screendump. Are you ABSOLUTELY SURE that you have a signal on your cable? Have you tried with another oscilloscope? Are you sure
that your SMA connector is good?
       Reply  Mon Jul 15 19:34:25 2019, Brendan Posehn, Evaluation Board Test Functionality 
Hello Stefan, 

Thanks for the quick reply. The issue was a faulty SMA connector, should have checked this first. Signal looks good now.

Thanks for your time, 
Entry  Tue Jun 25 23:04:29 2019, Si Xie, drs_exam is always reading out a sin wave 
We are using the drs_exam.cpp to read out waveforms, but it seems to be outputting only sin waves on all channels - as if it was reading out the simulated
waveform from the oscilloscope program if we run it without the board plugged in. Does anyone know what is causing this?

We are taking data with a pulser plugged into channel 1, which produces a single pulse with width of 8ns, and nothing plugged into channel
    Reply  Wed Jun 26 13:08:42 2019, Stefan Ritt, drs_exam is always reading out a sin wave 
Sure, that’s correct. The example program turns on the internal sine wave generator in case people don’t have a real signal. That’s
why it’s called „example“. Find the code which turns on the generator and change it. You will also have to change the trigger settings
depending on your actual signal.
       Reply  Wed Jun 26 15:10:09 2019, Si Xie, drs_exam is always reading out a sin wave 
I see. Where is the code that we can use to turn off the generator? I thought the example is taking data with CH1 as the trigger.

For our board, which is BoardType == 9, it is running these lines:

      b->EnableTrigger(1, 0);           // enable hardware trigger
          Reply  Mon Jul 8 14:29:12 2019, Stefan Ritt, drs_exam is always reading out a sin wave 
Actually in the original drs_exam.cpp the sine wave oscillator is turned off with this command

/* use following line to turn on the internal 100 MHz clock connected to all channels  */
Entry  Wed Mar 7 22:49:38 2018, Rodrigo Trindade de Menezes, Running drs_example.cpp drs_exam.cpp

We have been using the DRS4 evaluation board (S/N 2636) that works with the scope application. However we are trying to run the DRS4 evaluation
board remotely by modifying the drs_exam.cpp to acquire and store data continuously.
    Reply  Thu Mar 8 22:54:20 2018, Rodrigo Trindade de Menezes, Running drs_example.cpp 
We found a way to solve the previous problem, but right now when we try to set the input range only -0.5 to 0.5 is working. When we set the function
"SetInputRange(0.5)" for 0 to 1V the output is all zeros and with  "SetInputRange(0.45)" we just get all the outputs -49.9mV.
What does that means? How to fix?
       Reply  Fri May 4 12:11:57 2018, Stefan Ritt, Running drs_example.cpp 
And here is the second part of your answer: When you change the input range, you have to redo the voltage calibration. Best is if you do that in the
DRSOsc program, then you see that it's working. Then start your custom program and use the same range.

       Reply  Wed Jun 26 15:17:51 2019, Si Xie, Running drs_example.cpp 
Hi Rodrigo, I'm wondering how you solved your original triggering problem. We are also having trouble with collecting data continously using the
example. Thanks.

    Reply  Mon Mar 19 15:12:02 2018, Stefan Ritt, Running drs_example.cpp 
The time channel is already calibrated in ns. So for 5 GSPS, the time scale goes from zero to 200. Concerning your other issues I will come back to you

Entry  Thu Jun 20 01:36:48 2019, Andrew Peck, Evaluation firmware wait_vdd state 
Dear Stefan,

I am working with others at UCLA on a custom made board built around the DRS4. We are in the process of writing firmware so I am adapting the
readout state machine from the evaluation board firmware.
    Reply  Fri Jun 21 12:54:47 2019, Stefan Ritt, Evaluation firmware wait_vdd state 
Dear Andrew,

the posting you mention is still accurate. Any power supply will drop when you start the Domino wave, no matter how big your capacitor is. Unfortunately
the output signal of the DRS4 scales with VDD. So if your VDD drops by 40 mV and you get a trigger and you immediately start the readout, the output baseline
       Reply  Mon Jun 24 23:07:35 2019, Andrew Peck, Evaluation firmware wait_vdd state 
Dear Stefan, 

Thanks so much for clarifying this. We made wait_vdd a parameter controlled by software and will try to experiment with it to find some compromise
between deadtime and the offset added by the droop in VDD. 
Entry  Fri Apr 12 09:39:30 2019, Lev Pavlov, multi-board 

Good afternoon, I use 5 boards in multi-mode, everything is connected according to the instructions. Can I measure the phase difference between
the two signals on channel 1 and channel 20? with each board the phase shift is added +16 ns I can not figure out how to compensate for this. give thanks
    Reply  Fri Apr 12 09:55:50 2019, Stefan Ritt, multi-board 
Subtract 16 ns from your measured value ;-)


       Reply  Fri Apr 12 09:59:15 2019, Lev Pavlov, multi-board 

I understand this, thanks. But my Chief does not understand this, he wants to see the phase difference without “crutches”. And what
is meant in the manual 50 ps resolution? Maybe I just do not understand something? And if you submit a reference signal not in the mode of a garland, but
          Reply  Fri Apr 12 12:50:18 2019, Stefan Ritt, multi-board 
If you have two signal going through two cables, the cable have never the same length (on a scale of picoseconds), and you have to calibrate that anyway.
So a proper timing calibration is not a crutch.

What do you mean by "manual 50ps"? The manual does not mention any resolution. In my experience, you can achieve about 10ps between
Entry  Thu Mar 14 03:43:49 2019, Deepak Samuel, How to buy DRS evaluation kit 
Dear Stefan,

I have emailed drs4@psi.ch a couple of times regarding the pricing of the evaluation kits for academic use in India and have not received any
reply and hence writing in this forum. Could you please help me in this?
Entry  Fri Mar 8 19:35:11 2019, Abaz Kryemadhi, ROOT Macro for newest software read_binary.C
The older root macro did not work for me for data acquired with the newest software.

so for the newest software and multiple boards, I modified the read_binary.cpp into read_binary.C for those who like to use the root macro, see
the attachment.  
Entry  Wed Mar 6 10:09:01 2019, Willy Chang, drscl "no board found" in some Win7 or Win8.X PCs 
Hi all, 

When connecting the board and running the Zadig program, some Windows PCs may return "driver installation failed." I coudn't
find the solution from their download website. So I started the drscl first. Apparently it shows: Successfully scanned, but
Entry  Mon Feb 4 16:42:08 2019, Hans Steiger, Different Distances between the sampling points 
Dear All,

with the older software for my V5 Board i did not have the problem, that the distance between the sampling points (in time) is not the same (e.g.
a sampling point all 200ps for 5GS/s). 
    Reply  Mon Feb 4 16:46:04 2019, Stefan Ritt, Different Distances between the sampling points 
The sampling points are NOT equidestant, they have varying bin widths of 150ps to 250ps at 5GS/s. That's due the way the DRS4 chip works. You might
have neglected that fact in the past, but that would have led to poor timing resolutions (typically 1-2ns resolution only). To get bins with the same width,
you have to treat your waveform as a real X/Y points (or better U/T), and the re-sample that cure, maybe spline-interpolated, at 200ps bins.
       Reply  Mon Feb 4 17:36:49 2019, Hans Steiger, Different Distances between the sampling points 
Sorry.... but is there a solution or a Root Macro, that reads the waveforms into a Root-Tree? I simply can not work anymore with the data. 

Can you tell me, which software was in use in early 2017?

All the best,
          Reply  Mon Feb 4 18:18:22 2019, Stefan Ritt, Different Distances between the sampling points 

Steiger wrote:

Sorry.... but is there a solution or a Root Macro, that reads the
Entry  Sat Feb 2 00:13:12 2019, Hans Steiger, Saving Rate (only 15Acq/s) 
Dear All,


when I use my Evaluation Board with some PMTs I can digitize 450 Acq/s or so. But when I want to save the waveforms the rate goes down. The Acqu.
    Reply  Sat Feb 2 10:10:22 2019, Stefan Ritt, Saving Rate (only 15Acq/s) 
The reduction of rate is because you save in XML format, which is an ASCII format, so human readable, but takes long to write. If you switch to binary
format and write on a decent fast hard disk, you should get back to 450 Acq/s.

Entry  Tue Jan 29 14:43:44 2019, Abaz Kryemadhi, ROOT Macro for data acquired with the newest software 

Is there a root macro for decoding binary data acquired with the newest software for single board or multi-boards daisy chained?

    Reply  Wed Jan 30 17:08:58 2019, Stefan Ritt, ROOT Macro for data acquired with the newest software 
This one elog:361 should still work.


Entry  Wed Jan 30 06:51:37 2019, Saurabh Neema, DRS4 domino wave stability study 
We have been using DRS4 IC in our design for quite some time and it is giving good performance.

Till now we were using Domino wave frequency as 1 GSPS by use of reference clock to DRS4 and internal PLL of DRS4. Recently we tried to use 4GSPS
by modifying the reference clock.
    Reply  Wed Jan 30 08:02:25 2019, Stefan Ritt, DRS4 domino wave stability study 
The Domino wave is most stable at 5 GSPS, slowly degrades down to 3-2 GSPS, and at 1GSPS gets some significant jitter. This is for internal reasons in
the chip and cannot be compensated by the loop filter. It is therefore important to run it as fast as possible if you want to achieve best timing resolution.
As a rule of thumb, the jitter at 5 GSPS is about 20-25 ps, and at 1 GSPS it is maybe 150 ps. If you require good timing resolution, you can use the 9th
Entry  Thu Nov 8 11:44:35 2018, Davide Depaoli, Timing Issue 

We are using the DRS4 Evaluation Board as a digitizer in our laboratory.
    Reply  Thu Nov 8 11:54:33 2018, Stefan Ritt, Timing Issue 
That's not a bug, but a feature of the DRS4 chip. The time bins have different values by the properties of the chip. They are generated by a chain of inverters,
which all have different propagation times. This delay is measured by the time calibration and then applied. If you want equidistant bins, 
you have to interpolate your data points (linearly or by splines) and resample the signal. You can find more details in the DRS4 data sheet.
       Reply  Thu Nov 8 12:02:34 2018, Davide Depaoli, Timing Issue 
Thanks a lot for the quick response.
We will do as you suggest.
Entry  Mon Nov 5 17:17:08 2018, Sean Quinn, Pi attenuator on eval board inputs? pi_att.PNG
Dear DRS4 team,


I am curious about this part of the circuit:
    Reply  Thu Nov 8 09:57:26 2018, Stefan Ritt, Pi attenuator on eval board inputs? 
The attenuator compensates for the gain of the buffer which is slightly above one. In addition, it serves as a "placeholder" in case one wants
larger input signals. One can easily convert the attenuator to -6db, -12db, etc. by chaning the resistors.

Entry  Sun Sep 23 02:22:46 2018, Gerard Arino-Estrada, Trigger OUT pulse width variable from 100 us up to 100 ms 
Hello Stefan,

I am using the DRS4 board connected to a Raspberry PI and through the drsosc application. I am interested on using the "Trigger OUT"
signal to do some extra data processing with NIM modules. According to the manual, for each hardware trigger a TTL pulse of 150 ns width should be send
    Reply  Wed Sep 26 14:44:14 2018, Stefan Ritt, Trigger OUT pulse width variable from 100 us up to 100 ms 
The "Trigger OUT" has changed recently. It goes high on a new trigger, but then STAYS high until the board has been read out by the PC and
re-started. This allows better synchronization with some external trigger, which can be re-armed with the falling edge of the trigger out signal. The signal
can be quite long, since readout of an event via USB typically takes 2 ms, but can be more if the PC is busy. If you need back your 150 ns pulse,
       Reply  Wed Sep 26 18:28:20 2018, Gerard Arino-Estrada, Trigger OUT pulse width variable from 100 us up to 100 ms 
Thank you very much for the answer, I really appreciate your help.


          Reply  Wed Sep 26 19:21:03 2018, Stefan Ritt, Trigger OUT pulse width variable from 100 us up to 100 ms 
In meantime I even updated the manual.


Entry  Thu May 17 13:29:34 2018, Stefan Ritt, "Symmetric spikes" fixed with.pngScreen_Shot_2018-05-17_at_13.30.23_.pngwithout.png
Good news for all DRS4 users. After many years, I finally understand where the "symmetric spikes" come from and how to fix them.

The "symmetric spikes" are small spikes of 17-18mV, which randomly happen at 1-2 cells. They alwas come in groups of 2 in each channel,
symmetric around sampling cell #512. See first attachment.
    Reply  Mon Sep 3 11:17:26 2018, Martin Petriska, "Symmetric spikes" fixed 

Is it possible to fix it by FPGA changes?  I see readout cycle (proc_drs_reedout) in drs4_eval(4)5_app.vhd, but not sure where to exactly
put this three commands. Could you please attach app.vhd file for eval board with example how to fix ?
       Reply  Tue Sep 4 13:04:30 2018, Stefan Ritt, "Symmetric spikes" fixed 
Yes it's possible, but I have to find time for that. The software of the evaluation board takes care of the spikes ("remove spikes"), so
I thought it's not so urgent to fix that in the FPGA (which takes me some time).

          Reply  Thu Sep 13 18:09:13 2018, Martin Petriska, "Symmetric spikes" fixed 
Ok, so I made it ... and Yes it works :), 


here is changed part in drs4_eval4_app.vhd
ELOG V3.1.4-bcd7b50