Thursday, June 4, 2015

Camera interface standards

It's my impression that the machine vision industry has pretty much standardized on one interface. It’s GigE for area or matrix cameras, leaving USB3 to the scientific/medical community and falling back on CameraLink for linescan applications. (Though I notice Dalsa now has a family of GigE linescan cameras.) However, I know other industries like other formats.

So, when I saw a post on the excellent Adimec blog asking, “Which digital video interface is best for global security systems?” I didn’t expect to learn much. But there were a couple of interesting snippets.

First, regarding GigE, “Processing required to pack and unpack video generates additional heat and uncertain latency…” Now that is news to me. Yes I have noticed a couple of my favorite GigE cameras seem to run very hot, but I hadn’t compared them with USB3 equivalents. Now I think I will.

Second, someone seems to have a bit of a downer on USB3:

“Cons
  • Large connector and interface driver
  • Maximum throughput unpredictable (chipset, PC motherboard and driver dependent)
  • Sustainable speed is much lower than theoretical limit
  • Unreliable operation with longer cables (>3 m)”

Interesting points. There’s been so much hype over USB3 that the downsides seem to have been forgotten. Good to see Adimex removing the rose-tinted specs.

This is why it’s important to keep reading the machine vision blogs. You never know quite what you’ll learn. (And kudos to Adimec for providing consistently good content.)

1 comment:

Brian Durand said...

Certainly GigE Vision has seen strong growth over the last several years. It is fast enough for most applications, and the long cable lengths were a big improvement from IEEE-1394. But I'd encourage you to take a closer look at USB3 Vision.

The first cameras to support USB3 were mostly a rehash of GigE cameras. Same sensors, same frame rates, different connector. But there is a slug of new cameras just becoming available that take better advantage of USB3. For example, Basler is introducing several new cameras with On Semi Python and Sony IMX sensors. Consider what can be done with an inexpensive camera that can grab 150 (1920 x 1200) to 850 (640 x 480) frames a second. That's data rates nearly comparable to CameraLink Medium configurations, but without the frame grabber.

Many of the criticisms of USB3 hold true for GigE as well. Yes, USB3 performance varies greatly with chipset and driver. But some GigE drivers support a performance mode (direct memory access and jumbo packet support) with specific chipsets, and other GigE drivers don't support a performance mode at all. Some USB3 implementations perform well below spec, but Ethernet in general always delivers far less data than the theoretical limits.

On the other hand, USB3 Vision is more efficient than GigE, saving more CPU power for the image processing tasks. (You might notice than the newer Basler USB3 cameras are physically smaller than their GigE counterparts and, in the case of CMOSIS sensors, cost less too.) And USB3 Vision (combined with a good chipset) has far less jitter than GigE Vision.

Whenever I'm asked whether to use a GigE or USB3 camera, I ask about the necessary cable length. If its short, and if there is an appropriate USB3 camera available, I suggest going with USB3. Now, with more USB3 cameras becoming available, the decision is even easier.

Additional info:
Data, Facts, Setup and Migrating to USB 3.0
USB 3.0 Host Controllers' Maximum Bandwidth Measurements
Comparison of the Most Common Digital Interface Technologies
USB3 Vision Technology Center