ID |
Date |
Author |
Subject |
659
|
Tue Feb 27 16:34:26 2018 |
Steven Block | DRS4 Dead times | 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 to any channels. I repeated this across the range of my external trigger by a factor of ten [10Hz, 100Hz, 1kHz...etc]. After I had saved these runs in XML format, I looked at the difference between timestamps on the events. Attached are my findings. Can someone offer an explanation for the periodic peaks? I am new to the DRS4 and don't really understand how it works. My guess is that there is a buffer that has to be emptied every so often, but if so, the buffer emptying time varies with the frequency of the trigger. I would ideally like to be able to know the relation of the dead time to a particular setting I change on the DRS4 such as locking the sampling speed or changing external trigger frequency.
Best,
Steven |
Attachment 1: 1kHz.png
|
|
Attachment 2: 1MHz.png
|
|
Attachment 3: 10Hz.png
|
|
Attachment 4: 10kHz.png
|
|
Attachment 5: 100Hz.png
|
|
Attachment 6: 100kHz.png
|
|
658
|
Tue Feb 27 13:29:47 2018 |
Stefan Ritt | WIndows Connection problem with drs507 SOLVED | Dear Steven, many thanks for this information, this is very useful. I know of people having problems on Windows 10, maybe this will also help them.
Stefan
Steven Block wrote: |
Hello All,
I too have been struggling with trying to get the drs4 (507) to work on my windows machine and I found it to be a problem with the libusb library. My solution is as follows and has worked on multiple PC's. I ran this solution after I first plugged in the drs4 and installed 507.
Go to http://zadig.akeo.ie/ and install the corresponding software.
After that, you will need to plug in the DRS4 to your computer. From there go to ‘Options’, and select ‘List all Devices’.
Finally, choose the DRS4 evaluation board from the list and press install driver and let it run. You should be fine after that.
Best,
Steven
|
|
657
|
Tue Feb 27 13:17:00 2018 |
Steven Block | WIndows Connection problem with drs507 SOLVED | Hello All,
I too have been struggling with trying to get the drs4 (507) to work on my windows machine and I found it to be a problem with the libusb library. My solution is as follows and has worked on multiple PC's. I ran this solution after I first plugged in the drs4 and installed 507.
Go to http://zadig.akeo.ie/ and install the corresponding software.
After that, you will need to plug in the DRS4 to your computer. From there go to ‘Options’, and select ‘List all Devices’.
Finally, choose the DRS4 evaluation board from the list and press install driver and let it run. You should be fine after that.
Best,
Steven |
656
|
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 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 tried it myself.
Stefan
chen wenjun wrote: |
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 I need to install?
Thank you!
Chen
|
|
|
655
|
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 tried it myself.
Stefan
chen wenjun wrote: |
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 I need to install?
Thank you!
Chen
|
|
654
|
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?
Thank you very much!
chen
Jim Freeman wrote: |
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.
|
|
653
|
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 I need to install?
Thank you!
Chen |
652
|
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.
Best regards,
Stefan
Tran Cong Thien wrote: |
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 are clearly reduced (from 0.3 in oscilloscope to lower than 0.1 in DRS4). Can you show me how to show this problem?
Thank you very much!
Best Regards,
Thien
|
|
651
|
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 are clearly reduced (from 0.3 in oscilloscope to lower than 0.1 in DRS4). Can you show me how to show this problem?
Thank you very much!
Best Regards,
Thien |
650
|
Wed Dec 20 22:14:35 2017 |
Stefan Ritt | cascading -- DRS4 Osci.cpp & DRS.cpp | https://bitbucket.org/ritt/drs4eb
|
649
|
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....
Thanks,
Yoni
Stefan Ritt wrote: |
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.
Stefan
Yoni Sher wrote: |
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?
I will happily write the code to combine the channels correctly (and debug it) if I can understand what needs to be done.
(I should mention that my primary concern is a MATLAB interface which I have already written and don't mind sharing when it's complete).
Yoni Sher
Stefan Ritt wrote: |
Jill Russek wrote: |
Stefan Ritt wrote: |
Jill Russek wrote: |
Stefan, thanks for your help so far. If I go with your plan A of just modifying drs_exam.cpp, is there a quick way to get it to save the data from the wave, like how osci.cpp spits out an xml file? (Ignoring the cascading aspect for now)
Thanks again :)
/Jill
|
Well, you have to learn C programming, I won't do it for you. drs_exam.cpp contains already code to write to the ASCII file data.txt, so you just can use that or modify it to your needs.
/Stefan
|
Ha! So then the answer is no, there isn't a ready made function/method to pull out the timing and voltage, like how it was done in osci.cpp. That's all I wanted to know. (Not whether you would write it for me! Only trying to save time!) Thanks!
/Jill
|
You misunderstood. The answer is yes. drs_exam.cpp contains already code to write to an ASCII file. If you actually look into the file, you see:
f = fopen("data.txt", "w");
...
b->GetTime(0, b->GetTriggerCell(0), time_array);
...
b->GetWave(0, 0, wave_array[0]);
...
fprintf(f, "%5.2f %6.2f\n", time_array[i], wave_array[0][i]);
which actually pulls out the timing and voltage and writes it to the file.
|
|
|
|
648
|
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.
Stefan
Yoni Sher wrote: |
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?
I will happily write the code to combine the channels correctly (and debug it) if I can understand what needs to be done.
(I should mention that my primary concern is a MATLAB interface which I have already written and don't mind sharing when it's complete).
Yoni Sher
Stefan Ritt wrote: |
Jill Russek wrote: |
Stefan Ritt wrote: |
Jill Russek wrote: |
Stefan, thanks for your help so far. If I go with your plan A of just modifying drs_exam.cpp, is there a quick way to get it to save the data from the wave, like how osci.cpp spits out an xml file? (Ignoring the cascading aspect for now)
Thanks again :)
/Jill
|
Well, you have to learn C programming, I won't do it for you. drs_exam.cpp contains already code to write to the ASCII file data.txt, so you just can use that or modify it to your needs.
/Stefan
|
Ha! So then the answer is no, there isn't a ready made function/method to pull out the timing and voltage, like how it was done in osci.cpp. That's all I wanted to know. (Not whether you would write it for me! Only trying to save time!) Thanks!
/Jill
|
You misunderstood. The answer is yes. drs_exam.cpp contains already code to write to an ASCII file. If you actually look into the file, you see:
f = fopen("data.txt", "w");
...
b->GetTime(0, b->GetTriggerCell(0), time_array);
...
b->GetWave(0, 0, wave_array[0]);
...
fprintf(f, "%5.2f %6.2f\n", time_array[i], wave_array[0][i]);
which actually pulls out the timing and voltage and writes it to the file.
|
|
|
647
|
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?
I will happily write the code to combine the channels correctly (and debug it) if I can understand what needs to be done.
(I should mention that my primary concern is a MATLAB interface which I have already written and don't mind sharing when it's complete).
Yoni Sher
Stefan Ritt wrote: |
Jill Russek wrote: |
Stefan Ritt wrote: |
Jill Russek wrote: |
Stefan, thanks for your help so far. If I go with your plan A of just modifying drs_exam.cpp, is there a quick way to get it to save the data from the wave, like how osci.cpp spits out an xml file? (Ignoring the cascading aspect for now)
Thanks again :)
/Jill
|
Well, you have to learn C programming, I won't do it for you. drs_exam.cpp contains already code to write to the ASCII file data.txt, so you just can use that or modify it to your needs.
/Stefan
|
Ha! So then the answer is no, there isn't a ready made function/method to pull out the timing and voltage, like how it was done in osci.cpp. That's all I wanted to know. (Not whether you would write it for me! Only trying to save time!) Thanks!
/Jill
|
You misunderstood. The answer is yes. drs_exam.cpp contains already code to write to an ASCII file. If you actually look into the file, you see:
f = fopen("data.txt", "w");
...
b->GetTime(0, b->GetTriggerCell(0), time_array);
...
b->GetWave(0, 0, wave_array[0]);
...
fprintf(f, "%5.2f %6.2f\n", time_array[i], wave_array[0][i]);
which actually pulls out the timing and voltage and writes it to the file.
|
|
646
|
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 */
if (b->GetBoardType() >= 8) { // Evaluaiton Board V4&5
b->EnableTrigger(1, 0); // enable hardware trigger
b->SetTriggerConfig(1<<4); // set external trigger as source
} else { // Evaluation Board V3
b->EnableTrigger(1, 0); // lemo on, analog trigger offf
}
Please also make sure that the signal on the external trigger input is strong enough. You need at least 2.5V at 50 Ohms, and not every driver is capable of driving 50 Ohms.
Stefan
Diego Yankelevich wrote: |
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 able to get external trigger to work. Could you see what could be wrong?
Thanks
Diego
/* use following line to turn on the internal 100 MHz clock connected to all channels */
//b->EnableTcal(1);
/* use following lines to enable hardware trigger on CH1 at 50 mV positive edge */
/*
if (b->GetBoardType() >= 8) { // Evaluaiton Board V4&5
b->EnableTrigger(1, 0); // enable hardware trigger
b->SetTriggerSource(1<<0); // set CH1 as source
} else if (b->GetBoardType() == 7) { // Evaluation Board V3
b->EnableTrigger(0, 1); // lemo off, analog trigger on
b->SetTriggerSource(0); // use CH1 as source
}
b->SetTriggerLevel(0.05); // 0.05 V
b->SetTriggerPolarity(false); // positive edge
*/
/* use following lines to set individual trigger elvels */
//b->SetIndividualTriggerLevel(1, 0.1);
//b->SetIndividualTriggerLevel(2, 0.2);
//b->SetIndividualTriggerLevel(3, 0.3);
//b->SetIndividualTriggerLevel(4, 0.4);
//b->SetTriggerSource(15);
b->SetTriggerDelayNs(0); // zero ns trigger delay
/* use following lines to enable the external trigger */
if (b->GetBoardType() == 8) { // Evaluaiton Board V4
b->EnableTrigger(1, 0); // enable hardware trigger
b->SetTriggerSource(1<<4); // set external trigger as source
} else { // Evaluation Board V3
b->EnableTrigger(1, 0); // lemo on, analog trigger off
}
|
|
645
|
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 able to get external trigger to work. Could you see what could be wrong?
Thanks
Diego
/* use following line to turn on the internal 100 MHz clock connected to all channels */
//b->EnableTcal(1);
/* use following lines to enable hardware trigger on CH1 at 50 mV positive edge */
/*
if (b->GetBoardType() >= 8) { // Evaluaiton Board V4&5
b->EnableTrigger(1, 0); // enable hardware trigger
b->SetTriggerSource(1<<0); // set CH1 as source
} else if (b->GetBoardType() == 7) { // Evaluation Board V3
b->EnableTrigger(0, 1); // lemo off, analog trigger on
b->SetTriggerSource(0); // use CH1 as source
}
b->SetTriggerLevel(0.05); // 0.05 V
b->SetTriggerPolarity(false); // positive edge
*/
/* use following lines to set individual trigger elvels */
//b->SetIndividualTriggerLevel(1, 0.1);
//b->SetIndividualTriggerLevel(2, 0.2);
//b->SetIndividualTriggerLevel(3, 0.3);
//b->SetIndividualTriggerLevel(4, 0.4);
//b->SetTriggerSource(15);
b->SetTriggerDelayNs(0); // zero ns trigger delay
/* use following lines to enable the external trigger */
if (b->GetBoardType() == 8) { // Evaluaiton Board V4
b->EnableTrigger(1, 0); // enable hardware trigger
b->SetTriggerSource(1<<4); // set external trigger as source
} else { // Evaluation Board V3
b->EnableTrigger(1, 0); // lemo on, analog trigger off
} |
644
|
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 capabilites but I have not been able to activate these. Is it possible to activate averaging with the existing oscilloscope software? Thanks
|
|
643
|
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 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 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 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
chen wenjun wrote: |
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.
Thanks!
|
|
|
|
|
642
|
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 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 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
chen wenjun wrote: |
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.
Thanks!
|
|
|
|
641
|
Wed Nov 22 08:58:33 2017 |
chen wenjun | using of the DRS Command Line Interface | 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 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
chen wenjun wrote: |
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.
Thanks!
|
|
|
Attachment 1: ΞΆΠΕΝΌΖ¬_20171122160245.png
|
|
640
|
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
chen wenjun wrote: |
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.
Thanks!
|
|
|