Vision as simple as ToF

My idea was to create an interface board that permits the ST image sensor to be used with a simple MCU, with limited resources and doesn't support a traditional multi-lane CSI-2 interface.", Giovanni Scozzola, Gilisymo
My idea was to create an interface board that permits the ST image sensor to be used with a simple MCU, with limited resources and doesn’t support a traditional multi-lane CSI-2 interface.“, Giovanni Scozzola, GilisymoBild: Gilisymo

Why did you create the I3C machine vision demo and what makes it interesting?

Giovanni Scozzola: When I began my journey with Gilisymo, I was working with time-of-flight (ToF) sensors. To make these sensors more accessible to developers, I started designing small boards that allowed easy integration. These boards featured a simple I2C connection and included level shifters to interface with various platforms like Arduino, Raspberry Pi and Nucleo from ST. To further enhance connectivity options, I added UART and Bluetooth support to the list. However, projects that use camera sensors usually require a powerful CPU, and image decoding was, for me at least, a very complex task compared to working with ToF sensors. I prefer to keep things as simple as possible, but designing a circuit with a camera usually requires a platform that supports MIPI CSI-2 over a MIPI C-PHY or D-PHY interface, which in turn requires the use of multi-lane flexi-cables running at Gigabit speeds. When I became aware of the VD55G1 camera sensor from ST that supports image output via I3C, it inspired me to take on the challenge of creating something new. My idea was to create an interface board that permits this sensor to be used with a simple MCU, with limited resources and doesn’t support a traditional multi-lane CSI-2 interface. To develop this idea, and make the most efficient use of MCU resources, I chose to create a bare-metal demo implementation with no real-time OS. Today, the new interface board demo, with sample code, has been final-ized, and I have named it LS-CAM-I3C. This board offers the same simplicity of use and form factor as our existing ToF sensor boards.

MIPI AWP cover
Bild: Gilisymo

Why did you use I3C for this project and what benefits does using I3C provide?

I used the I3C interface for two reasons. The first is because I3C is an enhancement of the I2C interface, and all our previous boards used I2C. So using I3C immediately felt familiar to me, and I had been looking to upgrade the interface on my boards from I2C to I3C. The second is because the new camera sensor from ST outputs images using I3C, and enabling an interesting new application was appealing for me to explore. In other words, it was a logical and natural choice to start using the I3C interface and work out how I could use the advanced features and benefits of I3C to create more efficient solutions.

What recommendations would you provide to other devel-opers looking to use I3C for the first time?

MIPI I3C is a very valuable protocol as it offers higher data rates, dynamic addressing and in-band interrupts. When I tried to work with I3C a couple of years ago, it was not easy to find low-cost platforms that supported it. Today it is a completely different situation, as there are more and more sensors and MCU/CPUs coming to the market that support I3C. To help first-time devel-opers get up and running with I3C, I published the code that I created for the embedded world demo on Github. I hope this serves as a useful example on how to send image data over I3C, and it also includes an example that uses direct memory access (DMA).

Seiten: 1 2