Closed luozf14 closed 1 year ago
Is the module reachable when address 0x0000 is set on the board encoders? Also it is recommended to set the high nibbles instead of the low ones because the two high address nibbles are carried into the output datastream of mesytec modules which makes debugging and diagnostics way easier.
Is the module reachable when address 0x0000 is set on the board encoders? Also it is recommended to set the high nibbles instead of the low ones because the two high address nibbles are carried into the output datastream of mesytec modules which makes debugging and diagnostics way easier.
I tried 0x0000 on board. It still gave the same error message: Error from "write a32 (amod=0x09) d16 0x00006008 0x00000001": VME Bus Error: No DTACK on write
. I also tried setting the high nibbles, i.e., 0x2200 on board. Still the same VME bus error.
Do you have any other VME modules to test and/or a second VME controller? Also make sure the modules are properly inserted and fixed with the screws. And the VMUSB needs to be in the first slot of the crate, otherwise it won't work.
Thank you so much for the reminding! This time I fixed the modules with screws and then no more DTACK errors.
Instead, I encoutered a different error. The initialization looked OK but when it enters the readout loop, it said error from bulk read
. In this test, the trigger was configed to Periodic
with Period = Every 1.0 seconds
and 'Frequency = Every 0 events`.
10:18:04: Entering readout loop
10:18:04: VMUSB enter daq mode: writing 0x0003 to Action Register
**10:18:05: VMUSB Warning: error from bulk read: Read error: Connection timed out(code=-110), bytesReceived=0 (total #readErrors=1, #goodReads=0)
10:18:10: VMUSB Warning: error from bulk read: Read error: Connection timed out(code=-110), bytesReceived=0 (total #readErrors=11, #goodReads=0)
10:18:15: VMUSB Warning: error from bulk read: Read error: Connection timed out(code=-110), bytesReceived=0 (total #readErrors=21, #goodReads=0)**
10:18:17: VMUSB readout stopping
10:18:17: VMUSB leave daq mode: writing 0x0000 to Action Register
10:18:17: Leaving readout loop
10:18:17:
10:18:17: DAQ stopped on 2023-07-12T10:18:17
10:18:17:
10:18:17: Running Event DAQ Stop Scripts
10:18:17: event0
10:18:17: writeabs a32 (amod=0x09) d16 0xbb00603a 0x00000000 (0 dec), write ok
10:18:17:
10:18:17: VMUSB readout stopped on 2023-07-12T10:18:17
Under Readout Loop
, I can see that the Cycle Start
script is empty, and the scripts for each module are only bltfifo a32 0x0000 65535
. All I did was following the quick start in the mvme manual. I thought I did not need to write the readout scripts since I am using mesytec's modules. But I'm not sure.
The above looks expected if you did not turn on the pulser of the MADC-32 (or created triggers in any other way): the MADC-32 just does not have any event data to read out so the USB reads will time out. You can find configs with enabled MADC-32 pulser and IRQ based readout here: https://mesytec.com/downloads/mvme/configs/vmusb-madc32-irq/ You will have to change the module address to match your setup, after that you should receive data and see amplitude data get accumulated in the histograms.
Best Florian
Amazing! The configs you provided work perfectly! Now I start understanding the config and usage of mvme. Thank you so much, Florian!
Hello, I am testing an MADC-32 module using the wiener vme usb controller. I followed the quick start guidance on mvme's manual. But I got the following error:
I'm sure I set the address correctly (on the module's PCB, the address code is 0012).