2 Replies Latest reply on Jun 11, 2019 1:04 AM by user_58014

    コントロール転送(ベンダーリクエスト)後のバルク転送について

    user_58014

      ご担当者様

       

      お世話になっています、芝電子システムズ 前澤です。

       

      以前お問い合わせさせて頂いた件ですが、引き続きご対応をお願い致します。

       

      前回お問い合わせ時に下記内容のご連絡を頂きましたので、ケーブル長につきまして確認した結果をご連絡致します。

       

      --------------------------------------------------------------

       

      データを取得していただき、そしてUSBD_STATUS_XACT_ERRORが発行されているということを確認いただきありがとうございます。

       

       

      USBD_STATUS_XACT_ERRORは、

      1. CRC error

      2. Bad USB PID

      3. Time out

      の場合に発生するとされています。

      上記の問題が起こる原因として、電気的な問題が考えられます。

      つまりはUSB SuperSpeedラインのレイアウト設計のissue、または単純にUSBケーブルが長い可能性が考えられます。

      問題が起こる場合と起こらない場合があることからも、この可能性が高いのではないかと推察します。

       

       

      ホストと接続するUSBケーブルの長さはどうなっていますか?短いケーブルを使用して動作検証していただくことは可能でしょうか?

       

      --------------------------------------------------------------

       

      -----------以下結果ーーーーーーーーーーーー

       

      ケーブル長についてですが、2mと1mのケーブルでも現象は発生しています。

      Bulk転送のみのヒートランを実施しておりますが、それについては24時間以上問題なく動作しているため、ケーブルの問題ではないと考えております。

       

       

      弊社の評価ソフトは、元々Cypress社様の評価ツールに機能追加したもので、機能追加する前の元々のCypressのツールである、EZ-USB FX3

      SUPERSPEED EXPLORER KIT で BulkLoopのプログラムとUSB Control Center

      を使用して動作を確認したところ、同様の現象が発生しております。

      ファイル【アナライザログ.xlsx】を添付します。

      添付ファイル【アナライザログ】の330行目にマークしていますBulkOut時の転送では、アプリケーション側で正常なパケットが送信されていないことが原因と解釈します。

      これを見るとFX3にデータが送信されていないと考えられますが、いかがでしょうか。

       

      ーーーーーーーーーーーここまでーーーーーーーーーーーー

       

      以上、よろしくお願い致します。

        • 1. Re: コントロール転送(ベンダーリクエスト)後のバルク転送について
          HirotakaT_91

          芝電子システムズ 前澤様

           

          Excelに貼られたログ情報では詳しくはわかりませんが、Control Centerの表示から、FX3にデータが送信されていないことはわかりました。

           

          今回いただいた内容は、以下の流れと認識しています。

          1. Bulk OUTを実行

          2. CLEAR_FEATUREを転送

          3. Bulk OUTを実行

           

          上記行程で、CLEAR_FEATURE後のBulk OUTが成功しないのは、データトグルビットが反転することが原因です。

          USBBulkLoopAuto FW exampleですと、360行目でCyU3PUsbStall()をコールしており、これの第三引数がtoggle bitです。

          デフォルトのファームウェアだとこれがCyTrueになっており、ビットが反転します。そのため、連続して2つ同一のデータトグルでOUT転送がされてしまい、Errorが返ります。

           

          対策としては、第三引数をCyFalseにするのが早い解決策です。(引数を変更して試した図が以下の通りです。)

           

          NOTE: 元の質問 コントロール転送(ベンダーリクエスト)後のバルク転送について

           

          Regards,

          Hirotaka Takayama

          • 2. Re: コントロール転送(ベンダーリクエスト)後のバルク転送について
            user_58014

            Cypress

             Takayama 様

             

            御世話になっています、

            芝電子システムズ 前澤です。

             

            お忙しいところご回答ありがとうございます。

            お客様に連絡しまして確認して頂きます。

             

            再度お問い合わせがありましたらご連絡させて頂きますので、

            ご対応よろしくお願い致します。

             

            以上、よろしくお願い致します。

             

             

            Hirotaka Takayama 様は書かれました。

            >Hirotaka Takayama  replied to the discussion

            >"コントロール転送(ベンダーリクエスト)後のバルク転送について"

            >

            >To view the discussion, visit: https://community.cypress.com/message/198562?et=watches.email.thread#198562

            >

            >