Pular para o conteúdo principal

Hardware da placa carrier Robotics J501 e Introdução

A Robotics J501 Mini carrier é uma placa carrier de borda de IA compacta e de alto desempenho projetada para robótica avançada. Compatível com módulos NVIDIA Jetson AGX Orin (32GB/64GB) no modo MAXN, ela oferece até 275 TOPS de desempenho de IA. Equipada com amplas opções de conectividade — incluindo duas portas Gigabit Ethernet, slots M.2 para módulos 5G e Wi-Fi/BT, 2 portas USB 3.2, CAN, GMSL2 (via expansão opcional), I2C e UART — ela serve como um poderoso cérebro robótico capaz de processar dados complexos de vários sensores. Pré-instalada com JetPack 6.2.1 e Linux BSP, garante uma implantação perfeita.​

Com suporte a frameworks como NVIDIA Isaac ROS, Hugging Face, PyTorch e ROS 2/1, a Robotics J501 Mini conecta a tomada de decisão orientada por grandes modelos de linguagem ao controle físico de robôs, como planejamento de movimento e fusão de sensores. Ideal para o desenvolvimento rápido de robôs autônomos, ela acelera o tempo de lançamento no mercado com interfaces prontas para uso e frameworks de IA otimizados.

Visão geral da placa carrier reComputer Jetson Robotics J501-Mini

Vista superior
fig1
Vista lateral
fig2
Vista inferior
fig3

📝 Lista de peças

  • Placa carrier Robotics J501-Mini x 1
  • Fonte de alimentação e placa de expansão JST x 1
  • Cabo XT30 para DC x 1
  • Cabo USB, Tipo A para Tipo C x 1
  • Dissipador de calor para placa de expansão x 1
  • Pino roscado (M3*30) x 5
  • Porca sextavada M3 x 5
  • Parafuso (CM2.5*L.4) para módulo Jetson e M.2 Key M x3
  • Parafuso (CM2*3.0) para M.2 Key E x1
  • Pino roscado (M2*2.0) para M.2 Key B x1
  • Parafuso (CM3*4.0) para M.2 Key B x1
  • Manual do usuário x 1
nota
  1. Projete uma solução robusta de dissipação de calor de acordo com o Guia de Projeto Térmico, quando em alimentação de alta tensão e temperatura de operação.
  2. Fixe o dissipador de calor no módulo para melhor desempenho.
  3. Durante a operação com entrada de alta tensão e alta carga, não toque no dissipador de calor para evitar queimaduras.
  4. Recomendação de adaptador de energia para validação: use o adaptador de energia recomendado no site oficial da Seeed.
  • Adaptador de energia tipo barril 5525 19V/4.74A
  • Certifique-se de que os requisitos máximos de consumo de energia sejam atendidos.
  1. Compatibilidade do cabo de alimentação AC
  • Compre cabos de alimentação AC tipo trevo específicos para a região, de acordo com sua localização.
  1. Compatibilidade de acessórios
  • Use apenas acessórios oficialmente recomendados (por exemplo, módulos sem fio, câmeras, periféricos) para desempenho e compatibilidade ideais.

🔍 Especificação

Especificações da placa carrier

CategoriaItemDetalhes
ArmazenamentoM.2 KEY M PCIe1x M.2 KEY M PCIe (SSD M.2 NVMe 2280)
RedeM.2 KEY E1x M.2 Key E para módulo WiFi/Bluetooth
Ethernet1x RJ45 10GbE && 1x RJ45 1GbE
I/OUSB2x USB 3.2 Tipo-A (10Gbps);
1x USB 2.0 Tipo C (Depuração);
1x USB 3.0 Tipo C (Recuperação/Depuração)
Câmera2x Conector Mini-Fakra GMSL2 4 em 1 (Opcional);
CAN2x Conector CAN JST 4 pinos (GH 1.25);
DI/DO1x Conector DI JST 6 pinos (GH 1.25);
1x Conector DO JST 5 pinos (GH 1.25);
I2S1x Conector I2S JST 6 pinos (GH 1.25)
RS4851x Conector RS-485 JST 4 pinos (GH 1.25)
UART1x Conector UART JST 6 pinos (Multiplexado com DO)
Display1x HDMI 2.1
Ventoinha1x Conector de ventoinha 4 pinos (12V PWM)
Porta de expansão2x Header de expansão de câmera (para placa GMSL2)
RTC1x RTC 2 pinos;
LED1x LED PWR, Verde;
1x LED SSD, Verde;
1x LED USR, RGB
Botão1x Botão de recuperação;
1x Botão RESET
Alimentação19-48V XT30 (Cabo XT30 para conector DC 5525 incluído)
Versão do JetpackJetpack 6.2.1
MecânicoDimensões (L x P x A)110mm x 110mm x 38mm
Peso200g
InstalaçãoMesa, Montagem na parede
Temperatura de operação-20℃~60℃ (Modo 25W);
-20℃~55℃ (Modo MAXN);
(com dissipador de calor reComputer Robotics com ventoinha)
Garantia2 anos
CertificaçãoRoHS, REACH, CE, FCC, UKCA, KC

📦 Gravar o sistema operacional JetPack

Módulo suportado

Pré-requisitos

  • PC host com Ubuntu
  • Placa carrier Robotics J501 Mini
  • Módulo NVIDIA® Jetson AGX Orin
  • Ventoinha ativa para módulo Nano/NX
  • SSD interno NVMe M.2 2280
  • Cabo de transmissão de dados USB Tipo-C
info

Recomendamos que você use dispositivos host físicos com Ubuntu em vez de máquinas virtuais. Consulte a tabela abaixo para preparar a máquina host.

Versão do JetPack Versão do Ubuntu (Computador Host)
18.04 20.04 22.04
JetPack 6.x

Preparar a imagem do Jetpack

Aqui, precisamos baixar a imagem do sistema para o nosso PC com Ubuntu correspondente ao módulo Jetson que estamos usando:

Versão do JetpackMódulo Jetson GMSL Link de download1SHA256
6.2.1 AGX Orin 64GBDownloadF95E91C3BFB00D50EB999383F85949B4
AGX Orin 32GBDownload8FA6E750C2C21678168DAE377E95CE6C
perigo

O arquivo de imagem do Jetpack6 tem aproximadamente 14,2GB de tamanho e deve levar cerca de 60 minutos para ser baixado. Aguarde até que o download seja concluído.

info

Para verificar a integridade do firmware baixado, você pode comparar o valor de hash SHA256.

Em uma máquina host com Ubuntu, abra o terminal e execute o comando sha256sum <File> para obter o valor de hash SHA256 do arquivo baixado. Se o hash resultante corresponder ao hash SHA256 fornecido no wiki, isso confirma que o firmware que você baixou está completo e intacto.

⚙️ Todos os arquivos .dts e outros códigos-fonte das placas carrier Jetson da SEEED podem ser baixados em Linux_for_Tegra

Entrar no modo Force Recovery

info

Antes de prosseguirmos para as etapas de instalação, precisamos garantir que a placa esteja em modo force recovery.

Passo a passo

Passo 1. Mantenha o botão pressionado para entrar no modo RESET.

Passo 2. Ligue a placa carrier conectando o cabo de alimentação e, em seguida, solte o botão REC.

Passo 3. Conecte a placa ao PC host com Ubuntu com um cabo de transmissão de dados USB Tipo-C.

Passo 4. No PC host Linux, abra uma janela do Terminal e insira o comando lsusb. Se o conteúdo retornado tiver uma das seguintes saídas de acordo com o Jetson SoM que você usa, então a placa está em modo force recovery.

  • Para AGX Orin 32GB: 0955:7223 NVidia Corp
  • Para AGX Orin 64GB: 0955:7023 NVidia Corp

A imagem abaixo é para o AGX Orin 32GB:

Gravar no Jetson

Passo 1: Extraia o arquivo de imagem baixado:

cd <path-to-image>
sudo tar xpf mfi_xxxx.tar.gz
# For example: sudo tar xpf mfi_recomputer-mini-agx-orin-32g-j501-6.2.1-36.4.4-2026-02-11.tar.gz

Passo 2: Execute o seguinte comando para gravar o sistema JetPack no SSD NVMe:

cd mfi_xxxx
# For example: cd mfi_recomputer-orin-robotics-j501
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1 --network usb0 --showlogs

Você verá a seguinte saída se o processo de gravação for bem-sucedido

nota

O comando de gravação pode levar de 2 a 10 minutos.

Passo 3: Conecte o Robotics J501-Mini a um monitor usando o adaptador PD para HDMI para conectar a um monitor que suporte entrada HDMI, ou conecte diretamente a um monitor que suporte entrada PD usando o cabo PD, e conclua a configuração inicial:

info

Conclua a Configuração do Sistema de acordo com suas necessidades.

🔌 Uso das Interfaces

A seguir serão apresentadas as várias interfaces da placa Robotics j501-Mini e como usá-las.

M.2 Key M

O M.2 Key M é projetado para SSDs NVMe de alta velocidade, fornecendo transferência de dados ultrarrápida para aplicações de robótica.

Os SSDs compatíveis são os seguintes

Conexão de Hardware

Instruções de Uso

Antes de testar a velocidade de leitura/gravação do SSD, você precisa inserir o seguinte no terminal do Jetson:

sudo apt update
sudo apt install smartmontools
sudo smartctl -i /dev/nvme0n1

Crie um arquivo de script para testar a velocidade de leitura/gravação do SSD:

#You need to create a blank test file first
cat <<'EOF' | sudo tee test_nvme.sh >/dev/null
#!/usr/bin/env bash
set -e

sudo dd if=/dev/zero of=test bs=1000M count=1 conv=fdatasync
sleep 1
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sleep 1
sudo dd if=test of=/dev/null bs=1000M count=1
sudo rm -rf test
EOF

Execute o script para testar a velocidade de leitura/gravação do SSD:

sudo chmod +x test_nvme.sh
./test_nvme

M.2 Key E

A interface M.2 Key E é um conector M.2 padrão usado principalmente para conectar módulos sem fio, como Wi-Fi e Bluetooth, para expandir as capacidades de comunicação sem fio.

Conexão de Hardware

Instruções de Uso

Para testar o desempenho do Wi-Fi, use o seguinte comando (substitua o endereço IP pelo do seu servidor de teste):

iperf3 -c 192.168.6.191

A funcionalidade Bluetooth está disponível através do slot M.2 Key E.

Ethernet

A placa carrier Robotics j501-Mini possui uma porta Ethernet RJ45 de 1Gbps e uma de 10Gbps para conectividade de rede cabeada de alta velocidade.

Para testar a velocidade da porta Ethernet, use iperf3 da seguinte forma :

iperf3 -c <server_ip> -B <bind_ip>
info

<server_ip> é o endereço IP do servidor iperf3. O cliente se conectará a esse servidor para realizar um teste de largura de banda. <bind_ip> vincula o endereço IP local especificado como a origem do tráfego de teste.

LED

O J501 mini possui dois LEDs que podem ser controlados. A seguir é demonstrado como controlar os LEDs para ficarem verdes, vermelhos ou azuis.

Instruções de Uso

Os comandos de referência para controlar os LEDs são os seguintes:

#change to red
echo 1 | sudo tee /sys/class/leds/on-board:red/brightness
echo 0 | sudo tee /sys/class/leds/on-board:red/brightness
#change to green
echo 1 | sudo tee /sys/class/leds/on-board:green/brightness
echo 0 | sudo tee /sys/class/leds/on-board:green/brightness

#change to blue
echo 1 | sudo tee /sys/class/leds/on-board:blue/brightness
echo 0 | sudo tee /sys/class/leds/on-board:blue/brightness

O efeito de controle do LED é mostrado na figura abaixo:

USB

A placa carrier Robotics j501-Mini está equipada com uma variedade de portas USB, incluindo 2 portas USB 3.2 Type-A (10Gbps), uma porta USB 3.0 Type-C e uma porta USB 2.0 Type-C para modo dispositivo/depuração, oferecendo opções de conectividade versáteis.

Teste de Velocidade USB-A

Crie um script para testar a velocidade do dispositivo USB:

sudo vim test_usb

Cole o seguinte conteúdo:

cat <<'EOF' | sudo tee test_usb.sh >/dev/null
#!/bin/bash
sudo dd if=/dev/zero of=/dev/$1 bs=1000M count=2 conv=fdatasync
sleep 1
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sleep 1
sudo dd if=/dev/$1 of=/dev/null bs=1000M count=2
EOF

Torne o script executável e teste:

sudo chmod +x test_usb
./test_usb

Porta USB 2.0 Type-C

Usando esta porta serial, através do cabo de dados USB-C, você pode monitorar as informações de depuração de entrada e saída no PC.

No seu PC (não no Jetson), instale uma ferramenta de login de porta serial e faça login em /dev/ttyUSB0 (também pode ser ttyUSB1, 2):

sudo apt update
sudo apt install screen
screen /dev/ttyUSB0 115200

Você poderá então controlar o terminal do Jetson via porta serial em outro host Linux, como mostrado abaixo:

Ventoinha

O reComputer Jetson Robotics j501-Mini está equipado com:

  • 1x Conector de Ventoinha de 4 pinos (12V PWM): Compatível com ventoinhas PWM de 12V padrão, também suporta controle preciso de velocidade, sendo ideal para requisitos de refrigeração de alto desempenho.

Conexão de Hardware

O Robotics J501 Mini fornece um cabeçalho padrão de 4 pinos para a Ventoinha.

O esquema do datasheet da Ventoinha é mostrado abaixo:

As definições de pinos para J1 são as seguintes:

nota

Para mais informações, verifique aqui.

Instruções de Uso

Crie um script para definir a velocidade da ventoinha:

cat test_fanSpeedSet

Cole o seguinte conteúdo:

#!/bin/bash
sudo systemctl stop nvfancontrol
sleep 2
echo "000000" | sudo -S chmod 777 /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
echo $1 > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1

Além disso, podemos definir manualmente a velocidade da ventoinha usando a ferramenta jtop.

CAN

CAN (Controller Area Network) é um padrão robusto de barramento veicular que permite que microcontroladores e dispositivos se comuniquem entre si sem um computador host.

O J501 Mini fornece duas interfaces CAN integradas no conector JST de 4 pinos (GH1.25). Além disso, ambas as interfaces CAN suportam CAN-FD, com CAN0 e CAN1 mostradas abaixo:

As definições de pinagem para CAN0 e CAN1 são semelhantes, e o diagrama da interface é mostrado abaixo:

CAN0 corresponde a J6, e as definições de pinos são as seguintes:

CAN1 corresponde a J7, e as definições dos pinos são as seguintes:

Comunicação CAN

Esta seção conecta CAN0 e CAN1 no Jetson para demonstrar como enviar e receber dados entre CAN0 e CAN1 no Classic CAN mode e no CAN-FD mode.

Os resistores de terminação para CAN0 e CAN1 podem ser controlados por meio de dois pinos: PAA.04, localizado em gpiochip1 linha 4, e PAA.07, localizado em gpiochip1 linha 7.

O controle do resistor de terminação segue estas regras:

When `PAA.04 = 1`, the 120 Ω termination resistor of CAN0 is **disconnected**;  
when `PAA.04 = 0`, the 120 Ω termination resistor of CAN0 is **connected**.

When `PAA.07 = 1`, the 120 Ω termination resistor of CAN1 is **disconnected**;
when `PAA.07 = 0`, the 120 Ω termination resistor of CAN1 is **connected**.

Insira o seguinte comando para visualizar os pinos no gpiochip 1:

gpioinfo gpiochip1

Consulte os seguintes comandos para definir PAA.04 e PAA.07 para 0:

sudo gpioset --mode=wait gpiochip1 4=0
sudo gpioset --mode=wait gpiochip1 7=0

Consulte os seguintes comandos para definir PAA.04 e PAA.07 para 1:

sudo gpioset --mode=wait gpiochip1 4=1
sudo gpioset --mode=wait gpiochip1 7=1

Classic CAN mode

Crie test_can.sh para testar a transmissão e recepção de dados entre CAN0 e CAN1 no modo padrão:

touch test_can.sh
chmod +x test_can.sh
sudo ./tets_can.sh

O código do script para test_can.sh é o seguinte:

test_can.sh
#!/bin/bash

echo "000000" | sudo -S ip link set can0 down
echo "000000" | sudo -S ip link set can1 down

# set buffer size
echo "000000" | sudo -S sysctl -w net.core.rmem_max=524288
echo "000000" | sudo -S sysctl -w net.core.wmem_max=524288
echo "000000" | sudo -S sysctl -w net.core.rmem_default=524288
echo "000000" | sudo -S sysctl -w net.core.wmem_default=524288

#set to 2M bps
echo "000000" | sudo -S ip link set can0 type can bitrate 2000000
echo "000000" | sudo -S ip link set can0 up

echo "000000" | sudo -S ip link set can1 type can bitrate 2000000
echo "000000" | sudo -S ip link set can1 up

sleep 2

#Enable 5s to test
sudo pkill -f gpioset
gpioset --mode=time --sec=200000 gpiochip1 7=0 &
GPIO1_PID=$!
gpioset --mode=time --sec=200000 gpiochip1 4=0 &
GPIO2_PID=$!

cangen can1 &
candump can0

A transmissão e recepção de dados entre CAN0 e CAN1 será concluída:

CAN-FD mode

No datasheet, você pode encontrar o diagrama de fiação para a interface CAN0/CAN1, conforme mostrado abaixo:

Crie test_canfd.sh para testar a transmissão e recepção de dados entre CAN0 e CAN1 no modo CAN-FD:

touch test_canfd.sh
chmod +x test_can.sh
sudo ./tets_can.sh

O código do script para test_canfdfd.sh é o seguinte:

test_canfd.sh
#!/bin/bash

# configure CAN FD mode
#CAN bus rate set to 500 kbps, data rate set to 5 Mbps.
echo "000000" | sudo -S ip link set can0 down
echo "000000" | sudo -S sudo ip link set can0 type can bitrate 500000 dbitrate 5000000 berr-reporting on fd on restart-ms 100
echo "000000" | sudo -S ip link set can0 up

echo "000000" | sudo -S ip link set can1 down
echo "000000" | sudo -S sudo ip link set can1 type can bitrate 500000 dbitrate 5000000 berr-reporting on fd on restart-ms 100
echo "000000" | sudo -S ip link set can1 up


# config buffer size
echo "000000" | sudo -S sysctl -w net.core.rmem_max=524288
echo "000000" | sudo -S sysctl -w net.core.wmem_max=524288
echo "000000" | sudo -S sysctl -w net.core.rmem_default=524288
echo "000000" | sudo -S sysctl -w net.core.wmem_default=524288


# check CAN FD status
echo "CAN0 status:"
ip -details link show can0

echo "CAN1 status:"
ip -details link show can1

#Enable 5s to test
sudo pkill -f gpioset
gpioset --mode=time --sec=200000 gpiochip1 7=0 &
GPIO1_PID=$!
gpioset --mode=time --sec=200000 gpiochip1 4=0 &
GPIO2_PID=$!

candump can0 &
cangen can1 -f

A transmissão e recepção de dados entre CAN0 e CAN1 será concluída:

GPI && GPO

GPI

O Robotics J501 Mini fornece um conector JST padrão de 6 pinos para GPI.

O esquema do datasheet do GPI é mostrado abaixo:

As definições de pinos para J12 são as seguintes:

Habilite GPI 1 a GPI 4 para leitura do status de entrada:

sudo gpioset --mode=wait 0 131=0

Para ler a entrada de GPI 1 a GPI 4, consulte os seguintes comandos:

sudo gpioget 0 96  #read the input of GPI 1
sudo gpioget 0 104 #read the input of GPI 2
sudo gpioget 0 86 #read the input of GPI 3
sudo gpioget 0 83 #read the input of GPI 4

Quando um nível alto for lido, retornará 1; quando um nível baixo for lido, retornará 0.

GPO

O Robotics J501 Mini fornece um conector JST padrão de 6 pinos para GPO.

O esquema do datasheet do GPO é mostrado abaixo:

As definições de pinos para J14 são as seguintes:

Habilite GPO 1 a GPO 4 para status de saída:

sudo gpioset --mode=wait 0 79=1

Para definir a saída de GPO 1 a GPO 4, consulte os seguintes comandos:

sudo gpioset --mode=wait 0 110=1  #set output of GPO 1 to high voltag
sudo gpioset --mode=wait 0 112=1 #set output of GPO 2 to high voltag
sudo gpioset --mode=wait 0 111=1 #set output of GPO 3 to high voltag
sudo gpioset --mode=wait 0 113=1 #set output of GPO 4 to high voltag


sudo gpioset --mode=wait 0 110=1 #set output of GPO 1 to low voltag
sudo gpioset --mode=wait 0 112=1 #set output of GPO 2 to low voltag
sudo gpioset --mode=wait 0 111=1 #set output of GPO 3 to low voltag
sudo gpioset --mode=wait 0 113=1 #set output of GPO 4 to low voltag

UART

O Robotics J501 Mini fornece um conector JST padrão de 6 pinos para comunicação serial UART. UART e GPO usam a mesma interface JST. Esta interface é, por padrão, configurada como GPO. Se você precisar alternar para a funcionalidade UART, deverá apontar para uma nova árvore de dispositivo e reiniciar o dispositivo para que a alteração tenha efeito.

Para comunicação UART, siga a fiação a seguir. Aqui, usamos a ferramenta USB para TTL como exemplo.

O esquema do datasheet do UART é mostrado abaixo:

As definições de pinos para J14 são as seguintes:

atenção

UART e GPO compartilham a mesma interface física. Por padrão, esta interface funciona como GPO. Se você precisar alternar para UART, consulte o conteúdo desta seção.

Para diferentes módulos, você precisa baixar o arquivo de árvore de dispositivo correspondente.

Link de download do .dtb para AGX Orin 32G:
https://files.seeedstudio.com/wiki/recomputer-j501-mini/tegra234-j501x-0000%2Bp3701-0004-recomputer-mini.dtb

Link de download do .dtb para AGX Orin 64G:
https://files.seeedstudio.com/wiki/recomputer-j501-mini/tegra234-j501x-0000%2Bp3701-0005-recomputer-mini.dtb

Copie a árvore de dispositivo para o caminho especificado:

# AGX Orin 32G
sudo cp tegra234-j501x-0000%2Bp3701-0004-recomputer-mini.dtb /boot/

# AGX Orin 64G
sudo cp tegra234-j501x-0000%2Bp3701-0005-recomputer-mini.dtb /boot/

Faça backup e modifique /boot/extlinux/extlinux.conf, adicionando uma linha para apontar para o novo arquivo .dtb:

sudo cp /boot/extlinux/extlinux.conf /boot/extlinux/extlinux.conf.bak
sudo vim /boot/extlinux/extlinux.conf

Com base no nome do arquivo de árvore de dispositivo que você está usando, adicione uma linha FDT=/your_path em extlinux.conf. Tomando o AGX Orin 32G como exemplo:

LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
FDT=/boot/tegra234-j501x-0000+p3701-0004-recomputer-mini.dtb

O conector JST de 6 pinos UART é mapeado para /dev/ttyTHS1 no Jetson. Você pode usar minicom para visualizar a transmissão e recepção de dados da porta serial:

sudo apt install minicom
sudo minicom -D /dev/ttyTHS1

RS485

A interface RS485 fornece um canal de comunicação diferencial robusto e resistente a ruídos, comumente usado em ambientes industriais. Ela suporta comunicação serial multidrop de longa distância e é ideal para conectar sensores, controladores de motor, CLPs e outros dispositivos industriais.

Conexão de hardware

A Robotics J501-Mini fornece conectores JST de 4 pinos (GH 1.25) para RS485.

O diagrama esquemático do datasheet de RS485 é mostrado abaixo:

As definições de pinos para J8 são as seguintes:

Instruções de uso

Consulte os seguintes comandos para habilitar a interface RS485:

sudo gpioset --mode=wait 1 9=0  # Enable 120R resistance

sudo gpioset --mode=wait 0 126=0 # Enable RS485

A interface RS485 é mapeada para /dev/ttyTHS4 no Jetson. Você pode usar cutecom para testar a transmissão e recepção de dados seriais com um PC:

sudo apt install cutecom
sudo cutecom

Selecione /dev/ttyTHS4, defina tanto o Jetson quanto o PC para uma taxa de baud de 9600 e conecte o Jetson e o PC por meio de um módulo RS485 para USB. O efeito da transmissão e recepção de dados seriais é mostrado na figura abaixo:

Jetson sidePC side

I2S

A interface I2S fornece um barramento de comunicação de áudio digital projetado para transmitir dados de áudio estéreo entre dispositivos. A Robotics J501-Mini oferece suporte ao sinal I2S padrão, permitindo entrada e saída de áudio de alta qualidade e baixa latência para aplicações como interação por voz, localização de som e processamento de áudio em tempo real.

Conexão de hardware

A Robotics J501-Mini fornece 1 conector JST de 5 pinos (GH 1.25) para I2S.

O diagrama esquemático do datasheet de I2S é mostrado abaixo:

As definições de pinos para J9 são as seguintes:

Instruções de uso

Para habilitar I2S, você precisa configurá-lo em jetson-io.py. Execute o seguinte no terminal:

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

Em seguida, consulte os quatro passos abaixo para habilitar a interface I2S:

  • passo 1: Selecione a opção Jetson 40-pin header
  • passo 2: Selecione Configure header pins manually
  • passo 3: Selecione i2s2; após a seleção, ele será marcado com [*]
  • passo 4: Salve as configurações e reinicie o Jetson
Step 1
Step 1
Step 3
Step 3
Step 2
Step 2
Step 4
Step 4

Após habilitar I2S, esta seção demonstra como usar I2S para acionar um alto-falante de dois canais. Primeiro, insira o seguinte no terminal:

amixer -c APE cset name="I2S2 Mux" "ADMAIF1" # Speaker

Se você estiver usando um microfone:

amixer -c APE cset name="ADMAIF2 Mux" "I2S2" # Microphone

Consulte o comando abaixo para acionar o alto-falante, onde -c deve ser alterado para o número de canais de alto-falante que você está usando:

speaker-test -t sine -f 440 -c 2

Você pode ver a saída no terminal quando o alto-falante é acionado normalmente, como mostrado na figura abaixo.

RTC

A Robotics J501-Mini fornece um conector padrão de 2 pinos para RTC (3V).

O diagrama esquemático do datasheet de RTC é mostrado abaixo:

As definições de pinos para J15 são as seguintes:

Após conectar a bateria externa, você pode verificar o status de operação de rtc0 (RTC principal, correspondente à bateria onboard) no terminal:

cat /sys/class/rtc/rtc0/power/runtime_status

Porta de expansão - GMSL

A placa carrier Robotics j501-Mini possui um conector de expansão de câmera para placa de expansão GMSL. Ela pode conectar e operar simultaneamente quatro câmeras GMSL ao mesmo tempo.

Conexão de hardware

A seguir estão os slots de conexão da placa de expansão de câmera GMSL da placa carrier Robotics j501-Mini (é necessário preparar uma placa de expansão com antecedência):

A seguir estão os modelos de câmeras GMSL que já suportamos:

Instruções de uso

nota

Antes de habilitar a funcionalidade GMSL, certifique-se de que você instalou uma versão do JetPack com o driver da placa de expansão GMSL.

Configurar o arquivo Jetson IO

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

Existem três arquivos de overlay no total, a saber, Seeed GMSL 1X4 3G, Seeed GMSL 1X4 6G, Seeed GMSL 1X4 e Orbbec Gemini 335Lg. Estes correspondem, respectivamente, à câmera 3G do SG3S, à câmera 6G do SG2 e SG8S e à câmera da Orbbec. Como mostrado na Figura 3, configure o arquivo io de acordo com o modelo da sua câmera.

passo 2. Instale as ferramentas de configuração da interface de vídeo.

sudo apt update
sudo apt install v4l-utils

Usar as câmeras da linha SGxxx

passo 1. Defina o formato de canal para o serializador e o desserializador. O número da interface na figura corresponde ao número do serializador/desserializador.

  media-ctl -d /dev/media0 --set-v4l2 '"ser_0_ch_0":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_0":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_1_ch_1":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_1":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_2_ch_2":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_2":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_3_ch_3":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_3":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_4_ch_0":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_0":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_5_ch_1":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_1":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_6_ch_2":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_2":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"ser_7_ch_3":1[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_3":0[fmt:YUYV8_1X16/1920x1536]'

nota

ser_0_ch_0 é o primeiro canal do decodificador, des_ch_0 é o serializador na primeira câmera, e o mesmo se aplica aos outros. Se a câmera conectada tiver uma resolução diferente, então a configuração aqui será baseada no formato real da câmera. Precisamos definir o formato do canal para o serializador e o desserializador toda vez que o dispositivo for reiniciado.

passo 2. Defina a resolução da câmera.

info

Aqui demonstramos como configurar câmeras de diferentes modelos e resoluções.

v4l2-ctl -V --set-fmt-video=width=1920,height=1080 -c sensor_mode=1  -d /dev/video0
v4l2-ctl -V --set-fmt-video=width=1920,height=1080 -c sensor_mode=1 -d /dev/video1
v4l2-ctl -V --set-fmt-video=width=1920,height=1536 -c sensor_mode=0 -d /dev/video2
v4l2-ctl -V --set-fmt-video=width=3840,height=2160 -c sensor_mode=2 -d /dev/video3
nota

--set-fmt-video segue a resolução que é selecionada com base na câmera conectada. O sensor_mode também é escolhido de acordo. Atualmente, há três opções de sensor_mode, cada uma correspondendo a uma resolução diferente.

  • sensor_mode=0 -------> YUYV8_1X16/1920x1536
  • sensor_mode=1 -------> YUYV8_1X16/1920x1080
  • sensor_mode=2 -------> YUYV8_1X16/3840x2160

passo 3. Inicie a câmera.

gst-launch-1.0 v4l2src device=/dev/video0 ! \
'video/x-raw,width=1920,height=1080,framerate=30/1,format=UYVY' ! \
videoconvert ! autovideosink -ev

gst-launch-1.0 v4l2src device=/dev/video1 ! \
'video/x-raw,width=1920,height=1080,framerate=30/1,format=UYVY' ! \
videoconvert ! autovideosink -ev

gst-launch-1.0 v4l2src device=/dev/video2 ! \
'video/x-raw,width=1920,height=1536,framerate=30/1,format=UYVY' ! \
videoconvert ! autovideosink -ev

gst-launch-1.0 v4l2src device=/dev/video3 ! \
'video/x-raw,width=3840,height=2160,framerate=30/1,format=UYVY' ! \
videoconvert ! autovideosink -ev

Tela

O Robotics J501 Mini está equipado com uma saída HDMI para exibição em alta resolução.

Recursos

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...