我是靠谱客的博主 刻苦砖头,最近开发中收集的这篇文章主要介绍Jetson Nano CSI相机驱动调试注意,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文介绍Jetson Nano通过CSI接口连接外部Sensor驱动调试注意事项。

1.I2C配置

Jetson Nano默认I2C采用的是CAM_I2C,但有时候硬件设计时采用的是其他I2C,如:

i2c0 = "/i2c@7000c000";
i2c1 = "/i2c@7000c400";
i2c2 = "/i2c@7000c500";
i2c3 = "/i2c@7000c700";
i2c4 = "/i2c@7000d000";
i2c5 = "/i2c@7000d100";
i2c6 = "/host1x/i2c@546c0000";

这里要注意在配置设备树时I2C的路径是不一样的,CAM_I2C采用的是编号为6的I2C,那么它的路径就是:/host1x/,而其他路径都是在根目录下,编写设备树时尤其注意。

如采用CAM_I2C设备树配置:

/ {
    host1x {
		i2c@546c0000 {
			rbpcv2_ov9734_a@10 {
				reset-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
			};
		};
	};

    gpio@6000d000 {
		camera-control-output-low {
			gpio-hog;
			output-low;
			gpios = < CAM1_PWDN 0 >;
			label = "cam1-pwdn";
		};
	};
};

而采用I2C1时设备树配置:

/ {
	i2c@7000c400 {
		rbpcv2_os08a10_a@36 {
			clocks = <&tegra_car TEGRA210_CLK_CLK_OUT_3>;
			clock-names = "clk_out_3";
			clock-frequency = <24000000>;
			mclk = "clk_out_3";

			reset-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
		};
	};

	gpio@6000d000 {
		camera-control-output-low {
			gpio-hog;
			output-high;
			gpios = < CAM1_PWDN 0 >;
			label = "cam1-pwdn";
		};
	};
};

可以明显看出路径的不同。

同时注意:proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/rbpcv2_ov9734_a@10";这个地方也需作相应的修改。

2.MCLK配置

如果Sensor没有外接晶振,想使用Jetson Nano的MCLK输出作为时钟源,可在相应的块中,加入如下配置:

i2c@7000c400 {
	rbpcv2_ov9734_a@36 {
		clocks = <&tegra_car TEGRA210_CLK_CLK_OUT_3>;
		clock-names = "clk_out_3";
		clock-frequency = <24000000>;
		mclk = "clk_out_3";

		reset-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
	};
};

这里可以看出,MCLK采用的是clk_out_3进行输出的,这里设置的是24MHz输出,添加完此配置,MCLK0,MCLK1都是有输出的(相机启动时才有)。

3.port-index

port-index:0-5

分别对应CSI_A,B,C,D,E,F

如采用CSI_C,则port-index=2,DTS中相关配置:

tegra_sinterface = "serial_c";

port-index = <2>;

最后

以上就是刻苦砖头为你收集整理的Jetson Nano CSI相机驱动调试注意的全部内容,希望文章能够帮你解决Jetson Nano CSI相机驱动调试注意所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(101)

评论列表共有 0 条评论

立即
投稿
返回
顶部