Skip to main content

接口使用

介绍

reComputer J401 carrier board 支持 NVIDIA Jetson Orin Nano/NX(Orin Nano 4GB/Orin Nano 8GBOrin NX 8GB/Orin NX 16GB,具备卓越的性能,专为轻松应对严苛的边缘计算任务而设计。它是开发工业自动化系统、构建强大 AI 应用等场景的理想选择。

它具备网络功能,配备 1 个用于高速联网的 千兆以太网接口。同时还带有 4 个 USB 3.2 Type-A(10Gbps)接口、1 个 USB 2.0 Type-C 接口 和 1 个 CAN 接口,提供多样化的连接选项。该扩展板上焊接有 1 个用于 SSD 的 M.2 Key M 2280 插槽(内含 128GB NVMe 2280 SSD),以及 1 个用于 LTE 无线连接扩展的 M.2 Key E 插槽。

此外,板上还支持多种外设。它可以通过 2 个 15-pin MIPI-CSI 和 1 个 HDMI 2.1 接口连接摄像头和显示器,从而实现高质量视频内容的采集与显示。板上还包括一个 5V PWM 风扇排针、一个 RTC 插座 和一个 2 针 RTC 排针

该板支持 9-19V DC 的宽输入范围,便于集成到各种计算任务中。其工作温度范围为 -10°C 至 60°C。

更多配件推荐,请参考 reComputer J401 套装页面

260 针 SODIMM

260 针 SODIMM 的主要功能是将载板与 NVIDIA Jetson Orin Nano 4GB/NVIDIA Jetson Orin Nano 8GBNVIDIA Jetson Orin NX 8GB/NVIDIA Jetson Orin NX 16GB 连接起来。

连接概览

note

如果连接正确,当你接入电源适配器时,你会看到电源指示灯点亮。

M.2 Key M

M.2 Key M 是一种针对 M.2 连接器的物理和电气布局规范,它通过 PCIe(Peripheral Component Interconnect Express,外设部件高速互连)接口支持高速数据传输。M.2 Key M 连接器通常用于将固态硬盘(SSD)和其他高性能扩展卡连接到主板或其他主机设备。“Key M” 的命名表示 M.2 连接器的特定引脚配置和钥位方式,它决定了可以连接到该接口的设备类型。

支持的 SSD 如下

连接概览

如果你想拆下随板附带的 SSD 并安装新的 SSD,可以按照下列步骤操作。

使用方法

下面将说明如何对已连接的 SSD 进行简单的基准测试。

  • 步骤 1: 通过执行以下命令检查写入速度。
sudo dd if=/dev/zero of=/home/nvidia/test bs=1M count=512 conv=fdatasync
  • 步骤 2: 通过执行以下命令检查读取速度。请确保在执行完上面的写入速度测试命令后再执行此步骤。
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sudo dd if=/home/nvidia/test of=/dev/null bs=1M count=512

M.2 Key E

M.2 Key E 是一种针对 M.2 连接器的物理和电气布局规范,它支持无线通信模块,例如 Wi-Fi 和蓝牙网卡。“Key E” 的命名表示 M.2 连接器的特定引脚配置和钥位方式,针对无线网络设备进行了优化。M.2 Key E 连接器通常出现在需要无线连接功能的主板和其他设备上。这里我们推荐使用 Intel wifi/bluetooth 模块。

连接概览

使用方法

安装好 wifi/bluetooth 模块后,你可以在右上角看到 Wi-Fi/蓝牙图标。

Wi-Fi 测试

ifconfig

蓝牙测试

bluetoothctl
power on #open bluetooth
agent on #registe agent
scan on #search other bluetooths
connect xx:xx:xx:xx #connect target bluetooth
paired-devices #show all paired devices

CSI 摄像头

CSI 是 Camera Serial Interface(摄像头串行接口)的缩写。它是一种规范,用于描述将视频数据从图像传感器传输到主处理器的串行通信接口。CSI 常用于移动设备、相机和嵌入式系统中,以实现图像和视频数据的高速、高效传输,便于后续处理和分析。

支持的摄像头如下

连接概览

这里的 2 个 CSI 摄像头接口被标记为 CAM0 和 CAM1。你可以将一个摄像头连接到这两个接口中的任意一个,也可以同时将两个摄像头分别连接到两个接口上。

使用方法

打开终端(Ctrl+Alt+T),并输入如下命令:

sudo /opt/nvidia/jetson-io/jetson-io.py

对于 CAM0 接口

nvgstcapture-1.0 sensor-id=0 

对于 CAM1 接口

nvgstcapture-1.0 sensor-id=1  
note

如果你想进一步更改相机的设置,可以输入 "nvgstcapture-1.0 --help" 来访问所有可配置选项。

RTC

RTC 代表实时时钟(Real-Time Clock)。它是一种时钟,可以独立于主系统时钟跟踪当前时间和日期。RTC 通常用于计算机、嵌入式系统和其他电子设备中,即使设备断电也能保持精确计时。它们通常由一个小电池供电,以确保持续运行,并在断电期间保留时间和日期信息。

连接概览

将一块 3V CR1220 纽扣电池 连接到板上的 RTC 插座,如下图所示。确保电池的 正极 (+) 朝上。

使用方法

  • 步骤 1: 按上述说明连接 RTC 电池。

  • 步骤 2: 打开 reComputer Industrial。

  • 步骤 3: 在 Ubuntu 桌面上,点击右上角的下拉菜单,导航到 Settings > Date & Time,通过以太网线连接到网络,并选择 Automatic Date & Time 以自动获取日期/时间。

note

如果你没有通过以太网连接到互联网,可以在这里手动设置日期/时间。

  • 步骤 4: 打开一个终端窗口,执行以下命令以检查硬件时钟时间。
sudo hwclock

你会看到类似如下的输出,这并不是正确的日期/时间。

  • 步骤 5: 输入以下命令,将硬件时钟时间更改为当前系统时钟时间。
sudo hwclock --systohc
  • 步骤 6: 拔掉所有连接的以太网线,以确保不会从互联网获取时间,然后重启主板。
sudo reboot
  • 步骤 7: 再次检查硬件时钟时间,以验证即使设备断电,日期/时间也保持不变。

  • 步骤 8: 使用任意你喜欢的文本编辑器创建一个新的 shell 脚本。这里我们使用 vi 文本编辑器。

sudo vi /usr/bin/hwtosys.sh 
  • 步骤 9: 按下 i 进入 插入模式,将以下内容复制并粘贴到文件中。
#!/bin/bash

sudo hwclock --hctosys
  • 步骤 10: 使脚本变为可执行。
sudo chmod +x /usr/bin/hwtosys.sh 
  • 步骤 11: 创建一个 systemd 文件。
sudo nano /lib/systemd/system/hwtosys.service 
  • 步骤 12: 在文件中添加以下内容。
[Unit]
Description=Change system clock from hardware clock

[Service]
ExecStart=/usr/bin/hwtosys.sh

[Install]
WantedBy=multi-user.target
  • 步骤 13: 重新加载 systemctl 守护进程。
sudo systemctl daemon-reload 
  • 步骤 14: 使新创建的服务在开机时自动启动,并启动该服务。
sudo systemctl enable hwtosys.service
sudo systemctl start hwtosys.service
  • 步骤 15: 验证脚本是否已作为 systemd 服务正常运行。
sudo systemctl status hwtosys.service
  • 步骤 16: 重启主板,你会发现系统时钟现在与硬件时钟保持同步。

风扇控制

nvfancontrol 是一个用户空间的风扇转速控制守护进程。它根据 nvfancontrol 配置文件中的温度到风扇转速映射表来管理风扇转速。

nvfancontrol 服务中包含一些基本元素,包括 Tmargin、启动 PWM、风扇配置文件、风扇控制和风扇调速器。所有这些都可以通过配置文件根据用户的偏好进行编程。本章将在接下来的章节中逐一进行说明。

note

如果你想更改 nvfancontrol.conf,请确保你已经阅读此文档

使用方法

  • 步骤 1: 停止 nvfancontrol systemd 服务。
sudo systemctl stop nvfancontrol
  • 步骤 2: 修改 nvfancontrol.conf。
vi /etc/nvfancontrol.conf 
note

在你修改完 nvfancontrol.conf 之后,输入 Ese:q 退出

  • 步骤 3: 删除状态文件。
sudo rm /var/lib/nvfancontrol/status
  • 步骤 4: 重启 nvfancontrol systemd 服务。
sudo systemctl restart nvfancontrol

GPIO

40 针排针的详细信息如下所示:

排针引脚模块引脚名称模块引脚SoC 引脚名称默认用途可选功能
1---主 3.3V 电源-
2---主 5.0V 电源-
3I2C1_SDA191DP_AUX_CH3_NI2C #1 数据-
4---主 5.0V 电源-
5I2C1_SCL189DP_AUX_CH3_PI2C #1 时钟-
6----
7GPIO09211AUD_MCLKGPIO音频主时钟
8UART1_TXD203UART1_TXUART #1 发送GPIO
9----
10UART1_RXD205UART1_RXUART #1 接收GPIO
11UART1_RTS*207UART1_RTSGPIOUART #2 请求发送
12I2S0_SCLK199DAP5_SCLKGPIO音频 I2S #0 时钟
13SPI1_SCK106SPI3_SCKGPIOSPI #1 移位时钟
14----
15GPIO12218TOUCH_CLKGPIO-
16SPI1_CSI1*112SPI3_CS1GPIOSPI #1 片选 #1
17---GPIO-
18SPI1_CSI0*110SPI3_CS0GPIOSPI #0 片选 #0
19SPI0_MOSI89SPI1_MOSIGPIOSPI #0 主出/从入
20----
21SPI0_MISO93SPI1_MISOGPIOSPI #0 主入/从出
22SPI1_MISO108SPI3_MISOGPIOSPI #1 主入/从出
23SPI0_SCK91SPI1_SCKGPIOSPI #0 移位时钟
24SPI0_CS0*95SPI1_CS0GPIOSPI #0 片选 #0
25---接地-
26SPI0_CS1*97SPI1_CS1GPIOSPI #0 片选 #1
27I2C0_SDA187GEN2_I2C_SDAI2C #0 数据GPIO
28I2C0_SCL185GEN2_I2C_SCLI2C #0 时钟GPIO
29GPIO01118SOC_GPIO41GPIO通用时钟 #0
30---接地-
31GPIO11216SOC_GPIO42GPIO通用时钟 #1
32GPIO07206SOC_GPIO44GPIOPWM
33GPIO13228SOC_GPIO54GPIOPWM
34---接地-
35I2S0_FS197DAP5_FSGPIO音频 I2S #0 帧选择
36UART1_CTS*209UART1_CTSGPIOUART #1 清除发送
37SPI1_MOSI104SPI3_MOSIGPIOSPI #1 主出/从入
38I2S0_DIN195DAP5_DINGPIO音频 I2S #0 数据输入
39---接地-
40I2S0_DOUT193DAP5_DOUTGPIO音频 I2S #0 数据输出

UART

UART 是通用异步收发器(Universal Asynchronous Receiver/Transmitter)的缩写。它是一种用于两个设备之间串行通信的通信协议。UART 通信涉及两个引脚:一个用于发送数据(TX),一个用于接收数据(RX)。它是异步的,这意味着在设备之间没有共享的时钟信号的情况下传输数据。UART 通常用于各种应用,例如微控制器、传感器以及不同电子设备之间的通信。

连接概览

UART 接口使用下面的引脚,或者你也可以在 J401 上使用另一个 UART 接口:

排针引脚模块引脚名称模块引脚SoC 引脚名称默认用途可选功能
6---接地-
8UART1_TXD203UART1_TXUART #1 发送GPIO
10UART1_RXD205UART1_RXUART #1 接收GPIO

将 J401 与 TTL 的 UART 按如下方式连接:

J401 排针引脚 用途USB 转 TTL用途
6接地GND接地
8UART1_TXDU_RXUART_RX
10UART1_RXDU_TXUART_TX

用法

  • 步骤 1: 在你的 Windows 笔记本上安装 PuTTy,并按如下方式设置 PuTTy:
  • 步骤 2: 在 Jetson 上安装 PuTTy,打开终端(ALT+Ctrl+T)并输入以下命令。
sudo apt install putty
  • 步骤 3: 在 Windows 上使用 PuTTy 向 Jetson 发送“hello linux”,并在 Jetson 上使用 PuTTy 向 Windows 发送“hello windows”。
note

确保你的波特率已设置为 115200。

结果如下所示:

I2C

I2C 是集成电路间(Inter-Integrated Circuit)的缩写。它是一种广泛使用的串行通信协议,可实现系统中多个集成电路之间的通信。I2C 使用两条双向线路:一条用于数据(SDA),一条用于时钟(SCL)。连接在 I2C 总线上的设备可以充当主设备或从设备,从而允许多个设备彼此通信。I2C 因其简单、灵活以及能够连接各种设备(如传感器、存储芯片和其他外设)而在嵌入式系统和电子设备中非常流行。

连接概览

I2C 接口使用如下引脚,或者你也可以在 J401 上使用其他 I2C 接口:

排针引脚模块引脚名称模块引脚SoC 引脚名称默认用途可选功能
2---主 5.0V 供电-
3I2C1_SDA191DP_AUX_CH3_NI2C #1 数据-
5I2C1_SCL189DP_AUX_CH3_PI2C #1 时钟-
6---接地-

将 J401 通过 I2C 与 Grove-3-Axis Digital Accelerometer 按如下方式连接:

J401用途Grove-3-Axis Digital Accelerometer用途
25V 供电Vcc-
3I2C1_SDASDAI2C_SDA
5I2C1_SCLSCLI2C_SCL
6接地GND接地

测试

打开终端(ALT+Ctrl+T)并输入以下命令:

i2cdetect -y -r 7
note

在命令 i2cdetect -y -r x 中,你的通道可能与我的不同。

你将看到如下结果,在连接 I2C 之前,在通道 7 上未检测到 I2C 设备,但之后检测到一个地址为 0x19 的 I2C 设备。

info

如果你想将通用 IO 引脚用于逻辑控制,请参考此 wiki

CAN

reComputer J401 系列提供了一个 CAN 接口,其中 CAN 信号以 TTL/CMOS 电平直接从 SOM 输出,这是非标准的差分信号,需要外部 CAN 收发器才能连接到标准 CAN 总线;它支持 CAN FD 帧格式,允许扩展数据长度和更高的数据速率,适用于工业自动化、机器人、汽车原型开发以及其他需要可靠实时通信的应用。

连接概览

用法

步骤 1. 配置并打开 can0:

sudo ip link set can0 down
sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 up

步骤 2. 通信测试。打开一个终端接收信号。

candump can0

步骤 3. 打开另一个终端发送信号。

cansend can0 123#abcdabcd

CAN FD

步骤 1. 配置并打开 can0:

# Install can-utils Tools 
sudo apt update && sudo apt install can-utils -y

# Enable CAN0 interface (FD mode, 5Mbps data segment rate)
sudo ip link set can0 up type can bitrate 500000 dbitrate 2000000 fd on

步骤 2. 打开另一个终端来发送信号。

cansend can0 123#1122334455667788

技术支持与产品讨论

感谢您选择我们的产品!我们将为您提供多种支持,以确保您在使用我们产品时的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...