利用SPI隔离USB
Mark Cantrell,应用工程师
目前,iCoupler磁隔离技术能够在直流至约150 Mbps的速率范围内传输数据,它适合传输串行数据,能够支持USB低速(1.5 Mbps)和全速(12 Mbps)模式。如图1所示,在三个位置上可以引入隔离,包括:在差分传输线路D+/D-中,在控制器和收发器之间,以及在控制器和系统控制器之间。但是,高集成度方案趋向于将收发器和控制器接口集成到系统控制器中,控制器外部仅有D+/D-数据线可用于隔离。由于不存在控制信号流,而且数据是单端数字信号传输的,因此在这个位置进行隔离面临着极大挑战。对于目前的隔离技术,最实用的隔离位置是在系统控制器与独立的USB控制器/收发器之间,这里信号是单向的并采用逻辑电平。在许多情况下,这意味着需要旁路内部控制器并增加分立的USB控制器。
插入隔离势垒的最实用的位置是在系统CPU和具有嵌入式收发器的独立SIE/控制器之间。有一些制造商能够提供这类器件。这种方法的主要优势在于,USB控制器/SIE中含有专用缓存,并能够在独立于系统CPU通信接口的速度下与总线交换数据。这意味着USB接口可以高速运行,同时系统接口可以按照需要低速运行。当SIE具有缓冲的额外数据包时,如果SIE耗尽了缓冲数据,它将通知主机稍后再进行尝试。此外,这种方法不会在USB数据路径中增加延迟,而且不会影响USB兼容性。
独立的USB控制器具有多种接口,包括RS232、RS485、I2C、SPI,或8至16位并行数据。每个接口都将在其特征速度下工作,通过USB设定平均数据速率。USB接口将在所选择的USB控制器/SIE支持的任何速度下,根据时钟将数据包输出到总线。SPI接口提供了具有最佳性价比的实现方案。
协议 |
速度 |
RS232 |
115kbps |
RS485 |
12Mbps |
I2C |
400kbps |
SPI |
15Mbps |
Parallel |
480Mbps |
表1 隔离接口的速度比较
SPI是摩托罗拉公司提出的全双工总线标准,它包括由主设备驱动的时钟和两个单向数据线路。通过增加从主设备到从设备的片选信号,可以将SPI扩展为多设备总线。但如果过多的SPI设备共享一条总线,由于每个设备都需要专用的片选线路,因此情况将变得较为麻烦。基于I2C的SPI的主要优势是数据传输速度。即使在数据路径中加入ADuM1401C iCoupler隔离器,导致每个方向的传播延迟均增加32 ns,SPI总线仍能够以15 Mbps的速度传输串行数据,这个速度足够用于将全速数据传输至USB线缆。如果需要全速12 Mbps接口,则可以对SPI进行修改,使其工作在更高的速度下。
文章评论(0条评论)
登录后参与讨论