MSP430F5xx系列单片机USB模块用户手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

MSP430F5xx系列单片机USB模块用户手册注:以下文章是翻译TIslau284.pdf文件中的部分内容。由于我们翻译水平有限,有整理过程中难免有所不足或错误;所以以下内容只供参考.一切以原文为准。1.1USB模块介绍msp430单片机的USB模块具有以下特性:完全符合USB2.0规范集成12Mbps全速USB收发器—最多8个输出和8个输入节点支持控制、中断和块传输模式支持USB挂起、恢复和远程唤醒拥有独立于PMM模块的电源系统支持USB挂起、恢复和远程唤醒集成了3.3V输出的低功耗线性稳压器,该稳压器从5V的VBUS取电,输出足够驱动整个msp430工作集成了1.8V输出的低功耗线性稳压器为PHY和PLL模块供电。可工作与总线供电或自供电模式3.3V输出的线性稳压器电流限制功能USB上电时自唤醒功能(系统没上电时)内部48MHZ的USB时钟集成可编程锁相环(PLL)高度自由化的输入时钟频率,可使用低成本晶振1904字节独立USB端点缓存,可以每8个字节为单位进行配置内置62.5ns精度的时间戳生成器当USB模块禁止时:缓存空间被映射到通用RAM空间,为系统提供额外2KB的RAMUSB功能脚变为具有高电流驱动能力的通用IO口USB模块的结构图见Figure1-11.2USB操作USB模块是一个全功能全速并且完全符合USB2.0协议的一个设备。USB引擎完成所有USB相关的数据传输,它由USB串行接口引擎和USB缓冲管理器,USB接收到的所有数据包被重新整理合并后放入接收缓存的RAM中,而在缓存中被标识准备就绪的数据被打包放入一系列的数据包后发送给其它USB主机。USB引擎需要一个精确的48MHz的时钟信号供采样输入的数据流使用,这个时钟信号由外部晶振源(XT1或XT2)产生的时钟信号通过锁相环后得到,但是要产生所需频率,要求锁相环的输入信号频率要大于1.5MHz。锁相环的输出频率可以在很宽的范围内,非常灵活,允许用户在设计中使用低成本的晶振电路。注意:有些设备的XT1仅支持低频率工作模式,PLL(锁相环)模块的输入只能是高频率工作模式的时钟源,因此对于这些设备只能使用XT2作为USBPLL的输入,XT1(高频模式)和XT2的旁路模式(bypassmode)同样被PLL模块支持,具体请参考设备对应的芯片手册。USB缓存是USB接口和应用软件交换数据的地方,也是7个节点被调用的地方。缓存被设计成可被CPU或DMA以访问RAM的方式访问。1.2.1USB收发器(PHY)物理层的USB收发接口是一对直接从3.3V电压VBUS取电的差分线,数据线连接到外部DP和DM引脚,从而构成USB信号传输机制的接口。当寄存器红PUSEL位置1时,DP和DM被配置成USB的驱动线,受USB模块的控制,当PUSEL位被清零时,这两个引脚就变为具有强电流驱动能力的端口U,其行为被UPCR寄存器控制。端口U从VUSB获取电源,独立于DVCC。这两个引脚无论是用于USB功能还是用作通用IO,都要使用内部稳压器或外部电源源给VBUS提供合适的供电。使用PUR引脚将D+上拉当一个全速的USB设备连接到主机时,为了使主机能够识别,它必须将主机的D+信号上拉。MSP430单片机的USB模块有一个可软件控制的上拉引脚,通过外接一个电阻即可实现该功能。该功能通过控制寄存器的PUR_EN位实现。如果该功能不需要软件控制,可以将D+接至VBUS完成上拉。电流过载时的保护USB设备必须能够忍受接入具有破坏性的线路时而不被损坏,因此,人们在供电线GND和VBUS上采取了保护措施。USB设备的电气和物理特性应该能够不被此类事件所破坏。为此,MSP430单片机的USB供电系统实现了一套电流限制机制来保证当此类短路事件发生时通过收发器的电流不会过大,有了这套机制,接口本身就不需要实现电流限制的功能了。注意,如果VBUS是使用外部供电源而非内部稳压器输出,那么该外部源就要有一套自己的电流限制功能,为USB接口实现同样的保护功能。端口U的控制当PUSEL被清零时,端口U(PU0、PU1或DP、DM)用作具有高电流驱动能力的通用IO,PUDIR控制着端口U的输出使能。该端口既可用于输出,也可用于输入,当配置为输入时,读取PUIN0/1的值可以获得输入值,如果用作输出,输出的值也会反映在PUIN0/1中。当PUDIR置位时,端口U都被配置为输出口,使用PUOUT0和PUOUT1控制。当输出高电平时,输出和VBUS同轨(电平一致),电流驱动能力比普通的IO口要高很多,具体参数请参考相应芯片手册。PUDIR的缺省值是0,因此PU0和PU1在USB模块禁用时呈高阻态。1.2.2USB供电系统USB模块的供电系统内含双稳压器(3.3V和1.8V),当5V的VBUS可用时,允许整个MSP430从VBUS供电。作为可选的,供电系统可以只为USB模块供电,也可以在一个自供电设备中完全不被使用。供电系统的结构图如Figure1.2。内部3.3V稳压器从5V的VBUS取电并供给收发器和外部VUSB引脚。使用该稳压器能够避免使用外部供电时高负载通过收发器和锁相环,因此在电池供电设备中非常有用。内部1.8V稳压器取电于VUSB引脚(VUSB引脚取电于内部3.3V稳压器或外部源),并给USB的锁相环和收发器提供电源。1.8V的稳压器独立于MSP430电源管理模块内部的稳压器。稳压器模块的输入输出如Figure1-2所示,VBUS,VUSB和V18需要连接外部的电容。V18引脚仅仅设计成用来挂接一个外部负载电容,而不具备给其它模块供电的能力。使能/禁止3.3V的稳压器通过设置VUSBEN来使能或禁止。但是如果检测到VBUS的电压过低或不存在,即使稳压器使能也会挂起。当VBUS电压升高至USB电源最低水平时,稳压器的电压参考和低电压检测将会工作。当VBUS电压升至更高达到起始电压Vlaunch,稳压器模块正常工作(参见Figure1-3)。1.8V稳压器可以通过设置SLDOEN控制使能和禁止。默认地,SLDOEN自动随着VBUS的电压是否可用变化,这项特征通过SLDOAON控制。如果VUSB不是从内部3.3V稳压器而是从外部源供电,请谨记如果VBUS没有和外部5V电源连接,1.8V的稳压器不会自动工作,这种情况下,VBUS必须连接至USB总线电源或SLDOAON位清零,SLDOEN置位。当外部设备从USB的VBUS线获得电源时,需要在进入终端设备前经过一个肖恩特二极管,避免了电流从稳压器的输入端窜入USB总线的VBUS,这就允许MSP430能够和挂起或未上电的USB总线设备保持电气特性的连接。通过USB总线的VBUS为MSP430的其余部分供电3.3V稳压器的输出达到了与DVCC同轨,可以用于为整个MSP430设备供电。要实现该功能,要求VUSB和DVCC在外部被连接在一起,此时3.3V的稳压器输出供电给DVCC(参见Figure1-4)。当MSP430这样连接时,当VBUS上的电压上升到Vlaunch及其以上时,如果Vcore信号没有电压供给,就意味着单片机系统尚未上电工作,3.3V稳压器和1.8V稳压器就会自动开始工作,给单片机系统提供电源。注意如果单片机使用这种从VUSB取电的方式,当试图把单片机置于低功耗模式LPM5时,会导致系统立刻重起,这是因为当进入LPM5时,创造了上面所描述的自治条件的特性(Vcore无电压而VBUS可用),于是会引起系统立刻重起。如果DVCC从VBUS获得电源,用户就要负责从VBUS上取得的电流的总大小小于IDET。通过USB总线的VBUS为MSP430外部组件供电MSP430内部3.3V的稳压器不仅能提供整个单片机正常工作的电流,而且有充足的余量通过VUSB引脚为MSP430外部的组件供电。如果整个系统的工作总是伴随USB的工作,系统就不再需要其他的电源。但如果系统的USB只是偶尔被连接使用并且系统是有电池来供电,3.3V的稳压器能够接替电池的负载。再者,如果电池是可充电的,VBUS还可以对其进行充电。限流和过载保护内置3.3V稳压器的电流限制功能在线路短路时可以起到保护收发器的功能。短路或过载事件(当稳压器的输出电流达到或超过IDET时)通过VUOVLIFG标志位传递给软件。当该事件发生时,由于电流的供应不足,USB设备的操作是不可靠的,此时软件很可能要终止USB操作,USB模块提供了该功能,通过设置OVLAOFF位,USB操作就通过VUSBEN清零自动被终止了。在过载条件下,VBUS和V18电压都会低于正常输出水平。如果DVCC仅仅只从VBUS取电,系统会不断重复地被触发重起,只要短路或过载条件存在。因此,固件应该在检测到过载后避免重新使能USB设备,直到该错误消失。USB系统的VBUS和DVCC都配有降压电路,它们承载着更高的电压。最后,使用者应注意保证从VBUS获取的电流不会超过IDET。1.2.3USB锁相环(PLL)PLL锁相环模块为USB操作提供高精度低抖动的时钟。(参见Figure1-5)外部的参考时钟通过UPCS位进行选择,允许使用两个外部晶振之一作为参考时钟源。一个受UPQB位控制四位的预分频计数器允许对参考时钟进行分频产生PLL的更新时钟。UPMB位控制着反馈回路上的分频因子和PLL的倍频因子(参见公式1-1)。式中:CLKSEL是所选的参考时钟源频率(XT1CLK或XT2CLK);DIVQ的值来源于Table1-1;DIVM代表寄存器中UPMB域的值;如果USB设备的操作是在总线供电的模式下,为了使USB的电流消耗小于500uA,有必要禁止PLL工作,通过UPLLEN位可使能或禁止PLL。为使能鉴相器,PFDEN位必须置位。信号失锁,输入信号无效和超出正常工作频率会反映在对应的中断标志位OOLIFG,LOSIFG和OORIFG上。注意:UCLKSEL默认值为零,并应该总是这样,并且所有其它可能的组合值都是保留的,以备以后扩展所使用。修改分频器分频系数在设置所需PLL的频率时,更新UPQB(DIVQ)和UPMB(DIVM)值的动作必须同步进行,以避免寄生频率的残留。UPQB和UPMB的值经计算后先写入缓冲寄存器;最后通过写UPLLDIVB同时更新UPQB和UPMB的值。PLL错误的标志PLL可以检测三种错误:当频率在连续4个更新周期在同一方向上修正时,将检测到失锁错误;当频率在连续16个更新周期在同一方向上修正时,将检测到信号失效;当频率在连续32个更新周期内美有被锁住,将检测到信号超出正常工作频率范围。这三种错误将触发它们对应的中断标志位(USBOOLIFG、USBLOSIFG、USBOORIFG)置位,如果对应的中断使能位(USBOOLIE、USBLOSIE、USBOORIE)置位,将触发相应的中断。PLL启动顺序推荐使用下面的操作顺序以获得最快的PLL启动:1.使能VBUS和V18.2.等待外部电容充电2毫秒,以使VUSB就位。(在这期间可以初始化USB寄存器和缓存。)3.激活PLL,使用所需的分频值。4.等待2毫秒并检查PLL,如果仍然保持锁定状态,就可以被使用了。1.2.4USB控制器引擎USB控制器引擎将到达USB设备的数据包转移到USB缓冲空间中,同时将有效数据从缓冲空间发送给USB接口。控制引擎拥有专用固定的缓冲空间为输入端点0和输出接点0所使用,端点0是默认的USB传输控制接点。其余的14个端点(7个输入,7个输出)可能被指派一个或更多的USB缓冲空间,所有的缓冲空间都位于USB的缓冲存储器中,USB缓冲存储器被设计成可多端口访问的,既可以被USB控制器访问,同时也可以被CPU和DMA访问。每个端点都有一个专用的描述寄存器用来描述该端点的使用(参见Figure1-6)。各端点的配置通过设置对应的描述寄存器完成,这种包含下一次收发操作将用到的缓存地址的数据结构存放于USB缓冲存储器中。给一个端点指派1个或2个64字节的数据缓存块,在配置后不需要额外的软件干预,但如果需要指派3个或更多的

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功