DualSenseをつないで動かすとUSBエラーが多発する問題に悩まされているので、まずはUSBの動作タイミングをロジアナを使って確認してみました。具体的には、SOFで割り込みがかかった時に、GPIOのピンを反転させることで、SOF割り込みのタイミングを検出。その後、AudioクラスでのISOCフレームの送信開始処理並びに終了検出ができた時点で、別のピンを上げ下げします。HIDクラスでも同様に別のピンを上げ下げすることで、処理が間に合っているかどうかを確認してみました。
High speedでつなげているので、SOFは125μsec周期で発生します。AUDIOクラスでのIsoc転送並びにHIDクラスのInterrupt転送は1ms周期で発生しています。拡大してみると。。。

125μsecの間に、Isoc転送とInterrupt転送が完了していることがわかります。HIDの転送は2つの部分に分かれていますが、これは送信と受信の両方を行なっているためです。また、Isoc転送とInttertup転送の最初の部分が時間的には重なっていますが、これはAudioクラスとHIDクラスのソフトウェア処理が別のタスクにより実行されているために並行処理されているためです。ハードウェア的には、Isoc転送が完了してからIntterrupt転送が実行されています。 このように処理時間的には、間に合っていると判断できます。仮に処理開始が遅くなる場合が発生したとしても、常にIsoc転送の方が先に実行されているので、HID処理が間に合わなくなることがあってもAudio送信には問題は発生しそうもないのですが、実際にはひどく音がぶつぶつと切れてしまいます。
STM32H7B3のUSBは、High speedだけでなくFull speed動作にも設定できるので、Full speedでの動作も試してみました。