Monday, December 1, 2008

PCI Express enables more, bigger, images

Greater camera resolution, higher framerates and using multiple cameras dramatically increases the number of bytes per second you need to move into the CPU of your PC. A single VGA camera at 30 fps is only delivering 9.2Mbytes/second, but hook up a couple of high resolution linescan cameras and you can quickly be getting close to 528Mbytes/second, which is the limit of the PCI bus. (And of course, in the real world you can never come close to utilizing the theoretical maximum.)

The answer is to move to PCI Express. Unlike PCI, this is a serial data transfer method that uses multiple lanes – up to 32 – to move data at very much higher speeds. In fact you only need 4 lanes to hit a blazing 1Gbyte/second.

One of the really nice features of PCI Express is that it’s software-agnostic. In other words, you don’t need special image capture software to make use of it: your existing package will work just fine. If only the hardware would adapt as smoothly.

Unfortunately, there are very few PCs with PCI Express slots on the motherboard. And the ones you will find tend to be optimized for graphics cards rather than machine vision framegrabbers. The solution is to use a motherboard developed for server applications. They are available, but as always, expect to pay.

If this mini-primer on PCI Express has wet your appetite, please allow me to refer you to a fascinating ‘Technology Primer’ available in the ‘Knowledge Center’ area of Dalsa’s web site. You will need to register to download their paper “PCI Express Advances Machine Vision,” but if you feel the need for speed it is essential reading.

1 comment:

Matt S. said...

One other benefit of PCI Express is the fact that the bandwidth isn't shared from slot to slot. The PCI bus shares its bandwidth across all PCI slots in your machine. With PCI Express, every single slot has dedicated bandwidth. Now it's just a matter of finding out what to do with 1 GB/s coming in through 3 ports at the same time, :-D.

Love the blog. Keep 'em coming.