Thursday , September 5 2019
Home / Test Tool / Embedded host TestとTEST MODEについて

Embedded host TestとTEST MODEについて

High-Speed Embedded host機器を開発している会社より時々問い合わせのある、High-Speed Embedded hostにて必要なTEST MODEについてお話します。※Embedded hostとは、限定的な機能を持つホストの事です。
例としては、大きなプリンタなどに搭載していることがあるUSBメモリ専用のUSBホストや、カーナビなどに搭載している事があるUSBメモリや音楽プレイヤー専用のUSBホストの事です。TEST MODEはFull-Speed以下の対応である場合には必要ありません。

■TEST MODEを使用して行う試験について

Embedded hostの認証試験において、いくつかの電気試験がありますが、その中で、Test_J、Test_K、 Test_SE0_NAK、 Test_Packet、 HS_HOST_PORT_SUSPEND_RESUME(Suspendに非対応であれば不要)という試験があります。これらの試験は、Windows搭載のHOSTならばほとんどの場合、USB-IFの配布するツールを使用してテストするので問題がありません。しかしWindows以外のOSを搭載している場合は、USB-IFの配布するツールが使用できません。代わりに被試験機材がTEST MODEに対応していなければテストをする事ができませんので、上記のテスト項目が動作するように対応して頂く必要があります。通常認証の取れているUSBホストコントローラを使用した場合には、そのUSBホストコントローラーがTEST MODEをもっていると思います。被試験機材の内部ソフトを作り込み、TEST MODEを使用できるようにすれば上記テストはテスト可能となります。USBホストコントローラのTEST MODEの詳しい設定方法は、USBホストコントローラーのベンダー様にご確認頂きますようお願い致します。

USBホストコントローラがTEST MODEに対応していた場合、TEST MODEに移行する方法には2つの方法があります。

  1. 被試験機材の操作をする事によってTEST MODEを選択して実行させる方法です。
    この場合は被試験機材に、TEST MODEが動作するように作り込む必要があります。
    液晶のタッチパネルから操作したり、ボタン操作にて実施するなど、TEST MODEに移行する方法や操作する方法には規定がありません。操作をすれば各TEST MODEに移行するように作り込んでもらえれば良いだけです。
    TEST MODEは被試験機材を通常使用する場合必要がないので、特殊な操作によってTEST MODEに移行する事がほとんどです。
  2. 弊社のFIXTUREを使用する方法です。
    TEST MODEに使用されるVID/PIDとそれに対応するTEST MODEの記載がOn-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification (USB_OTG_and_EH_2-0-version 1_1a.pdf)にあります(このファイルはUSB2.0のスペックファイル群の中にあります)。弊社のFIXTUREにはダイヤルが設置されていて、ダイヤルを回す事により簡単にTEST MODE用のVID,PIDをFIXTUREに設定する事ができます。この設定を行ったFIXTUREを被試験機材に接続した際、被試験機材はその特定のVID、PIDを判断し、内部のソフトウェアにより該当するTEST MODEに移行するように、内部のソフトウェアを作り込みをしてもらえれば、弊社のFIXTUREを使用して簡単にTEST MODEに移行する事ができます。

 

弊社FIXTUREが設定するVIDとPIDです。

TEST MODE VID PID
Test_SE0_NAK 0x1A0A 0x0101
Test_J 0x1A0A 0x0102
Test_K 0x1A0A 0x0103
Test_Packet 0x1A0A 0x0104
HS_Host_Port_Suspend_Resume 0x1A0A 0x0106

1と2のどちらを採用するにしても、被試験機材の内部ソフトウェアにてTEST MODEに移行するように作り込む必要があります。
どちらを採用するかは、被試験会社の選択にまかされています。

■TEST MODEについて

  • Test_J
    Test_Jコマンドで、ポートのトランシーバーはHigh Speed J状態に入り、テストが終了するまでそのモードを維持する必要があります。この際D-は、-20mVから+20mVである必要があり、D+は360mVから440mVである必要があります(Test_JにおけるD+はこの範囲を逸脱してもTest_Jの結果がFAILとなることはありません。しかしD+の値が低くTest_J MODEに入っていると判断できない場合には、FAILとなる事があります。)
  • Test_K
    Test_Kコマンドで、ポートのトランシーバーはHigh Speed K状態に入り、終了するまでそのモードを維持する必要があります。この際D+は、-20mVから+20mVである必要があり、D-は360mVから440mVである必要があります(Test_KにおけるD-はこの範囲を逸脱してもTest_Kの結果がFAILとなることはありません。しかしD-の値が低くTest_K MODEに入っていると判断できない場合には、FAILとなる事があります。)
  • Test_SE0_NAK
    SE0_NAKコマンドで、ポートのトランシーバーはHigh Speed受信モードに入り、終了するまでそのモードを維持する必要があります。この際D+とD-は、-20mVから+20mVである必要があります。
  • Test_Packet
    Test_Packetコマンドで、テストが終了するまでポートはテストパケットを繰り返し転送しなければなりません。繰り返し転送されるテストパケットの内一つをキャプチャーして、立ち上がり・立ち下がり時間やアイパターン、ジッター、およびその他波形の仕様をテストします。

テストパケットは、文字列を連結することによって構成されています。(注記:J/K NRZIデータとNRZデータの場合、左のビットは伝送された最初の1ビット目である。”S”はビットスタッフィングを発生、”余分な”NRZIデータビットを挿入することを示す。”N”はビットまたはシンボルのストリングをN回発生することを示すために使用されています。詳しくは以下のUSB2.0仕様の中に書かれておりますのでご参照ください。

https://www.usb.org/document-library/usb-20-specification
上記よりUSB2.0のファイル群をダウンロードしていただき、その中でusb_2.0.pdfというファイルがUSB2.0の仕様となります。


そのUSB2.0仕様の7.1.20 Test Mode Supportという章があり、そこにTest_Packetの詳細が書かれておりますので、作り込む際の参考としていただければと思います。

  • SUSPEND(対応する場合)
    USBポートのSUSPENDに関する項目を測定します。被試験機材本体のSUSPENDではありません。SUSPEND状態からRESUMEするまでの時間や、SUSPEND状態からRESETした場合の時間などを測定します。Embedded hostの場合は、SUSPEND非対応が多いです。

■USB-IFサイトのTEST MODEについてのドキュメントについて

※上記ファイルはUSB-IFサイトにてどなたでも検索してみることができるようになっています。www.usb.orgサイトに接続後、「Document Library」というメニューをクリックすると、サイトにあるドキュメントを検索する画面が出てきます。
「SEARCH」の欄に「Embedded」と入力してもらい、赤いSearchボタンを押下していただければ、検索する事ができます。

■最後に

上記の資料の他、USB-IFサイトのDocument Libraryでは、登録していなくてもさまざまな参考資料がダウンロードできます。

USB-IFのサイトに接続していただき、上部メニューの「Document Library」をクリックすると、上図のようなDocument Libraryの検索画面が表示されます。

SEARCHに検索したい語句を入力していただき、右下の赤い「Search」ボタンを押下すると、ヒットした一覧が下の方に表示されます。そこから必要なものを選んでいただきダウンロードする事ができます。

USB機器を開発する上で、いろいろと参考になるファイルが沢山あると思いますので、関心のある人はぜひ一度覗いてみると良いかもしれません。

<参考元>

USB-IF: https://www.usb.org/

Check Also

USB SuperSpeed Compound Device測定の注意点

USBデバイスの中には、デバイ

Leave a Reply