Behind the Datasheet: Vision systems

Image sensors are highly integrated devices, often with multiple operating modes and configuration parameters. Far from being a drop-in device, they need to be carefully integrated into the hardware, and require strong support from the system’s embedded software.
As with all system-level components, there needs to be a robust and flexible interface between the hardware and the software. This typically means using a driver: a software component that acts as the counterpart to the hardware element. The driver provides the system’s software a way to access the features of the hardware component. As such, drivers are often specific to a particular component, at least at some level.
Generic drivers can be used, and these do provide a good starting point for developers, particularly if the hardware component uses industry-standard interfaces. Drivers are often — not always — developed and provided by the hardware component manufacturer. To compound the issue, drivers are also normally specific to the operating system being used (if any).
One of the reasons why Linux is now so popular is because it comes with a lot of drivers. The community is also very good at developing and sharing drivers. Periodically, stable drivers may be integrated into the latest Linux distribution. If a Linux driver exists for the hardware component, it can save the engineering team a lot of time and effort.
This isn’t always obvious to developers when they begin the process of selecting an image sensor for their embedded vision application.
In this interview, Avnet Technical Marketing Engineer Mario Bergeron explains what engineers need to think about both before and after selecting an image sensor.

