Getting started guide for Auvidea J20 board
|
|
Auvidea J20 board introduction
This wiki page provides useful instructions to start using the Auvidea J20 board for Jetson TX1. J20 provides access to the 6 two-lanes CSI ports available on Jetson TX1, this Auvidea board is connected to the camera port available in the Jetson devkit so there is not need of any special carrier board to use it.
Auvidea J20 board configuration and Setup
TX1
For each of the 6 input ports available in the J20 there is one clock and GPIO pin (reset for some cameras) available. The GPIO line may be controlled with the I2C port extender. We have tested two Pi camera models and both responded to i2cdetect.
Please make sure to run the following commands:
sudo i2cset -f -y 1 0x77 3 0xfb # enable 1.8V power to the J20 sudo i2cset -f -y 6 0x20 6 0x3e # configure the outputs of the I2C port expander (low byte) - clock lines remain input, so there is no data collision sudo i2cset -f -y 6 0x20 7 0x33 # configure the outputs of the I2C port expander (high byte) sudo i2cset -f -y 6 0x20 2 0xfe # write ones to all GPIO outputs and turn on LED (low byte) sudo i2cset -f -y 6 0x20 3 0xff # write ones to all GPIO outputs (high byte)
After you have executed all those commands, the Pi camera should respond to I2C accesses.
Note: as R11, R12, R15, R16, R17, and R18 are installed (solder jumpers) do not enable the outputs of the corresponding pins of the I2C port expander. This possible could cause a hardware damage, as outputs drive against each other. So make sure the use the following 2 instructions from the list above.
i2cset -f -y 6 0x20 6 0x3e i2cset -f -y 6 0x20 7 0x33
If you want to modify the settings of the GPIOs to the 6 connectors just change the data in the following 2 commands:
- GPIOs all 1:
i2cset -f -y 6 0x20 2 0xfe i2cset -f -y 6 0x20 3 0xff
- GPIOs all 0:
i2cset -f -y 6 0x20 2 0 i2cset -f -y 6 0x20 3 0
Please note that the port expander does not always show up on i2cdetect. Please read the output register for a test.
i2cget -f -y- 6 0x20 2
I2C address translation:
- Pi camera 1.3
normal address: 0x36 translated address: 0x34
- Pi camera 2.1
normal address: 0x64 translated address: 0x12
Example: PiCamera 1.3 on J1_1
i2cdetect -y -r 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- —
To disable the 1.8V power of the J20 run the following command. This will make invisible the J20 I2C expander and any camera connected to J20 board in the I2C bus.
i2cset -f -y 1 0x77 3 0xf9 # Disable 1.8V power to the J20. This command make the I2C expander and cameras connected to J20 invisible in the I2C bus
General observations:
- The I2C expander is mapped to I2C Bus 6, Address 20.
- The power LED on the J20 board is always ON. It doesn´t depends on the i2cset -f -y 1 0x77 3 0xfb command.
TX2
The I2C buses order has been changed for TX2, The I2C expander is mapped to I2C Bus 2, Address 20 and J20 power is mapped to I2C Bus 0, Address 77.
Please make sure to run the following commands for TX2:
sudo i2cset -f -y 0 0x77 3 0xfb # enable 1.8V power to the J20 sudo i2cset -f -y 2 0x20 6 0x3e # no data collisionrt expander (low byte) - clock lines remain input, so there is is no data collision sudo i2cset -f -y 2 0x20 7 0x33 # configure the out puts of the I2C port expander (high byte) sudo i2cset -f -y 2 0x20 2 0xfe # write ones to all GPIO outputs and turn on LED (low byte) sudo i2cset -f -y 2 0x20 3 0xff # write ones to all GPIO outputs (high byte)
If you want to modify the settings of the GPIOs to the 6 connectors just change the data in the following 2 commands:
- GPIOs all 1:
i2cset -f -y 2 0x20 2 0xfe i2cset -f -y 2 0x20 3 0xff
- GPIOs all 0:
i2cset -f -y 2 0x20 2 0 i2cset -f -y 2 0x20 3 0
Please note that the port expander does not always show up on i2cdetect. Please read the output register for a test.
i2cget -f -y- 2 0x20 2
Jetson TX1 I2C mapping on J20
We run a test with the Pi camera V1.3 & V2.1 to generate a map of the I2C bus, Device Address, J20 connector, and Device model. The following chart summarizes it.
Here is a diagram of the J20 expansion board that shows the complete I2C interface between the Jetson TX1 devkit and J20 board.
Jetson TX1 CSI inputs mapping on J20
Each block has 2 connectors:
- J1 is connected to CSI-1
- J2 is connected to CSI-2
There are 3 instances of J1 and J2.
J1_1: CSI-A : video0 J1_2: CSI-C : video2 J1_3: CSI-E : video4 J2_1: CSI-B : video1 J2_2: CSI-D : video3 J2_3: CSI-F : video5
Jetson Orin
The J20 in the Jetson Orin is found on the bus 2 (3180000.i2c), address 0x20. Even thought it is not shown when doing an i2cdetect on the bus.
You can check if it's there by doing:
~$ i2cget -f -y 2 0x20 2 0xfe
You can configure it with the following commands:
i2cset -f -y 2 0x20 6 0x3e i2cset -f -y 2 0x20 7 0x33 i2cset -f -y 2 0x20 2 0xfe i2cset -f -y 2 0x20 3 0xff
The mappings will be the following, for example for a IMX477 with a 0x1a address:
/* Cameras get mapped as follows: +------+-----------------+---------+------------+ | Port | Bus | Address | CSI port | +------+-----------------+---------+------------+ | J1_1 | 8 (31e0000.i2c) | 0x1a | CSI-A / 0 | +------+-----------------+---------+------------+ | J1_2 | 2 (3180000.i2c) | 0x1a | CSI-C / 2 | +------+-----------------+---------+------------+ | J1_3 | 1 (c240000.i2c) | 0x1a | CSI-E / 4 | +------+-----------------+---------+------------+ | J2_1 | 8 (31e0000.i2c) | 0x18 | CSI-B / 1 | +------+-----------------+---------+------------+ | J2_2 | 2 (3180000.i2c) | 0x18 | CSI-D / 3 | +------+-----------------+---------+------------+ | J2_3 | 1 (c240000.i2c) | 0x18 | CSI-F / 5 | +------+-----------------+---------+------------+ */
For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.
Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.