When I started my career in Machine Vision a little more than 15 years ago, cameras were a purely electronic beast. If you wanted to change camera settings, you had to play around with DIP switches in the best case, or in the worst, open the camera to add or remove 0 ohm resistors. The camera electronics took center stage and the software was limited to the PC where it controlled the frame grabber. Moreover, frame grabber companies had a full-time expert creating configuration files to interface with the various modes of operations of these analog cameras: a very tedious job where the oscilloscope was the main tool.
Today, there is a clear transition to “software-centric” camera models. I first heard this expression from Dr. Savvas Chamberlain, founder of DALSA. I believe this expression perfectly illustrates the increasingly dominant position software (i.e. VHDL and C/C++) is taking in new camera design. If you will allow me a brief oversimplification: a typical camera architecture is now essentially a CMOS image sensor attached to a FPGA. A micro-controller is embedded in the FPGA and performs camera control. Data transmission to the frame grabber (or directly to the PC on-board ports) is achieved by the FPGA transceivers. Add some RAM and a flash memory to complete the picture. It’s not a surprise that cameras are getting smaller!
Having the bulk of the work performed in software presents a number of advantages. First, the PC is now able to perform automatic detection and configuration of the camera so the user simply has to press the “Grab” button to see an image. Second, it becomes easier to add some smarts to the camera: FPGAs are extremely efficient at processing large amounts of data quickly. Third, in-the-field firmware upgrades are straightforward, which enables camera companies to easily create customized versions of the firmware when needed. The net result is that it is getting easier for camera architectures to support different types of camera interfaces.
Today, the choice of camera interface is an option, just like sensor resolution, and you select it when you choose your camera. Will that promote a proliferation of similar camera interfaces? You be the judge. Back in the day, analog was the undisputed king. Today, we have an abundance of interface options that trigger an infinite number of discussions in machine vision forums about which is best – a never ending “The King is dead. Long live the King.” What do you think? Who rules in your world?
‘Til next time…