UM0721 - STM32F105xx and STM32F107xx USB on-the-go (OTG) FS library.pdf
(
909 KB
)
Pobierz
STM32F105xx and STM32F107xx USB on-the-go (OTG) FS library
UM0721
User manual
STM32F105xx and STM32F107xx USB on-the-go (OTG) FS library
Introduction
The USB OTG FS library is a firmware package supporting the USB on-the-go (OTG) full-
speed (FS) peripheral of the STM32F105xx and STM32F107xx connectivity line
microcontrollers. It provides a low-level driver to easily connect any USB stack, plus a rich
set of demonstrations available in binary format.
This user manual presents a description of all the components of the
STM32F105xx/STM32F107xx USB OTG FS library:
●
USB OTG FS Core
●
Low-level driver
Host device and OTG - DRD (dual role device) demonstrations
June 2009
Doc ID 15857 Rev 1
1/35
www.st.com
Contents
UM0721
Contents
1
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2
Related documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3
USB OTG FS overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1
Session request protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2
Host negotiation protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3
OTG descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4
SetFeature command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.5
OTG device state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4
STM32F105xx/STM32F107xx USB OTG FS interface . . . . . . . . . . . . . . 12
4.1
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2
USB hardware connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5
USB OTG FS low-level driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1
Driver architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.1
Core interface layer (CIL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.2
Peripheral controller driver (PCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.3
Host controller driver (HCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.4
OTG controller driver (OTG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2
OTG controller configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3
Driver interfacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4
Driver integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5
Core initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5.1
Common initialization: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5.2
Device initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.5.3
Host initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.5.4
Device programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.5.5
Host programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.5.6
OTG programming model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6
USB OTG FS demonstration description . . . . . . . . . . . . . . . . . . . . . . . 23
2/35
Doc ID 15857 Rev 1
UM0721
Contents
6.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.1.1
Hardware requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.1.2
Jumper settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2
Firmware architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.3
USB Device mode demonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.4
USB Host mode demonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.5
USB OTG dual role device demonstration . . . . . . . . . . . . . . . . . . . . . . . . 29
6.5.1
Hardware configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.5.2
HyperTerminal settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.5.3
Demo description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.5.4
Starting SRP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.5.5
Starting HNP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7
USB OTG FS demonstration package . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Doc ID 15857 Rev 1
3/35
List of tables
UM0721
List of tables
Table 1.
List of acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Table 2.
OTG descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 3.
SetFeature command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 4.
Feature selector values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Table 5.
Required jumper configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Table 6.
Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4/35
Doc ID 15857 Rev 1
UM0721
List of figures
List of figures
Figure 1. B-Device state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 2. A-Device state machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 3. USB OTG FS interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figure 4. USB device mode connection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figure 5. USB host mode connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Figure 6. Driver architecture overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Figure 7. Driver file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Figure 8. STM3210C-EVAL board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figure 9. Demo firmware layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figure 10. USB Device mass storage demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 11. USB Device HID demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Figure 12. USB Host mass storage demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figure 13. USB Host HID host demonstration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figure 14. USB Host mass storage with audio support demonstration . . . . . . . . . . . . . . . . . . . . . . . . 28
Figure 15. Dual role device hardware configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 16. SRP start menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 17. SRP host mode menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 18. USB OTG demonstration package directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Doc ID 15857 Rev 1
5/35
Plik z chomika:
kaczor1000
Inne pliki z tego folderu:
um0685.zip
(1691 KB)
UM0585 - STM32F10xxx DSP library.pdf
(187 KB)
um0585.zip
(1391 KB)
UM0549 - STM3210E-EVAL demonstration software.pdf
(1163 KB)
UM0721 - STM32F105xx and STM32F107xx USB on-the-go (OTG) FS library.pdf
(909 KB)
Inne foldery tego chomika:
[KURS] EdW - Mikrokontrolery z rdzeniem ARM
Dokumenty
LIB
Noty Aplikacyjne
Noty Katalogowe
Zgłoś jeśli
naruszono regulamin