我将在本文描述单个控制器上复用多个器件的步骤和相关考虑。你可以将这个技巧用于任意类型的通信总线,不过我还是将以USB为例进行说明。
首先,我想稍微谈一谈“数字总线开关”的定义。我们先将注意力放在这个名称的最后部分。说到底,它只是一个开关。它使你能够用数字的方法,将电路中的一个连接打开和关闭。图1显示的是与一个开关等效的电路。
图1:单通道数字总线开关的简化示意图
通过输出使能引脚 (OE),用电压来控制这个开关;只需在高电平关闭开关,在低电平时打开开关。(对于低电平有效OE引脚来说,恰恰相反;这些引脚上通常会有标签进行标注。)RON 是开关的内部电阻。A和B到开关的两个连接点。
未在图1中显示的是传播延迟,它是输入信号到达输出所需的时间,通常在开关的数据表中用tpd 表示。
通常说来,数字总线开关内部有很多的开关,这些开关使它们能够控制(你猜到了)数字总线。
图2:将2个USB器件复用至单个USB控制器
图2显示的是使用一个数字总线开关来将2个USB器件复用至单个USB控制器(USB2.0标准)的基本布局布线。在使用这个拓扑时,你每次只能与一个器件通信。
在任何的逻辑系统设计中,需要考虑很多重要的值。归根结底,这些值就是对电压、电流和定时的要求。表1中列出了针对这一特定系统的要求。
Requirement
Value
Voltage
0V to 3.3V
ConTInuous current
18mA
Maximum frequency
240MHz (480Mbps)
表1:示例系统要求
如果你想进一步了解数字总线开关的话,请参见使用说明书数字总线开关选型指南。在这份选型指南中,你可以使用图3来为这个用例轻松选择一个开关。
图3:数字总线开关系列支持的电压和频率
3个系列支持3.3V运行,但只有其中一款器件能够处理200MHz以上的频率:那就是CB3Q。在TI.com内快速搜索可以得到这一系列中可以提供的18款产品的列表,针对你的应用,推荐使用SN74CB3Q3125,这是因为这款器件能够切换4条数据线路。
图2的初始电路原理图和SN74CB3Q3125的唯一区别就是它为每条通道单独启用一个输出,而不是将一对输出接在一起。这是一个简单修改考虑,你只需将所需的使能线路接在一起。
图4:将2个USB器件复用至一个控制器时的SN74CB3Q3125接线
图4显示的是所选芯片上能够实现此功能的连接。这里的选择线路有一个变换器,不过其它安排也可实现相似功能,只要每次只启用一条通道即可。
数字总线开关是多用途器件;这种器件能够实现隔离,以及多线制通信通道的手工复用。通过扩展这个装置,你可以将任意数量的外设连接至单个控制器。