Skip to main content

インターフェース使用方法

このwikiでは、J501キャリアボード上の様々なハードウェアとインターフェースについて、プロジェクトアイデアを拡張するための使用方法を紹介します。

GMSLカメラ

GMSL機能を有効にするには、J501キャリアボードとGMSL拡張ボードを組み合わせる必要があります。J501 GMSL拡張ボードは、NVIDIA® Jetson AGX Orin™と互換性のあるreServer Industrial J501キャリアボードに最大8台のGMSLカメラを接続するために設計されています。この拡張ボードはデシリアライザー「MAX96724」を使用しています。

対応カメラ

ハードウェア接続

  • Step1. J501キャリアボードに銅製スタンドオフを取り付けます。
  • Step2. GMSL拡張ボードをJ501キャリアボードに接続し、ネジで固定します。
  • Step3. GMSLカメラを接続します。

使用方法

note

GMSL機能を有効にする前に、GMSL拡張ボードドライバーを含むJetPackバージョンがインストールされていることを確認してください。

Step1. jetsonデバイスのターミナルで、以下のコマンドを入力して、接続されたカメラが正しく認識されているかを確認します。

ls /dev/video*

ステップ2. ビデオインターフェース設定ツールをインストールします。

sudo apt install v4l-utils

Step3. Set the channel format for the serializer and deserializer.

media-ctl -d /dev/media0 --set-v4l2 '"ser_0_ch_0":1[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 '"ser_2_ch_2":1[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 '"ser_4_ch_0":1[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 '"ser_6_ch_2":1[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_0_ch_0":0[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 '"des_0_ch_2":0[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 '"des_1_ch_0":0[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 '"des_1_ch_2":0[fmt:YUYV8_1X16/1920x1536]'
media-ctl -d /dev/media0 --set-v4l2 '"des_1_ch_3":0[fmt:YUYV8_1X16/1920x1536]'
note

デバイスが再起動するたびに、シリアライザーとデシリアライザーのチャンネル形式を設定する必要があります。

Step4. 以下のコマンドを使用して、カメラを素早く起動し、ビデオストリームを表示するウィンドウを開くことができます。

gst-launch-1.0 v4l2src device=/dev/video0  ! xvimagesink -ev 
gst-launch-1.0 v4l2src device=/dev/video1 ! xvimagesink -ev
gst-launch-1.0 v4l2src device=/dev/video2 ! xvimagesink -ev
gst-launch-1.0 v4l2src device=/dev/video3 ! xvimagesink -ev
gst-launch-1.0 v4l2src device=/dev/video4 ! xvimagesink -ev
gst-launch-1.0 v4l2src device=/dev/video5 ! xvimagesink -ev
gst-launch-1.0 v4l2src device=/dev/video6 ! xvimagesink -ev
gst-launch-1.0 v4l2src device=/dev/video7 ! xvimagesink -ev

ギガビットイーサネットコネクタ

J501には2つのイーサネットポートがあります。

  • eth0: 10/100/1000Mbps仕様の標準ギガビットイーサネットポート。
  • eth1: 10ギガビットイーサネットポート。

各イーサネットポートには2つのLED(緑と黄色)があります:

  • 緑LED: 1000M/10Gネットワークに接続されている場合のみ点灯。
  • 黄LED: ネットワークアクティビティステータスを表示。

SATAコネクタ

reServer J501キャリアボードは2x SATA 2.5" HDD/SSDをサポートし、SATAデータコネクタと電源コネクタの両方を備えています。以下のようにHDD/SSDを接続できます:

使用方法

Jetsonデバイスシステムが起動した後、lsblkで接続されたSATAドライブを確認できます。

M.2 Key M

M.2 Key Mは高速ソリッドステートドライブ(SSD)用に設計されたインターフェースで、超高速データ転送速度を提供し、高性能アプリケーションに最適です。

サポートされているSSDは以下の通りです:

使用方法

Jetsonデバイスでターミナルを開き、以下のコマンドを入力してSSDの読み書き速度をテストします。

sudo dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync
danger

テスト完了後は、sudo rm tempfile コマンドを実行してキャッシュファイルを削除してください。

M.2 Key E

J501キャリアボードはM.2 Key Eインターフェースを搭載しており、これを通じてデバイスのBluetoothとWi-Fi機能を拡張できます。

Intel Dual Band Wireless-Ac 8265 w/Bluetooth 8265.NGWMGモジュールの使用を推奨します。

ハードウェア接続

使用方法

Wi-Fiモジュールを取り付けてデバイスの電源を入れた後、デバイスのWi-FiとBluetoothの設定を構成できます。

もちろん、以下のコマンドを使用してデバイスの動作状態を確認することもできます。

ifconfig
bluetoothctl

M.2 Key B

J501キャリアボードには、4Gおよび5GモジュールをサポートするM.2 Key Bコネクタが搭載されています。現在、SIM8202G-M2 5Gモジュールをテストしています。

ハードウェア接続

Mini PCIe

J501キャリアボードには、4GおよびLoRaモジュールをサポートするmini PCIeコネクタが搭載されています。ただし、4GモジュールまたはLoRaモジュールのいずれか一方のみを同時に接続できます。一部の4GモジュールにはGPS機能が組み込まれています。これについても説明します。

4Gモジュール

ハードウェア接続

  • ステップ1. 20ピンヘッダーのSIM_MUX_SELGNDピンの間にジャンパーを追加します。

  • ステップ2. 4GモジュールをminiPCIeスロットにスライドして挿入し、ネジで固定します。

  • ステップ3. 4G対応のnano SIMカードをボード上のSIMカードスロットに挿入します。

note

SIMカードを取り外したい場合は、カードを押し込んで内部のスプリングを作動させると、SIMがスロットから出てきます

使用方法

ステップ1. minicomをインストールします:

sudo apt update
sudo apt install minicom -y

ステップ2. 接続された4Gモジュールのシリアルコンソールに入り、ATコマンドを入力して4Gモジュールと対話できるようにします:

sudo minicom -D /dev/ttyUSB2 -b 115200

Step3. Ctrl+Aを押してからEを押してローカルエコーをオンにします。

Step4. コマンド「AT」を入力してEnterを押します。「OK」という応答が表示されれば、4Gモジュールが正常に動作しています。

Step5. コマンド「ATI」を入力してモジュール情報を確認します。

DI/DO/CAN

J501キャリアボードは4つのデジタル入力と4つのデジタル出力チャンネルをサポートしており、すべて光学的に絶縁されているため、電圧スパイクやその他の電気的外乱からメインボードを効果的に保護します。この同じコネクタには2つのCANインターフェースもあり、これについてはこのwikiで後述します。

タイプラベル名回路図信号モジュールピン番号BGA番号GPIO番号V/A制限
入力DI1DI_12V_1/DI_1_GPIO17A54PP.0444412V/ 合計20mA電流
DI2DI_12V_2/DI_2_GPIO18C55PQ.04452
DI3DI_12V_3/DI_3_GPIO19K56PN.02434
DI4DI_12V_4/DI_4_GPIO33C54PM.07431
出力DO1DO_40V_1/DI_1_GPIOE59PAA.0432040V/ピンあたり40mA負荷
DO2DO_40V_2/DI_2_GPIOF59PAA.07323
DO3DO_40V_3/DI_3_GPIOB62PBB.01325
DO4DO_40V_4/DI_4_GPIOC61PBB.00324
note
  • 12Vデジタル入力、グランド信号はGND_DIに接続する必要があります。

  • デジタル出力、最大耐電圧40V、グランド信号はGND_DOに接続する必要があります。

  • 標準差動信号を持つCANバス、グランド信号はGND_ISOに接続する必要があります。

DI接続概要

以下の図に従ってDIの接続を行うことができます。DI線に直列に抵抗を追加することをお勧めします。ここでは、DI1ピンに接続された4.7kΩ抵抗でテストしました。

DIの使用方法

入力として検出されるためには、DI線に12Vの電圧を入力する必要があります。

ステップ1. 上記のようにDI1ピンに接続を行い、12Vを入力します。

ステップ2. 以下のようにDI1のGPIOを開きます:

sudo su 
cd /sys/class/gpio
echo 444 > export
cd PP.04
note

DI/DOピン割り当てテーブルを参照して、GPIO番号とBGA番号を確認できます。上記の例では、DI1ピンの場合、GPIO番号は444、BGA番号はPP.04です。

Step3. 以下を実行してステータスを確認します:

cat value

0を出力する場合は12V入力があることを意味します。1を出力する場合は入力電圧がないことを意味します。

DO の接続概要

以下の図に従ってDOの接続を行うことができます。DO線には直列に抵抗を追加することをお勧めします。ここでは4.7kΩ抵抗でテストしました。

DO の使用方法

ここでは上記の図に示すように負荷を接続する必要があります。これをテストする最も簡単な方法は、マルチメーターがあればそれを接続するか、または最大40V未満の電圧を必要とする負荷を接続することです。

ステップ1. 上記のようにDO1ピンに接続を行い、最大40Vを入力します。

ステップ2. 以下のようにD01のGPIOを開きます:

sudo su 
cd /sys/class/gpio
echo 320 > export
cd PAA.04
echo out > direction

ステップ3. 以下を実行してピンをオンにします:

echo 1 > value

負荷がオンになっているか、マルチメーターが入力した電圧を出力している場合、テストは正常に機能しています。

CAN

J501キャリアボードは、5MbpsでCAN FD(Controller Area Network Flexible Data-Rate)プロトコルをサポートする2つのCANインターフェースを搭載しています。CANインターフェースは容量性絶縁を使用して絶縁されており、優れたEMI保護を提供し、産業および自動化アプリケーションにおいて信頼性の高い通信を確保します。120Ωの終端抵抗がデフォルトでインストールされており、GPIOを使用してこの抵抗をONおよびOFFに切り替えることができます。

note

CANインターフェースは絶縁電源を使用しているため、CANインターフェースに接続される外部デバイスのグランド信号はGND_ISOピンに接続する必要があります。

USB to CANアダプターとの接続概要

CANバスをテストしてインターフェースするには、以下に示すようにUSB to CANアダプターをボード上のCANコネクターに接続します:

ここでは、当社のBazaarで入手可能なUSB to CAN Analyzer AdapterとUSBケーブルを使用しています。

USB to CANアダプターでの使用方法

Step1. 使用しているUSB to CANアダプターのドライバーをメーカーのWebサイトからダウンロードしてインストールします。私たちの場合、使用したアダプターに応じて、ドライバーはこちらで見つけることができます。

Step2. 一部のアダプターには、CANデバイスと通信するためのPC用の必要なソフトウェアも付属しています。私たちの場合、使用したアダプターに応じて、こちらで見つけることができるソフトウェアをダウンロードしてインストールしました。

Step3. JetsonのCANインターフェースを初期化します。

Jetsonで**can_init.sh**という名前の新しいファイルを作成し、以下の内容を記述します:

#!/bin/bash

sudo gpioset gpiochip2 9=0
sudo gpioset gpiochip2 8=0

sudo busybox devmem 0x0c303018 w 0xc458
sudo busybox devmem 0x0c303010 w 0xc400
sudo busybox devmem 0x0c303008 w 0xc458
sudo busybox devmem 0x0c303000 w 0xc400

sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan

sudo ip link set can0 down
sudo ip link set can1 down

sudo ip link set can0 type can bitrate 125000
sudo ip link set can1 type can bitrate 125000
sudo ip link set can0 up
sudo ip link set can1 up

Then, run the file we just created in the Jetson terminal window:

sudo apt-get install gpiod
cd <path to can_init.sh>
sudo chmod +x can_init.sh
./can_init.sh

Step4. ターミナルでifconfigと入力すると、CANインターフェースが有効になっていることが確認できます。

Step5. 以前にインストールしたCANソフトウェアを開きます。この場合、使用しているCANアダプターに応じてインストールしたソフトウェアを開きます。

Step6. USB to CANアダプターをPCに接続し、Windowsの検索バーで検索してデバイスマネージャーを開きます。接続されたアダプターがポート (COM & LPT)の下に表示されます。ここに表示されているシリアルポートをメモしてください。下の画像によると、シリアルポートはCOM9です。

Step7. CANソフトウェアを開き、COMセクションの横にあるRefreshをクリックし、ドロップダウンメニューをクリックして接続されたアダプターに応じてシリアルポートを選択します。COM bpsはデフォルトのままにして、Openをクリックします。

Step8. ModeCAN bpsはデフォルトのままにし、TypeStandard frameに変更してSet and Startをクリックします。

Step9. reComputer Industrialで、以下のコマンドを実行してPCにCAN信号を送信します:

cansend can0 123#abcdabcd

ソフトウェアで受信した上記の信号が以下のように表示されます

ステップ10. reComputer Industrialで、以下のコマンドを実行してPCからのCAN信号の受信を待機します:

candump can0 &

Step11. CANソフトウェアで、Send a single frameをクリックします:

これで、以下のようにreComputer Industrialで受信されることが確認できます:

info

また、こちらを参照して、J501キャリアボードとreTerminal DMの間でCANを介した通信を確立することもできます。

USB

reServer J501キャリアボードには合計5つのUSBポートがあります:USB 3.1 Type-Aポート3つ、USB 3.1 Type-Cポート1つ、デバッグ用USB 2.0 Type-Cポート1つです。

使用方法

Jetsonターミナルでwatch -n 1 lsusb -tvを入力してUSBポートを調べることができます。USBデバイスが接続されると、そのポートの詳細情報がここに表示されます。

さらに、M.2 Key Mを参照してUSBストレージデバイスの読み書き速度をテストすることができます。

note

テスト前に、cdコマンドを使用してUSBストレージデバイスがマウントされているフォルダに移動してください。

RTC

J501キャリアボードはRTCインターフェースを搭載しており、システムの電源が切れている間でも正確な時刻を保持します。

接続方法

J501キャリアボードには、RTCバッテリーに接続する2つの異なる方法が装備されています。

以下に示すように、3V CR1220コイン電池をボード上のRTCソケットに接続します。バッテリーの**プラス(+)**端子が上向きになるようにしてください。

使用方法

Step1. 上記のようにRTCバッテリーを接続します。

Step2. J501の電源を入れます。

Step3. Ubuntuデスクトップで、右上角のドロップダウンメニューをクリックし、Settings > Date & Timeに移動し、イーサネットケーブルでネットワークに接続してAutomatic Date & Timeを選択し、日付/時刻を自動的に取得します。

note

イーサネット経由でインターネットに接続していない場合は、ここで日付/時刻を手動で設定できます。

Step4. ターミナルウィンドウを開き、以下のコマンドを実行してハードウェアクロック時刻を確認します:

sudo hwclock

以下のような出力が表示されますが、これは正しい日付/時刻ではありません:

Step5. 以下のコマンドを入力して、ハードウェアクロック時刻を現在のシステムクロック時刻に変更します:

sudo hwclock --systohc

Step6. インターネットから時刻を取得しないようにするため、接続されているイーサネットケーブルをすべて取り外し、ボードを再起動してください:

sudo reboot

Step7. ハードウェアクロック時刻を確認して、デバイスの電源がオフになっても日付/時刻が同じままであることを確認します。

次に、各起動時にハードウェアクロックからシステムクロックを常に同期するスクリプトを作成します。

Step8. お好みのテキストエディタを使用して新しいシェルスクリプトを作成します。ここではviテキストエディタを使用します

sudo vi /usr/bin/hwtosys.sh 

ステップ9. iを押して挿入モードに入り、ファイル内に以下の内容をコピー&ペーストします:

#!/bin/bash

sudo hwclock --hctosys

Step10. Make the script executable.

sudo chmod +x /usr/bin/hwtosys.sh 

ステップ11. systemdファイルを作成します:

sudo vim /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

Step16 ボードを再起動すると、システムクロックがハードウェアクロックと同期されていることが確認できます。

ファン

J501ボードのオンボードファンインターフェースは、nvfancontrolデーモンによって管理されており、Jetsonモジュールの動作状況に基づいてファン速度を適応的に調整します。設定ファイル /etc/nvfancontrol.conf を通じてデーモンの動作モードを設定できます。

note

詳細については、こちらをご確認ください。

さらに、jtopツールを使用してファン速度を手動で設定することもできます。

HDMI

J501にはHDMI 2.1 Type Aポートが搭載されており、7680x4320の解像度をサポートしています。これにより、超高精細ビデオ出力が可能です。

技術サポート & 製品ディスカッション

弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルをご用意しています。

Loading Comments...