MATRIX VISION - mvBlueFOX3 Technical Documentation
NVIDIA Jetson Nano

General

CPUCortex-A57 @ 1.43 GHz
Cores4
RAM4GB
USB2.0 Interfaces1
USB3.0 Interfaces4
Ethernet10/100/1000 MBit
PCIex1/x2/x4
Gen 2
Note
The above table describes the specification of the Jetson module without any carrier board.

Benchmarks

USB3.0 Performance Test

Additional Settings Applied On The System

SettingValueDescription
usbcore.autosuspend-1Disables USB auto-suspend mode. See Disabling The Auto-Suspend Mode
usbcore.usbfs_memory_mb256 MBIncreases the kernel memory for USB traffic. See Increasing Kernel memory
Note
Follow the links to find out more about these parameters.

Results

The following tests have been performed using different de-Bayering scenarios to achieve the max. FPS while maintaining 0 lost images. The CPU load during the acquisition is also documented below.

Scenarios that have been tested are listed as follows:

  1. When de-Bayering is carried out on the camera: The camera delivers RGB8 image data to the host system. This setting results in a lower CPU load but a lower frame rate.
  2. When de-Bayering is carried out on the host system: The camera delivers Bayer8 image data to the host system. The Bayer8 image data then get de-Bayered to RGB8 format on the host system. This setting results in a higher frame rate but a higher CPU load as well.
  3. When no de-Bayering is performed: The camera delivers Bayer8 image data to the host system. No de-Bayering is performed. This settings results in a lower CPU load and a higher frame rate. The behavior is identical to monochrome cameras.
CameraResolutionPixel FormatFrame Rate [Frames/s]Bandwidth [MB/s]CPU Load
mvBlueFOX3-2032C2064 x 1544RGB8 (on camera) -> RGB8 (on host)25240.9240%
CameraResolutionPixel FormatFrame Rate [Frames/s]Bandwidth [MB/s]CPU Load
mvBlueFOX3-2032C2064 x 1544BayerRG8 (on camera) -> RGB8 (on host)98312.26~90%
CameraResolutionPixel FormatFrame Rate [Frames/s]Bandwidth [MB/s]CPU Load
mvBlueFOX3-2032C2064 x 1544BayerRG8 (on camera) -> BayerRG8/Raw (on host)119379.8650%

Remarks

Choose the right power supply

The Jetson Nano has 2 power supply possibilities: via the micro-USB connection or via the Barrel Jack connection.

The power (by default 10W) via the micro-USB connector is not sufficient if you want to connect other peripherals (e.g. keyboard, mouse, cameras, etc...) that draw current from the board. So if when powering the USB/USB3 camera through the USB bus (i.e. no external power supply), please supply the board with power through the Barrel Jack connector (4A@5V).

Otherwise the system will throttle due to over-current.

Specific Settings

Optimizing USB Performance

To use the camera following modifications are necessary in the standard configuration of the NVIDIA Jetson Nano board:

Note
Depending on the version of the L4T on the device, it might be necessary to update the software to the latest version which can be obtained from the NVIDIA Developer page.
SettingValueDescription
usbcore.autosuspend-1Disables USB auto-suspend mode. See Disabling The Auto-Suspend Mode
usbcore.usbfs_memory_mb256 MBIncreases the kernel memory for USB traffic. See Increasing Kernel memory

More specific possibilities to configure the mentioned parameters are described within the following chapters.

Note
The following options to modify usbcore settings allow to setup the device according to the requirements of "USB3 Vision" cameras already at boot time. Once applied no changes at runtime will be necessary.

Enabling USB3.0 Support

On Some devices it might be necessary to enable the USB3.0 support as it seems as the USB bus runs on USB2.0 speed per default.

Change "usb_port_owner_info=0" to "usb_port_owner_info=2" (this will change the USB port behavior from USB 2.0 to USB 3.0).

To change the USB mode, adapt the boot parameters in /boot/extlinux/extlinux.conf at the end of the "APPEND" line: E.g.

APPEND ${cbootargs} usb_port_owner_info=2 root=/dev/mmcblk0p1 
Note
Additional parameters e.g. 'usbcore.usbfs_memory_mb' are not shown in the above sample.

Increasing the allowed USB buffer memory

Increase the memory which you have to adapt the boot parameters in /boot/extlinux/extlinux.conf at the end of the "APPEND" line:

See also

Set "usbcore.usbfs_memory_mb=256" (this will increase the buffer of the USB bus) E.g.

APPEND ${cbootargs}usbcore.usbfs_memory_mb=256 root=/dev/mmcblk0p1 

Disabling USB Autosuspend

In some cases the operating system tries to power down the camera. This can be avoided by disabling the USB autosuspend mode.

To disable the usbcore.autosuspend functionality, adapt the boot parameters in /boot/extlinux/extlinux.conf at the end of the "APPEND" line: E.g.

APPEND ${cbootargs} usbcore.autosuspend=-1 root=/dev/mmcblk0p1 
See also
Note
Additional parameters e.g. 'usbcore.usbfs_memory_mb' are not shown in the above sample.