浅谈MCU 系列中的差异化USB功能_第1页
浅谈MCU 系列中的差异化USB功能_第2页
浅谈MCU 系列中的差异化USB功能_第3页
浅谈MCU 系列中的差异化USB功能_第4页
浅谈MCU 系列中的差异化USB功能_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅谈MCU系列中的差异化USB功能几乎每个现代MCU系列都有一个USB外设。由于USB是一种标准,您可能会认为所有USB实现都是相同的。如果是这样,您会对满足标准的各种实现感到惊讶,而且还提供额外的功能和特性,这些功能和特性可能会使特定的MCU非常适合您的下一个设计。本文将介绍流行的MCU系列中的一些差异化USB功能。一旦您了解了一些关键差异,您就可以更好地寻找能够为您的下一个设计提供完美契合的实施方案。USB基础知识通用串行总线或USB因其简单的物理层接口、灵活性和易于集成(无论在硬件和软件级别)而越来越受欢迎。标准化和集成的连接器可以轻松地将MCU连接到USB电缆和通用驱动程序和应用程序接口或API,从而可以轻松访问通过USB连接传输和接收信息包所需的数据和控制元素。现成的参考设计、评估板和代码示例进一步简化了基于MCU的实施。最近推出的数据信号传输速率高达10Gbit/s的USB3.1标准表明该标准在不断发展,并且可能会存在很多很多年。USB使用非对称拓扑,由位于连接“金字塔”顶部的主机组成,管理整个网络。下游USB端口(通常称为设备或功能)都直接或通过可以扩展星型拓扑网络的中间集线器连接到主机。一个主机可能有多个主机控制器,每个控制器最多可管理127个端口。USB通信使用连接主机控制器和设备端点的管道或逻辑通道。一个USB设备最多可以有32个端点(16输入和16输出)。有两种类型的管道:用于数据传输的流和用于短命令和状态传输的消息。数据传输可以是同步的(有保证的数据速率)、中断传输(需要快速、低延迟的传输时),USB标准更有用的方面之一是可能有多种数据速率(1.5Mbit/s的低速、12Mbit/s的全速、480Mbit/s的高速、5Gbit/s的超速、和10Gbit/s的SuperSpeed+),并且主机可以使用特殊的枚举过程确定每个设备的数据速率。这简化了连接管理,并使应用程序可以轻松地专注于仅传输数据,而不是管理低级物理连接的建立。如果读者希望深入了解,Digi-Key提供了几个产品培训模块,其中详细讨论了USB标准(来自FDTI和WurthElectronics等)。然而,就本文而言,上述描述应该足以让我们了解基于MCU的USB外设的一些不同特性和功能,以更好地匹配特定应用的要求和最佳USB实现特性放。USB实现了解了USB的一些基础知识后,我们可以开始了解MCU供应商在其设备中提供的不同类型的实现。由于MCU通常用于控制USB外围设备,例如传感器、指针设备和音频设备(仅举几例),而不是PC和手持设备中更常见的主机控制器,因此我们将从查看示例功能实现开始SpansionFM3MCU系列,特别是SpansionMB9AF3MCU。SpansionMB9AF3MCU使用ARM-Cortex-M3CPU并具有多个高级外设,包括电机控制定时器、高速ADC、UART、SPI、I2C、DMA和外部总线接口。USB外设同时具有主机和功能接口,功能框图如下图1所示。图右侧的CPU接口可以访问数据传输所在的端点缓冲区。进出缓冲区的移动由USB数据控制器(UDC)通过UDC接口进行管理。中断可用于向CPU通知数据传输的状态,并且CPU接口提供对来自CPU或DMA控制器的缓冲区的访问。

图1:SpansionMB9AF3MCUUSB功能框图。(由Spansion提供)SpansionUSB实现的关键要素是USB时钟源、端点缓冲区的数量以及对端点缓冲区的DMA访问。这些功能在不同的MCU供应商之间可能会有所不同,因为USB标准没有指定这些功能。例如,USB时钟由片上PLL提供,该PLL可以使用MCU的主时钟源。这消除了对外部时钟的需求,从而减少了组件数量。并非所有USB外围设备都包含此功能。从图1中,您还将看到有六个端点缓冲区。可用缓冲区的数量因实现而异。对于简单的应用程序,少量缓冲器可能就足够了,但可能需要多个缓冲器,这可能是因为存在多个元素(例如,由MCU管理的多个不同传感器),或者因为多个缓冲器将通过以下方式简化软件实现分离单个外设的不同应用。最后,USB实现之间的一个共同差异领域涉及DMA的使用。通常,独立于CPU管理端点缓冲区会更有效,这样CPU可以执行其他更复杂的任务,或者可以将其置于低功耗状态,直到有足够的数据可用于开始处理。MB9AF3MCU提供对DMA控制器的端点缓冲区的访问,并提供多个中断,可用于更轻松地管理缓冲区传输。当电源效率对您的应用至关重要时,请寻找这些功能。端点控制在选择USB外围设备时,您需要的端点数量可能是一个关键的区别。每个端点的灵活性也是您选择的一个重要因素。例如,赛普拉斯PSoCCY8C24794有一个带有五个端点的USB外设,每个端点都可以单独分配以响应中断、批量或同步IN或OUT请求。图2显示了可以分配给每个端点的各种任务。这种选择性水平避免了大量的处理器开销,否则将需要这些开销来确定任务的类型,然后将控制权转移到所需的例程。

图2:赛普拉斯PSoCCY8C24794的USB工作模式表。(由赛普拉斯提供)赛普拉斯USB实现使用共享内存来存储端点数据,这可能会导致访问瓶颈,但使用PSoC内存仲裁器(PMA)会优先处理处理器和USB外设之间的访问。这保证了即使在USB流量以最大速率处理时,处理器也将提供连续的移动指令流。USBPMA足够灵活,因此在接收到下一个USB数据包之前不需要处理端点数据。这可以通过简单地更改通道的写入位置或读取位置寄存器值来完成。例如,当接收到一个中断表明已经接收到一个数据包时,而不是处理数据然后使端点接收更多数据,您可以简单地将端点使用的PMA通道的写入地址更改为空闲区域USBRAM的。通过这样做,您可以让USBSIE在M8C处理先前接收的数据时接收更多数据。类似的方法可用于准备要通过IN事务发送的数据。在比较端点实现时,请确保您不仅查看支持的端点数量,还查看USB外围设备提供的灵活性和软件支持量。这可以提高性能、降低功耗并简化编码。随身携带的USBUSB也已经发展到可以轻松创建可以以主机或功能模式动态连接的智能USB设备。这种“OntheGo”功能可以将设备用作外围设备(可能作为存储设备),然后用作主机(可能控制记录心率活动的传感器并为其供电)。此功能在各种物联网应用中特别有用。例如,MicrochipDSPIC33EP256MCU支持USB主机、设备和OntheGo模式。在许多情况下,低功耗操作对于OntheGo应用程序很重要,因此了解USB外设可以使用哪些低功耗设施非常重要。MicrochipDSPIC33EP256MCU允许USB外设即使在某些低功耗模式下也能运行。例如,当CPU处于空闲模式时,外设仍然可以运行。在空闲模式下,CPU时钟被关闭,这大大降低了动态功耗。当CPU空闲时USB模块可以继续工作,一旦收到需要CPU干预的消息,就可以将CPU带出空闲状态。USB外围设备和CPU都可以进入更低的功耗状态,即睡眠,这样可以节省更多的电量。每当USB总线上有总线活动时,USB活动中断可用于将设备从睡眠模式唤醒。您可能需要USB外围设备的另一项功能是高级测试功能。特别是,如果您是第一次使用USB,有些人可能希望包含专门针对USB端口的板级测试功能。MicrochipDSPIC33EP256MCU具有特殊的USB测试模式,可以在USB输出上生成连续测试模式,这对于板级测试很有用。如图3所示,此测试模式生成连续的JK/JK位序列来切换USB输出,从而生成一个简单的“眼图”,通常用于测试信号完整性。

图3:MicrochipDSPIC33EP256MCUUSB测试模式。(由微芯片提供)高端MCU中的USBUSB不仅存在于低端和中端MCU中,它也是高端设备的一个非常有用的接口。例如,德州仪器F28M35H52C1RFPT是一款具有非常先进的处理能力的双核MCU,它包括一个具有OntheGo功能的USB外设。如F28M35H52C1RFPT的框图(图4)所示,该图左上角的USB外设通过从AHB总线矩阵访问的AHB总线连接到ARMCortex-M3CPU。

图4:德州仪器F28M35xConcertoMCU框图。(德州仪器提供)ARMCortex-M3CPU充当通道控制器,负责管理所有通信端口。当USB包含在高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论