8MP MIPI camera on Jetson TK1
Update: e-con Systems™ has released camera boards for Jetson TK1:
|e-CAM130_CUTK1||13.0 MP AR1820 MIPI camera board for Jetson TK1|
|e-CAM40_CUTK1||4.0 MP OV4682 RGB-IR MIPI camera board for Jetson TK1|
|e-CAM30_CUTK1||3.4 MP AR0330 Low Light MIPI camera board for Jetson TK1|
The e-CAM80_MI8825_MOD is a 8 MP HD MIPI camera Module featuring Omnivision OV8825 image sensor. It is compliant with the MIPI-CSI2 standard and hence can be used with any processor that supports the same. Some of it’s key features are :
- Support for Auto, single trigger and Manual focus modes.
- Maximum data transfer rate of 8MP at 11 fps.
- Also supports 1080p at 30 fps and 720p at 55 fps
Our target was to test and evaluate the entire imaging pipeline available on the Tegra K1 processor. We chose the Jetson TK1 as our development kit. The features of the Jetson TK1 dev kit are :
- Powerful Tegra K1 System On Chip with:
– 4-Plus-1 quad-core ARM Cortex A15 CPU
– Kepler GPU with 192 CUDA cores
- 2 GB DDR3L memory with 64 bit width
- Camera Serial Interface (CSI), based on the MIPI CSI 2.0 standard specification.
- Dual ISP3s for simultaneous processing of two separate image data.
- A high performance H.264 capable hardware video encoder with support for VP8 encoding.
Previously we tested our See3CAM line of USB 3.0 products on the Jetson TK1 and posted the results on our blog. They have been added to the Jetson wiki page as well.
When using USB cameras, the image data from the sensor is encapsulated within USB packets according to UVC protocol. This causes a small overhead in the processor side because the image data has to be separated from the USB packets in the kernel driver side. This processing is done on the CPU cores. In addition to this, the performance of the USB3.0 controller on the Jetson TK1 (XUSB) cannot be fully evaluated.
This is where MIPI comes in. The MIPI CSI 2.0 specification is a protocol developed especially for interfacing camera sensors (camera subsystem) with application processors or any host device. The availability of the CSI interface in the Jetson, provides a method for obtaining camera data from a MIPI CSI 2.0 compliant sensor with minimal overhead. The MIPI level transactions are handled by a separate hardware component (CSI) and it allows direct access to image data in the memory/ISP.
We tested the ACC-iMX6-MI8825CAM which is an Accessory board for our Ankaa – iMX6 development kit using the e-CAM80_MI8825_MOD module. We successfully wired it up to the MIPI-CSI2 lines on the Jetson TK1 development kit using the schematics and processor reference manual provided by NVIDIA for developers. We implemented the platform as well as sensor driver for the module based on the V4L2 framework. We were able to achieve full performance of the module while using the powerful NVIDIA Tegra K1 processor in the dev kit. The board can handle high resolution rendering as well without any form of image corruption.
We tested the camera driver on the latest version of BSP provided by NVIDIA which is L4T_R21.2 as of the date of writing this article. The camera image data can be utilized by any application which uses the V4L2 framework. We have tested using gstreamer-0.10 only so far, but OpenCV and any other custom application written using V4L2 framework will work.
We plan to develop a daughter board for the Jetson TK1 dev kit using this module such that it can be directly connected to the J3A2 connector on the board to remove the hassle of wiring up the sensor. Work is in progress and hope to see it launched soon. Please check our NVIDIA Camera page for the product updates.
Here is a sample video demonstrating the working of the sensor module with the Jetson TK1.
Customers interested in using a different MIPI camera/sensor module on Jetson Kit can contact email@example.com and explain their requirement.