Difference between revisions of "NXP MIPI-CSI Camera Set"

From Voipac Wiki
Jump to navigation Jump to search
(Created page with "Category:iMX8M Industrial Development Kit Category:iMX8M Industrial Peripherals <!-- --> <div style="float:right">__TOC__</div> A powerful HDMI Input feature on iMX6...")
 
Line 10: Line 10:
 
== Kernel detection ==
 
== Kernel detection ==
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
...
+
root@imx8mq-voipac:~# dmesg | grep ov56
adv7610_video: HDMI receiver adv7610 is found
+
[    2.383324] ov5640_mipi 1-003c: No pin available
...
+
[    2.387976] ov5640_mipi 1-003c: No sensor pwdn pin available
 +
[    2.393683] ov5640_mipi 1-003c: No sensor reset pin available
 +
[    2.399479] ov5640_regulator_enable: cannot get io voltage error - err:-517
 +
[    3.018132] ov5640_mipi 1-003c: No pin available
 +
[    3.033972] ov5640_mipi 1-003c: No sensor pwdn pin available
 +
[    3.046488] ov5640_mipi 1-003c: No sensor reset pin available
 +
[    3.062091] ov5640_mipi 1-003c: 1-003c supply DVDD not found, using dummy regulator
 +
[    3.072436] ov5640_mipi 1-003c: 1-003c supply AVDD not found, using dummy regulator
 +
[    4.325257] mxc-mipi-csi2_yav 30b60000.mipi_csi: Registered sensor subdevice: ov5640_mipi 1-003c
 +
[    4.337288] ov5640_mipi 1-003c: Camera is found
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 14:45, 22 July 2022

A powerful HDMI Input feature on iMX6 TinyRex Development Kit is achieved by using ADV7610 HDMI receiver chip. Detection, performance and essential commands are described here.

Note: These examples uses Linux kernel version 4.1.

Kernel detection

root@imx8mq-voipac:~# dmesg | grep ov56
[    2.383324] ov5640_mipi 1-003c: No pin available
[    2.387976] ov5640_mipi 1-003c: No sensor pwdn pin available
[    2.393683] ov5640_mipi 1-003c: No sensor reset pin available
[    2.399479] ov5640_regulator_enable: cannot get io voltage error - err:-517
[    3.018132] ov5640_mipi 1-003c: No pin available
[    3.033972] ov5640_mipi 1-003c: No sensor pwdn pin available
[    3.046488] ov5640_mipi 1-003c: No sensor reset pin available
[    3.062091] ov5640_mipi 1-003c: 1-003c supply DVDD not found, using dummy regulator
[    3.072436] ov5640_mipi 1-003c: 1-003c supply AVDD not found, using dummy regulator
[    4.325257] mxc-mipi-csi2_yav 30b60000.mipi_csi: Registered sensor subdevice: ov5640_mipi 1-003c
[    4.337288] ov5640_mipi 1-003c: Camera is found

I2C detection

HDMI receiver chip is connected via I2C3. The most important address for correct detection is 0x4c.

root@imx6-tinyrexmax:~# i2cdetect -y 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- UU -- -- -- UU -- -- -- -- -- -- -- -- -- 
30: -- -- UU -- UU -- UU -- -- -- -- -- -- -- UU -- 
40: UU -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

Listing modules

root@imx6-tinyrexmax:~# lsmod
Module                  Size  Used by
mxc_v4l2_capture       27624  2
ipu_bg_overlay_sdc      5385  1 mxc_v4l2_capture
ipu_still               2331  1 mxc_v4l2_capture
ipu_prp_enc             5903  1 mxc_v4l2_capture
ipu_csi_enc             3904  1 mxc_v4l2_capture
ipu_fg_overlay_sdc      6130  1 mxc_v4l2_capture
ov5647_camera_mipi_int    30566  0
adv7610_video           6373  0
v4l2_int_device         2872  4 ov5647_camera_mipi_int,adv7610_video,ipu_csi_enc,mxc_v4l2_capture
mxc_dcic                6528  0

Resolution settings

Resolutions up to 720P are automatically detected.

Gstreamer

Capture single JPEG picture

gst-launch-1.0 v4l2src device="/dev/video0" num-buffers=1 ! video/x-raw,width=1280,height=720,framerate=30/1 ! videoconvert ! jpegenc ! filesink location=sampleadv_1280_720.jpeg

Video preview

gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw,width=1280,height=720,framerate=30/1 ! videoconvert ! autovideosink

Video encode

gst-launch-1.0 v4l2src device="/dev/video0" num-buffers=1000 ! video/x-raw,width=1280,height=720,framerate=30/1 ! videoconvert ! queue ! vpuenc_h264 ! matroskamux ! filesink location=sample.mkv sync=false

Performance

Resolution FPS Module Command Notes
1920x1080 =12 Ultra gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from SATA
1920x1080 >=17 Max gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from NFS
1920x1080 >=17 Pro gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from SD
1280x720 >=29 Ultra gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from SD
1280x720 >=29 Max gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from NFS
1280x720 >=29 Pro gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from SD
800x600 >=48 Ultra gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from SD
800x600 >=48 Max gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from NFS
800x600 >=48 Pro gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! autovideosink Connected monitor 1920x1080, Booting from SD