- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OTGIP设备库介绍(上)
OTG IP设备库介绍(上)
STM32_f105-07_f2_f4_usb-host-device_lib
STSW-STM32046 (UM1021)
FS HID Device
OTG IP设备库讲解要点
? 项目结构
? 库函数、USB库函数
? 类相关文件
? 应用相关文件
? 库代码结构
? 初始化
? USB中断处理流程
? 回调接口函数
? 枚举通信的代码流程
? 如何基于已有例程做自己的应用裁剪
2
STSW-STM32046库概览
? 主要特性
? 易于扩展以支持OTG功能
? 结构通用而简单易用
? 可添加用户特定类
? 支持复合设备应用
? 支持多个OTG IP同时工作 ? Dual core demo
3
STSW-STM32046库概览
? 主要特性
? 易于扩展以支持OTG功能
? 结构通用而简单易用
? 可添加用户特定类
? 支持复合设备应用
? 支持多个OTG IP同时工作 ? Dual core demo
4
项目结构
? 运行在STM324xG-EVAL板上的HID Device例程
5
应用相关
设备类相关功能
设备核心功能
内核底层驱动
7
usb_core.c
内核层,寄存器封装
Call them
内核底
层驱动
usb_dcd.c
设备接口层
usb_dcd_int.c
设备驱动中断子程序
USB OTG底层驱动文件
? 驱动文件架构概览
? 底层驱动文件
8
底层驱动:把OTG硬件模块
和上层协议栈联系起来
上层:Stack、上层软件
*.c *.h
USB OTG底层驱动文件.描述 9
角色 文件 描述
C
o
m
m
o
n
usb_core.c/.h 硬件抽象层,对OTG寄存器的封装
usb_conf_template.h
配置文件:发送、接收FIFO大小;模块角
色;所选的特性。
用户要把该文件拷贝到应用文件夹下,并根
据应用需要修改配置
usb_bsp_template.c/.h
模块底层配置:中断、GPIO…
用户要把该文件拷贝到应用文件夹下,并根
据应用需要修改配置
Host
usb_hcd.c/.h 主机接口层:stack使用它来访问内核
usb_hcd_int.c/.h 主机角色下的中断处理
Device
usb_dcd.c/.h 设备接口层:stack使用它来访问内核
usb_dcd_int.c/.h 设备角色下的中断处理
OTG usb_otg.c/.h
对SPR、HNP协议的实现,以及和OTG角
色相关的中断
USB OTG底层驱动文件.配置 10
2. USB OTG HS PHY配置
#ifndef USE_USB_OTG_HS
//#define USE_USB_OTG_HS
#endif /* USE_USB_OTG_HS */
#ifndef USE_ULPI_PHY
//#define USE_ULPI_PHY
#endif /* USE_ULPI_PHY */
#ifndef USE_EMBEDDED_PHY
//#define USE_EMBEDDED_PHY
#endif /* USE_EMBEDDED_PHY */
#ifdef USE_USB_OTG_HS
#define USB_OTG_HS_CORE
#endif
1. USB OTG FS PHY配置
#ifndef USE_USB_OTG_FS
//#define USE_USB_OTG_FS
#endif /* USE_USB_OTG_FS */
#ifdef USE_USB_OTG_FS
#define USB_OTG_FS_CORE
#endif
4. USB OTG HS FIFO配置
#ifdef USB_OTG_HS_CORE
#define RX_FIFO_HS_SIZE 512
#define TX0_FIFO_HS_SIZE 128
#define TX1_FIFO_HS_SIZE 372
#define USB_OTG_HS_LOW_PWR_MGMT_SUPPORT
// #define USB_OTG_HS_SOF_OUTPUT_ENABLED
// #define USB_OTG_INTERNAL_VBUS_ENABLED
#define USB_OTG_EXTERNAL_VBUS_ENABLED
文档评论(0)