ID |
Date |
Author |
Subject |
454
|
Thu Nov 26 18:59:27 2015 |
Robert Adams | Saving histogram data | I would really love to be able to save histogram data, though I have not been able to do this. I could take a screenshot and extract the data from an image, but would prefer to avoid this if there is a simpler way... possibly I have overlooked something obvious? Thanks very much for any advice or tips. |
616
|
Thu Jun 8 14:26:23 2017 |
Rebecca Schmitz | AND Trigger problems with 2-3 channels | Hello,
I work with the DRS4 Evaluation Board V5 and I have a problem with the software.
I have a problem with the AND trigger setting.
For this I have chosen the AND trigger function. However, when ONE channel senses an impulse, it triggers. I'm not able to see signals in the other channels, which I selected for the coincidence.
What is the cause of this? Maybe the time window?
I would like to measure a coincidence with two or three random channels. Is it possible?
Thanks for the help.
Rebecca |
618
|
Fri Jun 9 09:44:33 2017 |
Rebecca Schmitz | AND Trigger problems with 2-3 channels | Hello,
It seems that a coincidence with two fixed channels suddenly works. I don't know why.
Screenshot 1 shows the trigger settings for the coincidence with two channels.
Screenshot 2 shows the oscilloscope surface.
Screenshot 3 shows the configuration. In the background there is a coincidence with three channels.
In contrast to the coincidence with two channels this doesn't look good.
Rebecca
Stefan Ritt wrote: |
Can you post a screenshot where I can see the channel waveforms, the configuration and the trigger settings?
Stefan
Rebecca Schmitz wrote: |
Hello,
I work with the DRS4 Evaluation Board V5 and I have a problem with the software.
I have a problem with the AND trigger setting.
For this I have chosen the AND trigger function. However, when ONE channel senses an impulse, it triggers. I'm not able to see signals in the other channels, which I selected for the coincidence.
What is the cause of this? Maybe the time window?
I would like to measure a coincidence with two or three random channels. Is it possible?
Thanks for the help.
Rebecca
|
|
|
Attachment 1: Screenshot1.png
|
|
Attachment 2: Screenshot2.png
|
|
Attachment 3: Screenshot3.png
|
|
908
|
Tue May 21 18:13:08 2024 |
Rebecca Hicks | Error when running drsosc | Hi, I'm a student trying to figure out the DRS4 board. I cloned the github repo, but when I run drsosc, I get an error: Gtk-Message: 10:06:38.376: Failed to load module "canberra-gtk-module". I'm not sure what that means. The oscilloscope window does open up for me though. Thanks for any help! |
792
|
Tue Jul 28 22:40:44 2020 |
Razvan Stefan Gornea | no board found | I have a very similar problem, the command line doesn't work but the oscilloscope program does! Tried to fix it using Zadig driver update. Using Windows 7....
DRS command line tool, Revision 21435
Type 'help' for a list of available commands.
USB successfully scanned, but no boards found
No DRS Boards found
For completion, I just tested that the test program gives the same error message
C:\Program Files (x86)\DRS\bin>.\drs_exam.exe
USB successfully scanned, but no boards found
No DRS4 evaluation board found
Stefan Ritt wrote: |
"dynamic" or "static" does not matter, as long as you don't use your program on another computer. I have no more idea about the "no board found" problem. It works ok on all computers I tried at our lab.
Stefan
Lev Pavlov wrote: |
Hello. When compiling drs_exam, do you need to use a "static "version of usblib or a "dynamic" version?"The problem with "no board found" is not solved. Thanks for your help.
Lev
|
|
|
Attachment 1: DRS4_scope.png
|
|
145
|
Thu Jan 26 09:12:03 2012 |
Ravindra Raghunath Shinde | DRS4 Rev2.0 for analog pulse counting | Hello,
We are using DRS4 Rev.2.0 board.
We want to measure number of pulses generated by charge particle detector. These negative going analog pulses are very fast having rise time about 2nS.
We want keep threshold level to -20mV. We expected pulse rate to be about 100 to 200 Hz.
I need help to implement this in current DRS board with dead time free operation.
|
147
|
Thu Jan 26 09:44:34 2012 |
Ravindra Raghunath Shinde | DRS4 Rev2.0 for analog pulse counting |
Stefan Ritt wrote: |
Ravindra Raghunath Shinde wrote: |
Hello,
We are using DRS4 Rev.2.0 board.
We want to measure number of pulses generated by charge particle detector. These negative going analog pulses are very fast having rise time about 2nS.
We want keep threshold level to -20mV. We expected pulse rate to be about 100 to 200 Hz.
I need help to implement this in current DRS board with dead time free operation.
|
If you just want to count pulses, you do not need a DRS board. Just use a discriminator and a counter, that's much simpler. The DRS board is not dead time free.
|
Thanks for your prompt reply.
Along with pulse rate we also want see pulse shape as well as charge measurements. That is why we are exploring this option with our existing DRS Set-up.
|
149
|
Thu Jan 26 10:05:57 2012 |
Ravindra Raghunath Shinde | DRS4 Rev2.0 for analog pulse counting |
Stefan Ritt wrote: |
Ravindra Raghunath Shinde wrote: |
Stefan Ritt wrote: |
Ravindra Raghunath Shinde wrote: |
Hello,
We are using DRS4 Rev.2.0 board.
We want to measure number of pulses generated by charge particle detector. These negative going analog pulses are very fast having rise time about 2nS.
We want keep threshold level to -20mV. We expected pulse rate to be about 100 to 200 Hz.
I need help to implement this in current DRS board with dead time free operation.
|
If you just want to count pulses, you do not need a DRS board. Just use a discriminator and a counter, that's much simpler. The DRS board is not dead time free.
|
Thanks for your prompt reply.
Along with pulse rate we also want see pulse shape as well as charge measurements. That is why we are exploring this option with our existing DRS Set-up.
|
I understand that. But still the board has some dead time which is dominated by the USB data transfer speed.
There is a way to perform the counting dead time free, but that requires the V4 board, which has a hardware comparator on all four channels (The V2 board has only one comparator and a multiplexer). The output of these comparators go directly to the FPGA, which can then trigger on these signals. In principle one could implement a hardware counter in the FPGA, which works practically dead time free. But this requires a new firmware which has to be written. Either you do it yourself using the Xilinx development tools, or you wait until I find some time to implement this, which could take a couple of weeks or even months.
Best regards,
Stefan
|
Thank you very much.
With regards,
Ravindra R. Shinde |
572
|
Mon Nov 28 22:28:34 2016 |
Randall Gladen | Long timing between two channels | I don't believe I fully understand how the timing works between multiple channels on DRS4 board, even after reading the manual, but I am hoping to measure a time difference between two channels longer than 1024/sampling rate. So far, I have written a program in Matlab to extract timing and voltage information from the binary file to find the time difference between two channels that are set with the AND trigger logic and appear within approximately 80 ns of each other at a sampling rate of 1 GSPS. This works as intended, but I would now like to try to measure time differences of anywhere between 50 ns and several ms within a single spectrum. Since this is out of the range of only 1024 channels above 1GSPS, is it possible for the board to keep track of the time between two trigger pulses that occur at time differences longer than 1024/sampling rate?
Thank you very much for your help, and if I am severely misunderstanding how the board works, please forgive my ignorance and feel free to correct me,
~Randall
Edit: I forgot to mention that I am collecting the data using the provided DRS4 Oscilloscope software. |
395
|
Fri Jan 16 13:29:05 2015 |
Rainer Hentges | Mac OSX Yosemite 10.10 | Hello,
I can compile version 5.0.3 of DRS4sc on Mac OSX 10.0 without errors but when I want to execute the program I get the following error:
[home]$ ./DRSOsc
DRSOsc(48068,0x7fff7ac5e300) malloc: *** error for object 0x7f88d9434a80: incorrect checksum for freed object - object was probably
modified after being freed.
*** set a breakpoint in malloc_error_break to debug
Is this a known error? Will it be fixed in the next release? |
873
|
Mon Mar 7 13:38:03 2022 |
Radoslaw Marcinkowski | Problems with DRS4 Evaluation Board after Windows 10 upgrade - share of experiences | Dear DRS4 Users,
I would like to share my expireinces with using of DRS4 Evaluation Board software (oscilloscope) after upgrade of Windows 10.
I had Windows 10 (Enterprise) in version from ~2016. It was working fine with DRS4 Scope software. Due to the company policy, Windows was upgraded to the newer version (2019). Since this time the board was not recognized any more as DRS4 Evaluation Board, both by Windows and DRS4 Scope standard software. Changing USB sockets did not help at all. I installed once more time Zadig USB driver (suggested by https://www.psi.ch/en/drs/software-download), no Admistrator rights were needed. It took long time, about 10 minutes or more, it suggested restart in the meantime, and finally noticed that ... installation failed! Even that, DRS4 software started to recognize the board without the problem even without reboot. Let me notice that all users on this machine can use the DRS4 software even if installation was done by non-administrator user.
Regards,
Radek |
889
|
Wed Sep 7 10:13:41 2022 |
Prajjalak Chattopadhyay | Register status after reset | What are the default register statuses after DRS4 gets reset? |
676
|
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:
void DRSBoard :: ReadCalibration (void)
...
ReadEEPROM (1, buf, 1024 * 32);
for (i = 0; i <8; i ++)
for (j = 0; j <1024; j ++) {
fCellOffset [i] [j] = buf [(i * 1024 + j) * 2];
fCellGain [i] [j] = buf [(i * 1024 + j) * 2 + 1] / 65535.0*0.4+0.7;
}
ReadEEPROM (2, buf, 1024 * 32);
for (i = 0; i <8; i ++)
for (j = 0; j <1024; j ++)
fCellOffset2 [i] [j] = buf [(i * 1024 + j) * 2];
...
The Calibrate Waveform is performed by:
int DRSBoard::CalibrateWaveform(unsigned int chipIndex, unsigned char channel, unsigned short *adcWaveform, short *waveform, bool responseCalib, int triggerCell, bool adjustToClock, float threshold, bool offsetCalib)
.....
for (j = 0; j < n_bins; j++) {
value = adcWaveform[j] - fCellOffset[channel+chipIndex*9][(j*skip + triggerCell) % kNumberOfBins];
value = value / fCellGain[channel+chipIndex*9][(j*skip + triggerCell) % kNumberOfBins];
if (offsetCalib && channel != 8)
value = value - fCellOffset2[channel+chipIndex*9][j*skip] + 32768;
...
. Because the calibration data reads incorrectly, the Calibrate Waveform does not do it.
Can read calibration data from EEPROM by any command via Oscilloscope application or DRS Command Line Interface application?
Thank you for your help!!!! |
698
|
Thu Jun 7 16:27:21 2018 |
Phan Van Chuan | | Dear Stefan,
I am using an DRS4 board to test the signal from an scintillator detector; It has connected well to the computer on DRS Oscilloscope (Figure 1). Now, I am having a problem of developing from the code of the drs_exam program, because the DRS4 board has not connected to the computer when translation the drs_exam program (Figure 2). Before running the drs_exam program, I copied the libusb-1.0.lib file to the computer's "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Lib" folder. Can you show me how to solve this problem?
Figure 1.
Figure 2.
Thank you very much!
Best Regards,
Chuan |
Attachment 1: figure1.png
|
|
Attachment 2: figure2.png
|
|
703
|
Tue Jun 19 06:42:23 2018 |
Phan Van Chuan | The data acquisition speed | Dear Stefan,
We are using an DRS4 board V5.1 for building a metering system for the scintillator detector by a Labview program. The program was built based on the functions in DRS.cpp and it reads data from channel 0 very well (Fig 1). Now, I am having a problem with the data acquisition from DRS4 board. The data acquisition speed on this program is only about 30-50 Acq / s, while using the DRS Oscilloscope that of about 300-400 Acq / s.
When the program was installed with fDominoMode = 0 and fDominoActive = 0, the data acquisition speed was about 300-400 Acq / s. However, the waveform is inaccurate.
I do not know if I installed the wrong function! Can you show me how to solve this problem?
In the Labview program, functions (corresponding to functions in DRS.cpp) are called with the following parameters:
InitFPGA();
SetMultiBuffer(0);
fROFS = 1.6; // differential input range -0.5V ... +0.5V
fRange = 0;
SetDAC(fDAC_ROFS_1, fROFS);
fCommonMode = 0.8; // 0.8V +- 0.5V inside NMOS range
SetDAC(fDAC_CALP, fCommonMode);
SetDAC(fDAC_CALN, fCommonMode);
SetDAC(fDAC_BIAS, 0.70);
/* set default number of channels per chip */
SetChannelConfig(0, fNumberOfReadoutChannels - 1, 8);
// set ADC clock phase
fADCClkPhase = 0;
fADCClkInvert = 0;
// default settings
fMultiBuffer = 0;
fNMultiBuffer = 0;
fDominoMode = 1;
fReadoutMode = 1;
fReadPointer = 0;
fTriggerEnable1 = 1;
fTriggerEnable2 = 0;
fTriggerSource = 0;
fTriggerDelay = 0;
fTriggerDelayNs = 0;
fSyncDelay = 0;
fNominalFrequency = 1;
fDominoActive = 1;
// load calibration from EEPROM
ReadCalibration();
...
SetDominoMode(fDominoMode);
SetReadoutMode(fReadoutMode);
EnableTrigger(fTriggerEnable1, fTriggerEnable2);
SetTriggerSource(fTriggerSource);
SetTriggerDelayPercent(0);
SetSyncDelay(fSyncDelay);
SetDominoActive(fDominoActive);
SetFrequency(fNominalFrequency, true);
SetInputRange(fRange);
SelectClockSource(0); // FPGA clock
// disable calibration signals
EnableAcal(0, 0);
SetCalibTiming(0, 0);
EnableTcal(0);
// got to idle state
Reinit();
////////
SetFrequency (1,false);
settranspmode (1);
setinputrange(0);
EnableTcal (0,-,-);
EnableTrigger(1, 0);
SetTriggerSource(0);
SetTriggerLevel(0);
SetTriggerPolarity(false);
SetTriggerDelayNs(512);
// in loop of read data from DRS4:
{
StartDomino();
while (b->IsBusy());
TransferWaves(0, 8);
GetTime(0, 0, b->GetTriggerCell(0), time_array[0]);
GetWave(0, 0, wave_array[0]);
}
Thank you very much!
Best Regards,
Chuan
|
Attachment 1: wavech0.png
|
|
705
|
Tue Jun 19 12:54:51 2018 |
Phan Van Chuan | The data acquisition speed | Thank Stefan Ritt, I added the SoftTrigger() just after StartDomino(), so now, The data acquisition speed the same speed as in the DRS oscilloscope. I have misunderstood the "auto" trigger on an oscilloscope as setting SetTriggerLevel (0).
Thank so much!
Phan Van Chuan
Phan Van Chuan wrote: |
Dear Stefan,
We are using an DRS4 board V5.1 for building a metering system for the scintillator detector by a Labview program. The program was built based on the functions in DRS.cpp and it reads data from channel 0 very well (Fig 1). Now, I am having a problem with the data acquisition from DRS4 board. The data acquisition speed on this program is only about 30-50 Acq / s, while using the DRS Oscilloscope that of about 300-400 Acq / s.
When the program was installed with fDominoMode = 0 and fDominoActive = 0, the data acquisition speed was about 300-400 Acq / s. However, the waveform is inaccurate.
I do not know if I installed the wrong function! Can you show me how to solve this problem?
In the Labview program, functions (corresponding to functions in DRS.cpp) are called with the following parameters:
InitFPGA();
SetMultiBuffer(0);
fROFS = 1.6; // differential input range -0.5V ... +0.5V
fRange = 0;
SetDAC(fDAC_ROFS_1, fROFS);
fCommonMode = 0.8; // 0.8V +- 0.5V inside NMOS range
SetDAC(fDAC_CALP, fCommonMode);
SetDAC(fDAC_CALN, fCommonMode);
SetDAC(fDAC_BIAS, 0.70);
/* set default number of channels per chip */
SetChannelConfig(0, fNumberOfReadoutChannels - 1, 8);
// set ADC clock phase
fADCClkPhase = 0;
fADCClkInvert = 0;
// default settings
fMultiBuffer = 0;
fNMultiBuffer = 0;
fDominoMode = 1;
fReadoutMode = 1;
fReadPointer = 0;
fTriggerEnable1 = 1;
fTriggerEnable2 = 0;
fTriggerSource = 0;
fTriggerDelay = 0;
fTriggerDelayNs = 0;
fSyncDelay = 0;
fNominalFrequency = 1;
fDominoActive = 1;
// load calibration from EEPROM
ReadCalibration();
...
SetDominoMode(fDominoMode);
SetReadoutMode(fReadoutMode);
EnableTrigger(fTriggerEnable1, fTriggerEnable2);
SetTriggerSource(fTriggerSource);
SetTriggerDelayPercent(0);
SetSyncDelay(fSyncDelay);
SetDominoActive(fDominoActive);
SetFrequency(fNominalFrequency, true);
SetInputRange(fRange);
SelectClockSource(0); // FPGA clock
// disable calibration signals
EnableAcal(0, 0);
SetCalibTiming(0, 0);
EnableTcal(0);
// got to idle state
Reinit();
////////
SetFrequency (1,false);
settranspmode (1);
setinputrange(0);
EnableTcal (0,-,-);
EnableTrigger(1, 0);
SetTriggerSource(0);
SetTriggerLevel(0);
SetTriggerPolarity(false);
SetTriggerDelayNs(512);
// in loop of read data from DRS4:
{
StartDomino();
while (b->IsBusy());
TransferWaves(0, 8);
GetTime(0, 0, b->GetTriggerCell(0), time_array[0]);
GetWave(0, 0, wave_array[0]);
}
Thank you very much!
Best Regards,
Chuan
|
|
895
|
Sat Oct 22 13:24:20 2022 |
Phan Van Chuan | Channel Cascading Option in the 2048-bin | Dear Stefan,
We are using DRS4 evaluation board version 5.1 and firmware version 30000 (as the picture attached). Now, I am in need one channel with length 2048 bin. However, I can't find the resistors R99, ... ,R106 on the hardware of evaluation board; it seems my DRS4 evaluation board doesn't use 2048 bins per channel.
Our question is, can we repair this hardware to read 2048 bins/channel? if that is possible please let me know what to add on hardware/software of DRS4 evaluation.
Best regards.
Phan Van Chuan. |
Attachment 1: DRS4V51.png
|
|
424
|
Sun May 24 09:34:27 2015 |
Peter Steinberg | Peculiar behavior of time values for Rev5 DRS4 EB | Hi -
I am setting up a new DRS4 rev5 but using drivers and software we were recently using with a Rev4 (with a recent release of the drs4 code, from mid-2014).
I am writing since I see peculiar behavior of the calibrated times when I read them back from the Rev 5. I get events where the first time returns 0 (which was always the case on my Rev 4), but the following time is negative -- this seems to be wrong since the times should always increase.
Is it a problem with my running the time calibration or a problem with the board itself? For the record, the integral nonlinearity displayed during time calibration "looks" very different when running with the same (recent) drsosc on the two boards. The rev5 has apparently a much larger amplitude.
- peter |
833
|
Thu Sep 16 19:04:06 2021 |
Patrick Moriishi Freeman | drs_exam_multi with non-v4 boards, default configuration | Hello,
I made a modified version drs_exam_multi.cpp, but ran into an issue when running. When I ran it, it only found the two boards with lower serial numbers (2781 and 2879) and complained that the others (2880 and 2881) were not v4. Would there be a simple workaround for this type of thing? Also, would I be able to use the .dat format to keep the file sizes down.
If not, I am curious if there is a way I can at least set a default configuration for the drsosc program. It seems the drsosc.cfg is written when drsosc starts? Does it load the configuration from somewhere else? It would be very helpful to keep the same settings between runs, in particular the trigger delays, levels, trigger mode, and voltage offsets. Maybe I can even do this with just a few of the CLI commands? I know this is for experts only, but I think I would just need a few commands (setTrig, setTrigMode, setTrigDelay, that sort of thing) if they do exist. I would check the help now, but I'm running, and I'm pretty sure I saw some for trigger settings.
Anyhow, any help is appreciated in creating a more repeatable and automated data acquisition. Thanks!
|
909
|
Fri Jun 28 23:33:51 2024 |
Patricia Lecomti | Error when running drsosc | Salut !
Je vois que tu rencontres un petit problème avec ton installation. Le message "Gtk-Message: Failed to load module 'canberra-gtk-module'" indique que ton système essaie de charger un module GTK spécifique qui n'est pas installé. Heureusement, ce n'est pas un problème majeur et cela n'empêche pas le fonctionnement de l'application, comme tu as pu le constater.
Pour résoudre ce message d'erreur, tu peux installer le module manquant. Si tu es sur Ubuntu ou une distribution Debian-based, essaie cette commande dans ton terminal :
sudo apt-get install libcanberra-gtk-module libcanberra-gtk3-module
Après l'installation, relance drsosc pour voir si le message disparaît. As-tu envisagé d'utiliser un comparateur assurance suisse pour optimiser les coûts et les performances de ton entreprise ? Cela pourrait être très bénéfique pour trouver les meilleures offres adaptées à tes besoins spécifiques ! Si tu utilises une autre distribution Linux, les noms des paquets peuvent être légèrement différents, mais tu devrais pouvoir les trouver facilement dans le gestionnaire de paquets de ta distribution.
N'hésite pas à revenir si tu as d'autres questions ou problèmes ! Bon courage avec ton projet.
À bientôt !
Rebecca Hicks wrote: |
Hi, I'm a student trying to figure out the DRS4 board. I cloned the github repo, but when I run drsosc, I get an error: Gtk-Message: 10:06:38.376: Failed to load module "canberra-gtk-module". I'm not sure what that means. The oscilloscope window does open up for me though. Thanks for any help!
|
|
|