打印
[PIC®/AVR®/dsPIC®产品]

串行转换器在基于MCU的系统中启用USB连接

[复制链接]
634|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Orchids|  楼主 | 2020-2-21 17:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

串行转换器在基于MCU的系统中启用USB连接




USB连接在PC和消费者市场中无处不在,设计团队在一系列嵌入式应用程序中工作以将USB添加到设计中有充分的理由。嵌入式设计可以充分利用使USB成为通用即插即用互连的巨大努力。此外,该接口还提供通过单根电缆分配电力和处理数据的能力 - 这是大多数传统串行接口所缺乏的功能。让我们考虑可用于为基于MCU的设计以及与MCU一起使用的外围产品添加USB支持的不同选项。

尽管如此,Microchip PIC10和PIC12 8位产品线中的许多低端MCU都缺乏USB支持,但包括其他串行接口,如SPI(串行外设接口)。此外,设计团队可以选择对设计进行分区,包括在主系统中使用支持USB的MCU,同时在位于USB电缆另一端的目标设备中添加模块化外设功能,以方便地提供电源和数据。


USB转UART桥接器最基本的桥接IC是一个简单的USB转UART桥接器,例如Silicon Labs的CP21xx系列产品,包括CP2101,CP2102,CP2103,CP2104,CP2105和CP2110 IC。典型实现如图1所示。当与外部收发器一起使用时,桥接器直接支持RS-232接口和其他选项。例如,如果您有一个依赖于串行通信的传统MCU设备,CP21xx系列可以轻松地将设计转换为USB连接,并且IC支持虚拟COM端口(VCP)功能。

图1:Silicon Labs CP21xx系列USB转UART桥接IC允许设计团队在具有传统串行接口的外设中添加USB支持。

家庭成员的差异归结为I/O功能和内存。例如,所有家庭成员都包括可用于存储USB特定数据的EEPROM,例如供应商ID甚至电源描述符。内存配置从296到1024位不等。

USB供应商IC,设备类型和其他数据不必在专用嵌入式应用程序中使用,但如果设备设计旨在用于USB主机的一般用途,则应使用该标准符合标准。这些IC提供从CP2101/02上的0个通用I/O线到CP2110上的10个I/O线。您可以使用这些I/O线来满足状态和控制需求。

通过SPI等接口实现的USB连接可以支持更高的数据速率。包括Maxim和Microchip在内的许多公司都有基于SPI的USB IC。几乎所有较新的MCU都包含SPI接口。


主机或目标

例如,Maxim提供MAX3420E和MAX3421E USB控制器,可为任何具有SPI端口的处理器系统增加USB支持。这些IC使用SPI时钟,最高可达26 MHz。 SPI实现是从模式接口,这意味着USB控制器需要MCU中的SPI主控制器或系统中的其他处理器。

基于MAX3420E的简单USB总线供电小部件只需要处理器,以及一个从USB电缆获得3.3 V VDD电源的稳压器。 MAX3420E IC仅用于USB外设或目标器件应用。集成的USB全速收发器支持12 Mbit/s速率。该IC支持三线和四线SPI实现。它还包括四个通用I/O线。

对于USB主机实现,Maxim提供MAX3421E。该IC包括8个通用I/O线。 I/O线可用于多种用途,但在某些情况下,允许主机MCU基本上回收MCU中不可用的I/O线,因为引脚专用于SPI链路。另请注意,Maxim的两个USB IC都包含内部信号电平转换器,因此SPI链路可以在1.4到3.6 V的电压范围内工作。


从模式SPI

同时,Microchip有几个USB-中心IC支持其在MCU领域的工作,包括MCP2200 USB转UART IC。 Microchip的最新产品完全不同,因为MCP2210 USB到SPI IC实现了SPI主模式链路。图2描绘了IC的框图。它集成了256个字节的EEPROM。

图2:Microchip推出的MCP2100 USB控制器IC包括一个主模式SPI实现,可与总线供电的目标器件中的传感器,数据转换器和其他外设结合使用。

该IC可用于与MCU连接,但也可用于直接控制具有各种外设功能的基于SPI的IC。例如,您可以使用IC设计目标器件中没有MCU的支持USB的数据采集模块。这样的模块可以部署基于MCU的控制系统,甚至可以部署在PC上。

考虑USB供电数据采集模块的可能性。例如,Microchip提供基于SPI的MCP3204 A/D转换器,可以作为MCP2100控制器的从器件进行部署。该四通道数据转换器将允许USB主机通过USB电缆捕获数据。

Microchip提供了许多其他基于SPI的外设,这些外设可以组合在这样的目标器件中。 MCP2100 USB控制器集成了9条通用I/O线。使用基于SPI的MCP23S08 I/O端口扩展器IC可以添加8条额外的线路。如果您想了解有关该主题的更多信息,我们在最近的TechZone**(“I/O端口扩展器在基于MCU的设计中提供灵活性”)中提供了端口扩展器,这些**可在Digi-Key库中找到。

您还可以为基于MCP2210的设备添加内存和传感器功能。 25LC02 SPI EEPROM集成了2k位存储器。传感器选项包括基于SPI的TC77温度传感器。 Microchip在MCP2100中集成了USB HID(人工输入器件)级支持,并提供可以快速启动器件设计过程的驱动器。

USB支持可以证明是所有类型的嵌入式应用程序中的一个有价值的功能。该接口可以消除在设备中单独包含电源的需要。您可以轻松地将USB主机功能添加到基于MCU的系统中。基于USB的目标设备可以与基于MCU的主机或PC同样良好地工作。虽然支持MCU的MCU可能是您在面对USB设计时的首选,但专用控制器IC可能是最佳选择,尤其是在您将旧设备改装为USB或者您的设计需要低成本小型MCU的情况下。


使用特权

评论回复
沙发
wangjiahao88| | 2020-2-22 09:22 | 只看该作者
MCP2210 USB到SPI IC实现了SPI主模式链路
请问一下 这个不需要编程吗?
如果不需要编程,那么SPI的四种模式该如何做呢?

使用特权

评论回复
板凳
goodluck09876| | 2020-2-22 09:26 | 只看该作者
MCP2100 USB控制器集成了9条通用I/O线。使用基于SPI的MCP23S08 I/O端口扩展器IC可以添加8条额外的线路------这个功能非常有用!

使用特权

评论回复
地板
goodluck09876| | 2020-2-22 09:27 | 只看该作者
同理,疑惑SPI的模式该如何设置。

使用特权

评论回复
5
zhuomuniao110| | 2020-2-23 19:55 | 只看该作者
理论学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

697

主题

993

帖子

4

粉丝