Skip to content

GMSL2-USB 3.0 Conversion Kit User Manual#

TIER IV GMSL2-USB3.0 変換キットを利用するユーザーに向けたマニュアルです。 本マニュアルにて解決しなかった質問、問題については購入した代理店もしくはTIER IVのサポートまでお問い合わせください。

usbkit

Release Note#

Date Description
Feb. 7, 2023. Publication of the first edition

Introduction#

GMSL2-USB3.0 変換キットは MAXIM 社の GMSL2 インタフェースを搭載したカメラである TIER IV Automotive HDR Camera C1/C2 (以下、C1, C2カメラ)を USB Type-C(3.0) で接続し UVC で映像を取得できるキットです。 GMSL2 インタフェースを搭載しないコンピュータにおいてもC1, C2 カメラをアプリケーションに利用いただけます。

Interface description#

product_outline

Camera Interface#

キットには Fakra プラグ(Rosenburger 59S22B-40MT5-C, C Code Blue)が搭載されています。 カメラとキットとの接続インタフェースは Fakra プラグ(C Code Blue)が搭載された 50-ohm の同軸ケーブルで接続します。

USB Type-C Interface#

キットとホストとの接続インタフェースはUSB3.0 Super Speed 以上に対応したUSB Type-C規格で接続します。 ネジ止め付きの USB Type-C 端子を利用できます。

IO Port embedded RITS 4P connector#

このインタフェースはカメラへ入力する FSYNC 信号と、外部からの電源入力用です。 Free-runモードで利用する場合や、USBバスからの電源供給が十分な場合には本ポートは利用しません。各モードについてはFirmware Listを参照してください。 キット側は 4-P RITS Board Mount Header(TE Connectivity 156994-4)を利用しており、 対向のケーブルに利用できる端子は x-1473562-4 となります。 このポートを利用して FSYNC 入力による映像取得(Triggerモードでの駆動)を行いたい場合は、当該端子が接続されたケーブルを各自でご準備ください。

各ピンの仕様を下記に示します。 FSYNC利用時には入力する電圧、電流に注意の上、ご使用ください。

ext_io_port

Port Name Description
1 External power supply Supply voltage range: 9V ~ 12V( for C1/C2 Camera), Supply current required: > 1A. Note: This is an alternative option to supply power to camera externally when USB host can not provide enough power.
2 GND
3 GND
4 External FSYNC signal input (only for camera Trigger mode) FSYNC can support with external output driving type for Push-pull or Open-Drain.

If FSYNC pair with external output driving of Push-Pull type: The input signal voltate: High level: 1.8V ~ 24V, and Low Level: < 0.2V.

If FSYNC pair with external output driving of Open-Drain type: Because the FSYNC internal has build-in a Pull-Up register, so external open-drain dricing do not need pull-up. The require of external device driving: The driving Low sink current : > 1mA, and Low Level: < 0.2V.

FSYNC Frequency: Depend on camera module frame rate support, such as <=30Hz for C1 camera, Fixed 10Hz C2 Camera.

FSYNC signal high level pulse width(T-pulse): 1ms < T-pulse < 30ms

Reset Button#

Reset Button を押すことで変換キットの動作をリセットできます。リセット後は映像取得が自動で再開されます。

Operation Mode Switch#

変換キットの動作モードをスライドスイッチで変更できます。 左へスライドするとUVCカメラとして映像を取得する際のモード、右にスライドするとファームウェアのアップデート時のモードとなります。

mode_sw


How to use#

本キット購入直後は C1 の Free-run モード(Freerun, 30FPS)に設定されております。 このモードで利用する場合は次の Free-run mode の手順に沿って実行してください。 他のモードで動作させる場合はFirmware Listと Change the mode の項を参照してファームウェアを変更してください。

Firmware List#

Camera mode Description Image file
C1 Free-run mode (default mode) for C1 camera, Freerun, 30FPS C1_Free-run_v1.10a.img
C1 Trigger mode for C1 camera, fsync trigger from IO port C1_Trigger_v1.00b.img
C2 Free-run mode for C2 Camera, Freerun, 10FPS C2_Free-run_v1.00c.img
C2 Trigger mode for C2 Camera, fsync trigger from IO port C2_Trigger_v1.00d.img

Free-run mode#

下図に示すように接続します。 connect

Fakra ケーブルで変換キットとカメラを接続した後、 USB ケーブルで変換キットとホストを接続してください。 順序を逆に行ってしまった場合(USB ケーブルでホストと接続したあとにカメラを接続した場合)、 Reset Buttonを押しリセットする必要があります。

この変換キットは USB で接続することで UVC カメラデバイスとして認識されます。 UVC カメラとして利用するためにドライバのインストールは必要ありません。 接続後はカメラを利用するアプリケーションから当該デバイスを選択して利用してください。

カメラデバイスが見つからない場合、デバイスは見つかるが正常な映像が映らない場合はTrouble Shootingの項目に沿ってご確認ください。

Trigger mode#

Free-run mode と同様にカメラ - 本キット - ホストを接続します。それに加えて、RITS コネクタに対応したケーブル(下図参考)を本キットに接続し、GPIO 等でトリガ信号を送信してください。 コネクタ形状、送信する信号については必ずIO Port embedded RITS 4P connectorのセクションを参照して用意してください。 また、予めファームウェアを書き換えてモードを変更しておく必要があることにご注意ください。

connect

C1 カメラではトリガ信号を送信したタイミングに応じてシャッターが開き(露光を開始)、ISPで設定される露光時間後にシャッターが閉じます(露光を終了)。 C2 カメラについてはサポートへとご相談ください。

上述のトリガ信号によるシャッタータイミングの制御以外の利用方法は Free-run modeの場合と同様です。

Usage examples in applications#

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 Conversion Kit と表示されている項目を探していただき、その上側のデバイス、 /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

また、このときにframerateを10/20/30fpsの3パターンで設定可能です。 framerateを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

ROS2#

usb_cam ノードと、v4l2 camera ノードの 2 種類での利用方法を説明します。 Galactic のディストリビューションを対象としたノードで説明をしますが、UVC で UYVY カラーフォーマットに対応したノードであれば映像が取得可能です。

事前に ROS2 Galactic を公式ページ等を参考にインストールしてください。

usb_cam node#

usb_cam node について下記レポジトリより clone、ビルドしてください。 ビルド手順については当該レポジトリの README を参照してください

usb_cam node repository: 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
v4l2_camera#

v4l2_camera node について下記レポジトリより clone、ビルドしてください。 ビルド手順については README を参照してください。

v4l2_camera node repository: 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]

Trouble shooting#

画像が取得できない場合は下記内容を参考にご確認ください。 解決できない場合は購入した代理店もしくはTIER IVのサポートまで問い合わせください。

アプリケーションからデバイスが見つからない場合#

  • ModeSwitch が左側にスライドされていることを確認してください
  • Reset Buttonを押下し、デバイスが表示されるかご確認ください。
  • USB ケーブルの接続先ポートを変更しデバイスが表示されるかご確認ください。
  • USB ケーブルが USB3.0 Super Speed 以上に対応したものであることをご確認ください。ケーブルの相性の問題が発生する可能性もありますので、仕様を満たしているもので問題が解決しない場合は別のケーブルもお試しください。

デバイスを選択しても映像が表示されない場合#

  • Reset Buttonを押下し、再度映像表示をお試しください。
  • Fakra ケーブルが正しく接続されているか確認ください。
  • 利用しているアプリケーションにおいて UYVY のカラーフォーマットに対応しているかご確認ください。
  • 書き込まれているファームウェアが現在接続しているカメラに対応しているものであることを確認ください
  • 書き込まれているファームウェアが想定してるモードであることを確認してください。Free-run mode であれば freerun(Quickstart の手順のみ)で動作しますが、Trigger mode であれば IO port に指定の信号を入力されないと撮像されません。

Change the camera mode#

Warning

本手順は利用するカメラの変更、モードの変更時以外は実施しないでください。

本手順を実施することで本キットのファームウェアを変更し、変更後のファームウェアに対応するカメラの動作モードにて映像を取得できるようになります。 一度変更すると電源 ON/OFF でモードが戻ることはありません。 元の状態に戻すためには再度ファームウェアを書き換える必要があります。

本手順の実施にはWindows環境が必要です。 また、以降の手順は Windows 10 でのセットアップを例に説明します。

Cypress driver installation (only for first time)#

Note

本手順は初回のみ必要です。

ドライバファイルは下記リンクよりダウンロードください。

CX3Update

Step 1: FW update mode selection#

モードスイッチを右にスライドして FW update mode にします。

mode_sw

Step 2: Connect the device#

本キットを USBケーブル でPCに接続し、 デバイスマネージャ を開いて、WestBridge という名前のデバイスが表示されることを確認してください。

cx3_dev_1

Step 3: Select "Update Driver(P)"#

WestBridge を選択して右クリックし、ドライバーの更新/Update Driver(P) を選択します。

cx3_dev_1

Step 4: Browse the driver in computer#

コンピュータを参照してドライバーを検索を選択します。 その後利用している OS に対応したドライバファイルを選択します。 ドライバーが正常に更新されました と出ればインストール完了です。

cx3_dev_3 cx3_dev_3 cx3_dev_3 cx3_dev_3

Step 5: Reset conversion kit#

Reset Buttonを押下もしくは USBケーブル の抜挿によってリセットし、デバイスが正常に認識されていることを確認します。 その後ユニバーサルシリアルバスコントローラーの項目に Cypress FX3 USB BootLoader Device が表示されることを確認してください。 表示されれば事前準備は完了です。

cx3_dev_3


Write firmware#

Step 1: FW update mode selection#

モードスイッチを右にスライドして FW update mode にします。

Step 2: Connect the device#

変換キットを USB ポートに接続し、デバイスマネージャーで Cypress FX3 USB Bootloader が表示されることを確認します。

firmware_1

Step 3: Open a UpdateProgram directory, and start FW update tool#

ダウンロードしたドライバファイルを解凍し、該当のフォルダを開いてください。 フォルダ内に CyControl.exe が存在するのでこちらを実行してください。

firmware_1

Step 4: Select a SPI Flash#

SPI_FLASH を選択します。 (Program > FX3 > SPI_FLASH)。

firmware_1

Step 5: Select a Image file#

変更したいモードにあったファイルを選択してください。 モードとファイルの対応はFirmware Listを参照してください。 firmware_1

Step 6: Wait for programming succeeded#

書き込み中表示(Programming of SPI_FLASH in Progress...)から書き込み完了表示(Programming of SPI_FLASH Succeeded)に変わるまでお待ち下さい。

Danger

書き込み中、絶対にケーブルを抜いたり電源を落としたりしないようにしてください。変換キットが破損する可能性があります。

firmware_1 firmware_1

Step 7: Reset conversion kit#

USB Conversion kit の ModeSwitch を左へスライド(Normal Operation)し、リセットスイッチを押下する。

Step 8: Check the firmware version#

デバイスマネージャーの「カメラ」に「GMSL2-USB3.0 Conversion Kit」があることを確認。 加えてデバイスのプロパティを確認すると変更したモードになっていることが確認できる。 以上でモード変更は完了です。 firmware_1 firmware_1