Embedded World Conference 2024 Nuremberg Germany, Lattice booth with tinyVision.ai

Embedded World 2024 recap

tinyVision.ai exhibited 3 demos as part of the Lattice Semiconductor booth at the recent Embedded World Conference at Nuremberg.

Nuremberg is a really beautiful city, ringed by the old fort and moat and a vibrant life inside the old city. The springtime weather welcomed us with warmth (though it did get a bit cold and rainy but who's complaining!).

Lattice Semiconductor invited our team to present our demos which are all centered around their CrosslinkU-NX33 FPGA. This FPGA is unique in that it has a USB2/3 hard PHY in it which gives it a fat pipe while retaining the low power, cost and small size of the Crosslink family.

We exhibited 3 demos for the conference, all centering on the Lattice Semiconductor CrosslinkU-NX33 FPGA. tinyVision has developed a System on Module around this FPGA along with an ecosystem of boards, RTL and Zephyr IP. This is documented in detail here and covered in detail on a related post.

 High Bandwidth Demo

This was all about speed! A laptop is connected to the tinyCLUNX devkit and we try to send data from the USB core to the laptop as fast as possible. While seemingly trivial, this proves out the Zephyr driver as well as RTL and hardware to check for any choke points. We were able to achieve a maximum throughput at the Linux application layer of almost 2 Gbps. A maximum of 3.6 Gbps is expected at this level due to the losses associated with encoding (USB3 uses 8b/10b encoding) and protocol losses.

UVC (USB Video Class)

Our second demonstration was the enumeration of the USB as a a UVC device which is the standard protocol that a common USB webcam uses. This is a well accepted standard and requires no custom drivers on the host and hence is a fast way to plug into the ecosystem.

This demo was developed in collaboration with Emcraft Systems who have a world class team of Zephyr and embedded Linux developers as well as SMT lines in house. Do check them out, they're wonderful to work with...

The most common use case for such a system is to be able to connect an RGB +Thermal camera or RGB+Time of Flight camera to the host over USB with the FPGA performing some basic ISP functionality.

QR Code Detection and Decoding

Perhaps our most impressive demo was put together with our partner, Streamlogic. Streamlogic aims to reduce development time significantly by bringing a no-code flow to RTL design. This has been covered in detail in a related article.

The demo runs on the tinyVision.ai tinyCLUNX33 SoM devkit with a RPi v2 camera supplying HD images at 30 fps. Various image processing blocks are used to capture the image in the FPGA as shown in the data flow above. A neural network then locates the QR code corners. The region within these corners is sent to the RISCV which then decodes the QR code using a C library.

For further information, please send email to sales@tinyvision.ai.

Back to blog

Leave a comment