全速USB连接的光隔离研究

如果必须隔离也连接到pc的设备,则usb接口是自然的选择。usb广泛的行业支持和简单的结构(usb电缆中只有四根线)使其成为流行的pc接口。使用spi接口连接到嵌入式系统的usb控制器易于电气隔离。spi接口可以以任何速度运行,由简单的单向信号组成。
介绍
通用串行总线 (usb) 已成为将外围设备连接到个人计算机的标准方式。如果您需要对要连接到pc的设备进行电气隔离,usb是一种自然的连接接口,因为它具有广泛的行业支持。两个明显的隔离应用是医疗和工业,前者将基于 pc 的仪器连接到患者身上,后者可能发生较大的电源轨偏移。
usb 信令基础知识
usb 以三种速度运行:
低速,1.5mbps
全速,12mbps
高速,480mbps
本文讨论全速 (12mbps) usb 连接的光隔离。12mbps器件以足够的带宽工作,用于有用的数据传输,并采用的数据速率对于使用廉价光耦合器的设计来说是可管理的。
usb连接器包含四根导线:两根用于供电(vbus和gnd),两根用于移动usb数据(d+和d-)。vbus导线提供5伏电源,最高可达500毫安。d+和d-信号是双向的,以12mbps(每比特单元83ns)的信令速率工作。d+和d-信号电压为3.3v。
usb 隔离挑战
图1.有三种可能的接口可以隔离 usb 外设:站点 1,usb 总线本身;站点2,收发器接口;和站点 3,应用程序界面。在大多数当前设计中,sie和收发器是集成的,使得接口(2)无法访问。
usb外设是使用图1所示的框图构建的。从右到左考虑这个数字,usb收发器连接到d+和d-线,并在oe(输出使能)控制引脚的控制下驱动或接收数据。中间模块是usb串行接口引擎(sie),将总线信号(由收发器看到和发送)转换为数据字节和usb信号,供实现usb外设的应用使用。最左边的模块是应用电路,可能是微处理器、asic 或数字信号处理器 (dsp)。
标记为 1、2 和 3 的灰色矩形显示了放置光耦合器的三个可能位置,以将 usb 设备与主机电气隔离。
图2.此示波器迹线显示数据包开头的 usb d+ 和 d- 信号(图 1 中的站点 1)。83ns的位时间和紧密匹配的上升/下降时间使得难以通过光隔离器保持信号保真度。d+和d-是双向的,使隔离进一步复杂化。
站点 1
在usb总线线上光隔离不切实际有几个原因,如图2所示:
信号速率为12mhz,对于高性价比隔离器来说太高了。
d+和d-信号必须仔细匹配传播延迟和偏斜,这是光隔离器难以实现的。
情况更加复杂,因为总线是双向的,但隔离器是单向的。此外,在集成收发器的外设中,oe信号(指示方向)无法访问。
站点 2
使用外部收发器的 usb 外设公开收发器接口。因此,可以考虑将这些单向信号用于光隔离。然而,该站点存在与站点1相同的问题:数据速率太高,并且确实有更多的信号以12mhz运行需要隔离。vpo、vmo、rcv、vpi 和 vmi 都以 12mhz 速率运行,需要仔细匹配延迟和偏斜。此外,在将sie和收发器集成在同一芯片中的现代usb设计中,很少可以访问此接口。
站点 3
这是最有希望进行隔离的地方。该接口的运行速度可以比usb数据和线速慢,并且该接口可以完全由单向信号构建。事实上,理想的接口将使用少量单向信号,其工作速率远低于usb 12mhz信号速率。
满足这些要求的理想接口是spi(串行外设接口),最初由摩托罗拉定义,现在在许多半导体类型中广泛使用。spi由于其简单性和性能而是一个非常流行的接口。
spi 信令基础知识
spi 信号 描述 评论
ss# 从设备选择 选择用于数据传输的芯片,由主站提供
mosi 主输出从输入 单向数据引脚
miso 主输入从输出 单向数据引脚
sclk 串行时钟 串行时钟,由主机提供
表1显示了四个spi接口信号。spi是一个主从接口,其中主站发起并向单个从机执行事务。主机提供从选择(ss#)信号和串行时钟(sclk)以同步数据传输。spi接口有四种时钟模式,反映两种模式信号,称为cpol(时钟极性)和cpha(时钟相位)。这些信号以(cpol,cpha)的形式表示。
图3显示了微处理器和spi从器件之间的spi数据传输。图 3 使用最常见的 spi 模式 (0,0)。在模式(0,0)下,时钟处于低电平处于非活动状态,spi主机在第一个sclk正边沿之前提供mosi数据。spi数据在sclk下降沿上发生变化,并在主器件和从器件的上升沿上采样。
图3.在模式 (0,0) 下运行的 spi 接口。如果 sclk 信号设为低电平有效(静态为高电平),则同一接口可以在模式 (1,1) 下工作。这些低频信号易于光学隔离。
spi接口易于在任何微处理器上实现,即使是不包含硬件spi单元的微处理器。只需四个通用 io (gpio) 引脚即可构建图 3 信号,以及通过直接切换 io 引脚来读取和写入字节的子程序。
图4显示了当usb外设控制器使用spi接口时,spi和usb之间的数据速率差异。在此图中,控制微处理器用作usb键盘,并定期闪烁led。图5中的spi流量表示一次led闪烁(切换输出位);usb 流量是请求键盘数据的 usb 主机。
这两种总线之间的数据速率差异是巨大的。显然,较低频率的单向spi信号比12mhz双向usb总线信号更容易隔离。使用spi信号,隔离解决方案变得非常简单,可以定制为在任何频率下运行,以适应光隔离器的特性。
图4.spi数据速率与usb信令速率的比较。spi信号便于通过光耦合器传输。
产生图4的系统如何协调操作usb控制器的spi总线与usb信号速率之间的数据速率差异?usb的优点之一是它是“自节流”的,内置流量控制。它通过使用称为“nak”(否定确认)的握手来完成对数据流的控制,外围设备告诉请求数据的主机它尚未准备好数据,主机应稍后重试。
spi 数据速率和 usb nak
图5.usb 总线跟踪显示外设响应主机输入数据请求的速度较慢。主机请求数据包 362-364 中的数据。外设已准备好数据包420中的数据。中间的 in-nak 数据包演示了 usb 流控制。外设使用 nak 进行响应,直到准备好数据。
图 5 显示了 usb 流控制机制的实际应用。从数据包 362 开始,主机发出请求。数据包09倒数第二个字节中的363表示主机从外设请求9个字节的数据。外设确认收到数据包 364 中的请求,然后忙于解码请求并将请求的数据加载到其端点 0 数据 fifo 中。慢速外设需要一些时间来响应此请求,相对较慢的spi总线速度进一步增加了响应时间。get_descriptor-configuration
在 988.667 微秒之后(数据包 364 之后),主机开始在数据包 366 中请求请求的数据。外围设备还没有数据,因此 usb 硬件会自动响应 nak 握手,指示“我正忙,请稍后再试”。主机在数据包 368 中再次尝试,并从外围设备获得相同的 nak 应答。此 in-nak 进程一直持续到数据包 419,此时外设最终加载了请求的数据并为其端点零武装以进行数据传输。现在,外设不是 nak,而是使用数据包 9 中的 420 字节数据包进行响应,主机在数据包 421 中确认该数据包。
in-nak对(图5中的虚线矩形)可以出现任意次数,这意味着spi接口的运行速率没有下限。这允许设计人员微调spi数据速率,以适应光耦合器的选择,从而实现实用且经济高效的设计。
隔离式 usb 设计示例
图6.隔离式 usb 设计的示意图。左侧由usb总线本身供电,右侧使用隔离电源。在spi接口上提供隔离使设计变得简单,并且不受严格的usb总线时序的影响。
图6是围绕廉价微处理器构建的电路:atmel® attiny13 (u6)、hcpl-2531光耦合器 (u3-5) 和 max3420e (u1),max6e (u1)是一种usb外设控制器,具有与其寄存器组的spi接口。尽管u6不包含硬件spi单元,但spi接口可以通过“位敲击”一些gpio引脚轻松管理。u1 提供 2 个通用输入和 1 个通用输出引脚,以替换(并添加到)u1 用于实现 spi 接口的引脚。此设计使用两个输出引脚驱动 led 指示灯 d6 和 d,并使用一个输入引脚连接按钮 pb。由于u包含自己的io引脚,由spi接口控制,因此这些io本质上与u隔离,不需要单独隔离。
图7.隔离接口两侧的spi sclk信号。顶部:isovcc = 8.3v,isognd = 5v.底部:由 usb 供电:vcc = 3.3v,gnd = 0v。
图7显示了隔离接口两侧sclk信号的示波器走线。两条跟踪的基线设置在屏幕底部。顶部迹线显示由u6生成的sclk信号,但偏移了5v。
图8.sck隔离(顶部)和max342e(底部),示为扩展刻度。
图8是图7的扩展标度版本,展示了光耦合器的性能。光耦合器的吞吐延迟约为0.5μs,本设计选择电阻值。中心的短 sclk 脉冲由驱动 sclk io 引脚的 u6 代码的一部分产生。u6 代码的这一部分如图 9 所示。
图9.attiny13汇编代码读取max3420e寄存器。spi接口时序可以在这里进行微调,以提供光耦合器的成本/性能权衡。
就在标签之前,sck信号被驱动为低电平,然后立即再次被驱动为高电平。(和 是汇编宏,无需更改代码即可轻松为特定电路板布局分配 io 引脚。
通过在这两个语句之间插入一些nop指令,可以延长图8中的窄脉冲,从而为使用速度较慢(即成本较低)的光耦合器创造可能性。此过程说明了spi接口为光隔离应用提供的灵活性。
结论
由于usb数据信号的高速、双向特性和严格的匹配要求,电气隔离usb一直是一个挑战。如果隔离 usb 控制器和应用处理器之间的接口(图 3 中的站点 1),隔离问题将变得更加简单,因为此接口可以以任何速率运行。site 3的较低信令速率使其非常适合低成本光耦合器解决方案。与任何隔离设计一样,需要隔离的线路越少,越能节省成本。spi接口是隔离的理想候选者,因为它仅使用四个低速单向信号。由于max3420e使用简单的spi接口连接到任何控制器,因此为嵌入式系统添加usb功能提供了理想的方法,并具有提供简单隔离方案的额外优势。max3421e也可以用于隔离式usb主机应用,max3420e既可以用作外设,也可以用作主机,使用与maxe相同的spi接口。


PCB板钻孔孔径公差是多少
智能控制如何降低能耗
如何消除步进电机的噪音和振动
华为提出了智能IP网络的三层AI架构
鸿蒙是否脱离安卓 鸿蒙跟安卓的关系
全速USB连接的光隔离研究
智慧农业智能大棚控制系统助力乡村实现经济振兴
如何删除msn共享文件夹
vivoX20、华为麦芒6对比评测:国产全面屏之战!vivoX20、华为麦芒6谁更具性价比
制造企业如何快速实现数字化转型?
AI机器人代替人类做警察会是什么样的场景
飞凌OKMX6ULL开发板开箱试用体验
厚物科技CPCI机箱CPCI控制器CPCI笔记本HW-3683n
多维科技在慕尼黑电子展发布AMR磁传感器全系列产品并全面启动量产
传感器容易受到干扰,该怎么处理?有哪些办法?
我国6G技术研发工作正式启动
小型程控交换机设计
Zoom H1n 手持录音机上市:时尚话筒保护壳,高亮图形 LCD 屏
基于HVPE的氮化镓单晶衬底设备与工艺技术
宏泰零度投资众宇,助力推动燃料电池多领域落地