ID |
Date |
Author |
Subject |
187
|
Thu Nov 1 20:17:42 2012 |
Stefan Ritt | DRS4 firmware |
hongwei yang wrote: |
Hi,
We are using drs4 board, but oscilloscope app will somehow stop to work if we config trigger into "or and", When I look into the drs4 firmware file drs4_eval3_app.vhd, I couldn't find the trigger_config value assignment which is mentioned at(#7 offset 0x1E from 31 downto 16) in manual_version 4.
could you help me find this trigger_config access point?
thanks
Hongwei
|
The "and" in the trigger section means now "coincidence". So the V4 board can trigger on a coincidence between two or more channels. If there is no pulse at the same time on the coincidence channels, the board will of course not trigger. The according firmware was introduced in V4, so please look at drs4_eval4_app.vhd (not eval3).
I just realized that the V4 firmware might be missing in the distribution, so I have attached it here. Look for drs_ctl_trigger_config.
Best regards,
Stefan |
186
|
Thu Nov 1 20:08:33 2012 |
hongwei yang | DRS4 firmware | Hi,
We are using drs4 board, but oscilloscope app will somehow stop to work if we config trigger into "or and", When I look into the drs4 firmware file drs4_eval3_app.vhd, I couldn't find the trigger_config value assignment which is mentioned at(#7 offset 0x1E from 31 downto 16) in manual_version 4.
could you help me find this trigger_config access point? Or is there any drs4_eval4_app.vhd missing in the source files?
thanks
Hongwei |
185
|
Mon Oct 29 18:30:28 2012 |
Martin Petriska | GetWave | I have some question according to GetWave function. In drs_exam.cpp simple GetWave(0,0,wave_array[]) etc...is used. Is there primary (cell) calibration, secondary calibration (Readout) and remove Spikes used, as in DRS Oscilloscope application? |
184
|
Fri Oct 12 14:09:37 2012 |
Stefan Ritt | DRS abbreviation |
Moritz von Witzleben wrote: |
Hello,
what is the abbreviation of DRS?
Thanks and kind Regards,
Moritz
|
Domino Ring Sampler. |
183
|
Fri Oct 12 14:06:04 2012 |
Moritz von Witzleben | DRS abbreviation | Hello,
what is the abbreviation of DRS?
Thanks and kind Regards,
Moritz |
182
|
Thu Oct 4 21:07:27 2012 |
Zach Miller | DRS5 |
Stefan Ritt wrote: |
Zach Miller wrote: |
Hi,
Our group had previously heard that a "DRS-5.0" might be on the horizon and that it may have ethernet capabilities as well as 16-input channels (we heard this when ordering the DRS-4). Is this still in the works and accurate information? If so, is there a rough estimate to the "release date?"
Thanks for your time,
Zach Miller
|
You mix up two things: The DRS5 chip is a new device with improved samling speed (10 GSPS) and lower dead time. This chip might come in 2-3 years. The 16-input board you mentioned is a DAQ board based on the DRS4 chip. This board well be operational beginning of 2013 as a prototype. It is not clear however at this point in which way this board will be made available for public. Maybe we will license this to industry. The design is however pretty much defined: 16 channels with gain 0.1-100, 1 GHz Bandwidth, Gigabit Ethernet output, and multi-board capabilities. Trigger on each channel with logical combinations. 80 MSPS continuous sampling (in addition to the DRS4 sampling). Each channel can be biased 0-210 V for SiPMT or APD power. A 19" 3 HE crate will host 16 boards with 256 channels.
/Stefan
|
Thanks, Stefan. That was the information we were looking for.
Cheers.
-Zach |
181
|
Thu Oct 4 20:59:18 2012 |
Stefan Ritt | DRS5 |
Zach Miller wrote: |
Hi,
Our group had previously heard that a "DRS-5.0" might be on the horizon and that it may have ethernet capabilities as well as 16-input channels (we heard this when ordering the DRS-4). Is this still in the works and accurate information? If so, is there a rough estimate to the "release date?"
Thanks for your time,
Zach Miller
|
You mix up two things: The DRS5 chip is a new device with improved samling speed (10 GSPS) and lower dead time. This chip might come in 2-3 years. The 16-input board you mentioned is a DAQ board based on the DRS4 chip. This board well be operational beginning of 2013 as a prototype. It is not clear however at this point in which way this board will be made available for public. Maybe we will license this to industry. The design is however pretty much defined: 16 channels with gain 0.1-100, 1 GHz Bandwidth, Gigabit Ethernet output, and multi-board capabilities. Trigger on each channel with logical combinations. 80 MSPS continuous sampling (in addition to the DRS4 sampling). Each channel can be biased 0-210 V for SiPMT or APD power. A 19" 3 HE crate will host 16 boards with 256 channels.
/Stefan |
180
|
Thu Oct 4 20:50:36 2012 |
Zach Miller | DRS5 | Hi,
Our group had previously heard that a "DRS-5.0" might be on the horizon and that it may have ethernet capabilities as well as 16-input channels (we heard this when ordering the DRS-4). Is this still in the works and accurate information? If so, is there a rough estimate to the "release date?"
Thanks for your time,
Zach Miller |
179
|
Wed Aug 29 16:57:49 2012 |
Zach Miller | DRS-4.0.0 DOScreen.cpp |
Stefan Ritt wrote: |
Zach Miller wrote: |
Stefan Ritt wrote: |
Zach Miller wrote: |
Hi,
I found an old thread regarding a fix for DOScreen.cpp for DRS-3.1.0, that fixes an "ambiguous overload problem." Currently when I attempt to build the drs-4.0.0, I get this similar error:
src/DOScreen.cpp:332:39: error: call of overloaded ‘Append(int)’ is ambiguous
This section of code is different than what the previous thread was correcting, and though I attempted to apply the logic of the old thread, I haven't fixed this yet.
The following is the code for that section:
-----
329 for (int i=0 ; i<5 ; i++)
330 if (tc & (1<<(i+8))) {
331 if (i < 4)
332 wxst1.Append(wxT('1'+i));
333 else
334 wxst1.Append(wxT('E'));
335 wxst1.Append(wxT('&'));
336 }
337 if (wxst1.Length() > 0)
338 wxst1 = wxst1.Left(wxst1.Length()-1);
339 wxst1.Append(wxT(')'));
------
I've attempted a few fixes, but unfortunately, my understanding of the code is not great, and I haven't managed to fix this yet. Any help would be appreciated.
Thanks,
Zach Miller
|
Just put (char) in front of wxT(...), like
if (tc > 0) {
wxString wxst1, wxst2;
wxst1.Append((char)wxT('('));
for (int i=0 ; i<5 ; i++)
if (tc & (1<<i)) {
if (i < 4)
wxst1.Append((char) (wxT('1'+i)));
else
wxst1.Append((char) wxT('E'));
wxst1.Append((char) wxT('|'));
}
for (int i=0 ; i<5 ; i++)
if (tc & (1<<(i+8))) {
if (i < 4)
wxst1.Append((char) (wxT('1'+i)));
else
wxst1.Append((char) wxT('E'));
wxst1.Append((char) wxT('&'));
}
if (wxst1.Length() > 0)
wxst1 = wxst1.Left(wxst1.Length()-1);
wxst1.Append((char) wxT(')'));
|
Hi Stefan,
Thanks for the response. I have tried that and it fixes all the lines except the ones that have:
wxst1.Append((char) (wxT('1'+i)));
Those lines still don't compile for me. I've also tried: wxst1.Append((char) (wxT('1'+(char)i))); and wxst1.Append((char) (wxT((char)'1'+i))); as well as a few other combinations of (char) and Append.
I get the same error of: "Call of overloaded "Append(int)" is ambiguous."
Any other help would be greatly appreciated. Thanks!
-Zach
|
wxst1.Append((char) (wxT((char)('1'+i)))); maybe ???
|
Aha!
wxst1.Append((char) (wxT('1'+i)));
That one actually works as you initially thought, but you my editor was being picky of (char)wxt... instead of (char) (wxt....). For some reason, it has to have the extra set of parentheses around wxt(). Thank You! |
178
|
Wed Aug 29 16:45:36 2012 |
Stefan Ritt | DRS-4.0.0 DOScreen.cpp |
Zach Miller wrote: |
Stefan Ritt wrote: |
Zach Miller wrote: |
Hi,
I found an old thread regarding a fix for DOScreen.cpp for DRS-3.1.0, that fixes an "ambiguous overload problem." Currently when I attempt to build the drs-4.0.0, I get this similar error:
src/DOScreen.cpp:332:39: error: call of overloaded ‘Append(int)’ is ambiguous
This section of code is different than what the previous thread was correcting, and though I attempted to apply the logic of the old thread, I haven't fixed this yet.
The following is the code for that section:
-----
329 for (int i=0 ; i<5 ; i++)
330 if (tc & (1<<(i+8))) {
331 if (i < 4)
332 wxst1.Append(wxT('1'+i));
333 else
334 wxst1.Append(wxT('E'));
335 wxst1.Append(wxT('&'));
336 }
337 if (wxst1.Length() > 0)
338 wxst1 = wxst1.Left(wxst1.Length()-1);
339 wxst1.Append(wxT(')'));
------
I've attempted a few fixes, but unfortunately, my understanding of the code is not great, and I haven't managed to fix this yet. Any help would be appreciated.
Thanks,
Zach Miller
|
Just put (char) in front of wxT(...), like
if (tc > 0) {
wxString wxst1, wxst2;
wxst1.Append((char)wxT('('));
for (int i=0 ; i<5 ; i++)
if (tc & (1<<i)) {
if (i < 4)
wxst1.Append((char) (wxT('1'+i)));
else
wxst1.Append((char) wxT('E'));
wxst1.Append((char) wxT('|'));
}
for (int i=0 ; i<5 ; i++)
if (tc & (1<<(i+8))) {
if (i < 4)
wxst1.Append((char) (wxT('1'+i)));
else
wxst1.Append((char) wxT('E'));
wxst1.Append((char) wxT('&'));
}
if (wxst1.Length() > 0)
wxst1 = wxst1.Left(wxst1.Length()-1);
wxst1.Append((char) wxT(')'));
|
Hi Stefan,
Thanks for the response. I have tried that and it fixes all the lines except the ones that have:
wxst1.Append((char) (wxT('1'+i)));
Those lines still don't compile for me. I've also tried: wxst1.Append((char) (wxT('1'+(char)i))); and wxst1.Append((char) (wxT((char)'1'+i))); as well as a few other combinations of (char) and Append.
I get the same error of: "Call of overloaded "Append(int)" is ambiguous."
Any other help would be greatly appreciated. Thanks!
-Zach
|
wxst1.Append((char) (wxT((char)('1'+i)))); maybe ??? |
177
|
Wed Aug 29 16:42:42 2012 |
Zach Miller | DRS-4.0.0 DOScreen.cpp |
Stefan Ritt wrote: |
Zach Miller wrote: |
Hi,
I found an old thread regarding a fix for DOScreen.cpp for DRS-3.1.0, that fixes an "ambiguous overload problem." Currently when I attempt to build the drs-4.0.0, I get this similar error:
src/DOScreen.cpp:332:39: error: call of overloaded ‘Append(int)’ is ambiguous
This section of code is different than what the previous thread was correcting, and though I attempted to apply the logic of the old thread, I haven't fixed this yet.
The following is the code for that section:
-----
329 for (int i=0 ; i<5 ; i++)
330 if (tc & (1<<(i+8))) {
331 if (i < 4)
332 wxst1.Append(wxT('1'+i));
333 else
334 wxst1.Append(wxT('E'));
335 wxst1.Append(wxT('&'));
336 }
337 if (wxst1.Length() > 0)
338 wxst1 = wxst1.Left(wxst1.Length()-1);
339 wxst1.Append(wxT(')'));
------
I've attempted a few fixes, but unfortunately, my understanding of the code is not great, and I haven't managed to fix this yet. Any help would be appreciated.
Thanks,
Zach Miller
|
Just put (char) in front of wxT(...), like
if (tc > 0) {
wxString wxst1, wxst2;
wxst1.Append((char)wxT('('));
for (int i=0 ; i<5 ; i++)
if (tc & (1<<i)) {
if (i < 4)
wxst1.Append((char) (wxT('1'+i)));
else
wxst1.Append((char) wxT('E'));
wxst1.Append((char) wxT('|'));
}
for (int i=0 ; i<5 ; i++)
if (tc & (1<<(i+8))) {
if (i < 4)
wxst1.Append((char) (wxT('1'+i)));
else
wxst1.Append((char) wxT('E'));
wxst1.Append((char) wxT('&'));
}
if (wxst1.Length() > 0)
wxst1 = wxst1.Left(wxst1.Length()-1);
wxst1.Append((char) wxT(')'));
|
Hi Stefan,
Thanks for the response. I have tried that and it fixes all the lines except the ones that have:
wxst1.Append((char) (wxT('1'+i)));
Those lines still don't compile for me. I've also tried: wxst1.Append((char) (wxT('1'+(char)i))); and wxst1.Append((char) (wxT((char)'1'+i))); as well as a few other combinations of (char) and Append.
I get the same error of: "Call of overloaded "Append(int)" is ambiguous."
Any other help would be greatly appreciated. Thanks!
-Zach |
176
|
Wed Aug 29 10:52:44 2012 |
Stefan Ritt | DRS-4.0.0 DOScreen.cpp |
Zach Miller wrote: |
Hi,
I found an old thread regarding a fix for DOScreen.cpp for DRS-3.1.0, that fixes an "ambiguous overload problem." Currently when I attempt to build the drs-4.0.0, I get this similar error:
src/DOScreen.cpp:332:39: error: call of overloaded ‘Append(int)’ is ambiguous
This section of code is different than what the previous thread was correcting, and though I attempted to apply the logic of the old thread, I haven't fixed this yet.
The following is the code for that section:
-----
329 for (int i=0 ; i<5 ; i++)
330 if (tc & (1<<(i+8))) {
331 if (i < 4)
332 wxst1.Append(wxT('1'+i));
333 else
334 wxst1.Append(wxT('E'));
335 wxst1.Append(wxT('&'));
336 }
337 if (wxst1.Length() > 0)
338 wxst1 = wxst1.Left(wxst1.Length()-1);
339 wxst1.Append(wxT(')'));
------
I've attempted a few fixes, but unfortunately, my understanding of the code is not great, and I haven't managed to fix this yet. Any help would be appreciated.
Thanks,
Zach Miller
|
Just put (char) in front of wxT(...), like
if (tc > 0) {
wxString wxst1, wxst2;
wxst1.Append((char)wxT('('));
for (int i=0 ; i<5 ; i++)
if (tc & (1<<i)) {
if (i < 4)
wxst1.Append((char) (wxT('1'+i)));
else
wxst1.Append((char) wxT('E'));
wxst1.Append((char) wxT('|'));
}
for (int i=0 ; i<5 ; i++)
if (tc & (1<<(i+8))) {
if (i < 4)
wxst1.Append((char) (wxT('1'+i)));
else
wxst1.Append((char) wxT('E'));
wxst1.Append((char) wxT('&'));
}
if (wxst1.Length() > 0)
wxst1 = wxst1.Left(wxst1.Length()-1);
wxst1.Append((char) wxT(')'));
|
175
|
Tue Aug 28 17:52:45 2012 |
Zach Miller | DRS-4.0.0 DOScreen.cpp | Hi,
I found an old thread regarding a fix for DOScreen.cpp for DRS-3.1.0, that fixes an "ambiguous overload problem." Currently when I attempt to build the drs-4.0.0, I get this similar error:
src/DOScreen.cpp:332:39: error: call of overloaded ‘Append(int)’ is ambiguous
This section of code is different than what the previous thread was correcting, and though I attempted to apply the logic of the old thread, I haven't fixed this yet.
The following is the code for that section:
-----
329 for (int i=0 ; i<5 ; i++)
330 if (tc & (1<<(i+8))) {
331 if (i < 4)
332 wxst1.Append(wxT('1'+i));
333 else
334 wxst1.Append(wxT('E'));
335 wxst1.Append(wxT('&'));
336 }
337 if (wxst1.Length() > 0)
338 wxst1 = wxst1.Left(wxst1.Length()-1);
339 wxst1.Append(wxT(')'));
------
I've attempted a few fixes, but unfortunately, my understanding of the code is not great, and I haven't managed to fix this yet. Any help would be appreciated.
Thanks,
Zach Miller |
174
|
Mon Aug 6 02:44:00 2012 |
Stefan Ritt | Calculation of loop filter parameters (R,C1and C1) for 1 GHz |
Mayank S. Rajguru wrote: |
Hi,
we are planning to use the DRS4 in our board for 1 GHz sampling and digitization.
I have seen in the data sheet that "For the PLL to work, an external loop filter is required. This filter ensures quick locking and stable operation at the desired sampling frequency".
What formula do you use to calculate the values of R, C1 and C2?
Can we use the same given value for different frequencies?
Thanks,
Mayak
|
I never worked out an exact formula for the parameters. It also depends if you want a fast locking time, or a low phase jitter of the PLL. A good starting point are the values from the evaluation board:
R = 130 Ohm
C1 = 4.7 nF
C2 = 1 uF
They should work from 800 MHz to 5 GHz.
- Stefan |
173
|
Wed Aug 1 17:42:32 2012 |
Mayank S. Rajguru | Calculation of loop filter parameters (R,C1and C1) for 1 GHz | Hi,
we are planning to use the DRS4 in our board for 1 GHz sampling and digitization.
I have seen in the data sheet that "For the PLL to work, an external loop filter is required. This filter ensures quick locking and stable operation at the desired sampling frequency".
What formula do you use to calculate the values of R, C1 and C2?
Can we use the same given value for different frequencies?
Thanks,
Mayak |
172
|
Wed Jul 11 10:04:51 2012 |
Ivan Petrov | Problem compiling drs_exam.cpp on windows |
Stefan Ritt wrote: |
Ivan Petrov wrote: |
Hello again. I have not got evaluation board yet, but already faced some difficulties:) I'm trying to compile drs_exam.cpp on Windows 7 using dev-c++ with imagelib-2 and WxWindows 2.4.2 DevPaks installed, but nothing works. Compile log is attached. Honestly, I'm not very familiar with c++, so any suggestions will be helpful. Thank you.
|
I have no experience with dev-c++, so I cannot be of help here. The supported systems are Linux and Windows with MS Visual C++. But it looks like the problems are related to compiling wxWidgets, which actually you do NOT need for drs_exam.cpp. The wxWidgets library is only needed for the DRSOsc application. If you want to compile it anyhow, first learn how to compile standard WxWidgets applications from
http://www.wxwidgets.org/docs/tutorials/devcpp.htm
Best regards,
Stefan
|
Ok, this was my bad, I added some unnecessary files to project. Drs_exam compiles well with ms vc++. Thanks! |
171
|
Tue Jul 10 13:15:00 2012 |
Stefan Ritt | Problem compiling drs_exam.cpp on windows |
Ivan Petrov wrote: |
Hello again. I have not got evaluation board yet, but already faced some difficulties:) I'm trying to compile drs_exam.cpp on Windows 7 using dev-c++ with imagelib-2 and WxWindows 2.4.2 DevPaks installed, but nothing works. Compile log is attached. Honestly, I'm not very familiar with c++, so any suggestions will be helpful. Thank you.
|
I have no experience with dev-c++, so I cannot be of help here. The supported systems are Linux and Windows with MS Visual C++. But it looks like the problems are related to compiling wxWidgets, which actually you do NOT need for drs_exam.cpp. The wxWidgets library is only needed for the DRSOsc application. If you want to compile it anyhow, first learn how to compile standard WxWidgets applications from
http://www.wxwidgets.org/docs/tutorials/devcpp.htm
Best regards,
Stefan |
170
|
Mon Jul 9 14:14:48 2012 |
Ivan Petrov | Problem compiling drs_exam.cpp on windows | Hello again. I have not got evaluation board yet, but already faced some difficulties:) I'm trying to compile drs_exam.cpp on Windows 7 using dev-c++ with imagelib-2 and WxWindows 2.4.2 DevPaks installed, but nothing works. Compile log is attached. Honestly, I'm not very familiar with c++, so any suggestions will be helpful. Thank you. |
169
|
Mon Jun 25 14:21:13 2012 |
Stefan Ritt | triger for measuring time between pulses in channels |
Andrey Kuznetsov wrote: |
Stefan Ritt wrote: |
On the evaluation board, yes. This board is not optimized for high readout rate. If you do your own electronics, like GBit Ethernet, you could be much faster.
|
What is the readout rate via GBit Ethernet that you have achieved?
Where is the bottleneck in ethernet?
What is the proposed scheme by which the GBit Ethernet will be implemented, will the DRS4 Eval Board have to wait for the computer to respond before sending the data (wouldn't this make the readout much slower?), or will the DRS4 Eval Board keep sending the data to the computer?
|
With GBit Ethernet you get close to 100 MB/sec, which is the maximal line speed. The protocol to be implemented will achieve that rate. What one usually does is to send events in large blocks upon request from the PC. The trick is to do the request in a clever way, like using a high water mark on the receiving event buffer. So as long as the PC can digest the data quickly enough, the board just keeps sending, which means no overhead.
|
168
|
Sat Jun 23 00:29:52 2012 |
Andrey Kuznetsov | triger for measuring time between pulses in channels |
Stefan Ritt wrote: |
On the evaluation board, yes. This board is not optimized for high readout rate. If you do your own electronics, like GBit Ethernet, you could be much faster.
|
What is the readout rate via GBit Ethernet that you have achieved?
Where is the bottleneck in ethernet?
What is the proposed scheme by which the GBit Ethernet will be implemented, will the DRS4 Eval Board have to wait for the computer to respond before sending the data (wouldn't this make the readout much slower?), or will the DRS4 Eval Board keep sending the data to the computer? |
|