As shown, I want to serialize the image sequence of the two cameras.
Why does the synthesized bitstream file fail and always report timeout?
As shown, I want to serialize the image sequence of the two cameras.
Why does the synthesized bitstream file fail and always report timeout?
Hello silverfly
operator ImageSequence can cause timing errors (see release notes). Consider using operator FrameBufferRandomRd to build the ImageSequence functionality. See example http://www.siliconsoftware.de/…%20exposure%20fusion.html. Here the functionality of ImageSequence is rebuilt.
Do you actually need the functionality of image sequence or just 1 out of 4 images?
Johannes
I need the entire image sequence, just to make it easier to synthesize, so only one image is output.
Thanks, I will try to use the FrameBufferRandomRd operator to build what I need instead.
By the way, the design I provided has been successfully synthesized, and it reports timeout at runtime instead of timing errors during synthesis.
By the way, the design I provided has been successfully synthesized, and it reports timeout at runtime instead of timing errors during synthesis.
Oh sorry. I did not see that.
Are you using microDisplay? I have an idea: As you are using GigE Vision both cameras needs to be started at the same time and be 100% synchronous. microDisplay can only start one camera when you click the "play" button inside the program.
If you check the buffer fill levels I think that one of them will be in overflow while the other one will be empty.
There are two solutions:
Note: If you set both cameras to the same frame rate they will still be a little asynchronous. Soon or later the buffers will be filled. You ned to externaly trigger the cameras to be 100% synchronous.
Johannes
We later performed experiments in microDisplayX. For sequence images generated by ImageSequence and subsequent InsertImage operations, timeout errors will still be reported soon.
We are working on FrameBufferRandomRd operator for our design. The design block diagram is shown in the screenshot below. We also verified the design in microDisplayX. Although the timeout error is not reported, the path after the InsertImage operator still does not reach the bandwidth we expect, and the two FrameBufferRandomRd operators will quickly overflow (you can rule out that the two cameras are out of sync).
In addition, we cannot find the "StartAcquisition" parameter in GenICam, and the new version of microDisplayX seems to be powerless for 64bit DmaToPC output.
Dear silverfly,
in your design "pmp_two_cameras" the adress generation in boxes "ImageSequence" is not correct.
To adapt the "ImageSequence" box from example "ExposureFusion.va" ,( under "Examples\Processing\HDR_ImageComposition\ExposureFusion\ExposureFusion.va" in your Visualapplets installation directory )
to your image dimensions right-mouse click on box "ExposureFusion", click on "properties" and set the image dimensions
to 600x800. This automatically sets all the relevant parameters in box "ImageSequence". Copy now the "ImageSequence" box to your design.
The two cameras should run withh the same frame rate. But as Johannes has written:
"..
Note: If you set both cameras to the same frame rate they will still be a little asynchronous. Soon or later the buffers will be filled. You ned to externaly trigger the cameras to be 100% synchronous...."
best regards
Carmen Z
Hi, Carmen Z!
We don't have a license for the Parameters Library, but I can be sure that our address generation is correct. In order to increase the transmission bandwidth, the 4 parallelisms of the camera input are merged into a kernel. You can check this carefully.
We are testing the effect of the FrameBufferRandomRd operator on bandwidth. We tried to use 8 kernels for input images and 2 parallelisms for address generation and still couldn't reach our expected bandwidth. I wonder if you can answer our concerns.
Hello Silverfly
I made a test with the HAP of your very first post. It works perfectly on my PC. See attached video.
I hope this will help you.
microDisplayX - 2 cameras, one process.mp4
BR
Johannes
I watched your video and I fully understand what you mean.
But it just doesn't work on our machine. It can barely run when both cameras are 10fps.
This is a bit weird. We will find out what is going on.
Thank you, Johannes.
Dear Silverfly,
The restricted performance in your PC may be related to a DMA limitation of the mainboard.
- Could you please look into microDiagnosis and run a DMA performance test?
- Please post the log of mDiagnosis here. That could give some indications.
Thank you.
Sorry, Björn, I have kept you waiting.
I am a bit confused about the results of our DMA test. Two logs have been uploaded. Please look at it.
Also, as Johannes said, I tried to use Action Command to start the second camera, but the settings at Firmware could not be edited.
Dear Silverfly,
In the log I found:
That at least indicates that 4 PCIe lanes are used, and a PCI payload size of 128.
The facts above should deliver above 600 MB/s as DMA performance in your system.
You can do a DMA performance test in mDisplay manually if you want to: