0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB连接MCU的:哪个更适合你的下一个设计?

jf_pJlTbmA9 来源:网络 作者:网络 2023-11-03 16:17 次阅读

几乎所有的现代系列MCU具有USB外设。因为USB是一个标准的,则可能期望所有USB实现都是相同的。如果是的话,你会通过各种符合标准,而且还提供了额外的功能和特性,可能只是做一个特定的MCU适合您的下一个设计的实现惊讶。本文将介绍一些差异化的USB功能,你会发现,在流行的MCU系列。一旦你了解一些关键的不同,你可以更好地寻找,将提供完美的适合你的下一个设计的实现。

USB基础知识

同时在硬件和软件的水平 - 通用串行总线或USB,已由于其简单的物理层接口,它的灵活性,并且易于整合越来越流行。标准化和集成连接器可以很容易地接口的MCU的USB连接线,共同驱动程序和应用程序接口,或API,可以很容易地访问通过USB连接来传输和接收信息的数据包所需要的数据和控制元件。现成的参考设计,评估板和代码示例进一步简化基于MCU的实施。最近引入的在USB 3.1标准,具有高达10 Gbit / s的数据信号速率示出了标准的不断发展和可能是左右对许多,许多年。

USB使用非对称拓扑结构,包括一台主机的在连接“金字塔”,用于管理整个网络的顶部。下游的USB端口(通常称为器件或功能)中的所有连接成直接主机或经由中间集线器,可以在星型拓扑扩展网络。主机可以有多个主机控制器,每个控制器管理多达127个端口。 USB通信使用的管道,或逻辑信道,即一个主控制器和一个设备的端点之间进行连接。 USB设备最多可以有32个端点(在16和16出)。有两种类型的管道:一个流,以用于数据传输,以及一个消息,用于短命令和状态转移。数据传输可以是同步(以保证数据速率),中断传输(当需要快速,低延迟的传输),或批量传输(通常用于文件传输,其中的延迟和数据传输速率并不重要)。

之一的USB标准的更多有用的方面是,有多个数据传输速率可能的(低速1.5 Mbit / s的,全速在12兆比特/秒,高速在480兆比特/秒,超5 Gbit / s的,和超高速+个10Gbit / s)和主机可以确定用于使用特殊枚举过程的每个设备的数据速率。这简化了连接管理和便于应用程序集中于刚传输数据,而不是管理建立低层的物理连接。

一些产品培训模块可从Digi-Key的讨论显著详细的USB标准(从FDTI和伍尔特电子,等等),如果读者希望深入挖掘。然而,这篇文章的目的,上述描述足以让我们来看看一些不同的特点和基于微控制器的USB外设功能,以更好地满足特定应用的要求,具有最佳的USB-实现功能设置。

USB实现

对于一些USB的基本知识的了解,我们就可以开始看看不同类型的MCU供应商在他们的设备所提供的实现。因为微控制器经常被发现控制USB外围设备,如传感器,指点设备和音频设备(仅举几例),而不是在主机控制器更经常在个人电脑和手持设备发现我们将通过观察一个示例函数实现启动在Spansion的FM3 MCU系列中,尤其是Spansion公司MB9AF3 MCU。

Spansion的MB9AF3 MCU采用了ARM的Cortex-M3的CPU,并拥有多种先进的外设,包括电机控制定时器,高速ADCUART,SPI,I2CDMA,和外部总线接口。一个USB外设同时具有一个主机和功能接口和功能的方框图显示在图1中。的CPU接口,在右侧的图,可以访问端点缓冲器,其中数据传输的位置。进出缓冲器是由经由UDC接口的USB数据控制器(UDC)管理。中断可用于通知的数据传输的状态的CPU和在CPU接口提供从CPU或DMA控制器访问缓冲器。

Spansion公司MB9AF3 MCU USB功能框图

该飞索USB实现的关键要素是源USB时钟,端点,缓冲器的数量,和DMA访问到端点缓冲器。这些特征可以,因为它们不是由USB标准规定不同MCU供应商之间变化。例如,USB时钟由片上PLL可使用MCU的主时钟源,。这消除了对外部时钟减少了元件数量。并非所有的USB外设包括此功能。

最后,USB实现之间的差异化的公共区域包括使用DMA的。常它是更有效的有来自CPU的独立管理,从而CPU可以操作的其它更复杂的任务,或可放在一个低功耗状态,直到有足够的数据可开始处理端点缓冲区。该MB9AF3 MCU提供了访问端点缓冲区的DMA控制器,还提供了一些中断,可用于更轻松地管理缓冲区传输。寻找这些功能时,电源效率是您的应用程序的关键。

端点控制

您需要端点的数量可以选择您的USB外设时,是一个关键的区别。的灵活性有与每个端点的量可以是在选择中的一个重要因素,也是。例如,赛普拉斯PSoC CY8C24794有一个USB外设有五个端点和每个人都可以被单独分配响应中断,批量或同步IN或OUT请求。图2示出了各种可分配给每个端点任务。选择性这一级别避免了显著量的,否则将被需要的确定任务的类型,然后控制转移到所需的常规处理器开销。

表赛普拉斯的PSoC CY8C24794(点击查看全尺寸)

Cypress的USB实现使用共享内存来存储端点数据,这可能会导致访问瓶颈,但使用的PSoC存储器仲裁(PMA)的优先处理器和USB外围设备之间的访问。这保证了移动指令由处理器连续流甚至在USB流量的最大速率处理将进行维修

所述USB PMA具有足够的灵活性,使得端点数据不需要被处理接收到下一USB分组之前。这是通过简单地改变信道的写入位置或读位置寄存器值完成的。例如,当一个中断收到的资料表明,一个包已经收到,而不是处理数据,然后使终端接收更多的数据,你可以简单地改变写地址所使用的端点自由区的PMA通道的USB内存。通过这样做,你让USB SIE接收更多数据,而M8C正在处理先前接收的数据。类似的方法可用于制备数据到由IN事务的方式被发送。

当比较端点实现确保你不仅要看支持的端点的数量,而且在灵活性和软件支持USB外设提供量。这可以提高性能,降低功耗,并简化编码。

USB在旅途中

USB也发展到可以很容易地创建智能的USB设备,可以在任何一个主机或功能模式动态连接。这个“在转到”的能力使得有可能使用该设备作为外设(也许作为存储装置),然后作为宿主(或许以控制和功率的传感器,记录心脏速率活性)。这种能力是在各种的IoT应用中特别有用。 MicrochipDSPIC33EP256 MCU,例如,支持USB主机,设备和外出模式。在许多情况下,这样就可以看到什么低功耗的设施,可为USB外设是重要的低功率运行是在旅途中应用很重要。

Microchip的DSPIC33EP256 MCU使USB外围设备来操作,即使在一些低功耗模式。例如,当CPU被放置在空闲模式的周仍可操作。在空闲模式下,CPU的时钟被切断,并大大降低了这种动态功耗。 USB模块可以继续运行,当CPU处于空闲状态,一旦收到需要CPU干预的消息时,CPU可以带出空闲的。 USB外设和CPU都可以放在一个更低的功耗状态,睡眠,甚至更多的权力将被保存。该USB活动中断可用于从休眠模式唤醒器件,只要有USB总线上的总线活动。

您可能需要从您的USB外设的另一项功能是先进的测试功能。特别是,如果您使用的是USB首次一些你可能要具体包括板级测试功能的USB端口。 Microchip的DSPIC33EP256 MCU有一个特殊的USB测试模式,可以产生对USB输出即用于板级测试有用的连续测试码模式。正如图3此测试模式生成连续的JK / JK位序列来切换USB输出产生一个简单的“眼图”常用来测试信号的完整性。

Microchip的DSPIC33EP256单片机

USB高端微控制器

USB不仅在低收入和中端MCU的发现,它是高端设备的一个非常有用的接口也是如此。例如,德州仪器F28M35H52C1RFPT是一款双核MCU具有非常先进的处理能力,它包括一个USB外设与在转到能力。如图中F28M35H52C1RFPT(图4)的框图,USB外设,在图的左上方,经由从AHB总线矩阵访问的AHB总线连接到ARM Cortex-M3的CPU。

德州仪器的框图F28M35x协奏曲MCU(点击查看全尺寸)

在ARM Cortex-M3 CPU充当通道控制器,负责管理所有的通信端口。这是当USB包含在高端设备,使得USB通信可以正确地对所有其他的,竞争的,通信端口进行优先排序的一个重要功能。例如,通常的USB端口用于外部文件存储和数据传输活动,可能需要提出了很高的优先级,以便处理不拖延数据缺乏。

结论

有许多不同的方法来实现USB和了解一些通过各种MCU系列提供的主要功能和差异化的功能是非常重要的。这是很容易找到合适的适合你的下一个USB应用,当你知道了一些最常见和最重要的差别。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17109

    浏览量

    350891
  • usb
    usb
    +关注

    关注

    60

    文章

    7927

    浏览量

    264403
收藏 人收藏

    评论

    相关推荐

    交叉导轨VS直线导轨:哪个更适合的应用?

    交叉导轨和直线导轨两者都归属于导轨这个大类目,既有相类似的特点,也有不同的优势
    的头像 发表于 12-03 17:54 151次阅读
    交叉导轨VS直线导轨:<b class='flag-5'>哪个</b><b class='flag-5'>更适合</b><b class='flag-5'>你</b>的应用?

    给您下一个FPGA项目选择Pluto XZU20五大理由!

    您的下一个FPGA项目从PlutoXZU20开始1.屡获殊荣PlutoXZU20凭借其卓越的设计和性能,在2024年北美嵌入式世界大会上被评为“最佳展品”。2.迷你外形PlutoXZU20外形超紧凑
    的头像 发表于 11-19 01:01 166次阅读
    给您<b class='flag-5'>下一个</b>FPGA项目选择Pluto XZU20五大理由!

    如何选择适合MCU

    开始选择MCU之前,首先要明确的应用需求。这包括: 性能需求 :的应用需要多快的处理速度?MCU的主频和指令集架构(ISA)将直接影响性能。 功耗要求 :低功耗设备可能需要低功耗的
    的头像 发表于 11-11 14:49 279次阅读

    HDMI vs DisplayPort:谁更适合的电脑和电视?—— 山泽为解答

    在选择连接电脑和电视的接口时,HDMI和DisplayPort是两常见的选项。它们各自有哪些优缺点?哪更适合?让我们
    的头像 发表于 10-23 14:25 267次阅读

    使用tSPI协议减少下一个多电机BLDC设计的布线

    电子发烧友网站提供《使用tSPI协议减少下一个多电机BLDC设计的布线.pdf》资料免费下载
    发表于 09-26 10:40 0次下载
    使用tSPI协议减少<b class='flag-5'>下一个</b>多电机BLDC设计的布线

    聚徽-OLED 屏幕和 LED 幕哪个适合户外

    OLED 屏幕和 LED 屏幕在户外使用上的适用性各有特点,但般来说,LED 屏幕更适合户外使用。
    的头像 发表于 09-18 10:56 263次阅读

    能否在ESP结束之前通过串行端口停止传入的UDP数据包的传输以解析下一个UDP数据包?

    丢弃在ESP完成之前不需要的数据包,以便通过串行端口发送它以接收下一个数据包, 如果没有,我必须按顺序读取所有传入的数据包,需要的和不需要的, 而且波特率不足,主机处理器开销大, 我能否在 ESP 结束之前通过串行端口停止传入的 UDP 数据包的传输以解析下一个 UDP
    发表于 07-16 06:18

    一下一个单片机的io口分别控制四灯板该怎么设计电路?

    各位大佬,我想问一下一个单片机的io口分别控制四灯板该怎么设计电路,每个灯板上有四种不同类型的灯,每种类型的灯有两都通过三极管来驱动,那么每种类型的灯都连接到同
    发表于 07-15 19:03

    带通滤波器和带阻滤波器哪个更适合音频处理?有什么区别?

    带通滤波器和带阻滤波器哪个更适合音频处理?有什么区别?跟着维爱普小编起来了解下吧:
    的头像 发表于 04-07 09:28 1087次阅读
    带通滤波器和带阻滤波器<b class='flag-5'>哪个</b><b class='flag-5'>更适合</b>音频处理?有什么区别?

    高速风筒的下一个风口是直发吹风机?【其利天下技术】

    去年12月,戴森公司推出款宣称“在吹干湿发的同时实现头发拉直效果”的吹风直发器,解决了‘先吹发,后造型’的用户痛点,引发了行业内外广泛关注热议。这款吹风直发器在电吹风行业中尚属首例,确实是创新型产品。这款被誉为“新物种”的
    的头像 发表于 03-25 21:13 1184次阅读
    高速风筒的<b class='flag-5'>下一个</b>风口是直发吹风机?【其利天下技术】

    华为正接洽收购高合汽车 目标“打造下一个赛力斯”?

    据中工汽车网获悉,2月27日,在片唱衰高合汽车的舆论浪潮下,网络上又出现了华为正接洽收购高合汽车,并且目标“打造下一个赛力斯”的消息。
    的头像 发表于 02-28 14:14 902次阅读
    华为正接洽收购高合汽车 目标“打造<b class='flag-5'>下一个</b>赛力斯”?

    stm32h750如何使用两usb口?

    我现在在使用stm32h750芯片,想要使用两usb口,作为device连接电脑,
    发表于 02-26 06:51

    如何更改USB连接速度?

    现在我的 USB 枚举成功了,我想注册控制传输命令,以便在 USB 2.0 和 USB 3.0 之间自由切换
    发表于 02-26 06:26

    如何排查GD32 MCU复位是由哪个复位源导致的?

    上期为大家讲解了GD32 MCU复位包括电源复位和系统复位,其中系统复位还包括独立看门狗复位、内核软复位、窗口看门狗复位等,在GD32系统中,如果莫名其妙产生了MCU复位,如何排查
    的头像 发表于 02-03 09:46 1697次阅读
    如何排查GD32 <b class='flag-5'>MCU</b>复位是由<b class='flag-5'>哪个</b>复位源导致的?

    USB连接器是什么 为什么usb连接器固定pin不样?

    USB连接器是种通用串行总线接口,用于规范电脑与外部设备的连接和通讯。
    的头像 发表于 01-28 15:01 2057次阅读