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

相关推荐
坏孩子的诺亚方舟13 天前
FPGA系统架构设计实践15_高云Arora V系列时钟体系
fpga开发·系统架构
FPGA小徐13 天前
入门 CNN 结构全解析|从流程图理论到 FPGA Verilog 硬件实现(含习题带讲解)
fpga开发
FPGA小徐13 天前
FPGA 数字信号处理:并行 FIR 与串行滤波器设计原理、对比与完整 Verilog 实现
fpga开发
Saniffer_SH14 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
zlinear数据采集卡14 天前
双核架构深度解析:ARM+FPGA如何让数据采集卡实现500Ksps高性能?
arm开发·fpga开发·架构
9527华安14 天前
FPGA实现GTH Transceivers Wizard传输2路视频,基于aurora 8b10b编解码架构,提供4套工程源码和技术支持
fpga开发·gth·aurora 8b10b·transceivers
Gary Studio15 天前
MIPI D-PHY 协议:从传统 LP 状态机到全新 ALP 模式详解
协议·mipi
FPGA小徐15 天前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
洞察物理世界15 天前
【SI_Mipi D PHY 04】Mipi D PHY高速信号时序测试
mipi·d phy·data lane·mipi d phy
国科安芯15 天前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v