
Contents UM2195
2/43 UM2195 Rev 1
Contents
1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Acronyms and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Introduction to STM32Cube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 USB audio streaming overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 Protocol overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 USB audio function description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Data flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 USB audio streaming expansion architecture . . . . . . . . . . . . . . . . . . . 17
3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Expansion global architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4 Detailed architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Buffer model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6 Hardware related components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 USB audio streaming expansion for STM32Cube™
library programming guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1 Expansion examples initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 USBD-Audio 10 class interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 Common USB streaming structures and session structure . . . . . . . . . . . 28
4.3.1 Generic node structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.2 USB input/output node structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.3 USB feature unit node structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.4 Speaker node structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.5 Microphone node structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4 Compilation and user flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5 Example description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.1 STM32446E-EVAL board standalone playback example . . . . . . . . . . . . . 35