DRS4 Forum
  DRS4 Discussion Forum, Page 3 of 13  Not logged in ELOG logo
Entry  Mon Apr 16 21:21:29 2018, Sobimpe Eniola, DRS4 read_binary.cpp  
Hello everyone, 

The new read_binary.cpp code 

I will be very glad if anyone can help with the old version of read_binary.cpp code. The latest version I saw online was updated on June
    Reply  Tue Apr 17 13:28:23 2018, Stefan Ritt, DRS4 read_binary.cpp  
On the software download page at https://www.psi.ch/drs/software-download you find a link to all versions of the DRS software, which is located
at: https://www.dropbox.com/sh/clqo7ekr0ysbrip/AACoWJzrQAbf3WiBJHG89bGGa?dl=0

Earch .tar.gz file has a date, which should help you find the correct version.
Entry  Thu Mar 22 14:36:01 2018, Phan Van Chuan, Read the CalibrateWaveform 
Helo
I'm building an application for reading waveforms from the DRS4 board to PC. However, I am having problems reading calibration data from EEPROM
on DRS4 board. The calibration data is read through the function reference:
    Reply  Fri Mar 23 09:39:55 2018, Stefan Ritt, Read the CalibrateWaveform 
You don't have to read and calibrate the waveforms in your user code, but can rely on the DRS.cpp library to do that. Just look at the drs_exam.cpp
program coming with the distribution. It uses the function b->GetWave() to retrieve the calibrated waveform. If you like, you can look into that function
to learn how to apply the calibration, but I can tell you that it's a bit complicated. Since each event starts at an arbitrary stop cell in the DRS4,
Entry  Fri Mar 2 18:08:55 2018, Steven Block, ROI  
Hello,

I have a question about how ROI works. From what I have read, it will only save data that ocurs some time 
    Reply  Fri Mar 2 20:17:17 2018, Stefan Ritt, ROI  
N'/N is correct. The 2 us "from the response you got from me" come from the fact that after readout, you have to start the DRS4 again.
During this time, the power supply usually becomes slightly unstable, and it takes on the evaluation board about 2us to stabilize it again. Tha't why
I add the 2 us. If you don't care about slight offset effect, or if you make a better power supply, you dead time would be 10*30ns = 300ns for 10 samples.
       Reply  Fri Mar 2 21:05:48 2018, Steven Block, ROI  
Great! That is very helpful. 

One more question. If no signals were detected in the 1024*200ps time frame in ROI mode, would the DRS4 go dead for 32us (or 30us depending on
the supply)  for, or would it dump the earliest events in the buffer for the more recent ones until it detects a signal to readout? Or rather, does
          Reply  Mon Mar 19 16:22:42 2018, Stefan Ritt, ROI  
The DRS4 has an internal storage of 1024 capacitors. They work as a ring buffer, so at 5GSPS you can store 200ns wide signals. After 200ns, the first
samples are overwritten by new samples, so you always have the last 200ns of samples stored. Once you trigger the DRS4, this buffer is frozen, and the
readout of this buffer causes the dead time. No trigger, no dead time. Hope this answers your question.
Entry  Wed Mar 14 00:38:15 2018, Will Flanagan, sub-ms precision timestamps? 
Dear DRS4 community,

Is there a way to extract timestamps with sub-ms precision? The milliseconds of an event is clearly given when unpacking the header. I would
like to determine how far apart events are when they are within the same millisecond.
    Reply  Thu Mar 15 08:44:26 2018, Stefan Ritt, sub-ms precision timestamps? 
Putting sub-ms precision into the header does not make sense, since the USB transfer only happens in time-slots of about 2 ms. To get better timing,
you would need a hardware time clock in the FPGA, which does not exist right now.

Best,
Entry  Tue Feb 27 16:34:26 2018, Steven Block, DRS4 Dead times 6x
Hello All,

I am currently trying to figure out how to properly characterize the dead time of the DRS4 board. My most recent experiment to try and answer
this question involved using an external trigger that can range from 1Hz to 2MHz. I fed this trigger into the DRS4 and collected 1000 samples with no input
    Reply  Tue Feb 27 17:04:12 2018, Stefan Ritt, DRS4 Dead times 
XML is very slow to write, and you are probably limited by that. Switch to binary mode, which is much faster. You will see in the end a maximum rate
of ~500 Hz, and thus a dead time of 2ms, independent of the sampling speed. Note that you have only an evaluation board, which is optimized for ease of
use. If you develop your own electronics, and do optimized readout, you can bring the deadtime down to 30ns x number of samples + 2us, or 32us if you read
       Reply  Tue Feb 27 18:04:18 2018, Steven Block, DRS4 Dead times 
That is extremely helpful! Many thanks. One more question; If I were to take inputs from 2 channels at once, would that scale the dead time to 64us
using your example? 

Steven
          Reply  Tue Feb 27 18:12:32 2018, Stefan Ritt, DRS4 Dead times 
For applications which are critical on the dead time, one typically uses one ADC per DRS4 channel, and thus the dead time stays at 32us. If you multiplex
two DRS4 channels into one ADC channel, then it goes to 32us.

Stefan
Entry  Thu Jan 25 05:24:05 2018, chen wenjun, problem with the drscl(drs507) 
Hi! Stefan:

  when I change a new computer(win7,64bit),I meet a problem that the drscl app cannot found the board! It shows"USB successfully scanned,but
no boards found",but the drsosc runs well . when I connect to other win7*64bits computer,only one of them runs property! Is there any driver else
    Reply  Thu Jan 25 08:00:16 2018, Stefan Ritt, problem with the drscl(drs507) 
This problem has been reported by several people, like elog:551

So far I could not solve it. On the computers at our lab it works find so I cannot reproduce and fix the problem. One suspicion I have is that
the underlying libusb library needs to be updated. You can try to install the newest version from their website at http://libusb.info/, but I haven't
       Reply  Thu Jan 25 08:07:32 2018, chen wenjun, problem with the drscl(drs507) 
I have tried about 4 computers,only one worked fine.I truly want to know how others get this fixed,can you get in touch with them?




Stefan
Ritt wrote:



This problem has been reported by several people, like 
Entry  Tue Mar 28 21:53:12 2017, Jim Freeman, drscl doesn't find eval board but drsosc does (Windows 7) 
I cannot find the EVAL board using drscl version 5.06 while the drsosc works fine. I tried 2 different eval boards and 2 different computers and the
same effect. I looked under device manager at the libusb and the drs4 was there, and checked the driver which was found to be up to date.
    Reply  Wed Apr 5 12:28:28 2017, Stefan Ritt, drscl doesn't find eval board but drsosc does (Windows 7) Screen_Shot_2017-04-05_at_12.27.46_.pngScreen_Shot_2017-04-05_at_11.45.07_.png
Two people report now this problem, while this works fine at our lab. So I'm puzzled right now.

I attach two screenshots from the device manager and the Command Line interface. Can you compare it with what you see? Which is the firmware
version of your evaluaiton board?
    Reply  Thu Jan 25 06:10:52 2018, chen wenjun, drscl doesn't find eval board but drsosc does (Windows 7) 
Hi! Jim:

  It seems that I meet the same question with you ,and I am confused ,have you find out the reason about this problem?Or can you tell me
how you deal with it?
Entry  Wed Jan 17 09:51:16 2018, Tran Cong Thien, The input signals recorded are different with the signal showed in oscilloscope  
Dear Stefan,

I am using an DRS4 board to record the signals from an plastic scintillator detector. It was working really good, yet a few day ago the signals
became "not right". When I checked the signal using an oscilloscope it show the normal signals previously recorded. The signal amplitude
    Reply  Wed Jan 17 10:09:09 2018, Stefan Ritt, The input signals recorded are different with the signal showed in oscilloscope  
First thing is to do another voltage calibration. Disconnect input, "Config", "Execute Voltage Calibration". If this does not fix
the problem, the board is probably broken. This can happen if you send very high input singals to the board (like >10V) and exceed the maximul allowed
limit from the datasheet. In that case the board needs to be repaired. Please contact me directly (via email) so that we can make you a quote.
Entry  Tue Mar 26 01:17:59 2013, Jill Russek, cascading -- DRS4 Osci.cpp & DRS.cpp 
 
All I'm trying to do is cascade one input signal, though all available channels, so that I end up with 8*1024 bins per event.
Here is the read out on my board/chip:
    Reply  Thu Apr 4 11:32:21 2013, Stefan Ritt, cascading -- DRS4 Osci.cpp & DRS.cpp 


    
        
            Jill Russek wrote:
        
        
            
             
       Reply  Fri Apr 5 02:21:33 2013, Jill Russek, cascading -- DRS4 Osci.cpp & DRS.cpp 


    
        
            Stefan Ritt wrote:
        
        
            
            
            
              
          Reply  Fri Apr 5 08:54:37 2013, Stefan Ritt, cascading -- DRS4 Osci.cpp & DRS.cpp Screen_Shot_2013-04-05_at_8.51.53_.png


    
        
            Jill Russek wrote:
        
        
            
            Would it be possible to just hardcode a few lines in the SetChannelConfig in DRS.cpp method as such:
             Reply  Wed Apr 10 22:41:21 2013, Jill Russek, cascading -- DRS4 Osci.cpp & DRS.cpp 


    
        
            Stefan Ritt wrote:
        
        
            
            
            
              
                Reply  Thu Apr 11 08:39:12 2013, Stefan Ritt, cascading -- DRS4 Osci.cpp & DRS.cpp 


    
        
            Jill Russek wrote:
        
        
            
            
            
                   Reply  Thu Apr 11 23:32:57 2013, Jill Russek, cascading -- DRS4 Osci.cpp & DRS.cpp 


    
        
            Stefan Ritt wrote:
        
        
            
            
            
              
                      Reply  Fri Apr 12 08:25:05 2013, Stefan Ritt, cascading -- DRS4 Osci.cpp & DRS.cpp 


    
        
            Jill Russek wrote:
        
        
            
            
            
                         Reply  Wed Dec 20 15:30:38 2017, Yoni Sher, cascading -- DRS4 Osci.cpp & DRS.cpp 
Hi, 

I'm trying to do the same thing (get 1 channel with 8192 bins), but I'm having some trouble with it. When I call SetChannelConfig(0,
8, 1) as suggeted, I get output that looks like noise on all readouts. Could you please explain what is supposed to happen in this case? 
                            Reply  Wed Dec 20 16:21:42 2017, Stefan Ritt, cascading -- DRS4 Osci.cpp & DRS.cpp 
First you need a board which is modified in hardware to support channel cascading. Basically there are internal resistors which connect each input connector
to two channels. You have to specify this when you order the board. Then you can use the new drs_exam_2048.cpp file contains in the git repository which
correctly configures and reads out the board in two-channel cascading mode. Putting all 8 channels together is not supported by the evaluation boards.
                               Reply  Wed Dec 20 16:30:45 2017, Yoni Sher, cascading -- DRS4 Osci.cpp & DRS.cpp 
Hi, 

The board is modified (and checks out with the DRSScope program). Could you please point me to the drs_exam_2048.cpp file? I can't seem to
fine the most up-to-date git repository....
                                  Reply  Wed Dec 20 22:14:35 2017, Stefan Ritt, cascading -- DRS4 Osci.cpp & DRS.cpp 
https://bitbucket.org/ritt/drs4eb

 
Entry  Tue Dec 12 00:25:50 2017, Diego Yankelevich, External trigger using Raspberry Pi 
Dear Steffan:


We have been able to use the DRS4 using a Raspberry Pi but we have not been able to use the external trigger. What we are doing is basically
comment out the code shown below (downloaded from PSI) to use the hardware trigger and uncomment the code to use the external trigger. We have not been
    Reply  Tue Dec 12 13:58:06 2017, Stefan Ritt, External trigger using Raspberry Pi 
Indeed the code does not work for the current evaluation board, it has been written for a previous version and never been updated. Please use following
code to enable the external trigger

   /* use following lines to enable the external trigger */
Entry  Thu Nov 16 02:55:44 2017, Diego Yankelevich, Averaging capabilities  
The Display window in the Oscilloscope software shows averaging capabilites but I have not been able to activate these. Is it possible to activate averaging
with the existing oscilloscope software? Thanks
    Reply  Wed Nov 22 14:52:31 2017, Stefan Ritt, Averaging capabilities  
This feature is not yet implemented. The (disabled) software swtich is more like a kind of a reminder to myself to work on that one day...




Diego
Yankelevich wrote:



The Display window in the Oscilloscope software shows averaging
Entry  Wed Nov 22 08:31:03 2017, chen wenjun , using of the DRS Command Line Interface ΢ͼƬ_20171122153834.png
Hello! I'm using DRS4 evaluation board V5 with the drs command line interface,but the mannal only explained the meaning of the command--"info".And
I can't get the hang of the use of other commands through "help",so is there anywhere can I learn more about other commands?Or I can only
learn it through the datasheet of DRS4 chip.
    Reply  Wed Nov 22 08:48:36 2017, Stefan Ritt, using of the DRS Command Line Interface 
The command line interface is more a debugging tool for experts, and you are not supposed to use it except to test the connection to the evaluation board.
The programs for the user are the DRS Oscilloscope and the drs_exam.cpp example program to read out the board with your own program.

Stefan
       Reply  Wed Nov 22 08:58:33 2017, chen wenjun , using of the DRS Command Line Interface ΢ͼƬ_20171122160245.png
OK!Thank you! One more question,when I use the Oscillocope ,I found that the actual speed is a constant value of 1.007G,how can change this speed.




Stefan
Ritt wrote:



The command line interface is more a debugging tool for experts, and
          Reply  Wed Nov 22 09:14:18 2017, Stefan Ritt, using of the DRS Command Line Interface 
Remove the check mark from the "Lock" box and enter a different value in the sampling speed box and hit return.




chen
wenjun wrote:



OK!Thank you! One more question,when I use the Oscillocope ,I found
             Reply  Wed Nov 22 09:19:11 2017, chen wenjun , using of the DRS Command Line Interface 
Thank you very much !! All my fault for I thought it too comlicated. Thank you sincerely!




Stefan
Ritt wrote:



Remove the check mark from the "Lock" box and enter a different
Entry  Fri Nov 3 12:11:14 2017, Hkan Wennlf, Triggering using AND 
Hi!

I'm using the DRSOsc program, and I have a question that I need a bit clarified;

When triggering using AND between two channels, am I then triggering on rising/falling edge of both channels, or on the actual values?
    Reply  Fri Nov 3 13:28:04 2017, Stefan Ritt, Triggering using AND 
Think about: How would you make a coincidence (AND) between two edges? Since an edge is infinitesimally small, there is no way to make a meaningful coincidence
between edges. Therefore, the DRS4 EB firmware makes a simple AND of levels. If you trigger on rising signals and do an AND, then you get a trigger if
both values are above their threshold. For falling edge trigger (arrow goes down in the trigger configuration) the board triggers when both signals are
Entry  Tue Oct 17 14:58:58 2017, Vadym Denysenko, Time offset  
Hello.

 

I have a simple question, can I set SetTriggerDelayNs() more than 1631 ns?
    Reply  Wed Oct 18 09:12:26 2017, Stefan Ritt, Time offset  
No this is not possible. But you can delay your signal externally (like with a delay cable or electronically) and then send the dealyed signal to the
evaluation board for triggering.

Stefan
       Reply  Wed Oct 18 11:48:14 2017, Vadym Denysenko, Time offset  
Thank you for your reply!




Stefan
Ritt wrote:



No this is not possible. But you can delay your signal externally (like
Entry  Fri Oct 13 03:39:01 2017, Jonathan Wapman, Raspberry Pi Connection Failure 
I am currently attempting to use a raspberry pi to connect to the DRS 4 board. I whenever I try to use the DRS Command Line TOol, Revision 21435 to connect
to the drs board, I get the error

"musb_open: libusb_open() error -3"
    Reply  Mon Oct 16 15:35:22 2017, Stefan Ritt, Raspberry Pi Connection Failure 
Have you tried as root? Maybe you miss some permissions.

Stefan




Jonathan
Entry  Wed Sep 27 16:11:03 2017, Yoni Sher, Event acquisition pace for irregular timing 
Hi, 

I'm running a LIDAR application that requires that every outgoing pulse be captured. My current setup firess sets of 20-50 pulses at
1 ms intervals, about 10 times a second, but only 10-20 pulses a second are captured. 
    Reply  Mon Oct 2 16:08:05 2017, Stefan Ritt, Event acquisition pace for irregular timing 
As written in the documentation, the DRS evaluaiton board has a maximum trigger capability of ~500 Hz. This is limited by the USB bus which has a finite
data transfer rate. If you build your own electronics around the chip (like many other groups are doing), you can squeeze this to a few kHz, but it is
some development effort.
Entry  Sun Aug 27 12:44:16 2017, Yuvaraj Elangovan, DRS4 version Support 
Hi i am using DRS4 Eval Board V2, How to acquire data to a bin file using it.    
Entry  Fri Jul 21 09:16:02 2017, Volodymyr Rodin, Time output 
Hello Stefan

I tried to convert binary to a simple txt file and found next problem - strange time output.

Here is output from little modification for read_binary.cpp (Its last output line also is strange: dT = -1.#IOns +- -1.$ps)
    Reply  Tue Jul 25 14:47:05 2017, Volodymyr Rodin, Time output 
Hi again.

Okay, it works with 5.05 version very good and it is enough for me.

Besides,
Entry  Fri Jun 16 17:34:20 2017, Laura Gonella, Driver installation on Windows 10 
Hello,

I am trying to get a DRS4 board to run on Windows 10. I am having problems with the driver installation. I am getting the follwoing message

"There is no driver selected for the device information set or element"
    Reply  Thu Jul 20 13:00:44 2017, Volodymyr Rodin, Driver installation on Windows 10 
Dear Laura

You need to disable driver signature enforcement.  Then try again with path option.

 It helped me.
Entry  Wed Jul 12 04:24:39 2017, Toshihiro Nonaka, Time resolution between boards 
Hello,

I 'm using four evaluation boards v.3 to construct the multi-board DAQ system. One channel for each board is used as reference clock, then
calibrate timing offline, which allow below 10ps resolution between boards.
    Reply  Wed Jul 12 20:16:05 2017, Stefan Ritt, Time resolution between boards 
Yes this should  be possible.

Stefan




Toshihiro
ELOG V3.1.4-80633ba