USB通信について

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

cross mob
YaNi_3193241
Level 5
Level 5
Distributor - TED (Japan)
100 sign-ins 10 likes received 10 likes given

マイコン形式:MB9BF516NPMC-G-JNE2(CY9BF516NPMC-G-JNE2

【経緯】
マイコンを搭載した基板(デバイス)とパソコンのアプリケーション(ホスト)でUSB通信をしておりますが、
基板からパソコンにデータを送信(ホストからのIN方向)するときに
20
回に1回程度の確率で異常な通信データが送信されます。

調査していくと、送信が連続失敗し、次送信で成功したときに異常なデータ

(
前回の送信失敗データと今回の正常データが混じったデータが送信)

が送信されており、送信バッファの処理に問題があるのではないかと考えております。

【質問1】
ペリフェラルマニュアルにエンドポイントの送受信バッファの初期化をするためには

EPxS->EPx->BFINI
ビットを立てるとありますが、

注意事項としてDRQビットが1かつBUSYビットが0であることを確認した後に

STAL
ビットを立てて初期化を行うよう注意書きがあります。


上記を守らない場合、どのような影響が考えられますでしょうか。
送信バッファが初期化されない以外に異常データが保存される等考えられますでしょうか。

【質問2】
現在、データ送信時に定周期で監視し、一定時間を越えたら
送信を中断し、送受信バッファ初期化処理を行うようシーケンスを組んでおります。

送受信バッファの初期化は送信を中断するときにも行ってよいものでしょうか。
もしくはUSB通信初期化時のみに使用するものなのでしょうか。
もし、初期化時のみの場合は、送信がなかなか完了しない場合も中断せずに完了するまで通信を試みるのでしょうか。

【質問3】

STAL
ビットはどのようなときに立てるものなのでしょうか。



EP0S
では送信バッファ初期化時に、必要に応じて立てるような記載があり、

EP1S
~EP5Sでは送受信バッファ初期化時にSTALビットを立ててから行うように記載があります。



【質問4】
マニュアルにCPU転送時制御例のフローに”FIFOへのデータ書き込み処理”とありますが、
これは送受信バッファのことを指していると解釈してよろしいでしょうか。


0 件の賞賛
1 解決策
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

ご連絡が遅くなり、申し訳ございません。

【回答1】送受信バッファ初期化の際に正しい手続きを行わない場合、送受信バッファは不定なります。

正しい手順に従って初期化を行ってください。

【回答2】送信を中止した後に送受信バッファを初期化することは問題ございません。

その際には正しい手順に従って初期化してください。

【回答3】32 ビット・マイクロコントローラ FM3 Peripheral Manual 通信マクロ編

https://www.cypress.com/file/211496/download

CHAPTER 3-1: USB デバイス (USB ファンクション)

3.8. エンドポイント0 のSTALL 応答/解除

3.9. エンドポイント1~5 のSTALL 応答/解除

を参照ください。

【回答4】ご認識の通りです。

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

ご連絡が遅くなり、申し訳ございません。

【回答1】送受信バッファ初期化の際に正しい手続きを行わない場合、送受信バッファは不定なります。

正しい手順に従って初期化を行ってください。

【回答2】送信を中止した後に送受信バッファを初期化することは問題ございません。

その際には正しい手順に従って初期化してください。

【回答3】32 ビット・マイクロコントローラ FM3 Peripheral Manual 通信マクロ編

https://www.cypress.com/file/211496/download

CHAPTER 3-1: USB デバイス (USB ファンクション)

3.8. エンドポイント0 のSTALL 応答/解除

3.9. エンドポイント1~5 のSTALL 応答/解除

を参照ください。

【回答4】ご認識の通りです。

0 件の賞賛
YaNi_3193241
Level 5
Level 5
Distributor - TED (Japan)
100 sign-ins 10 likes received 10 likes given

ご連絡ありがとうございます。

お客様に回答させていただきましたので追加質問がありましたら再度連絡させていただきます。

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

0 件の賞賛