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

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
user_58014
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

ご担当者様

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

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

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

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

データを取得していただき、そして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にデータが送信されていないと考えられますが、いかがでしょうか。

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

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

0 件の賞賛
1 解決策
HirotakaT_91
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

芝電子システムズ 前澤様

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にするのが早い解決策です。(引数を変更して試した図が以下の通りです。)

pastedImage_3.png

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

Regards,

Hirotaka Takayama

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
HirotakaT_91
Moderator
Moderator
Moderator
500 replies posted 250 replies posted 100 replies posted

芝電子システムズ 前澤様

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にするのが早い解決策です。(引数を変更して試した図が以下の通りです。)

pastedImage_3.png

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

Regards,

Hirotaka Takayama

0 件の賞賛

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

>

>

0 件の賞賛