Jetson TX2 NX的GPIO引脚使用方式

简介: Jetson TX2 NX的GPIO引脚使用方式

Jetson TX2 NX是一款高性能的嵌入式AI计算平台,其中引脚的设计和使用对于开发人员来说非常重要。在本文中,我们将会介绍Jetson TX2 NX的引脚并说明其功能和使用方式。

官方文档官方文档


引脚概述


Jetson TX2 NX具有许多不同类型的引脚,包括数字输入/输出(GPIO)、串行外设接口(SPI)、I²C、UART等。这些引脚有助于与其他外围设备进行通信,如传感器、摄像头、LCD显示器、WiFi模块等。

image.png


40 针 GPIO 引脚

GPIO引脚可以用作输入或输出端口,它们提供了一个数字电平以使用户在外界设备上进行控制或读取。Jetson TX2 NX共有198个GPIO引脚,分为三个不同的管脚组:J1、J21和J22。每个管脚组都具有数字输入/输出和PWM功能。


以下是 TX2 NX 40 针 GPIO 扩展器的引脚分布:


1fa66ff99767423e97dcf8694e84a505.png




SPI引脚


SPI是一种串行通信协议,可用于连接多个外设。Jetson TX2 NX在J1和J21管脚组上提供了两个SPI总线。每个SPI总线都有以下几个引脚:


   MOSI(Master Out, Slave In):主设备数据输出,从设备数据输入。

   MISO(Master In, Slave Out):主设备数据输入,从设备数据输出。

   SCK(Clock):时钟信号。

   CS(Chip Select):片选信号。


I²C引脚


I²C是一种串行通信协议,可用于连接多个外设。Jetson TX2 NX在J1和J21管脚组上提供了两个I²C总线。每个I²C总线都有以下几个引脚:


   SDA(Serial Data):串行数据信号。

   SCL(Serial Clock):串行时钟信号。


UART引脚


UART是一种异步串行通信协议,允许数据以一定的速率通过引脚进行传输。Jetson TX2 NX在J1和J21管脚组上共有6个UART引脚,每个UART引脚都具有以下几个引脚:


   RXD(Receive Data):接收数据。

   TXD(Transmit Data):发送数据。

   CTS(Clear to Send):清除发送信号。

   RTS(Ready to Send):发送信号就绪。


使用方式


要使用Jetson TX2 NX引脚,必须先在Linux系统中启用相应的设备树节点。设备树节点是一种描述硬件配置的数据结构,它定义了与引脚相关的寄存器地址、中断号等信息。设备树可以在/boot目录下找到,名称为"tegra210-p3448-0000-pinmux.dtsi"。


在设备树中,每个引脚都有一个唯一的名称和编号。要使用引脚,请在应用程序中通过其名称或编号进行引用,可以使用许多不同的编程语言和工具包来控制引脚,例如Python、C ++、C等。


下面是一个使用Python GPIO库控制GPIO引脚的示例代码:

import Jetson.GPIO as GPIO
# 设置GPIO模式
GPIO.setmode(GPIO.BOARD)
# 配置GPIO为输出引脚
GPIO.setup(12, GPIO.OUT)
# 设置GPIO引脚电平为高电平
GPIO.output(12, GPIO.HIGH)
# 设置GPIO引脚电平为低电平
GPIO.output(12, GPIO.LOW)
# 清理GPIO设置
GPIO.cleanup()


这段代码演示了如何将GPIO引脚设置为输出,并将其电平设置为高或低。类似的代码可以用于控制Jetson TX2 NX的40针GPIO扩展器引脚。下面我们对代码进行一些详细的解释:

import Jetson.GPIO as GPIO


首先,我们使用Jetson.GPIO库导入GPIO模块。

GPIO.setmode(GPIO.BOARD)


接下来,我们将GPIO模式设置为BOARD模式,这意味着我们将使用板子上的引脚编号来标识每个引脚。

GPIO.setup(12, GPIO.OUT)


然后,我们将引脚12配置为输出,并使用GPIO.OUT常量指定了输出模式。

GPIO.output(12, GPIO.HIGH)


接下来,我们将引脚12的电平设置为高电平,即3.3V电平。

GPIO.output(12, GPIO.LOW)


然后,我们将引脚12的电平设置为低电平,即0V电平。

GPIO.cleanup()


最后,我们调用GPIO.cleanup()函数清理所有GPIO设置并关闭GPIO模块。


需要注意的是,Jetson GPIO库有两种模式:BOARD和BCM。BOARD模式使用物理针脚编号,而BCM模式使用 Broadcom SOC Channel(SOC通道)编号。在开发过程中,请注意选择合适模式,以匹配您的硬件连接方式。


总结


通过使用Jetson GPIO库,我们可以轻松地控制Jetson TX2 NX的40针GPIO扩展器上的引脚。使用Python语言,我们可以快速编写代码来读取和控制外部设备的状态。Jetson TX2 NX 的 GPIO接口是非常有用的工具,可以帮助我们轻松地将板子与其他设备集成在一起,实现各种应用场景。

相关文章
|
存储 机器学习/深度学习 算法
MMDetection3d对KITT数据集的训练与评估介绍
MMDetection3d对KITT数据集的训练与评估介绍
2620 0
MMDetection3d对KITT数据集的训练与评估介绍
|
机器学习/深度学习 并行计算 计算机视觉
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
10443 1
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
|
11月前
|
监控 Java Linux
Jetson 学习笔记(十二):CSI摄像头实现rtsp流的传输并对动态获取多路流进行探索
本文是关于如何在Jetson设备上使用CSI摄像头实现RTSP流传输的详细教程,包括安装依赖、编译gst-rtsp-server、测试、源代码介绍以及如何动态获取多路流的RTSP服务器。
820 2
Jetson 学习笔记(十二):CSI摄像头实现rtsp流的传输并对动态获取多路流进行探索
|
传感器 机器人 API
NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用
NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用
|
11月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
10968 4
|
传感器 机器人 开发者
NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用
NVIDIA Jetson TX1,TX2,TX2 NX,AGX Xavier 和 Nano开发板GPIO口配置及应用
|
10月前
|
机器学习/深度学习 人工智能 计算机视觉
YOLOv11 正式发布!你需要知道什么? 另附:YOLOv8 与YOLOv11 各模型性能比较
YOLOv11是Ultralytics团队推出的最新版本,相比YOLOv10带来了多项改进。主要特点包括:模型架构优化、GPU训练加速、速度提升、参数减少以及更强的适应性和更多任务支持。YOLOv11支持目标检测、图像分割、姿态估计、旋转边界框和图像分类等多种任务,并提供不同尺寸的模型版本,以满足不同应用场景的需求。
YOLOv11 正式发布!你需要知道什么? 另附:YOLOv8 与YOLOv11 各模型性能比较
|
11月前
|
并行计算 Ubuntu 开发工具
Jetson学习笔记(一):jetson 系列镜像下载、烧写、设置散热风扇、中文包、pip、中转英目录、软件源、显示CSI摄像头
关于NVIDIA Jetson系列设备的入门学习笔记,涵盖了从下载镜像、烧录、设置散热风扇、安装中文语言包、配置环境变量、安装CUDA和OpenCV,到显示CSI摄像头和增加Swap交换空间的详细步骤。
769 0
Jetson学习笔记(一):jetson 系列镜像下载、烧写、设置散热风扇、中文包、pip、中转英目录、软件源、显示CSI摄像头
|
11月前
|
Ubuntu 开发工具 虚拟化
Jetson 学习笔记(十六):使用SDK Manager烧录Jetson Nano
这篇博客介绍了如何使用Nvidia SDK Manager烧录Jetson Nano。首先,需要在Ubuntu系统中安装VMware虚拟机和Nvidia SDK Manager。然后,通过连接Jetson Nano并进行一系列设置,包括FC_REC脚接GND,连接HDMI、鼠标键盘和电源线。在Ubuntu上通过lsusb确认设备连接后,使用SDK Manager进行烧录,选择Manual Setup-Jetson Nano,设置用户名和密码,然后点击flash完成安装。完成后,可以断开连接并启动Jetson Nano,进入Ubuntu安装界面。
1010 2
Jetson 学习笔记(十六):使用SDK Manager烧录Jetson Nano
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)