HZHY-AI200完整开发手册_第1页
HZHY-AI200完整开发手册_第2页
HZHY-AI200完整开发手册_第3页
HZHY-AI200完整开发手册_第4页
HZHY-AI200完整开发手册_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第PAGE1共NUMPAGES42PortableDocument第第PAGE3共NUMPAGES42第第PAGE4共NUMPAGES42 声 简 第1 第2 Pimux配 第3 检查GPIO编 第4 第5 Pinmux配 测 测 I2C扩展GPIO配 camera测 USB0VBUSDET引脚设 USB配 继电 移植AC8265wifi/蓝牙模块到JetsonXaver 第6 11第第PAGE6共NUMPAGES42第1章概述本文档主要为L4T开发配置说明,及如何修改官方SDK到HZHY-AI200板。HZHY-AI200EVM4SD卡,具有RS232/RS485转换电路等。22Pimux第第PAGE7共NUMPAGES42第2章Pimux$JETPACK_ROOT/JetPack_4.4_DP_Linux_DP_JETSION_XAVIER_NX/Linux_for_Tegra/jetson-xavier-as-xavier-nx.confXavierNXpinmuxtegra19x-mb1-pinmux-p362.1-GenerateDTFiletegra19x-jetson_xavier_nx_module-$pythonpinmux-dts2cfg.py--pinmuxaddr_info.txtgpio_addr_info.txtpor_val.txt--mandatory_pinmux_filemandatory_pinmux.txttegra19x-jetson_xavier_nx_module-pinmux.dtsitegra19x-jetson_xavier_nx_module-gpio-default.dtsi1.0>pinmux.cfg$pythonpinmux-dts2cfg.py--padpad_info.txttegra19x-jetson_xavier_nx_module-padvoltage-default.dtsi1.0>pad.cfgpinmux.cfg拷贝到_for_Tegra/bootloader/t186ref/BCT/PINMUX_CONFIGtegra19x-mb1-pinmupad.cfg拷贝到_Tegra/bootloader/t186ref/BCT/PMC_CONFIGtegra19x-mb1-padvoltage-p$sudocat$sudocat/sys/kernel/debug/tegra_pinctrl_reg|grepBank:0Reg:0x02434000Val:0x00000454->dap2_din_pi1Bank:0Reg:0x02434008Val:0x00000400->dap2_dout_pi0Bank:0Reg:0x02434010Val:0x00001440->dap2_fs_pi2Bank:0Reg:0x02434018Val:0x00001440->dap2_sclk_ph7XavierTechnicalReferenceManual文档中搜索"BallName"pinmux寄存器定义,寄存器名PADCTRL_XXXX_"BallName"_[0-9]。bit10SFIO(1)bit1:0SFIO时的功能033GPIO第第PAGE10共NUMPAGES42第3GPIO我们需要了解GPIOGPIOJetson_AGX_Xavier_Generic_Customer_Pinmux_Release.xlsxGPIO3_PS.04为例介GPIO编号计算方法。GPIO,所以查找内核启动信息获取mainaonroot@jetson:/home/ubuntu#dmesg|grep[0.768151]gpiochip_setup_dev:registeredGPIOs288to511ondevice:gpiochip0(tegra-gpio)[0.776930gpiochip_setup_dev:registeredGPIOs248to287ondevice:gpiochip1tegra-gpio-aon)JetsonGPIO端口偏移如下:•tegra-gpio,offset=GPIO3_PS.04tegra-gpio(main)组即偏移量为288。tegra194-gpio.hGPIOGPIO3_PS.04的编号为(18*84)+288436。group+(port*8+pin)/*/*GPIOsimplementedbymaincontroller#define0#define1#define2#define3#define4#define5#define6#define789#defineTEGRA194_MAIN_GPIO_PORT_FF#defineTEGRA194_MAIN_GPIO_PORT_GG#defineTEGRA194_MAIN_GPIO(port,offset)\((TEGRA194_MAIN_GPIO_PORT_##port*8)+offset)/*GPIOsimplementedbyAONGPIOcontroller0123444第第PAGE12共NUMPAGES42第4章内核配置说明PCubuntuaarch64-linux-gnu-gcc-v查看交叉4.1-es/kernel/kernel-4.9目录,执行以下命令编译内核。sudomakeARCH=arm64CROSS_COMPILE=aarch64-linux-gnu- LOCALVERSION=-tegrategr sudomakeARCH=arm64CROSS_COMPILE=aarch64-linux-gnu-LOCALVERSION=-tegramodules_installINSTALL_MOD_PATH=../../../rootfs/cparch/arm64/boot/Image../../../kernel/Imagecparch/arm64/boot/dts/*.dtb../../../kernel/dtb/cd/workspace/Nvidia/nvidia_sdk/JetPack_4.4_DP_Linux_DP_JETSION_XAVIER_NX/Linux_for_Tesudotar--ownerroot--grouproot-cjfkernel_supplements.tbz2kernel_supplements.tbz2kernel/kernel_supplements.tbz2文件。sudo写系统解决。为了避免这种情况,我们可以备份内核镜像(确定备份的镜像时好使的。参考/boot/extlinux/extlinux.confLABELkenel启动崩溃时,可以从备份的kernel启动。extlinux.conf如下所示:4.2-4.2-XavierNXp3449-0000+p3668-0001-qspi-emmc.conf可知,XavierNX使用的设备树文x_DP_JETSION_XAVIER_NX/Linux_for_Tegra/sources/hardware路径下。55HZHY-AI200_B第第PAGE35共NUMPAGES42第5章HZHY-AI200_B在内核menuconfig添加SDMMC3的配置:tegra194-p3668-common.dtsi、tegra194-soc-tegra194-PinDTSDTSSDDTSDTS17)44-pinhe17)M.2KeyJ6USB-TypeGPinDTSDTSCANI2CPinDTSi2c-i2c-CameraCamerai2c-i2c-i2c-i2c-i2c-i2c-)IO44-pini2c-I2SI2SPinDTSDTSM.2KeyE44-pinStartPinDTS44-pin44-pinPCIEStartDTSM.2KeyM.2KeyM.2Key44pinHDR中一些引脚配置为GPIO44pinHeader中JetsonAGXXavierNXExpansionHeaderforHZHYGPIOGPIO123456789Pinmux5.3-这里使用的为CNA1CONFIG_MTTCAN=sources/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-p3668-common.dtsimttcan@c310000{status=安装CANsudomodprobecan //插入can总线子系统(.InsertCANBUSsubsystemsupportmodule)sudomodprobecan_raw//插入can协议模块(InsertRawCANprotocolmodule(CAN-IDfiltering))sudomodprobemttcan //真正的can口支(RealCANinterfacesupport(forourcase,itis:mttcan))配置CANCAN比特率(Bitrate)500Kbpssudoiplinksetcan0typecanbitrate500000sudoiplinksetup使用ifconfig5.3-#sudoapt-getinstallcan-PC端CAN测试软甲,如CANalyst.exe5.3-发送数据的格式(均为十六进制3字节是标准帧8字节是扩展帧跟标准数据帧R跟远程帧跟CANFD帧):如下示例,123ID8字节十六进制数,可以用.#cansendcan05.3-收的数据格式如下:can_xcan_iddata_dlc#candump5.3-

5.3-echo0>/sys/devices/pwm-echo200>/sys/devices/pwm-5.5-设备树中的配置顺序。因为在设备树中配置顺序为sdmmc4->sdmmc3->sdmmc1,如下图所示,这样使得sdmmc3sdmmc3识别为了启动卡。5.5-Linux_for_Tegra/sources/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/*Addedbyhoward2020-05-20*/sdhci_sd3:sdhci@3440000{mmc-ocr-mask=cd-gpios=<&tegra_main_gpioTEGRA194_MAIN_GPIO(Q,2)0>;status="okay";进入Linux_for_Tegra/sources/hardware/nvidia/soc/t19x/kernel-dts/tegra194-soctegra194-sdhci0&sdmmc1;sdhci2&sdmmc3;:5.6-I2CGPIOU9、U10(tca9554)I2CGPIO扩展芯片连接到了I2C9I2C@31e0000的节点中tca9554的参数配置。hdr40_i2c1:i2c@31e0000{pinctrl-names="default";pinctrl-0=clock-frequency=<100000>;tca9554_i2c1:gpio@38{//compatible="ti,tca9554";compatible="ti,tca6408";reg=<0x38>;#gpio-cells=<2>;vcc-supply=<&p3509_vdd_3v3_cvb>;status="okay";tca9554_i2c1_outlow{status="okay";GPIO-0:GPIO-1:GPIO-2:GPIO-3:GPIO-4:GPIO-5:GPIO-6:GPIO-7:gpios=<001020>;label="tca9554_i2c1_outlow_0",tca9554_i2c1_outhigh{gpios=<304050607label="tca9554_i2c1_outhigh_3",status=tca9554_i2c1_input{status=tca9554_cam:cam_gpio@39//compatible="ti,tca9554";compatible="ti,tca6408";reg=<0x39>;vcc-supply=<&p3509_vdd_3v3_cvb>;#gpio-cells=<2>;status="okay";tca9554_cam_outlow{GPIO-0:GPIO-1:GPIO-2:GPIO-3:GPIO-4:GPIO-5:GPIO-6:GPIO-7:gpios=<001020304050607label="tca9554_cam_outlow_0",tca9554_cam_outhigh{status=tca9554_cam_input{status="disabled";驱动位置:sources/kernel/kernel-4.9/drivers/gpio/gpio-pca953x.cU16lm92I2C2i2c@c240000lm92传感器的参hdr40_i2c0:i2c@c240000temp-sensor@48#thermal-sensor-cells=<1>;compatible="lm92";reg=<0x48>;status="okay"; 在内核menuconfigCONFIG_SENSORS_LM92=yDeviceDrivers->HardwareMonitoringsupport-[*]NationalSemiconductorLM92andDevelopment\h\hNVIDIA相机串行接口(NVCSI)VINVCSIVI的像NVCSIVINVCSI没有VI将像素数据发送到内存。GPIO的配置,实现CAMERA复位、GPIOI2CNVCSI组件:配置CSIVI:将NVCSIISP根据原理图可知,CMAERA与CSII2C3I2CMUX同一种摄像机都具有相同的I2C地址因此我们需要一种将一个摄像机与另一个摄像机区分开的方法。最简单的方法是使用多路复用器。根据原理图可知,Camera通过2个I2CMUX进行选择总线上的设备,所以这里需要配置“i2c-mux-gpio”驱动,进行 选择。根据当访问子总线上的设备时,将使用GPIO列表输出在相关节点的reg属性中设置的值,该列表中的第一个包含最低有效值。因为有4个摄像头接口,需要2个I2CMUX,这时就需要4个gpio来控制I2CMUX的在设备树中配置如下(tca9554_cam为i2cIO节点cam_i2cmuxcompatible="i2c-mux-gpio";#address-cells=<1>;#size-cells=mux-gpios=<&tegra_aon_gpioCAM0_CAM2_MUXGPIO_ACTIVE_LOW>,//slect<&tca9554_cam0GPIO_ACTIVE_LOW>,//slect<&tca9554_cam3GPIO_ACTIVE_LOW>,//OEA0:slect<&tca9554_cam1GPIO_ACTIVE_LOW>;//OEB1:deslecti2c-parent=<&cam_i2c>; //whichis0x3180000,i2c2 } } } }}CMAERAI2CMUX选择Camera选择regtca9554_campin1选择CAM0 tca9554_campin3选择CAM1 tca9554_campin0Cam1或选择 Cam(0cam0,1000100101000110Camera0CSIPortcsi_outStreamCamera1CSIPortcsi_outStreamCamera2CSIPortcsi_outStreamCamera3CSIPortcsi_outStreamCam0Cam1Cam2 Cam3modulemodulemodulemoduleCamerai2c/I2C5.7-vi_inXNVCSI输出的位置。vi@15c10000num-channels=<4>;ports{#address-cells=#size-cells=port@0reg=<0>;rbpcv2_imx219_vi_in0:endpoint{port-index=bus-width=remote-endpoint=CSI0CSI物理接口与模块之间的物理1用作将数据发送到的输出。如下所示:csi_base:nvcsinum-channels=#address-cells=#size-cells=<0>;csi_chan0:channel@0{reg=<0>;ports{#address-cells=#size-cells=<0>;csi_chan0_port0:port@0{reg=rbpcv2_imx219_csi_in0:endpoint@0{port-index=<0>;bus-width=remote-endpoint=csi_chan0_port1:port@1{reg=<1>;rbpcv2_imx219_csi_out0:endpoint@1remote-endpoint=}1920x1080@30FPS1280x720@60FPS。以多路复用器(i2c_8:i2c@8)8为例,imx219_a,I2C0x10i2c_8:i2c@8imx219_cam0:rbpcv2_imx219_a@10{compatible="nvidia,imx219";ports#address-cells=#size-cells=port@0reg=<0>;rbpcv2_imx219_out0:endpoint{port-index=bus-width=remote-endpoint=port-index端口索引参数,用于指定两个不同模块之间的连接。对于VI模块,端口索引代表输入5.7-tegra-camera-platformcompatible="nvidia,tegra-camera-platform";num_csi_lanes=<8>;max_lane_speed=min_bits_per_pixel=vi_peak_byte_per_pixel=vi_bw_margin_pct=max_pixel_rate=isp_peak_byte_per_pixel=isp_bw_margin_pct=modulescam_module0:module0badge="jakku_topleft_RBP194";position="topleft";orientation="1";cam_module0_drivernode0:drivernode0{pcl_id="v4l2_sensor";devname="imx2199-0010";proc-device-tree="/proc/device-cam_module0_drivernode1:drivernode1{pcl_id="v4l2_lens";proc-device-tree="/proc/device-注意bottomtop和center在六摄像系统:bottomleftbottomrightcenterleftcenterrighttopleftI2Ccamera首先确定板卡已经通过SDKManageropencv执行以下命令下载Camera\hCSI-CameraREADME.md,根据里面的测试方法进行测试:gst-launch-1.0nvarguscamerasrcsensor_id=0!'video/x-raw(memory:NVMM),width=3820,height=2464,framerate=21/1,format=NV12'!nvvidconvflip-method=0!'video/x-raw,width=960,height=616'!nvvidconv!nvegltransform!nveglglessink-e对于CSI-Camera中其他测试程序测试方法请查看README.md进行测试,这些测试程序需要USB参考(详细的USB设备树介绍\h\hJetsonXavierNXPlatformAdaptationandBring-Up->PortingUSBUniversalSerialBus)共有USB3.1P0、USB3.1P2、USB3.1P3USB0VBUSDETVBUSGPIO3_PZ.01。VBUS配置如下:external-connection{vbus_id_extcon:extcon@1{compatible="extcon-gpio-states";reg=<0x1>;extcon-gpio,name="VBUS";extcon-gpio,cable-states=<0x00x10x10x0>;gpios=<&tegra_main_gpioTEGRA194_MAIN_GPIO(Z,1)extcon-gpio,out-cable-names=<EXTCON_USBEXTCON_USB_HOSTEXTCON_NONE>;#extcon-cells=USB5.8-这里我们使用到了USB2.0的USB0、USB1、USB2USB3.1的USB3-2HZHY-AI200_B载板上USBUSB0:J7(microJ5(USB3.1HDRBTPCIE参考(详细的PCIE设备树介绍:\h\hJetsonXavierNXPlatformAdaptationandBring-Up》PCIeControllerConfigurationJetsonXavierNXPCIe速度:所有控制器均支持Gen4LaneC0,C5:uptoC4:uptoC1,C2,C3:C0,C4andC5JetsonXavierNXPCIE5.9-可知使用的为PCIE1与PCIE4:M.2KeyE:C1控制器工作在x1M.2KeyEWi-PCIE5:C5x4M.2KeyMNVMe卡。5.10-JetsonXavierNXUART内部ledscompatible="gpio-le

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论