RV1103与FPGA通过MIPI CSI-2实现视频传输,实现网络推流

RV1103与FPGA通过MIPI CSI-2实现视频传输,实现网络推流。

一:图像格式

支持图像格式如下:

0: 'NV16' (Y/CbCr 4:2:2)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

1: 'NV61' (Y/CrCb 4:2:2)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

2: 'NV12' (Y/CbCr 4:2:0)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

3: 'NV21' (Y/CrCb 4:2:0)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

4: 'YUYV' (YUYV 4:2:2)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

5: 'YVYU' (YVYU 4:2:2)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

6: 'UYVY' (UYVY 4:2:2)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

7: 'VYUY' (VYUY 4:2:2)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

8: 'RGB3' (24-bit RGB 8-8-8)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

9: 'BGR3' (24-bit BGR 8-8-8)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

10: 'RGBP' (16-bit RGB 5-6-5)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

11: 'BGRH' (18-bit BGRX 6-6-6-14)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

12: 'RGGB' (8-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

13: 'GRBG' (8-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

14: 'GBRG' (8-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

15: 'BA81' (8-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

16: 'RG10' (10-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

17: 'BA10' (10-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

18: 'GB10' (10-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

19: 'BG10' (10-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

20: 'RG12' (12-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

21: 'BA12' (12-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

22: 'GB12' (12-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

23: 'BG12' (12-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

24: 'BYR2' (16-bit Bayer BGBG/GRGR)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

25: 'GB16' (16-bit Bayer GBGB/RGRG)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

26: 'GR16' (16-bit Bayer GRGR/BGBG)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

27: 'RG16' (16-bit Bayer RGRG/GBGB)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

28: 'Y16 ' (16-bit Greyscale)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

29: 'GREY' (8-bit Greyscale)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

30: 'EBD8' (Embedded data 8-bit)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

31: 'SPD6' (Shield pix data 16-bit)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

32: 'Y12 ' (12-bit Greyscale)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

33: 'Y10 ' (10-bit Greyscale)

Size: Stepwise 64x64 - 2304x1296 with step 8/8

二:DTS配置

配置DTS:

&csi2_dphy_hw {

status = "okay";

};

&csi2_dphy0 {

status = "okay";

ports {

#address-cells = <1>;

#size-cells = <0>;

port@0 {

reg = <0>;

#address-cells = <1>;

#size-cells = <0>;

csi_dphy_input0: endpoint@0 {

reg = <0>;

remote-endpoint = <&sc3336_out>;

data-lanes = <1 2>;

};

csi_dphy_input1: endpoint@1 {

reg = <1>;

remote-endpoint = <&sc4336_out>;

data-lanes = <1 2>;

};

csi_dphy_input2: endpoint@2 {

reg = <2>;

remote-endpoint = <&sc530ai_out>;

data-lanes = <1 2>;

};

};

port@1 {

reg = <1>;

#address-cells = <1>;

#size-cells = <0>;

csi_dphy_output: endpoint@0 {

reg = <0>;

remote-endpoint = <&mipi_csi2_input>;

};

};

};

};

&i2c4 {

status = "okay";

clock-frequency = <400000>;

pinctrl-names = "default";

pinctrl-0 = <&i2c4m2_xfer>;

sc3336: sc3336@30 {

compatible = "smartsens,sc3336";

status = "okay";

reg = <0x30>;

clocks = <&cru MCLK_REF_MIPI0>;

clock-names = "xvclk";

pwdn-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;

pinctrl-names = "default";

pinctrl-0 = <&mipi_refclk_out0>;

rockchip,camera-module-index = <0>;

rockchip,camera-module-facing = "back";

rockchip,camera-module-name = "CMK-OT2119-PC1";

rockchip,camera-module-lens-name = "30IRC-F16";

port {

sc3336_out: endpoint {

remote-endpoint = <&csi_dphy_input0>;

data-lanes = <1 2>;

};

};

};

sc4336: sc4336@30 {

compatible = "smartsens,sc4336";

status = "okay";

reg = <0x30>;

clocks = <&cru MCLK_REF_MIPI0>;

clock-names = "xvclk";

pwdn-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;

pinctrl-names = "default";

pinctrl-0 = <&mipi_refclk_out0>;

rockchip,camera-module-index = <0>;

rockchip,camera-module-facing = "back";

rockchip,camera-module-name = "OT01";

rockchip,camera-module-lens-name = "40IRC_F16";

port {

sc4336_out: endpoint {

remote-endpoint = <&csi_dphy_input1>;

data-lanes = <1 2>;

};

};

};

sc530ai: sc530ai@30 {

compatible = "smartsens,sc530ai";

status = "okay";

reg = <0x30>;

clocks = <&cru MCLK_REF_MIPI0>;

clock-names = "xvclk";

pwdn-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;

pinctrl-names = "default";

pinctrl-0 = <&mipi_refclk_out0>;

rockchip,camera-module-index = <0>;

rockchip,camera-module-facing = "back";

rockchip,camera-module-name = "CMK-OT2115-PC1";

rockchip,camera-module-lens-name = "30IRC-F16";

port {

sc530ai_out: endpoint {

remote-endpoint = <&csi_dphy_input2>;

data-lanes = <1 2>;

};

};

};

};

&i2s0_8ch {

#sound-dai-cells = <0>;

status = "okay";

};

&mipi0_csi2 {

status = "okay";

ports {

#address-cells = <1>;

#size-cells = <0>;

port@0 {

reg = <0>;

#address-cells = <1>;

#size-cells = <0>;

mipi_csi2_input: endpoint@1 {

reg = <1>;

remote-endpoint = <&csi_dphy_output>;

};

};

port@1 {

reg = <1>;

#address-cells = <1>;

#size-cells = <0>;

mipi_csi2_output: endpoint@0 {

reg = <0>;

remote-endpoint = <&cif_mipi_in>;

};

};

};

};

&pwm0 {

status = "okay";

};

&rkcif {

status = "okay";

};

&rkcif_mipi_lvds {

status = "okay";

pinctrl-names = "default";

pinctrl-0 = <&mipi_pins>;

port {

/* MIPI CSI-2 endpoint */

cif_mipi_in: endpoint {

remote-endpoint = <&mipi_csi2_output>;

};

};

};

&rkcif_mipi_lvds_sditf {

status = "okay";

port {

/* MIPI CSI-2 endpoint */

mipi_lvds_sditf: endpoint {

remote-endpoint = <&isp_in>;

};

};

};

&rkisp {

status = "okay";

};

&rkisp_vir0 {

status = "okay";

port@0 {

isp_in: endpoint {

remote-endpoint = <&mipi_lvds_sditf>;

};

};

};

&saradc {

status = "okay";

vref-supply = <&vcc_1v8>;

};

三:驱动配置

配置分辨率,数据类型。

static const struct sc3336_mode supported_modes\[\] = {

{

.width = 2304,

.height = 1296,

.max_fps = {

.numerator = 10000,

.denominator = 250000,

},

.exp_def = 0x0080,

.hts_def = 0x05dc,

.vts_def = 0x0654,

.bus_fmt = MEDIA_BUS_FMT_SBGGR8_1X8,

.reg_list = sc3336_linear_10_2304x1296_25fps_regs,

.hdr_mode = NO_HDR,

.xvclk_freq = 27000000,

.link_freq_idx = 0,

.vcPAD0 = V4L2_MBUS_CSI2_CHANNEL_0,

},

{

.width = 2304,

.height = 1296,

.max_fps = {

.numerator = 10000,

.denominator = 300000,

},

.exp_def = 0x0080,

.hts_def = 0x0578 * 2,

.vts_def = 0x0550,

.bus_fmt = MEDIA_BUS_FMT_SBGGR8_1X8,

.reg_list = sc3336_linear_10_2304x1296_30fps_regs,

.hdr_mode = NO_HDR,

.xvclk_freq = 24000000,

.link_freq_idx = 1,

.vcPAD0 = V4L2_MBUS_CSI2_CHANNEL_0,

}

};

四:注册查询

Media controller API version 5.10.110

Media device information


driver rkcif

model rkcif-mipi-lvds

serial

bus info

hw revision 0x0

driver version 5.10.110

Device topology

  • entity 1: stream_cif_mipi_id0 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video0

pad0: Sink

<- "rockchip-mipi-csi2":1 ENABLED

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 5: stream_cif_mipi_id1 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video1

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 ENABLED

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 9: stream_cif_mipi_id2 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video2

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 ENABLED

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 13: stream_cif_mipi_id3 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video3

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 ENABLED

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 17: rkcif_scale_ch0 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video4

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 ENABLED

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 21: rkcif_scale_ch1 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video5

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 ENABLED

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 25: rkcif_scale_ch2 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video6

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 ENABLED

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 29: rkcif_scale_ch3 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video7

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 ENABLED

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 33: rkcif_tools_id0 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video8

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 ENABLED

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 \[\]

  • entity 37: rkcif_tools_id1 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video9

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 ENABLED

<- "rockchip-mipi-csi2":11 \[\]

  • entity 41: rkcif_tools_id2 (1 pad, 11 links)

type Node subtype V4L flags 0

device node name /dev/video10

pad0: Sink

<- "rockchip-mipi-csi2":1 \[\]

<- "rockchip-mipi-csi2":2 \[\]

<- "rockchip-mipi-csi2":3 \[\]

<- "rockchip-mipi-csi2":4 \[\]

<- "rockchip-mipi-csi2":5 \[\]

<- "rockchip-mipi-csi2":6 \[\]

<- "rockchip-mipi-csi2":7 \[\]

<- "rockchip-mipi-csi2":8 \[\]

<- "rockchip-mipi-csi2":9 \[\]

<- "rockchip-mipi-csi2":10 \[\]

<- "rockchip-mipi-csi2":11 ENABLED

  • entity 45: rockchip-mipi-csi2 (12 pads, 122 links)

type V4L2 subdev subtype Unknown flags 0

device node name /dev/v4l-subdev0

pad0: Sink

[fmt:SBGGR8_1X8/2304x1296 field:none

crop.bounds:(0,0)/2304x1296

crop:(0,0)/2304x1296]

<- "rockchip-csi2-dphy0":1 ENABLED

pad1: Source

-> "stream_cif_mipi_id0":0 ENABLED

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad2: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 ENABLED

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad3: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 ENABLED

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad4: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 ENABLED

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad5: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 ENABLED

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad6: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 ENABLED

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad7: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 ENABLED

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad8: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 ENABLED

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad9: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 ENABLED

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 \[\]

pad10: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 ENABLED

-> "rkcif_tools_id2":0 \[\]

pad11: Source

-> "stream_cif_mipi_id0":0 \[\]

-> "stream_cif_mipi_id1":0 \[\]

-> "stream_cif_mipi_id2":0 \[\]

-> "stream_cif_mipi_id3":0 \[\]

-> "rkcif_scale_ch0":0 \[\]

-> "rkcif_scale_ch1":0 \[\]

-> "rkcif_scale_ch2":0 \[\]

-> "rkcif_scale_ch3":0 \[\]

-> "rkcif_tools_id0":0 \[\]

-> "rkcif_tools_id1":0 \[\]

-> "rkcif_tools_id2":0 ENABLED

  • entity 58: rockchip-csi2-dphy0 (2 pads, 2 links)

type V4L2 subdev subtype Unknown flags 0

device node name /dev/v4l-subdev1

pad0: Sink

fmt:SBGGR8_1X8/2304x1296@10000/250000 field:none

<- "m00_b_sc3336 4-0030":0 ENABLED

pad1: Source

-> "rockchip-mipi-csi2":0 ENABLED

  • entity 63: m00_b_sc3336 4-0030 (1 pad, 1 link)

type V4L2 subdev subtype Sensor flags 0

device node name /dev/v4l-subdev2

pad0: Source

fmt:SBGGR8_1X8/2304x1296@10000/250000 field:none

-> "rockchip-csi2-dphy0":0 ENABLED

五:FPGA端MIPI CSI-2发送调试

确认FPGA端发送正常

六:图像VLC推流查看

FPGA发送动态图像模板显示效果

七:欢迎讨论交流

微:moning_hello

相关推荐
洞察物理世界2 天前
【SI_Mipi D PHY 01】快速浅入了解Mipi D PHY协议
mipi·d phy
GateWorld2 天前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之点屏五 miniLVDS
fpga开发·lcd显示·fpga点亮屏幕·minilvds
nuoxin1142 天前
WILX1200HC-5TG144I替代 LCMXO2-1200HC-5TG144I(富利威)
人工智能·嵌入式硬件·fpga开发·电脑·硬件工程·dsp开发
Bahair_2 天前
【FPGA】使用fdatool设计滤波器系数,使用FIR Compiler导入系数联合滤波
fpga开发
qq_411262422 天前
硬件是ESP32-P4连接LAN8720A,正常初始化之后,设备DHCP失败
stm32·单片机·fpga开发
第二层皮-合肥3 天前
【数据采集专栏】时钟同步(有时钟卡方案)
fpga开发
XINVRY-FPGA3 天前
XCKU035-2FBVA676I AMD Xilinx Kintex UltraScale FPGA
arm开发·嵌入式硬件·网络安全·fpga开发·硬件工程·信号处理·fpga
米琪脆脆屋3 天前
0-1学习FPGA之底层资源——LUT
fpga开发·fpga
TTGGGFF3 天前
ModelSim SE 10.1c 超详细安装与激活保姆级教程(图文详解 2026 仅供学习)
学习·fpga开发
Aaron15883 天前
无人机反制中AOA+TDOA联合定位技术与雷达探测定位技术的应用对比分析
arm开发·嵌入式硬件·fpga开发·硬件工程·无人机·信息与通信·信号处理