I am having a hard time selecting MIPI CSI-2 cameras for an object detection application with Jetson TX2. I need 6 cameras in total which will be connected to a customized camera interposer module and to TX2, based on the design guide. These 6 cameras will be used for outdoor object detection (i.e., vehicles, traffic lights) for an autonomous robot. I am looking for low-price cameras due to my limited budget, and as a novice in this field, it will be really helpful if anyone could give me some suggestions on the cameras! Please feel free to ask anything that may help in suggesting a camera module.
Hi DaneLLL,
I have checked those camera modules from them. Unfortunately, they are quite expensive comparing to my budget. I wonder if the Raspberry Pi camera module V2 will be compatible with TX2, when 6 of them connect to a camera interposer that connects to TX2.
Hi,
I recently saw a post on the Forum saying there is no problem using the Pi camera V2 on TX2. It needs software configuration for it to work, creating dtb file to enable the imx219 on TX2. Could you please confirm that?
H,
It is possible but there is no existing patch. You would need to refer to sensor driver programming guide to modify device tree and port sensor driver accordingly.
I also got a question about the EEPROM for each camera. Do I need to write any data to the camera EEPROM before using it with TX2 or an empty will automatically work during first-time start-up? Is it possible to write to EEPROM through TX2 I2C?
Hello, I would like to know where can I check the parameters of the MIPI CSI camera that comes with the TX2 development kit? Can you provide me with some information?
I went over the Sensor Softwave Driver Programming Guide and raised some questions. The sensor I am going to use is IMX219.
VideoCone IV in the sensor has a sophisticated ISP, which converts “raw” bayer-format RGB input images from the sensor into YUV-format output images. In this case, I should choose the Camera Core Library Interface. Does it sound right to you? Will the model_type be yuv in the Individual Imaging Device since the input images are already converted to YUV format?
I have 6 cameras which all have an imx219 sensor. When setting up the Device Tree, besides differentiating the sensors by setting up 6 different positions (badge, position and orientation), what else parameters I should set up to differentiate 6 sensors (i.e., pcl_id, devname, and proc-device-tree)? For orientation with 6 sensors scenario, should the values be from 0 to 5?
In the individual Imaging Device part, since each sensor will have an EEPROM that communicates with the I2C bus, which will share the same address, does it make sense to put the same address for all 6 sensors’ reg (I2C slave address)?
Suppose yes, you can reference to …//hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-modules/tegra186-camera-e3322-a00.dtsi
The EEPROM here is on the sensor board instead of sensors. For multiple sensor on the same board need different i2c bus and suggest to use i2c mux like the reference board use tca9548 to extend the i2c bus.
For example, in the code for imx185 sensor, badge, position, and orientation defines the sensor ID and position of the camera. If I want to setup 6 of these sensors, the badge and position will be different for each of the sensor because of different position, will the devname and proc-device-tree be different as well? For orientations with 6 sensors, are they gonna be from “0” to “5” for each position?
Right, I have this TCA9548 I2C MUX on my camera interposer module, and 6 EEPROMs for each sensor. In this case, will the reg(I2C slave address) have the same address since they all connect to one MUX?
Yes, the slave address can be the same while it connect to the i2c mux. But the bus are different, like you can see the bus number start from 30 to 35.
In this line you just sent, …//hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-modules/tegra186-camera-e3322-a00.dtsi, I assume a00 is referred to the first camera, and the rest will follow the order like a01 to a05?
Could you explain how to find or calculate the line_length value? For mclk_multiplier, since it is noted as deprecated in the programming guide, do I still need to include this value?