跳到主要内容

推拉总线需要上拉电阻吗?

上拉电阻

电子元件中的低速信号本质上使用两种类型的电路架构来将信号驱动到总线上。这些是开放式引流和推拉式协议。推拉使用CMOS缓冲器来驱动信号,有时会有一个问题,即是否要在推拉总线上放置上拉电阻。这往往是因为有人观察到总线上的噪声,在信号线上添加上拉电阻被视为噪声的解决方案。

实际上,上拉电阻对推拉总线上的噪声没有帮助。有一个特定的情况下,它们被使用,但它与抑制振铃无关。在本文中,我们将研究推拉协议的结构,以及它们与开放引流总线的比较。从这个比较中,就可以清楚地知道为什么推拉总线上不需要上拉电阻,除非是电平移位器或接口转换器。

推挽协议和上拉电阻

推拉协议指的是驱动程序元素,用于将信号发送到互连中。这是通过如下所示的推挽电路完成的(CMOS缓冲器).驱动程序实质上是通过一对串联的晶体管来获取或吸收电流。

推拉驱动牵引

带有上拉电阻的推挽驱动电路。

上拉电阻的影响可以通过比较其电阻与fet在ON和OFF状态下的电阻来确定。

开关期间的上拉电阻

正如我们所看到的,当推拉缓冲器提供电流(绿色箭头)时,上拉电阻与低阻晶体管通道并联,因此它对缓冲电路提供的电流影响最小。当缓冲器正在下沉电流时,从电源导轨到地面有一条路径,但上拉电阻限制了电流。

如果设计者试图将推挽电路视为开漏电路,并试图使用上拉终止,那么推荐的典型值可能在1k到10k的范围内。通过上拉电阻拉的电流的典型值为10-100 uA,这远远低于在逻辑电平工作的推拉驱动器的典型驱动强度(~10 mA)。

比较:开放引流协议

开漏协议(如I2C)不使用CMOS缓冲器将信号源/接收到铜迹上。相反,协议为母线电容通过在总线的驱动端使用晶体管将总线连接切换到VCC或GND。当接收端的总线上也有一个晶体管时,它可以用来切换驱动端,因此这些总线可以是双向的。

当总线电容被充电时,在接收器上看到的电压超过高或低逻辑阈值,信号将拨动接收器,它将切换逻辑状态。因为电流基本上来自充电/放电电容器(这是总线电容),总线上信号的上升时间与该总线的RC时间常数成正比。这里的“R”值实际上等于上拉电阻值,因为内部晶体管的on状态电阻值非常小(mosfet的mOhm值),所以可以忽略它。

排水明沟电路

示例带上拉电阻和总线电容的开路漏电路。

何时使用上拉电阻

有三个很好的例子可以把上拉电阻放在像SPI这样的推拉协议.下文概述了这些方法。

两用针

MCU或FPGA上的一些引脚可以配置为用于SPI或I2C。由于I2C是开漏,它需要有一个上拉电阻。正如我们上面看到的,将上拉放在推拉线(SPI)上不会影响驱动能力或逻辑级别。因此,在这些特定的线路上放置上拉电阻并为固件中的任何一种模式配置驱动程序是合适的。

在启动过程中保持外设的启用/禁用状态

上拉电阻的另一个功能是在系统启动时保持外围组件的启用/禁用状态。当置于主动-低使能引脚(或SPI中的CS)上时,当系统启动和主电源轨道达到稳定电压时,这将保持外围处于OFF状态。然后,一旦系统上电,就可以将使能引脚切换到正常的LOW状态。

SPI CS拉起电阻

用于SPI设备的CS引脚上的上拉电阻。

双向水平换档器

电平移位器背后的思想很简单:它们将数字总线上的信号电平从一个电压值移到另一个电压值。当在两个以不同核心或I/O电压运行的组件(例如,应用程序处理器和外设)之间路由信号时,这种转移级别的需求是常见的。这在嵌入式系统中很常见,它强调了嵌入式开发人员需要深入了解其芯片的硬件规格。

电平移位器使用一个简单的信号转换过程:

  • 它们检测信号何时到达接口的输入端
  • 输出电压通过上拉电阻连接保持到所需的输出电平
  • 上拉限制了直接从动力轨拉入总线的电流

在这种情况下,采用推挽协议的电阻不影响上升/下降时间,因为驱动缓冲器已经是推挽了,它们只在总线电压水平上提供这种保持动作。

当您准备设计和模拟使用推挽信号的组件时,您可以使用业界最好的电路设计和仿真工具来模拟上拉电阻和信号行为PSpice软件节奏.PSpice用户可以访问功能强大的SPICE模拟器以及特殊的设计功能,如模型创建、绘图和分析工具等。

订阅我们的通讯以获取最新的更新。如果你想了解更多关于Cadence如何为你提供解决方案,和我们的专家团队谈谈