版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
USB通信
UniversalSerialBUS通用串行总线
USB通信
UniversalSerialBUS通用串行本节内容USB技术简介技术背景系统架构、协议设备的枚举、识别传输类型MSP430USB模块和函数库模块的特性各类描述符解析模块的中断源及相关的中断处理函数模块的其他相关函数库本节内容USB技术简介技术背景USB,是一种外部串行总线标准。最初是由Intel与Microsoft等公司于1994年倡导发起的,其目的是使用USB来取代PC机现有的各种外围接口,使外设连接单一化,其最大特点是支持即插即拔和热插拔。USB协议版本演进1.0 January15,1996 低速1.1 September23,1998 全速2.0 April27,2000 高速3.0 November 超高速技术背景技术背景USB,是一种外部串行总线标准。最初是由Intel与Microsoft等公司于1994年倡导发起的,其目的是使用USB来取代PC机现有的各种外围接口,使外设连接单一化,其最大特点是支持即插即拔和热插拔。技术背景USB,是一种外部串行总线标准。最初USB分层星型拓扑结构最多支持:7层拓扑127个USB设备5个USBhub级联USB分层星型拓扑结构最多支持:
USB产生之前,外设与PC通信主要是通过PC机主板所提供的各种接口实现。老式接口大多是在20世纪80年代设计的,存在规格不一、不可扩展等缺陷,USB和其他接口常用计算机接口比较:技术背景USB产生之前,外设与PC通信主要是通过PC机技术背景USB应用范围和特性技术背景USB应用范围和特性技术背景USB特点:简单易用
使用统一制式的电缆和连接插座,支持热插拔。应用广泛
支持从几kbps到几百Mbps的数据带宽,支持同步和异步 的传输,支持连接多达127个设备,并支持复合设备。同步带宽
提供保证的带宽和低延迟。使用灵活
支持不同大小的数据包和各种传输速率。鲁棒性佳
多种的错误校验和恢复机制。协同PC产业
协议易于实现和整合,并支持热插拔机制低成本实现
低成本的电缆和连接插座,商品化的实现技术易于升级
整体结构易于升级,能适应各类新生的应用。技术背景USB特点:USB常用术语USB主机:在任何一个USB系统中,只有一个主机。主机系统的USB控制模块叫“主机控制器”,主机控制器可由硬件、固件和软件综合实现。USB设备:主机的“下行”设备,为系统提供具体的功能。USB主机最多可以支持127个USB设备。USBOTG:OnTheGo,正在进行中的意思。USBOTG既是USB主机也是USB设备。但是在任意时刻,只能有一个主机。集线器(Hub):扩展USB主机所能连接设备的数量,主要用于扩展。串行接口引擎(SIE):USB主控制器的“核心”,将二进制码转化为字节,供控制器使用。USB常用术语USB主机:在任何一个USB系统中,只有一个主USB设备开发流程①确认USB设备的开发类型,是USB主机、USB设备还是OTG②如果是USB设备,必须明确该设备的类型:HID、UDIO、CDC、HUB、IMAGE等③查找相关设备手册,确定其描述符④完成描述符后,编写USB枚举程序,观察是否枚举成功,开发已经完成大部分⑤编写应用程序,在枚举成功后,主要是进行数据处理,编写应用程序确定所开发的USB系统类型USB主机USB设备USB
OTG设备类型HID、UDIO、CDC等查找手册,编写描述符枚举是否成功应用程序编写USB设备开发流程①确认USB设备的开发类型,是USB主机、USB系统架构功能层USB设备层USB总线接口层USB系统架构功能层USB设备层USB总线接口层USB系统架构USB系统架构USB系统架构USB系统架构USB系统架构(4/)USB系统架构(4/)USB系统架构(5/)USB系统架构(5/)USB设备枚举对于USB设备开发来说,最重要的枚举,即让主机知道设备的相关信息。若枚举不成功,则设备无法识别、更不能使用。USB设备的属性通过一组描述符来反映他们,这些描述符是具有一定格式的数据结构,主机软件可通过GET_DESCRIPTOR请求获取这些描述符。每一个描述符的第一个字节表明本描述符的长度,最后一个字节的描述符类型的信息。如果描述符中的长度域值小于描述符定义长度,此描述符被认为是非法的,不能被主机接收;如果返回描述符中的长度域值大于描述符的定义长度,则过长部分被忽略。USB设备枚举对于USB设备开发来说,最重要的枚举,即让主机USB原理简介USB接口技术规范中,通信双方分为:主机和设备端。主机一般由PC机承担,嵌入式设备作为设备端。按照USB协议的定义,USB设备包括两个基本类型: 集线器(HUB):提供更多访问USB总线的接入点; 功能设备:具有特定功能的设备,如鼠标、键盘等。USB原理简介USB接口技术规范中,通信双方分为:主机和设备USB接口USB定义了两种类型的连接器,下图从左到右依次是:microUSB插口、miniUSB插口、B系列插口、A系列插座、A系列插口。USB接口USB定义了两种类型的连接器,下图从左到右依次是:USB网络拓扑USB总线物理拓扑图USB总线逻辑拓扑图USB网络拓扑USB总线物理拓扑图USB总线逻辑拓扑图USB总线逻辑拓扑USB总线逻辑拓扑USB传输类别
音频类(Audio) 通信类-虚拟串口类(CDC) 人机接口类(HID) 大容量存储设备类(MassStorage) 智能卡接口设备类(CCID) 图像类(Image) 物理接口设备类(PhysicalInterface)USB传输类别USB传输类别
IrDA桥接设备类(IrDABridge) 监视设备类(Monitor) 人机接口类(HID) 个人保健设备类(PersonalHealthCare) 电源设备类(PowerDevice) 图像类(Image)具体请参考/developers/devclass_docs#approvedUSB传输类别USB连接器(1)–StandardUSB根据应用场景不同,有多种接口类型,以下展示最常见通用的三种:USB连接器(1)–StandardUSBUSB连接器(2)--Mini、MicroUSB连接器(2)--Mini、Micro传输类型USB协议定义了四种传输类型:控制传输(ControlTransfers):突发,非周期性,由主机发起,用于命令和状态的传输。同步传输(IsochronousTransfers):周期性,持续性的传输,用于传输与时效相关的信息,并且在数据中保存时间戳的信息。中断传输(InterruptTransfers):周期性,低频率,允许有限延迟的通信。大容量数据传输(BulkTransfers):非周期性,大容量突发数据的通信,数据可以占用任意带宽,并容忍延迟。传输类型USB协议定义了四种传输类型:USB信号(1/)电缆:差分信号:
1:D+>VOH(2.8V),D-<VOL(0.3V)0:D->VOH(2.8V),D+<VOL(0.3V)J状态:
LowSpeed:Differential0FullSpeed:Differential1K状态:LowSpeed:Differential1FullSpeed:Differential0USB信号(1/)电缆:USB信号(2/)SE0(Single-ended0):
D+&D-<VOLSE1(Single-ended1):
D+&D->VSE1(0.8V)复位(Reset):
D+&D-<VOLfor>=10ms恢复(Resume):
K状态SOP(StartofPacket):数据线从IDLE状态切换到K状态EOP(EndofPacket):
持续2位时间的SE0信号,后跟随1位时间的J状态。SYNC:
3个重复的KJ状态切换,后跟随2位时间的K状态,共持续8位时间。(低速/全速设备)USB信号(2/)SE0(Single-ended0):USB信号(3/)数据的编码/解码:反向不归零码(NRZI)Bit填充:在数据进行NRZI编码前,每6个连续的1信号之后都会插入1个0信号,以免丢失同步。USB信号(3/)数据的编码/解码:反向不归零码(NRZUSB数据格式USB数据格式Packet格式(1/)Packet格式(1/)Packet格式(2/)Packet格式(2/)Packet格式(3/)Packet格式(3/)Packet格式(3)--DataPIDToggle(1)DataToggle用于数据的同步和重发正确的数据传输流程Packet格式(3)--DataPIDToggle(Packet格式(3)--DataPIDToggle(2)DataToggle用于数据的同步和重发当数据被破坏或者没有正确接收Packet格式(3)--DataPIDToggle(Packet格式(3)--DataPIDToggle(3)DataToggle用于数据的同步和重发当ACK的传输被破坏Packet格式(3)--DataPIDToggle(Packet格式(4)低速设备: 支持最多3个端点全速和高速设备: 支持最多16个IN和OUT端点Packet格式(4)Packet格式(5)11位主机每发出一个帧,帧号都会自加1当帧号达到7FFH时,将归零重新开始计数仅在每个SOF帧的帧首传输帧号Packet格式(5)Packet格式(6)根据传输类型的不同,数据域的数据长度从0到1024字节不等。Packet格式(6)Packet格式(7)TokenCRC计算IN,OUT,和SETUPToken地址域的CRC计算SOFToken的帧号域的CRCG(X)=X5+X2+1DataCRC计算所有数据域数据的CRCG(X)=X16+X15+X2+1Packet格式(7)Packet类型Packet分四大类:命令(Token)Packet帧首(StartofFrame)Packet数据(Data)Packet握手(Handshake)PacketPacket类型Packet分四大类:Packet类型(1):TokenPacketPacket类型(1):TokenPacketPacket类型(2):StartofFramePacketPacket类型(2):StartofFramePaPacket类型(3):DataPacketPacket类型(3):DataPacketPacket类型(4):HandshakePacketPacket类型(4):HandshakePacket传输类型USB协议定义了四种传输类型:控制传输(ControlTransfers):突发,非周期性,由主机发起,用于命令和状态的传输。同步传输(IsochronousTransfers):周期性,持续性的传输,用于传输与时效相关的信息,并且在数据中保存时间戳的信息。中断传输(InterruptTransfers):周期性,低频率,允许有限延迟的通信。大容量数据传输(BulkTransfers):非周期性,大容量突发数据的通信,数据可以占用任意带宽,并容忍延迟。传输类型USB协议定义了四种传输类型:USB设备的状态(1)USB设备的状态(1)USB设备的状态(2)USB设备的状态(2)USB设备的插入检测USB设备的插入检测USB设备枚举当一个USB设备插入主机后,会有以下活动:USB设备枚举当一个USB设备插入主机后,会有以下活动:USB分类从传输速度上区分:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。不同的设备要求的传输类型不同从传输类型上区分:同步传输、批量传输、中断传输和控制传输。功能设备根据数据量和通信特点又进行了多达18种的详细分类,包括人机接口类(HID,如键盘、鼠标),图像类(如打印机、扫描仪),大容量存储设备类(MessStorage,如优盘)等。注意:以上三种分类是典型分类方式,具体实物可以同时属于三类中的一种,比如鼠标既是低速设备,采用中断传输方式,又属于人机接口类。USB分类从传输速度上区分:低速(1.5Mbps)、全速(1MSP430USB模块和函数库在编程环境中,API被设计成自动适应选定设备。代码保持不变,但需选择正确的设备。三类USB设备(CDC/HID/MSC)共用一个USB分层,协议栈空间分为API空间和应用程序空间。发送和接收事务处理CDCAPIHIDAPIMSCAPIUSBAPI应用程序空间API空间MSP430头文件MSP430USB模块和函数库在编程环境中,API被设计成USB模块解读课件52PLL锁相环模块PLL锁相环模块为USB操作提供高精度低抖动的48MHz的时钟。PLL锁相环模块PLL锁相环模块为USB操作提供高精度低抖动USBAPI利用TI官方提供的USBAPI,实验者只需要大概知道USB运行原理,会调用API即可,无需透彻理解USB协议,也可以容易地完成USB驱动开发。所有的通信协议都是由API自动处理。应用程序开发之前,用户必须通过MSP430USB描述符工具配置堆栈和USB描述符。用户没有必要修改API源代码TI官方提供的库函数,如右图所示。USBAPI利用TI官方提供的USBAPI,实验者只需要USB文件(1)USB文件(1)USB文件(2)USB文件(2)一些重要的USBAPI(1)确定USB连接状态,返回USB的连接状态值 BYTEUSB_connectionState();#defineST_USB_DISCONNECTED 0x80#defineST_USB_CONNECTED_NO_ENUM 0x81#defineST_ENUM_IN_PROGRESS 0x82#defineST_ENUM_ACTIVE 0x83#defineST_ENUM_SUSPENDED 0x84#defineST_ERROR 0x86#defineST_NOENUM_SUSPENDED 0x87一些重要的USBAPI(1)确定USB连接状态,返回US一些重要的USBAPI(2)USB时钟初始化voidClockUSB(void);USB端口初始化BYTEUSB_init(void);使能用户应用程序USB_setEnableEvents(WORDevents);启动PLL,使能USB模块BYTEUSB_enable(void);启动PLL,禁止USB模块BYTEUSB_disable(void);
一些重要的USBAPI(2)USB时钟初始化一些重要的USBAPI(3)重置USB BYTEUSB_reset(void);通过拉高PUR位,使USB设备与主机连接BYTEUSB_connect(void);通过拉低PUR位,使USB设备与主机断开连接
BYTEUSB_disconnect(void);使能特定的事务处理函数 BYTEUSB_setEnableEvents(WORDevents)返回事务启用和禁用状态WORDUSB_getEnabledEvents(void);手动进行USB的连接或断开BYTEUSB_handleVbusOnEvent(void);BYTEUSB_handleVbusOffEvent(void);一些重要的USBAPI(3)重置USB一些重要的USBAPI(3)重置USB BYTEUSB_reset(void);通过拉高PUR位,使USB设备与主机连接BYTEUSB_connect(void);通过拉低PUR位,使USB设备与主机断开连接
BYTEUSB_disconnect(void);使能特定的事务处理函数 BYTEUSB_setEnableEvents(WORDevents)返回事务启用和禁用状态WORDUSB_getEnabledEvents(void);手动进行USB的连接或断开BYTEUSB_handleVbusOnEvent(void);BYTEUSB_handleVbusOffEvent(void);一些重要的USBAPI(3)重置USBUSB模块外接电路图(1/2)与MSP430F6638芯片的引脚:6638_VBUS(VBUS),PU.1/DM(PU.1/DM),PU.0/DP(PU.0/DP),PUR(PUR),6638_LDO(VUSB)USB模块外接电路图(1/2)与MSP430F6638芯片的USB模块外接电路图(2/2)在第①部分,利用PUR完成D+信号的上拉,使主机能够识别当前设备为全速USB设备;在第②部分,利用TRD2E001DRLR芯片提供电流过载保护。①②USB模块外接电路图(2/2)在第①部分,利用PUR完成D+USB模块电源系统USB模块的电源系统内含双稳压器(3.3V和1.8V),当5V的VBUS可用时,允许整个MSP430从VBUS供电。作为可选,USB模块电源系统可以只为USB模块供电,可以为整个系统供电,也可以在一个自供电设备中完全不被使用。USB为整个系统供电时的结构框图。USB模块电源系统USB模块的电源系统内含双稳压器(3.3VUSB通信
UniversalSerialBUS通用串行总线
USB通信
UniversalSerialBUS通用串行本节内容USB技术简介技术背景系统架构、协议设备的枚举、识别传输类型MSP430USB模块和函数库模块的特性各类描述符解析模块的中断源及相关的中断处理函数模块的其他相关函数库本节内容USB技术简介技术背景USB,是一种外部串行总线标准。最初是由Intel与Microsoft等公司于1994年倡导发起的,其目的是使用USB来取代PC机现有的各种外围接口,使外设连接单一化,其最大特点是支持即插即拔和热插拔。USB协议版本演进1.0 January15,1996 低速1.1 September23,1998 全速2.0 April27,2000 高速3.0 November 超高速技术背景技术背景USB,是一种外部串行总线标准。最初是由Intel与Microsoft等公司于1994年倡导发起的,其目的是使用USB来取代PC机现有的各种外围接口,使外设连接单一化,其最大特点是支持即插即拔和热插拔。技术背景USB,是一种外部串行总线标准。最初USB分层星型拓扑结构最多支持:7层拓扑127个USB设备5个USBhub级联USB分层星型拓扑结构最多支持:
USB产生之前,外设与PC通信主要是通过PC机主板所提供的各种接口实现。老式接口大多是在20世纪80年代设计的,存在规格不一、不可扩展等缺陷,USB和其他接口常用计算机接口比较:技术背景USB产生之前,外设与PC通信主要是通过PC机技术背景USB应用范围和特性技术背景USB应用范围和特性技术背景USB特点:简单易用
使用统一制式的电缆和连接插座,支持热插拔。应用广泛
支持从几kbps到几百Mbps的数据带宽,支持同步和异步 的传输,支持连接多达127个设备,并支持复合设备。同步带宽
提供保证的带宽和低延迟。使用灵活
支持不同大小的数据包和各种传输速率。鲁棒性佳
多种的错误校验和恢复机制。协同PC产业
协议易于实现和整合,并支持热插拔机制低成本实现
低成本的电缆和连接插座,商品化的实现技术易于升级
整体结构易于升级,能适应各类新生的应用。技术背景USB特点:USB常用术语USB主机:在任何一个USB系统中,只有一个主机。主机系统的USB控制模块叫“主机控制器”,主机控制器可由硬件、固件和软件综合实现。USB设备:主机的“下行”设备,为系统提供具体的功能。USB主机最多可以支持127个USB设备。USBOTG:OnTheGo,正在进行中的意思。USBOTG既是USB主机也是USB设备。但是在任意时刻,只能有一个主机。集线器(Hub):扩展USB主机所能连接设备的数量,主要用于扩展。串行接口引擎(SIE):USB主控制器的“核心”,将二进制码转化为字节,供控制器使用。USB常用术语USB主机:在任何一个USB系统中,只有一个主USB设备开发流程①确认USB设备的开发类型,是USB主机、USB设备还是OTG②如果是USB设备,必须明确该设备的类型:HID、UDIO、CDC、HUB、IMAGE等③查找相关设备手册,确定其描述符④完成描述符后,编写USB枚举程序,观察是否枚举成功,开发已经完成大部分⑤编写应用程序,在枚举成功后,主要是进行数据处理,编写应用程序确定所开发的USB系统类型USB主机USB设备USB
OTG设备类型HID、UDIO、CDC等查找手册,编写描述符枚举是否成功应用程序编写USB设备开发流程①确认USB设备的开发类型,是USB主机、USB系统架构功能层USB设备层USB总线接口层USB系统架构功能层USB设备层USB总线接口层USB系统架构USB系统架构USB系统架构USB系统架构USB系统架构(4/)USB系统架构(4/)USB系统架构(5/)USB系统架构(5/)USB设备枚举对于USB设备开发来说,最重要的枚举,即让主机知道设备的相关信息。若枚举不成功,则设备无法识别、更不能使用。USB设备的属性通过一组描述符来反映他们,这些描述符是具有一定格式的数据结构,主机软件可通过GET_DESCRIPTOR请求获取这些描述符。每一个描述符的第一个字节表明本描述符的长度,最后一个字节的描述符类型的信息。如果描述符中的长度域值小于描述符定义长度,此描述符被认为是非法的,不能被主机接收;如果返回描述符中的长度域值大于描述符的定义长度,则过长部分被忽略。USB设备枚举对于USB设备开发来说,最重要的枚举,即让主机USB原理简介USB接口技术规范中,通信双方分为:主机和设备端。主机一般由PC机承担,嵌入式设备作为设备端。按照USB协议的定义,USB设备包括两个基本类型: 集线器(HUB):提供更多访问USB总线的接入点; 功能设备:具有特定功能的设备,如鼠标、键盘等。USB原理简介USB接口技术规范中,通信双方分为:主机和设备USB接口USB定义了两种类型的连接器,下图从左到右依次是:microUSB插口、miniUSB插口、B系列插口、A系列插座、A系列插口。USB接口USB定义了两种类型的连接器,下图从左到右依次是:USB网络拓扑USB总线物理拓扑图USB总线逻辑拓扑图USB网络拓扑USB总线物理拓扑图USB总线逻辑拓扑图USB总线逻辑拓扑USB总线逻辑拓扑USB传输类别
音频类(Audio) 通信类-虚拟串口类(CDC) 人机接口类(HID) 大容量存储设备类(MassStorage) 智能卡接口设备类(CCID) 图像类(Image) 物理接口设备类(PhysicalInterface)USB传输类别USB传输类别
IrDA桥接设备类(IrDABridge) 监视设备类(Monitor) 人机接口类(HID) 个人保健设备类(PersonalHealthCare) 电源设备类(PowerDevice) 图像类(Image)具体请参考/developers/devclass_docs#approvedUSB传输类别USB连接器(1)–StandardUSB根据应用场景不同,有多种接口类型,以下展示最常见通用的三种:USB连接器(1)–StandardUSBUSB连接器(2)--Mini、MicroUSB连接器(2)--Mini、Micro传输类型USB协议定义了四种传输类型:控制传输(ControlTransfers):突发,非周期性,由主机发起,用于命令和状态的传输。同步传输(IsochronousTransfers):周期性,持续性的传输,用于传输与时效相关的信息,并且在数据中保存时间戳的信息。中断传输(InterruptTransfers):周期性,低频率,允许有限延迟的通信。大容量数据传输(BulkTransfers):非周期性,大容量突发数据的通信,数据可以占用任意带宽,并容忍延迟。传输类型USB协议定义了四种传输类型:USB信号(1/)电缆:差分信号:
1:D+>VOH(2.8V),D-<VOL(0.3V)0:D->VOH(2.8V),D+<VOL(0.3V)J状态:
LowSpeed:Differential0FullSpeed:Differential1K状态:LowSpeed:Differential1FullSpeed:Differential0USB信号(1/)电缆:USB信号(2/)SE0(Single-ended0):
D+&D-<VOLSE1(Single-ended1):
D+&D->VSE1(0.8V)复位(Reset):
D+&D-<VOLfor>=10ms恢复(Resume):
K状态SOP(StartofPacket):数据线从IDLE状态切换到K状态EOP(EndofPacket):
持续2位时间的SE0信号,后跟随1位时间的J状态。SYNC:
3个重复的KJ状态切换,后跟随2位时间的K状态,共持续8位时间。(低速/全速设备)USB信号(2/)SE0(Single-ended0):USB信号(3/)数据的编码/解码:反向不归零码(NRZI)Bit填充:在数据进行NRZI编码前,每6个连续的1信号之后都会插入1个0信号,以免丢失同步。USB信号(3/)数据的编码/解码:反向不归零码(NRZUSB数据格式USB数据格式Packet格式(1/)Packet格式(1/)Packet格式(2/)Packet格式(2/)Packet格式(3/)Packet格式(3/)Packet格式(3)--DataPIDToggle(1)DataToggle用于数据的同步和重发正确的数据传输流程Packet格式(3)--DataPIDToggle(Packet格式(3)--DataPIDToggle(2)DataToggle用于数据的同步和重发当数据被破坏或者没有正确接收Packet格式(3)--DataPIDToggle(Packet格式(3)--DataPIDToggle(3)DataToggle用于数据的同步和重发当ACK的传输被破坏Packet格式(3)--DataPIDToggle(Packet格式(4)低速设备: 支持最多3个端点全速和高速设备: 支持最多16个IN和OUT端点Packet格式(4)Packet格式(5)11位主机每发出一个帧,帧号都会自加1当帧号达到7FFH时,将归零重新开始计数仅在每个SOF帧的帧首传输帧号Packet格式(5)Packet格式(6)根据传输类型的不同,数据域的数据长度从0到1024字节不等。Packet格式(6)Packet格式(7)TokenCRC计算IN,OUT,和SETUPToken地址域的CRC计算SOFToken的帧号域的CRCG(X)=X5+X2+1DataCRC计算所有数据域数据的CRCG(X)=X16+X15+X2+1Packet格式(7)Packet类型Packet分四大类:命令(Token)Packet帧首(StartofFrame)Packet数据(Data)Packet握手(Handshake)PacketPacket类型Packet分四大类:Packet类型(1):TokenPacketPacket类型(1):TokenPacketPacket类型(2):StartofFramePacketPacket类型(2):StartofFramePaPacket类型(3):DataPacketPacket类型(3):DataPacketPacket类型(4):HandshakePacketPacket类型(4):HandshakePacket传输类型USB协议定义了四种传输类型:控制传输(ControlTransfers):突发,非周期性,由主机发起,用于命令和状态的传输。同步传输(IsochronousTransfers):周期性,持续性的传输,用于传输与时效相关的信息,并且在数据中保存时间戳的信息。中断传输(InterruptTransfers):周期性,低频率,允许有限延迟的通信。大容量数据传输(BulkTransfers):非周期性,大容量突发数据的通信,数据可以占用任意带宽,并容忍延迟。传输类型USB协议定义了四种传输类型:USB设备的状态(1)USB设备的状态(1)USB设备的状态(2)USB设备的状态(2)USB设备的插入检测USB设备的插入检测USB设备枚举当一个USB设备插入主机后,会有以下活动:USB设备枚举当一个USB设备插入主机后,会有以下活动:USB分类从传输速度上区分:低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)。不同的设备要求的传输类型不同从传输类型上区分:同步传输、批量传输、中断传输和控制传输。功能设备根据数据量和通信特点又进行了多达18种的详细分类,包括人机接口类(HID,如键盘、鼠标),图像类(如打印机、扫描仪),大容量存储设备类(MessStorage,如优盘)等。注意:以上三种分类是典型分类方式,具体实物可以同时属于三类中的一种,比如鼠标既是低速设备,采用中断传输方式,又属于人机接口类。USB分类从传输速度上区分:低速(1.5Mbps)、全速(1MSP430USB模块和函数库在编程环境中,API被设计成自动适应选定设备。代码保持不变,但需选择正确的设备。三类USB设备(CDC/HID/MSC)共用一个USB分层,协议栈空间分为API空间和应用程序空间。发送和接收事务处理CDCAPIHIDAPIMSCAPIUSBAPI应用程序空间API空间MSP430头文件MSP430USB模块和函数库在编程环境中,API被设计成USB模块解读课件115PLL锁相环模块PLL锁相环模块为USB操作提供高精度低抖动的48MHz的时钟。PLL锁相环模块PLL锁相环模块为USB操作提供高精度低抖动USBAPI利用TI官方提供的USBAPI,实验者只需要大概知道USB运行原理,会调用API即可,无需透彻理解USB协议,也可以容易地完成USB驱动开发。所有的通信协议都是由API自动处理。应用程序开发之前,用户必须通过MSP430USB描述符工具配置堆栈和USB描述符。用户没有必要修改API源代码TI官方提供的库函数,如右图所示。USBAPI利用TI官方提供的USBAPI,实验者只需要USB文件(1)USB文件(1)USB文件(2)USB文件(2)一些重要的USBAPI(1)确定USB连接状态,返回USB的连接状态值 BYTEUSB_connectionState();#defineST_USB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024国际货物买卖合同CIF术语
- 2024天津市劳动合同范本
- 2024装饰工程劳务分包标准合同
- 2024年度企业管理系统升级合同
- 2024年企业咨询服务提供合同
- 2024年度安置房买卖合同中的交易过程监督
- 2024企业间贷款合同范文
- 2024建材订货合同范文
- 2024年度安徽省某地行政中心建筑施工合同
- 2024年度广告制作合同:某广告公司对客户的广告制作及标的广告创意要求
- 马后炮化工论坛阀门的基础知识
- 《一元二次方程》(复习课)说课稿
- 律师事务所金融业务部法律服务方案
- 施工人员计划配置表(共1页)
- 装修工程施工进度计划表excel模板
- 发电机组自动控制器
- 宿舍管理流程图
- 骨科复试问答题
- 新版慢病随访表3页
- 《实践论》读书PPT课件
- 青岛版科学六年级上册《齿轮》教学设计
评论
0/150
提交评论