2009年STMCU巡回演讲北京、深圳、上海、台北、青岛、重庆、南京、哈尔滨、武汉、福州、西安STM32USB详解STMicroelectronicsSept.14~25,20092内容一览USB协议简介STM32互联型产品OTG_FS控制器STMicroelectronicsSept.14~25,20093USB协议特性USB协议简介USB协议特性STM32互联型产品OTG_FS控制器STMicroelectronicsSept.14~25,20094USB协议特性简单易用使用统一制式的电缆和连接插座,支持热插拔。应用广泛支持从几kbps到几百Mbps的数据带宽,支持同步和异步的传输,支持连接多达127个设备,并支持复合设备。同步带宽提供保证的带宽和低延迟。使用灵活支持不同大小的数据包和各种传输速率。鲁棒性佳多种的错误校验和恢复机制。协同PC产业协议易于实现和整合,并支持热插拔机制。低成本实现低成本的电缆和连接插座,商品化的实现技术。易于升级整体结构易于升级,能适应各类新生的应用。STMicroelectronicsSept.14~25,20095USB系统和架构USB协议简介USB协议特性USB系统和架构STM32互联型产品OTG_FS控制器STMicroelectronicsSept.14~25,20096USB拓扑结构USB2.0主机高速HUBUSB全速/低速设备USB1.1HUBUSB全速/低速设备USB高速设备USB全速/低速通道12M/1.5MbpsUSB高速通道480MbpsSTMicroelectronicsSept.14~25,20097USB系统架构逻辑上的通信通道实际的通信通道PC主机USB设备USB主机控制器USB总线接口USB系统软件USB逻辑模块客户端应用程序应用程序STMicroelectronicsSept.14~25,20098接口接口USB逻辑组成USB主机通道端点USB设备接口:用于描述USB设备的某一特定的功能,是一组端点的集合。应用程序缓存区缓存区缓存区STMicroelectronicsSept.14~25,20099USB逻辑组成端点:端点是USB主机和设备之间进行通信的节点。总线访问频率带宽端点号错误处理模式最大数据包大小传输类型方向应用程序USB主机USB设备接口端点缓存区缓存区缓存区通道STMicroelectronicsSept.14~25,200910USB逻辑组成通道:USB通道是USB设备上的端点和USB主机上的应用程序之间的连接件,用于在端点和应用程序所申请的缓存区之间交换数据。通道类型:数据流:总是单向的,支持大容量,同步和中断传输。消息:总是双向的,支持控制传输。USB主机应用程序缓存区缓存区缓存区通道端点接口USB设备STMicroelectronicsSept.14~25,200911USB系统和架构USB协议简介USB协议特性USB系统和架构USB设备类和供电STM32互联型产品OTG_FS控制器STMicroelectronicsSept.14~25,200912USB设备类监视器类(Monitor)个人保健类(PersonalHealthCare)电力设备类(Power)物理接口设备类(PhysicalInterface)打印机设备类(Printer)视频类(Video)测试与测量类(Test&Measurement)音频类(Audio)通信设备类(CDC)设备固件升级类(DFU)人机接口类(HID)智能卡接口设备类(CCID)影像类(Imaging)红外线桥接设备类(IrDABridge)大容量存储设备类(MassStorage)STMicroelectronicsSept.14~25,200913USB供电按供电类型分:主HUB:直接连接到USB主机控制器,和主机控制器从同一个源取电。向高功耗端口和低功耗端口提供一个单位(100mA)到五个单位的供电。总线供电类HUB:从上游端口的VBUS取电,为自身功能及其下游端口供电。自供电HUB:从外部电源取电,为自身功能及其下游端口供电。低功耗总线供电设备:从上游端口的VBUS取电,在任何时刻,耗电都不能超过一个单位。高功耗总线供电设备:从上游端口的VBUS取电,在上电时,耗电不能超过一个单位,在配置后,耗电可以达到五个单位。自供电设备:可以从上游端口获得不超过一个单位的电流,其他的耗电需要从外部电源获取。挂起的设备高功耗设备:总耗电不超过2.5mA。低功耗设备:总耗电不超过500uA。STMicroelectronicsSept.14~25,200914USB传输类型USB协议简介USB协议特性USB系统和架构USB设备类和供电USB传输类型STM32互联型产品OTG_FS控制器STMicroelectronicsSept.14~25,200915USB传输类型传输类型是一种用于描述端点或通道的特性。当端点和与其相连的通道的传输类型被确定,那么在这个通道上进行的传输的一系列特性也就被唯一确定了,在整个通道的有效期限内这些特性都不能再被修改。USB规范定义了四种传输类型:控制传输:适用于突发性、非周期性的传输,常用于命令和状态的传输。(非周期性传输)同步传输:适用于周期性、持续性的传输,常用于与时间相关的事件、信息的传送,并在传输的数据中保存时间信息。(周期性传输)中断传输:适用于传输频率低、数据量小的传输。(周期性传输)大容量传输:适用于非周期性的、数据是大量并突发的传输,常用于那些需要占据大量带宽,但又容许时延的数据传输。(非周期性传输)STMicroelectronicsSept.14~25,200916USB传输类型USB协议简介USB协议特性USB系统和架构USB设备类和供电USB传输类型USBOTG协议STM32互联型产品OTG_FS控制器STMicroelectronicsSept.14~25,200917USBOTG协议(1/3)OTG设备:USB主机角色+USB设备角色的双重角色设备。通信速率:主机角色:全速通信(高速可选),设备角色:全速通信(高速/低速可选)。Micro-AB连接器:其中ID接地为A类设备,ID悬空为B类设备。Micro-A插头Micro-B插头Micro-B插座Micro-AB插座STMicroelectronicsSept.14~25,200918USBOTG协议(2/3)A类设备:插入Micro-A插头,执行USB主机的角色,向VBUS供电。B类设备:插入Micro-B插头,执行USB设备角色。会话请求协议(SRP):STMicroelectronicsSept.14~25,200919USBOTG协议(3/3)主机协商协议(HNP):B类设备通过HNP协议与A类设备协商,切换USB主机和USB设备的角色。STMicroelectronicsSept.14~25,200920STM32互联型产品OTG_FS控制器USB协议简介USB协议特性USB系统和架构USB设备类和供电USB传输类型USBOTG协议STM32互联型产品OTG_FS控制器OTG_FS控制器特性STMicroelectronicsSept.14~25,200921STM32互联型OTG_FS控制器特性符合USB2.0规范和OTG1.3规范。支持全速(12Mbps)和低速(1.5Mbps)两种模式。内置硬件的OTGPHY,支持SRP和HNP协议。OTG_FS可工作在主机模式、设备模式和OTG模式下。提供4个双向端点:支持控制,大容量,中断和同步传输。提供8个主机通道,支持周期性和非周期性的数据传输。提供1.25K字节的专用SRAM和优化高效的FIFO管理机制。提供高级硬件调度器,周期性请求队列和非周期性请求队列,可同时支持高达16个请求。需要外接电源为VBUS供电。AHB使用32位模式存取访问各类寄存器和数据FIFO。SOF在内部连接到TIM2。STMicroelectronicsSept.14~25,200922STM32互联型产品OTG_FS控制器USB协议简介USB协议特性USB系统和架构USB设备类和供电USB传输类型USBOTG协议STM32互联型产品OTG_FS控制器OTG_FS控制器特性OTG_FS控制器不同模式的连接图STMicroelectronicsSept.14~25,200923VBUSD+D-GNDSTM32互联型OTG_FS控制器连接(1/3)STM32互联型OTG_FS控制器:USB设备模式USBOTG全速控制器STM32F105/STM32F107USB全速收发器D+USB标准B插座D-VBUSGNDHNPSRPID-M3OTGPHY连接到USB主机在设计一个总线供电的设备时,需要外接一个电压变换器。5V到VDD变换器VDDVDD工作范围:2V到3.6VSTMicroelectronicsSept.14~25,200924过流输出STM32互联型OTG_FS控制器连接(2/3)USBOTG全速控制器STM32F105/STM32F107USB标准A插座-M3OTGPHY限制电流的电源模块ST20x2使能GPIOGPIO+IRQVDD5V2V-3.6V如果用户板能提供5V供电,可以使用基本型的电源模块。STM32互联型OTG_FS控制器:USB主机模式USB全速/低速收发器HNPIDSRPD+D-VBUSGNDSTMicroelectronicsSept.14~25,200925VBUSSTM32互联型OTG_FS控制器连接(3/3)STM32互联型OTG_FS控制器:OTG模式USBOTG全速控制器STM32F105/STM32F107USB全速/低速收发器USBMicro-AB插座GNDHNPSRPID-M3OTGPHY限制电流的电源模块ST20x2GPIOGPIO+IRQIDVDD如果用户板能提供5V供电,可以使用基本型的电源模块。2V-3.6V5V使能过流输出D+D-STMicroelectronicsSept.14~25,200926STM32互联型产品OTG_FS控制器USB协议简介USB协议特性USB系统和架构USB设备类和供电USB传输类型USBOTG协议STM32互联型产品OTG_FS控制器OTG_FS控制器特性OTG_FS控制器不同模式的连接图OTG_FS软件解决方案和应用实例STMicroelectronicsSept.14~25,200927STM32互联型OTG_FS控制器软件方案(1/4)ST将提供基于Micrium协议栈的USBOTG开发包:底层驱动:ST将提供OTG_FS控制器的底层驱动程序源代码。演示程序:ST将以二进制代码的形式,提供针对STM3210CEVAL开发板的各类USB应用演示程序,以供评估测试:主机模式:鼠标和键盘(HID类),U盘(MassStorage类),MP3播放器(音频类),WAV播放器(音频类)。设备模式:配合板上的µSD卡实现U盘(Massstorage类),USB鼠标(HID类),虚拟串口(CDC类)。OTG模式:双重角色设备用户手册:STMicroelectronicsSept.14~25,200928STM32互联型OTG_FS控制器软件方案(2/4)ST提供的演示程序基于STM3210CEVAL开发板串口可用于演示USB模拟串口LCD用于输出演示程序信息uSD用于演示大容量存储设备Micro-AB连接口按键和操纵杆STMicroelectronicsSept.14~25,200929STM32互联型OTG_FS控制器软件方案(3/4)ST将提供免费的USB设备类函数库:提供源代码,支持多种USB类Massstorage类HID类DFU类CDC类A