Sunday, June 24, 2012

Ironing out GigE bugs

I like the GigE camera interface. I almost never use anything else, but colleagues find it a little finicky, and I have to admit that it has moments of uncooperative behavior.

I know it’s important to use a network card with the Intel Pro1000 chipset, (not something the GigE camera vendors seem to broadcast,) but I wasn’t aware the card could be optimized for machine vision. Thanks to this video from European vision components vendor Stemmer Imaging I have now learnt how to tweak a few key settings, so I’m looking forward to improved performance.

Okay, I’m being modest. I knew about the ‘Jumbo frames’ setting, although Mr. Vickers’ other tips were new to me. I haven’t yet put them to the test, but I am a believer. Should I encounter any problems I will of course let you know.


Jon Vickers said...

To be honest, in 90% of applications you won't see the difference, but optimisation is just that: maximise the available bandwidth, minimise the CPU usage. You see the difference most in cameras that are using close to the limit of GigE. Camera's like JAI BM500GE or DALSA HM1400 will show the difference.

Vincent Rowley said...

Using jumbo frames helps minimize image data transfer overhead. However, there is not much benefit to go above 9 KB.

Adjusting the number of receive buffers (or receive descriptors) is particularly important if the transmitter device transmits data in a bursty way. As mentionned in the video, it is also important if the sustained throughput of the transmitter is pushing the limits of the link.