現在の設定では、ボードはデバイス/ガジェットモードにあり、ホストに接続しています。 USBデバイスはサスペンドシグナリングを駆動できないことに注意してください。ホストによって開始されるはずです。
USB 2.0デバイスのためのサスペンド処理 -
1 - USBホストに送信するデータがないと、現在の送信SOFは
2フレーム - ホストSWはU3 /サスペンド設定することにより、デバイスを中断USBデバイスがSOFのないバスでアイドル状態になっています
4 - 約3 ms後、デバイスのハードウェアは、終端をグランドに接続せずにサスペンドし、内部プルアップ・レジスタ
5 - 次に、デバイスは回線をポーリングして、ホストが終端を削除したかどうかを確認します。
6 -
1 - - USBホストは、送信するデータがないホストが終了を取り除いているので、デバイスは、USB 3.0デバイスのために一時停止の
プロセスを中断することになります
2 - ホストSWは、XHCIコントローラでU3を設定してデバイスをサスペンドします。
3 - ホストがサスペンドシグナリングを開始するLGO_U3リンクコマンドの送信を開始します。
4 - デバイスはLGO_U3コマンドを受信した後、それを認識し、そう結論で、USBデバイスからあなたが中断シグナリングを開始することはできません
を中断開始します。デバイススタックの内部状態のみを設定できます。
EDIT 1 - このサスペンドのプロセスは、USB 2.0 /高速デバイス向けです。あなたのボードがSSポートを介してホストに接続された超スピード/ USB 3.0デバイスである場合、プロセスはリンクレベルで少し異なりますが、ユーザーの観点からは違いはありません。
EDIT 2 - USB 2.0およびUSb 3.0デバイスのサスペンドプロセスの回答を更新しました
返信いただきありがとうございますShaibal。つまり、コントローラを設定する必要はありません。それは単独でサスペンド信号を生成しますか?はいの場合、特定のレジスタビットは3msec後に設定されますか?またはISRが実行されますか? – user3267021
コントローラはデバイスモードで動作しています。 DWCコントローラは、ホストモードとデバイスモードで動作します。デバイスモードで動作しているときは、信号はドライブされません。サスペンド信号は、ボードを接続したホストから来たものとします。そして、サスペンド後、はい、あなたのコントローラーでPORTSCがU3に設定され、そのためにイベント/割り込みが送られます。 ISRが実行されます。 – Shaibal
ありがとうございました。最後の質問ですが、このISRが実行される情報はどこにありますか?または、割り込みやイベントが発生したときにコードのどの部分が実行されますか? – user3267021