Wednesday, March 14, 2012

Pros and Cons

Mr. Grey,” the email began. Oh how I love that olde worlde formality. “I see some machine vision cameras now use the USB3.0 interface. Should I switch from 1394?”

If only I could offer a clear-cut yes or no answer, but unfortunately the world doesn’t work like that. Instead, I have to go with the standard integrator response of “It depends.”

USB3.0 has some attractive features for machine vision, most notably speed approaching that of CameraLink and power through the same cable, but in other regards it’s less than ideal. Cable length is limited, though you can add repeaters, and while it’s less of a CPU-hog than USB2.0 it’s still not as good as 1394b. A bigger concern in my view though is lack of Windows support. It’s my understanding we’ll have to wait for Windows 8 to take full advantage of the 3.0 ports now appearing on PC’s.

For those interested in learning more, there’s a great FAQ on the website of camera-maker Point Grey (no, we’re not related.) If you scroll through the Q’s you’ll eventually come to a table comparing the merits of the various interfaces (the latest high-speed systems have been omitted.) Now bearing in mind that Point Grey are in the 1394 and USB camera business, what surprised me is that 1394 still seems a good choice for run-of-the-mill applications where the speed demands aren’t extreme. On the other hand, while USB3.0 seems not to excel at anything, it clearly has the potential to be a good choice overall.

So to answer my email friend’s question – should you switch from 1394 to USB3.0? Right now I would say no, unless you want to be at the cutting edge. Personally, I’ve been cut enough over the years, so I’m going to hang back and let others iron out the bugs. But ask me again in twelve months and I may have a different answer.

1 comment:

Brian said...

Last I checked, there was not yet an approved standard that specifies how USB machine vision cameras should communicate with a PC. (The USB equivalent of the IEEE-1394 IIDC DCAM standard.) Until the standard (in progress) is released and implemented by camera manufacturers, there is no interoperability between USB cameras. Code and applications written to communicate with brand X cameras will not even come close to communicating with brand Y cameras.
Without a compelling need, I wouldn’t switch to USB yet.