ID |
Date |
Author |
Subject |
425
|
Tue May 26 11:27:27 2015 |
Felix Bachmair | DRS4 firmware UCF constraints |
> > Hello, I'm using two DRS4 rev.5 boards for 8ch readout and triggering.
> >
> > I needed to modify the trigger logic and implement some tweaks in the firmware, and noticed that
> > the firmware source in drs-5.0.2 (and 5.0.3, SVN:5339) while still compiling fine with Xilinx ISE 10, stops
> > doing so in the ISE 14.7 (also already in 13.2)
> >
> > While the Synthesis is running through (in the new ISE it complains about using more than 100% of resources.)
> > The Mapping fails due to constraints (firmware/ucf/drs4_eval5.ucf) complaining about an illegal IOSTANDARD
> > for P_IO_PMC_USR<55> (LVDS_25).
> >
> > In the newer version the wild-cards (lines 67..69 ) are not properly dealt with, it seems, and if I move the
> > property by hand to all the wild-carded NETs it start to recognise the LVDS_25.
> > But after that Place&Route fails with messages about locked Banks due to incompatible VCCO.
> >
> > I'm trying to adapt the ucf file and am reading about the changes in the ISE software and constraints files, but
> > want to ask if some of you guys have seen the same issue and resolved it out "officially".
>
> The current firmware compiles nicely under 14.7. I attached it. It also has one modification which you probably need:
>
> When the board triggers, the TRG OUT goes high and stays high until the board has been read out and restarted. So it can be used as a "busy" signal for an external trigger logic.
>
> Best regards,
> Stefan
Hi Stefan,
Thanks a lot for the new firmware. We are testing it at the moment in a beam test at PSI (PiM1) and we realized that this doesn't seem to work 100%.
We need to extend the death time after a trigger by approx. 200 mus in order to not loose triggers.
It seems that under certain circumstances a trigger within that window is ignored.
We do a handshake after each trigger so we are able to recognize such ignored events. This can happen quite often (within the first few hundered events) when we do not increase the deadtime.
Do you have any idea what could be the reason for that issue?
Best regardds
Felix |
428
|
Fri Jun 5 13:15:35 2015 |
Felix Bachmair | DRS4 firmware UCF constraints |
Hi Stefan,
No we only use one evaluation board. We use the evaluation board as a part of our beam test setup. It includes a telescope based on the current PSI46V2.1 CMS Pixel chip and a trigger logic board for triggering the telescope and the evaluation board. This includes a
handshake between every device and the tlu
e.g. the tlu expects an answer for each trigger.
If the trigger comes within this first 200 mus it seems that not every trigger is accepted.
In this moment our readout would 'die' since the tlu is waiting for the handshake.
Cheers
Felix
> I presume you have several evaluation boards and want to run them in sync, right?
>
> This can be either made in daisy-chain mode (see manual page 25). In this case only the master board can trigger the slave boards. If you need to trigger on SEVERAL boards (like a coincidence between two boards), you have to do this with an external trigger and
busy logic. This is rather
> complicated and needs detailed explanations. So come to my office and I will teach you.
>
> Best,
> Stefan |
435
|
Thu Jul 2 08:53:17 2015 |
Felix Bachmair | Issue with Trigger rates below ~100Hz |
Hi,
We did a further investigation of this problem:
We figured out that this issue seems to be related to the kernel.
We tested it now on two machines with Ubuntu 14.04.2 LTS (kernel 3.16.0-41), one with RHEL 6.6 (kernel 2.6.32) , one with Fedora 20 (kernel 3.18.7) and one with Mac OSX. We see this issue with the Ubuntu and the fedroa machines.Both have a kernel above 3.0 while RHEL has a kernel of 2.6
We can repoduce the problem on all input channels as a trigger.
I will try to find out what could be the cause of it.
Cheers
Felix
Felix Bachmair wrote: |
Hi
We are working with the DRS 4 V5 version and we investigated an issue with the trigger at rates below ~120 Hz.
As long as we have a trigger rate of more than 125 Hz. everything seems to work fine and we are recording more or less all events.
As soon as we go lower in input trigger rate to 100Hz, we see a drop in trigger rates to approx 15 - 20 Hz.
When we use the new firmware we can see that the busy signal is 0 for much longer times than usual up to .5 seconds.
We made a plot of input trigger rate vs trigger rate of drs: https://plot.ly/~simon.corrodi/316
In the oscilloscope plots one can see the the trigger in in yellow and the trig out from drs board in blue.
Do you have any idea what could be the reason?
We also
|
|
436
|
Thu Jul 2 13:20:51 2015 |
Felix Bachmair | Creation of Object files |
HI,
We are using the DRS4 Board in the EUDAQ framework [1]. We wrote a a Producer based on the software of the evaluation board, which is using the DRS class/header/src files.
In order to make it work we needed to compile it with a shared object file. [2]
Would it be possbile to include a shared object in the 'official' release?
Cheers
Felix
[1]https://telescopes.desy.de/EUDAQ
[2]https://github.com/veloxid/DRS4-v5-shared |
438
|
Mon Jul 6 11:30:56 2015 |
Felix Bachmair | Creation of Object files |
Hi Stefan,
That's fine for me. I thought it might be interesting for others as well..
Cheers
Felix
Stefan Ritt wrote: |
Hi Felix,
the distribution does not contain any binaries, since there are too many Linux distributions around, so everybody compiles from the sources under Linux. Do you want me to just add libDRS.so to the official Makefile? Actually you are the first one asking for this. Would it be beneficial to have this in the distribution, or can you just maintain your own Makefile in the github repository?
Stefan
Felix Bachmair wrote: |
HI,
We are using the DRS4 Board in the EUDAQ framework [1]. We wrote a a Producer based on the software of the evaluation board, which is using the DRS class/header/src files.
In order to make it work we needed to compile it with a shared object file. [2]
Would it be possbile to include a shared object in the 'official' release?
Cheers
Felix
[1]https://telescopes.desy.de/EUDAQ
[2]https://github.com/veloxid/DRS4-v5-shared
|
|
|
440
|
Tue Jul 7 09:29:21 2015 |
Felix Bachmair | Creation of Object files |
Yes of course no problem.
You can download via github https://github.com/veloxid/DRS4-v5-shared and I also put it in the attachment.
It's tested with Ubuntu, Fedora and RHEL.
For mac OSX one needs to create a dylib out of the so file.
Cheers
Felix
Stefan Ritt wrote: |
Anyhow it would be nice if you just post your Makefile here, which runs with the standard distribution, so people can use it if needed.
Stefan
Felix Bachmair wrote: |
Hi Stefan,
That's fine for me. I thought it might be interesting for others as well..
Cheers
Felix
Stefan Ritt wrote: |
Hi Felix,
the distribution does not contain any binaries, since there are too many Linux distributions around, so everybody compiles from the sources under Linux. Do you want me to just add libDRS.so to the official Makefile? Actually you are the first one asking for this. Would it be beneficial to have this in the distribution, or can you just maintain your own Makefile in the github repository?
Stefan
Felix Bachmair wrote: |
HI,
We are using the DRS4 Board in the EUDAQ framework [1]. We wrote a a Producer based on the software of the evaluation board, which is using the DRS class/header/src files.
In order to make it work we needed to compile it with a shared object file. [2]
Would it be possbile to include a shared object in the 'official' release?
Cheers
Felix
[1]https://telescopes.desy.de/EUDAQ
[2]https://github.com/veloxid/DRS4-v5-shared
|
|
|
|
|
444
|
Fri Aug 7 20:32:15 2015 |
Felix Bachmair | DRS4 |
Hi
Did you copy the udev rule 41-drs.rules into /etc/udev/rules.d/ ?
Which operating system are you using?
Cheers
Felix
dante wrote: |
Hi
I have just installed DRS4, but when I try to view it from the USB it don't work. Why?
[ .../home $] lsusb -d 04b4:1175 -v
Bus 002 Device 008: ID 04b4:1175 Cypress Semiconductor Corp.
Couldn't open device, some information will be missing
Device Descriptor:
|
|
495
|
Sat Apr 2 11:21:10 2016 |
Felix Bachmair | Question about timimng calibration |
Hi,
I am trying to understand some details about the timing calibration.
We wrote our own code but we more or less use the ideas of the Oscilloscope class.
In the binary file writing of in the function Osci.cpp::SaveWaveforms() (line 924ff)
the following code is executed:
if (m_waveDepth == 2048) {
t = (tcal[j]+tcal[j+1])/2;
j++;
} else
t = tcal[j];
I do not understand the averaging of the to adjacent calibration constants. Could you explain this? Do one have two measurements?
Cheers
Felix
|
205
|
Thu Dec 13 12:03:29 2012 |
Evgeni | DRS-4 trigger |
How to configure DRS oscilloscope for the oscillations with an amplitude greater than the value of the exposed
in the trigger (internal). |
207
|
Thu Dec 13 19:49:47 2012 |
Evgeni | DRS-4 trigger |
Stefan Ritt wrote: |
Evgeni wrote: |
How to configure DRS oscilloscope for the oscillations with an amplitude greater than the value of the exposed
in the trigger (internal).
|
Sorry, I don't understand that question. The DRS4 Evaluation board input signal range is 1V. If you have larger signals, you have to attenuante them externally.
/Stefan
|
Can I adjust the internal trigger DRS oscilloscope for signal extraction 0.5 volts (for example) from any of the four channels. In our case, there is a lot of noise with low amplitude, which must be removed during the registration. We need to record the individual pulses of higher amplitude than the noise. So we want to use the internal trigger DRS oscilloscope to cut this noise by setting up its threshold amplitude noise.
|
209
|
Fri Dec 14 10:07:14 2012 |
Evgeni | DRS-4 trigger |
Evgeni wrote: |
How to configure DRS oscilloscope for the oscillations with an amplitude greater than the value of the exposed
in the trigger (internal).
|
|
210
|
Fri Dec 14 10:07:54 2012 |
Evgeni | DRS-4 trigger |
Stefan Ritt wrote: |
Evgeni wrote: |
Stefan Ritt wrote: |
Evgeni wrote: |
How to configure DRS oscilloscope for the oscillations with an amplitude greater than the value of the exposed
in the trigger (internal).
|
Sorry, I don't understand that question. The DRS4 Evaluation board input signal range is 1V. If you have larger signals, you have to attenuante them externally.
/Stefan
|
Can I adjust the internal trigger DRS oscilloscope for signal extraction 0.5 volts (for example) from any of the four channels. In our case, there is a lot of noise with low amplitude, which must be removed during the registration. We need to record the individual pulses of higher amplitude than the noise. So we want to use the internal trigger DRS oscilloscope to cut this noise by setting up its threshold amplitude noise.
|
Sure, you can set the trigger level with the vertical slider (see attached figure). The trigger level works form -0.5V to +0.5V. Just like with a normal oscilloscope. I thought this would be obvious...
|
That's it? Thank you for your comprehensive answer. |
608
|
Mon May 22 18:27:56 2017 |
Esperienza Giove | Invalid magic number 0000 |
Hello everybody!
After some times i init my board, or if i stop the program during the acquisition, i get the error message "Invalid magic 0000". The only way i can solve this problem is to physically disconnect and plug in again the USB cable.
What's the point? Is there a bash command / code i could use to reset it?
Thank you very much |
610
|
Thu May 25 20:17:41 2017 |
Esperienza Giove | Invalid magic number 0000 |
Hello, thanks for your answer. Unluckily if i try to reset in this way it keeps hanging
musb_write: requested 10, wrote 0, errno -7 (Unknown error 18446744073709551609)
musb_read error 0
musb_write: requested 10, wrote 0, errno -7 (Unknown error 18446744073709551609)
musb_read error 0
Invalid magic number: 0000
musb_write: requested 10, wrote 0, errno -7 (Unknown error 18446744073709551609)
musb_read error 0
musb_write: requested 10, wrote 0, errno -7 (Unknown error 18446744073709551609)
musb_read error 0
I also tried with sudo tee /sys/bus/usb/drivers/usb/unbind and binding again; same thing happens. It seems the board needs to be reset when this happens. Is there a way to do that - to reset the board instead of usb?
Thank you
Stefan Ritt wrote:
|
Under linux, many people observed that the USB connection is unstable to the evaluation board. This must be related to the linux USB stack, since my code runs fine under MacOSX and Windows, where I use the same USB library (libusb-1.0). So I can't do anything from my side. Baybe the linux system has some tools to reset an USB endpoint. I googled it and found some proposals here:
https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line
Regards,
Stefan
Esperienza Giove wrote: |
Hello everybody!
After some times i init my board, or if i stop the program during the acquisition, i get the error message "Invalid magic 0000". The only way i can solve this problem is to physically disconnect and plug in again the USB cable.
What's the point? Is there a bash command / code i could use to reset it?
Thank you very much
|
|
|
611
|
Thu May 25 20:20:57 2017 |
Esperienza Giove | Invalid magic number 0000 |
Hello, thanks for your answer. Unluckily if i try to reset in this way it keeps hanging
musb_write: requested 10, wrote 0, errno -7 (Unknown error 18446744073709551609)
musb_read error 0
musb_write: requested 10, wrote 0, errno -7 (Unknown error 18446744073709551609)
musb_read error 0
Invalid magic number: 0000
musb_write: requested 10, wrote 0, errno -7 (Unknown error 18446744073709551609)
musb_read error 0
musb_write: requested 10, wrote 0, errno -7 (Unknown error 18446744073709551609)
musb_read error 0
I also tried with sudo tee /sys/bus/usb/drivers/usb/unbind and binding again; same thing happens. It seems the board needs to be reset when this happens. Is there a way to do that - to reset the board instead of usb?
Thank you
Stefan Ritt wrote:
|
Under linux, many people observed that the USB connection is unstable to the evaluation board. This must be related to the linux USB stack, since my code runs fine under MacOSX and Windows, where I use the same USB library (libusb-1.0). So I can't do anything from my side. Baybe the linux system has some tools to reset an USB endpoint. I googled it and found some proposals here:
https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line
Regards,
Stefan
Esperienza Giove wrote: |
Hello everybody!
After some times i init my board, or if i stop the program during the acquisition, i get the error message "Invalid magic 0000". The only way i can solve this problem is to physically disconnect and plug in again the USB cable.
What's the point? Is there a bash command / code i could use to reset it?
Thank you very much
|
|
|
613
|
Tue May 30 20:45:30 2017 |
Esperienza Giove | Setting input range |
Hello,
is it possible to set a completely negative input range like -1 to 0 or -0.95 to 0.05 ? |
615
|
Tue May 30 21:22:10 2017 |
Esperienza Giove | Setting input range |
Thank you
Stefan Ritt wrote: |
See elog:531
Esperienza Giove wrote: |
Hello,
is it possible to set a completely negative input range like -1 to 0 or -0.95 to 0.05 ?
|
|
|
621
|
Thu Jul 6 15:10:48 2017 |
Esperienza Giove | Trigger setting (AND AND) OR (AND AND) |
Hello there,
is it possible to setup trigger in double AND configuration (a pair in and or other pair in and).
eg (CH 1 AND CH 2 ) OR ( CH 3 AND CH4)
Thank you |
246
|
Tue May 21 12:39:00 2013 |
Enrico Conti | mac osx 10.6 |
Hi,
I would like to use the DRS4 with my macbook pro running osx 10.6.8.
I have installed the wxWidgets and the libusb-1.0 libraries and I am using the Linux code vers. 4.0.1. After
compilation, the following errors come out:
ld: warning: in musbstd.o, file was built for unsupported file format which is not the architecture being linked
(i386)
ld: warning: in mxml.o, file was built for unsupported file format which is not the architecture being linked (i386)
....
....
ld: warning: in main.o, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [drsosc] Error 1
Do you have any idea on how to solve the problem ?? or maybe do you have a package working with osx 10.6 ? I
remember to have seen, long time ago, a package that could work with 10.6 (or 10.5 ?), but I cannot find it now
(but maybe I remember wrong).
Thanks for any help,
Enrico |
249
|
Tue May 21 17:45:05 2013 |
Enrico Conti | mac osx 10.6 |
>
> Can it be that you have a old PowerPC MAC? I have no experience with that, but probably you have to adjust the Makefile
> ans set some flags correctly for PPC instead of Intel.
>
> /Stefan
No, I have a MacBook Pro 2.8 GHz Intel Core 2 Duo. |