1. GMSL2-USB 3.0変換キット ユーザーマニュアル#
このマニュアルは、TIER IV の GMSL2-USB3.0 変換キットのユーザーを対象としています。本マニュアルで解決できないご質問や問題がございましたら、お買い上げの販売店にご連絡ください。
1.1. はじめに#
GMSL2-USB3.0 変換キットを使用すると、TIER IV 車載 HDR カメラ C1, C2 または C3 (以下、C1, C2 および C3 カメラと呼びます) カメラを USB Type-C (3.0) ポートに接続し、UVC (USB ビデオ クラス) 経由でビデオをキャプチャできるようになります。 )。 GMSL インターフェイスを持たないコンピュータ上のアプリケーションで TIER IV のカメラを使用できます。
1.2. インターフェースの説明#
1.2.1. カメラインターフェース#
カメラとキット間の接続インターフェースは、Fakra プラグ (C コード ブルー) が取り付けられた 50 Ω 同軸ケーブルです。
1.2.2. USB Type-Cインターフェース#
キットとホスト間の接続インターフェイスは、USB Type-C で USB 3.0 Super Speed をサポートします。また、業界標準のネジロック式または非ネジロック式 USB Type-C ケーブルも使用できます。
1.2.3. IO ポート (組み込み RITS 4P コネクタ)#
FSYNC信号(フレーム同期)と外部DC電源入力用です。このポートは 4-P RITS ボード マウント ヘッダー (TE Connectivity 156994-4) を使用します。対応するプラグ コネクタの部品番号は x-1473562-4 です。このポートを使用する必要がある場合は、上記のプラグを使用してケーブルをご自身でご用意ください。
各ピンの説明は次のとおりです。
ポート |
名前 |
説明 |
---|---|---|
1 |
外部電源 |
供給電圧範囲: 9V ~ 12V (カメラ用)、必要な供給電流: > 1A 注: これは、USB ホストが十分な電力を供給できない場合に、外部からカメラに電力を供給するための代替手段です。 |
2 |
GND |
|
3 |
GND |
|
4 |
外部FSYNC信号入力(カメラトリガーモードのみ) |
FSYNCはプッシュプルまたはオープンドレインの外部出力駆動タイプをサポートします。 |
1.2.5. 動作モード切り替えスイッチ#
動作モードを選択するスライドスイッチです。通常操作の場合は左にスライドさせ、ファームウェアのアップデートの場合は右にスライドさせます。
1.3. 使用方法#
注意
キット購入時はC1フリーランモード(フリーラン、30fps)に設定されています。
本キットと C2 または C3 カメラを使用するには、ファームウェアをアップデートする必要があります。詳細については、カメラモードを変更するを参照してください。
また、C2 または C3 カメラの場合、USB3.0の帯域制限により最大フレームレートが10fpsに制限され、イメージセンサーからの読み出し速度がGMSL接続の場合より遅くなります。これにより、ローリング シャッター効果(歪み)が発生する可能性があります。
キット購入時はC1フリーランモード(フリーラン、30fps)に設定されています。このモードで使用する場合はそのままお使いいただけます。別のモードへの切り替えが必要な場合は、ファームウェア一覧およびカメラモードを変更するを参照してください。
1.3.1. ファームウェアリスト#
カメラモード |
説明 |
画像ファイル |
---|---|---|
C1 フリーランモード(デフォルトモード) |
C1カメラ用 フリーラン 10,20,30FPS |
C1_Free-run_v1.10a.img |
C1 ハードウェアトリガーモード |
C1 カメラの場合、IO ポートからの FSYNC トリガー |
C1_Trigger_v1.00b.img |
C2 フリーランモード |
C2カメラ用 フリーラン 10FPS |
C2_Free-run_v1.00c.img |
C2 ハードウェアトリガーモード |
C2 カメラの場合、IO ポートからの FSYNC トリガー |
C2_Trigger_v1.00d.img |
C3 フリーランモード |
C3カメラ用 フリーラン 5FPS |
C3_Free-run_v1.10e.img |
C3 ハードウェアトリガーモード |
C3 カメラの場合、IO ポートからの FSYNC トリガー |
C3_Trigger_v1.10f.img |
注釈
これらのイメージ ファイルは、CX3Update パッケージに含まれています。
1.3.2. フリーランモード#
次の図と手順に示すようにPC、カメラ、変換キットを接続して下さい
Fakra ケーブルでカメラを変換キットに接続し、USB ケーブルを使用してホストに接続してください。順序が逆の場合 (カメラを接続する前に、最初に USB ケーブルでホストに接続した場合)、リセット ボタンを押す必要があります。このキットは、USB 経由で接続すると UVC カメラ デバイスとして認識されます。デバイスを UVC カメラとして使用するために別途ドライバをインストールする必要はありません。接続後、アプリを使用してカメラから「GMSL2-USB3.0変換キット」を選択し、使用を開始してください。
カメラデバイスが見つからない場合、または画像が正常でない場合は、トラブルシューティングセクションで詳細を確認してください。
1.3.3. トリガーモード#
RITSコネクタをケーブルで接続し、フリーランモードと同様に信号を送信します。コネクタ形状と伝送する信号についてはIOポート組み込みRITS 4Pコネクタの項を参照してください。また、事前にファームウェアのアップデートによるモード変更が必要となりますのでご注意ください。
C1 または C3 カメラの場合、同期信号に応じて露光を開始し、露光時間が経過すると露光が終了します。C2カメラの場合、同期信号に応じて信号出力が開始され、信号出力の露光時間前から露光を開始します。
カメラの使い方に関しては、シャッタータイミングの送信以外はフリーランモードと同じです。
同期仕様の詳細については、ハードウェアリファレンスマニュアルを参照して下さい。
1.4. アプリケーションでの使用例#
1.4.1. GStreamer#
このセクションでは、GStreamer を使用したビデオ取得について説明します。この項目で説明する手順は、Ubuntu20.04 を対象としています。
まず、以下のコマンドで GStreamer と v4l-utils をインストールします。すでにインストールされている場合は、本項目を実行する必要はありません。
$ sudo apt install libgstreamer1.0-0 gstreamer1.0-tools
$ sudo apt install v4l-utils
次に、使用する環境におけるデバイス名を確認します。次のコマンドは、接続されているデバイスを表示します。デバイス名が分かっている場合は、本項目を実行する必要はありません。
v4l2-ctl --list-devices
以下は出力の例です。
Integrated IR Camera: Integrate (usb-0000:00:14.0-12):
/dev/video2
/dev/video3
GMSL2-USB3.0 Conversion Kit (usb-0000:00:14.0-2):
/dev/video4
/dev/video5
Integrated Camera: Integrated C (usb-0000:00:14.0-8):
/dev/video0
/dev/video1
ご利用の環境によって結果が異なりますので、「GMSL2-USB3.0変換キット」と表示されている項目とその上にあるデバイス「/dev/video4」を探してください。次に、次のコマンドで GStreamer を実行します。
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video4 do-timestamp=true ! 'video/x-raw, width=1920, height=1280, framerate=30/1, format=UYVY' ! videoscale ! xvimagesink sync=false
なお、この際のフレームレートは10/20/30fpsの3パターンで設定可能です。フレームレートを10fpsに設定するには、次のように実行します。
gst-launch-1.0 v4l2src io-mode=0 device=/dev/video4 do-timestamp=true ! 'video/x-raw, width=1920, height=1280, framerate=10/1, format=UYVY' ! videoscale ! xvimagesink sync=false
1.4.2. ROS2#
ROS2 Galatic ディストリビューションをターゲットとする 2 種類のノード、「usb_cam」ノードと「v4l2 カメラ」ノードの使用方法を説明します。ただし、ノードが UYVY カラーの UVC 形式をサポートしている場合は、ビデオを取得できます。公式サイトなどを参照して、事前にROS2 Gaopticをインストールしてください。
1.4.2.1. usb_cam ノード#
次のリポジトリから usb_cam ノードをcloneしてビルドして下さい。ビルド手順についてはリポジトリの README を参照してください。
usb_cam ノード リポジトリ: https://github.com/tier4/usb_cam
ビルドが完了したら以下のコマンドを実行してください。
ros2 run usb_cam usb_cam_node_exe --ros-args \
-p video_device:=/dev/video0 \
-p framerate:=30.0 \
-p pixel_format:=uyvy \
-p image_width:=1920 \
-p image_height:=1280
1.4.2.2. v4l2_カメラ#
次のリポジトリから「v4l2_camera」ノードをcloneしてビルドして下さい。ビルド手順についてはリポジトリの README を参照してください。
v4l2_camera ノード リポジトリ: https://github.com/tier4/ros2_v4l2_camera
ビルドが完了したら以下のコマンドを実行してください。
ros2 run v4l2_camera v4l2_camera_node --ros-args \
-p video_device:=/dev/video0 \
-p pixel_format:=UYVY \
-p image_size:=[1920,1280]
注釈
現在の GMSL2-USB3.0 変換キットでは、カメラの画質関連のパラメータを変更することはできません。カメラの画質関連のパラメータを変更するには、GMSL2インターフェースでECUと直接接続し、 t4cam-ctrl ソフトウェアを使用して下さい。
1.5. トラブルシューティング#
画像が取得できない場合は、以下を参考にしてください。問題を解決できない場合は、購入代理店またはTIER IV サポートまでご連絡下さい。
1.5.1. アプリケーション内でデバイスが見つからない場合#
ModeSwitchが左にスライドしているか確認してください。
リセットボタンを押してデバイスが表示されるか確認してください。
USBケーブルの接続先ポートを変更し、デバイスが表示されるかご確認ください。
USB ケーブルが USB 3.0 Super Speed 以上と互換性があることを確認してください。 ケーブルの相性の問題も考えられますので、仕様を満たすケーブルでも問題が解決しない場合は、別のケーブルをお試しください。
ヒント
Linuxと接続している場合、
dmesg
コマンドを用いて接続状態を確認して下さい。USB3.0 Super Speed で正しく接続できている場合、次のようなログが表示されます。[ xxx.xxxxxx] usb 2-3.1: new SuperSpeed Gen 1 USB device number 4 using tegra-xusb
逆にUSB high-speed で接続されている場合、次のようなログが出力されます。この場合、GMSL2-USB3.0 変換キットは UVC ビデオデバイスとして認識されません。
[ xxx.xxxxxx] usb 1-1: new high-speed USB device number 6 using tegra-xusb
参考
Windowsと接続している場合、USB Device Tree ViewerのようなツールでUSBの接続状態を確認できます。
1.5.2. デバイスを選択しても画像が表示されない場合#
リセットボタンを押して画像を表示してみてください。
Fakra ケーブルが正しく接続されていることを確認してください。
ご使用のアプリケーションがUYVYカラーフォーマットに対応しているかご確認ください。
書き込まれたファームウェアが現在接続されているカメラと互換性があることを確認してください。
書き込まれたファームウェアが意図したモードであることを確認してください。C1カメラのフリーランモードではカメラは内部生成された同期信号に従って動作しますが、トリガーモードではIOポートに指定された信号が入力されないと画像が出力されません。
1.6. カメラモードを変更する#
警告
このセクションではキットのファームウェアを書き換えます。現在使用中のモードで操作したい場合は、この手順を実行しないでください。
本手順でカメラの動作モードを変更できます。一度変更したモードは電源を切っても戻りません。元の状態に戻すには、再度ファームウェアを書き換える必要があります。
本手順には Windows 環境が必要です。以下の手順は、Windows 10 におけるセットアップ手順を使用して説明します。
1.6.1. Cypressドライバーのインストール#
注釈
Driverのインストールは初期のみ必要です。
インストール中に.NET frameworkのインストールを求められる場合があります。インストールを求められた場合はインストールして下さい。
以下のリンクからドライバーファイルをダウンロードしてください。
1.6.1.1. ステップ 1: FW アップデートモードの選択#
モードスイッチを右側に倒し「FWアップデートモード」に切り替えます
1.6.1.2. ステップ 2: デバイスを接続する#
キットを USB 端子に接続し、デバイス マネージャーを開いて、「WestBridge」という名前のデバイスが表示されていることを確認してください。
1.6.1.3. ステップ 3: 「ドライバーの更新(P)」を選択します。#
WestBridge を選択し、右クリックして「ドライバーの更新(P)」を選択してください。
1.6.1.4. ステップ 4: コンピューターでドライバーを参照する#
「コンピューターを参照してドライバー ソフトウェアを検索する」を選択します。次に、使用しているオペレーティング システムに対応するドライバー ファイルを選択します。 「ドライバーは正常に更新されました」と表示されればインストールは完了です。
![cx3_dev_3] ](./images/usbkit/cx3_dev_5.png)
1.6.1.5. ステップ 5: 変換キットをリセットする#
リセットボタンを押すか、USBを抜き差ししてリセットしてください。次に、「ユニバーサル シリアル バス コントローラー」の下に「Cypress FX3 USB BootLoader Device」が表示されていることを確認します。表示されれば準備完了です。
1.6.2. ファームウェアの書き込み#
1.6.2.1. ステップ 1: FW アップデートモードの選択#
モードスイッチを右側に倒し「FWアップデートモード」に切り替えます
1.6.2.2. ステップ 2: デバイスを接続する#
USB ポートに端子を挿入すると、デバイス マネージャーのリストに新しいデバイス「Cypress FX3 USB BootLoader」が表示されます。
1.6.2.3. ステップ 3: 「UpdateProgram」ディレクトリを開き、FW アップデート ツールを起動します。#
「UpdateProgram」を解凍し、Update Program ディレクトリを開きます。次に、「CyControl.exe」を実行します。
1.6.2.4. ステップ 4: SPI フラッシュを選択する#
メニューで SPI_Flash を選択します (プログラム > FX3 > SPI_FLASH)。
1.6.2.5. ステップ 5: 画像ファイルを選択する#
使用したいモードに対応するファイルを選択してください
1.6.2.6. ステップ 6: プログラミングが成功するまで待ちます#
表示が「Programming of SPI_FLASH in Progress...」から「Programming of SPI_FLASH Succeeded.」に変わるまでお待ちください。
警告
書き込み中はケーブルを抜いたり、電源を切ったりしないでください。
1.6.2.7. ステップ 7: 変換キットをリセットする#
USB変換キットのモードスイッチを左(通常動作)にスライドさせ、リセットスイッチを押します。
1.6.2.8. ステップ 8: ファームウェアのバージョンを確認する#
デバイスマネージャーの「カメラ」に「GMSL2-USB3.0変換キット」があることを確認してください。また、デバイスのプロパティからもモードが変更されたことが確認できます。これでモード変更は完了です。