Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Firevire camera & Driver problem

danilo,

 

Doing a full Snap each time completely reconfigures both the PC side and the camera side with every iteration. It is possible that on your different PCs the time required to allocate and lock the needed buffers(s) varies. Snap is not meant for high-performance in a repetitive loop as it is designed to be as simple and stateless as possible and so it releases all resources used (such as firewire reserved bus bandwidth) every time.

 

Ben's suggestion is correct that if you want high performance in a loop you likely want to use the lower-level functions and keep the PC and camera in a configured state between acquiring and simply start/stop it each time instead. Depending on what camera settings you want to change this might be ok even while everything is configured but just stopped. If you are changing the video mode then you really do not have a choice other than to unconfigure/configure, which is what the Snap is doing every time.

 

Eric 

0 Kudos
Message 11 of 30
(2,260 Views)

Thanks for reply.

 

I understand that snap is time concuming, but the performance of SNAP function on slower PC's is even better than on fast PC.

I do not expect high performance if the expected time of SNAP function is around 350ms up to 450ms on Firewire B.

 

 

I'd like to now what is the reason for almost 100% longer operation of SNAP function.

 

As I remember I had better performanve with older legacy drivers than with new ones.

 

Is it possible to have better performance with  IMAQdx driver?

 

Regards!

 

 

Message Edited by danilo on 02-24-2010 09:46 AM
0 Kudos
Message 12 of 30
(2,256 Views)

No other ideas?

 

Regards!

0 Kudos
Message 13 of 30
(2,236 Views)

danilo,

 

A large amount of the time needed to do the Snap is independent of the speed of the computer. Some things that might affect it (off the top of my head):

 

a) Camera firmware - different versions often have vastly different timing for writing to certain registers

b) Camera settings - some registers for some settings might have vastly different timings. Can you compare the camera settings stored in the ICD file for the two systems?

c) Firewire card chipset - Configuration requires lots of register I/O operations that must be submitted to the firewire card and then completed. The implementation of those writes and the latency involved might be highly dependent on the chipset used, along with things like your system's bus topology (PCI express has a much higher latency for register operations compared to PCI, for instance)

d) Time taken to acquire the image - The total time for Snap is including the time to expose the image sensor and transfer the image. Are you sure you have the cameras configured for the same exposure time, frame rate, and transfer settings (bus speed, packet size, etc)?

  

Eric

0 Kudos
Message 14 of 30
(2,228 Views)

Hello Eric!

 

Thanks for your sugestionsa and reply.

 

Please see my coments bellow.

 

A large amount of the time needed to do the Snap is independent of the speed of the computer. Some things that might affect it (off the top of my head):

 

a) Camera firmware - different versions often have vastly different timing for writing to certain registers

   Danilo: I use same cameras on both computers and same firmware on cameras, so that can't be the cause.

 

b) Camera settings - some registers for some settings might have vastly different timings. Can you compare the camera settings stored in the ICD file for the two systems?

 Danilo: I have done that and they are exactly the same in ICD file and also then in my aplication.

 

c) Firewire card chipset - Configuration requires lots of register I/O operations that must be submitted to the firewire card and then completed. The implementation of those writes and the latency involved might be highly dependent on the chipset used, along with things like your system's bus topology (PCI express has a much higher latency for register operations compared to PCI, for instance)

Danilo: I use PCI EXPRESS card firewire host card.

 

d) Time taken to acquire the image - The total time for Snap is including the time to expose the image sensor and transfer the image. Are you sure you have the cameras configured for the same exposure time, frame rate, and transfer settings (bus speed, packet size, etc)?

Danilo: This is good question. All general setings regarding exposure time... are same. I'm not sure about bus speed, packet size,... Setings in ICD file are correct.

 

Regards!

0 Kudos
Message 15 of 30
(2,224 Views)

Is it the same OS on both systems?

 

Eric 

0 Kudos
Message 16 of 30
(2,220 Views)

Hello!

 

Yes WIN XP SP3.

 

Regards!

0 Kudos
Message 17 of 30
(2,216 Views)

Hello!

 

Here are some news.

 

I have found parial naswers on this post from JohannS and in this way I'd like to thank him:

 

http://forums.ni.com/ni/board/message?board.id=200&message.id=12072&query.id=550525#M12072

 

With this modification on registry file I came with FireWireB  camera AVT Stingray F146C to SNAP function time of

around 170ms. And that is realy great and I'm satisfied with thatand more than happy. I yust have to see how

stable will be in operation mode and I'll report about that later.

 

But there I have similar issue with FireWireA camera AVT Marlin F145C where I also make progress with this

modification in speed, but the problem was that when I made modification the acquired image was not OK.

So anyone now If I could change any other parameter also in this part of registry:

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\imaq1394k\Parameters

 

What are other parameters meant for?

 

Regards!

 

 

 

 

0 Kudos
Message 18 of 30
(2,203 Views)

Hello!

 

Any other info regarding that?

 

Regards!

 

 

0 Kudos
Message 19 of 30
(2,181 Views)

Hello!

 

Experts from NI could help me?

 

Regards!

 

 

0 Kudos
Message 20 of 30
(2,130 Views)