ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:468KB ,
资源ID:1261361      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1261361.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学习笔记基于LMS的USB程序开发笔记第一部分.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学习笔记基于LMS的USB程序开发笔记第一部分.doc

1、USB开发指南 之 基于LM3Sxxx的USB程序开发笔记基于LM3Sxxx的USB开发笔记- Triton.zhang 2011-08-30【摘要】 TI 收购LM后继承了LM一系列的cortex-M3的产品,从而弥补了了TI在MCU市场一个空白。从产品规划来讲,LM的产品还是不错的,特别是带CAN、USB、和集成MAC+PHY的ETH接口,这些外设为开发者提供了一个更方便的连接器解决方案。本文就通过LM3SXXX的USB应用笔记给大家介绍一个完整的USB系统是如何开发出来的。LM3Sxxx的几大系列中,其中F3xxx,F5xxx和最新的F9xxx系列都带有USB接口,有的是只支持Devic

2、e,有的支持HOST + Device, 部分芯片支持OTG功能,具体要看数据手册,本文的所有试验都基于TI最新的功能最全的LM3S9B96的评估板。如果想更详细了解USB应用的朋友可以参看TI的相关文档和USB的协议。本文中的所有程序都是本人编写,请配合该程序进行学习。本文提及到的参考资料,请参见后面的参考资料列表,如果是刚刚接触USB,或者LM3Sxxx的同学可以先下载这些资料。本开发笔记分为三大章节,第一章介绍USB的基础知识,如果对USB协议已经熟悉的同学,可以跳过本章。第二章介绍如何在LM3SXXX芯片上开发USB程序,第三章介绍如何在PC上开发USB的驱动程序。希望通过本笔记的学习

3、,能够帮助大家尽快的学会如何进行USB的设计开发。目 录基于LM3Sxxx的USB开发笔记1目 录2第一章 USB 开发的必备知识3USB系统介绍3USB的连接模型3USB的拓扑结构4USB的电气特性6USB总线协议6USB数据流分类7USB的带宽7USB设备的插入检测机制7USB的识别过程8USB的请求命令8USB的描述符10USB设备的枚举过程18第一章 USB 开发的必备知识USB系统介绍USB是通用串行总线(Universal Serial Bus)的简写。USB协议先后经历过USB1.0,USB1.1,USB2.0和USB3.0。由于目前市面上的MCU大多只支持USB2.0,所以本文

4、主要介绍USB2.0的特性。USB是主从模式的总线结构,设备与设备之间,主机与主机之间是不能互连的,为了解决这个问题,扩大USB的使用范围,在USB2.0之后,出现了USB OTG(on the go)。 USB OTG的做法是同一个设备,在不同的应用场合下可以在主机和从机之间自由切换。 在USB1.0和USB1.1版本中,只支持1.5Mbps的低速模式(low speed)和12Mbps的全速模式(Full speed)。在USB2.0中,又加入了480M的高速模式(High speed)。USB的连接模型USB是一种主从结构的总线,主机叫做host,从机叫做device(也就是我们平时讲的

5、设备)。一个完整的USB系统主要由三个部分组成:u USB的连接器USB的连接是指USB设备与主机之间进行连接和通信的操作,主要包括以下几个方面:- 总线的拓扑结构:USB设备与主机之间的各种连接方式- 内部层次关系: 根据性能叠置,USB的任务被分配到系统的每一个层次- 数据流模式: 描述了数据在提供中通过USB从发起端到接收端的流动方式- USB的调度: USB提供了一个共享的连接,对可疑使用的连接进行调度以支持同步数据传输u USB 的主机在任何USB系统中,只有一个USB的主机,USB和主机系统的接口叫做主机控制器。主机控制器由硬件,固件和软件综合实现。u USB的设备USB的设备包含

6、两大类:- 网络集线设备: 为USB系统提供更多的连接点- 功能设备: 为USB系统提供具体功能USB的数据交换只能发生在主机和从机之间,主机和主机,从机和从机之间是不能进行数据交换的。为了再物理上区分主机和从机,使用不同的插头和插座,这样我们就能轻松的通过连接线来判断出USB系统中,谁处于主机模式,谁处于从机模式。最早的USB标准中,USB接头只有4根线,USB2.0之后,定义了MiniUSB接口,增加了一个ID线,主要用在OTG的设备上用来标识本设备ID。标准的USB接口有A型和B型,每一个类型又分为插头和插座。如下图所示:USB系统中,所有的数据传输都是由主机主动发起的,从机值是被动地负

7、责应答。在USB OTG应用中,一个设备可以在从机和主机之间切换,从而实现了设备间的连接,大大地增加了USB的使用范围。但即使OTG的应用也还是属于主从模式,两个设备之间一个作为主机,一个作为从机。USB的拓扑结构USB的拓扑结构为金字塔型。USB系统由一个USB主控制器出发,下面接USB的集线器,USB集线器将一个USB接口扩展为多个USB接口,多个USB接口又可通过集线器扩展更多的接口。USB协议中对集线器的层数有限制,USB1.1规定USB的集线器层数最多是4层,USB2.0规定最多为6层。图1. USB的拓扑结构USB主控制器通过7位地址对挂接在总线上的设备进行寻址,理论上一个主控制器

8、上最多可以接128个设备,但实际应用中接不了这么多。在PC机上,一般有一个(或多个)USB集线器,它叫根集线器,直接连接在USB的主控制器上。打开电脑的设备管理器,我们可以看到USB的主控制器和根集线器。如下图所示:图2. PC机上的USB控制器和集线器USB的电气特性标准的USB使用4根线:5V电源线(Vbus),差分数据线负(D-),差分数据线正(D+),地(Gnd)。在USB OTG中,又增加了一种mini接口,使用的是5根线,比标准的USB多了一根身份识别(ID)线。如下图所示:USB使用的是差分传输模式,有两根数据先,分别是D-和D+。在USB低速和全速模式中,采用的是电压传输模式,

9、在高速模式下,则是电流传输模式。为了避免长时间出现全0或全1的信号,在发送数据前,要经过位填充处理。然后将数据串行化,发送到数据总线上,由两根数据线的差分值来表示0和1。在接收端恰恰相反,接收端采样数据总线,将数据并行话,然后去白化处理(即去掉填充位),在解析数据。在USB协议中规定,设备可以通过USB总线供电,在未配置之前,设备可以从VBUS上获取100mA的电流,配置之后,最多可以从VBUS上获取500mA的电流。关于USB的的电气特性有如下几点需要注意:- 电缆中包括VBUS 、GND 二条线,向设备提供电源 ;- VBUS使用+5V 电源。USB 对电缆长度要求很宽,最长可为几米;-

10、为了保证足够的输入电压和终端阻抗,重要的终端设备应位于电缆的尾部;- 低速模式需要更少的EMI 保护;- 两种模式可在用同一USB 总线传输的情况下自动地动态切换。- 过多的低速模式的使用将降低总线的利用率;USB总线协议USB总线属于轮询方式的总线,始终由主机控制端口初始化所有的数据传输。每一个USB总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送开始时,主机控制器发送一个描述传输操作的种类、方向,USB 设备地址和终端号的USB 数据包,这个数据包通常称为标志包(token packet)。USB 设备从数据包中取出属于自己的数据。数据传输方向不是从主机到设备就是从设备到

11、主机。在传输开始时,由标志包来标识数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有数据传送。接收端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间的USB 数据传输,在主机和设备的端口之间可视为一个管道(PIPE)。USB存在两种类型的管道:- 数据流管道数据流管道的数据没有USB协议规定的结构。管道与数据宽、传输服务类型、端口特性(如缓冲区大小)有关。数据流管道在USB设备初始化设置完成就存在了。- 消息管道:消息通道是USB协议中特殊的一个管道,也成为控制管道。设备上电启动后,该管道就存在,为设备的设置、查询状态和输入控制信息提供了一个入口。USB数据流分类在U

12、SB主机和设备通道之间的数据传输,我们叫做数据流,USB的结构包含四个基本的数据流传输类型:- 控制数据传送在设备连接时用来对设备进行设置,还可对指定设备进行控制,如通道控制;- 批量数据传送大批量产生并使用的数据,在传输约束下,具有很广的动态范围;通常用在打印机和扫描仪等有大量数据需求的传输。- 中断数据的传送用来描述或匹配人的感觉或对特征反应的回馈;中断数据传输是针对少量数据的传输需求,数据延迟时间也是有限范围内的。- 同步数据的传送由预先确定的传送延迟来填满预定的USB 带宽;同步数据的建立、传输和使用时时连续且实时的,同步数据时以稳定的速率发送和接收实时信息,同步数据要使接受者与发送者

13、保持相同的时间安排,出了传输速率,同步数据对延迟非常敏感。对于任何指定的USB设备而言,一个通道只能支持上述一种方式的数据流传输。USB的带宽USB的带宽分配给各个通道,当一个通道建立后,USB主机就分配给它一定的带宽,USB设备需要提供一些数据缓冲区,若USB提供了更多的带宽,则需要更多的缓冲区。USB的体系要保证缓冲引导的硬件的延迟限定在几毫秒内。USB设备的插入检测机制当USB设备插上主机时,主机是如何检测到设备插入的呢?首先,在每个USB的集线器下游端口D+和D-上,分别接了一个15K欧姆的下拉电阻到地。当集线器的端口悬空时,D+和D-被这两个下拉电阻拉到地,同为低电平。在低速USB的

14、设备上,DD-被接上1.5K欧姆的上拉电阻,在全速和高速USB设备上,D+被接上一个1.5K欧姆的上拉电阻。当设备插入集线器是,由于1.5k欧姆的上拉和下拉电阻分压,就将D+或D-其中的一条线拉高了。集线器检测到这个状态后,就上报USB主控制器,检测到设备的插入。通过对D+,D-电平的识别可以判断出是低速设备还是高速或全速的设备。高速和全速的设备需要主机和从机进一步数据交换后才能确定。USB的识别过程当USB主机检测到USB设备插入后,主机就通过一系列的动作来对设备进行枚举配置(配置是属于枚举的一个态,态表示暂时的状态),这些态如下:- 接入态(Attached)设备接入主机后,主机通过检测信

15、号线上的电平变化来发现设备的接入; - 供电态(Powered)就是给设备供电,分为设备接入时的默认供电值,配置阶段后的供电值(按数据中要求的最大值,可通过编程设置) - 缺省态(Default)USB在被配置之前,通过缺省地址0与主机进行通信- 地址态(Address)经过了配置,USB设备被复位后,就可以按主机分配给它的唯一地址来与主机通信,这种状态就是地址态; - 配置态(Configured)通过各种标准的USB请求命令来获取设备的各种信息,并对设备的某此信息进行改变或设置。 - 挂起态(Suspended)总线供电设备在3ms内没有总线操作,即USB总线处于空闲状态的话,该设备就要自动进入挂起状态,在进入挂起状态后,总的电流功耗不超过280UA。USB的请求命令控制传输过程中,初始化设置USB的设备时会涉及到USB的请求命令。 标准的USB设备请求命令总共有11个,每个命令由8个字节(5个字段)组成,具有相同的数据结构。数据结构如下图所示:表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1