NVIDIA Jetson Nano开发板40Pin引脚使用指南
NVIDIA Jetson Nano开发板40Pin引脚使用指南
NVIDIA Jetson Nano开发板的40Pin引脚兼容树莓派的定义,这意味着许多树莓派的外设可以直接应用于Jetson Nano,无需任何转换器。本文将详细介绍Jetson Nano的40Pin引脚的使用方法,包括SPIO与GPIO的区别、Jetson-IO工具的使用、Jetson.GPIO库的安装与使用,以及四种GPIO引脚调用模式。
40针引脚的SPIO与GPIO
下图是Jetson Nano的40针引脚图说明,适用于Nano(含2GB)、Xavier NX与AGX Xavier等开发套件。
虽然引脚图看起来很复杂,但只要理解了以下几个要点,就会变得非常简单:
- 供电相关:
- 5V直流电输入/输出:脚位[2, 4],使用“红色”标识,可以对Jetson开发套件供电,但不建议普通用户尝试,以免损坏设备。
- 3.3V直流电输出:脚位[1, 17],可以为低电设备供电,例如Jetbot项目中的PiOLED和PCA9685。
- GND接地点:脚位[6, 9, 14, 20, 25, 30, 34, 39]共8个。
- 二组I2C:
- I2C1_SDA/SCL:脚位[27, 28]
- I2C2_SDA/SCL:脚位[3, 5]
- 一组UART:
- UART2_TX/RX:脚位[8, 10]
这18根引脚的定义与树莓派完全一致。在Jetbot项目中,通常只需要使用1组3.3V/GND电源和1组I2C的SDA/SCL,总共4根引脚就能完成智能车的任务。
Jetson-IO引脚配置工具
Jetson-IO工具是NVIDIA从L4T 32.3版本开始提供的引脚配置工具,位于开发套件的/opt/nvidia/jetson-io
目录下。通过以下命令可以查看当前引脚状态:
sudo /opt/nvidia/jetson-io/config-by-pin.py
输出结果会显示从1到40的引脚状态,除了18个固定功能的引脚外,其他22个引脚都显示为"unused"状态。
如果需要重新定义这些引脚,可以执行以下命令:
sudo /opt/nvidia/jetson-io/jetson-io.py
进入主菜单后,选择"Configure 40-pin expansion header",然后使用上下键和空格键选择要设置的组。例如,选择spi1组后,Jetson-IO工具会同时配置后面的5个引脚。设置完毕后选择"Save and reboot to reconfigure pins",重启系统后新的设置才会生效。
Jetson.GPIO应用开发库
Jetson.GPIO是一个应用级开发库,用于配置和操作未被Jetson-IO设置为SPIO的GPIO引脚。这个库不在Jetpack安装包中,需要手动安装:
sudo pip3 install Jetson.GPIO
安装完成后,可以通过以下代码示例来使用:
import Jetson.GPIO as GPIO
import time
LED_Pin = 11
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LED_Pin, GPIO.OUT)
while (True):
GPIO.output(LED_Pin, GPIO.HIGH)
time.sleep(2)
GPIO.output(LED_Pin, GPIO.LOW)
time.sleep(2)
GPIO.cleanup()
四种GPIO引脚调用模式
在使用Jetson.GPIO库时,需要指定引脚调用模式。以下是四种可用的模式:
GPIO.BOARD:根据物理编号1~40进行指定,是最简单直观的方式。
GPIO.BCM:使用博通公司自定义的BCM编码方式,Jetson Nano开发板的引脚背面印刷的"Dxx"编号就是BCM编码。
GPIO.CVM与GPIO.TEGRA_SOC:这两种模式使用各GPIO管脚命名的字符串作为设置引脚的参数。
结语
掌握Jetson Nano的40Pin引脚使用方法对于扩展其在工业场景的应用非常重要。本文详细介绍了SPIO与GPIO的区别、Jetson-IO工具的使用、Jetson.GPIO库的安装与使用,以及四种GPIO引脚调用模式。通过这些知识,开发者可以更好地利用Jetson Nano的硬件资源,实现更复杂的项目。