使用内部上拉/下拉电阻器时的注意事项


11

我正在使用STM32微控制器。这些微控制器可以选择将输入引脚设置为上拉或下拉:

在此处输入图片说明

以前,我曾经在需要时提供外部上拉或下拉电阻,但现在我想知道我是否可以省去外部组件并使用微控制器本身的下拉功能。

那会是一件好事吗?

在某些用例中,我应该格外小心或根本不使用此功能吗?


2
我会尽可能使用内部pu / pd,并且不会出现任何问题。因此,除非有正当理由使用内置上拉/下拉功能,否则可以使用它们。不依赖内部pu / pd的原因可能是输入连接有较长的电线,该电线可能耦合至其他线路,从而导致意外行为。内部pu / pd较弱(以节省电流),比起10 kohm电阻,更容易受到干扰。
Bimpelrekkie

22
注意事项:微控制器复位时,它可能不会用作上拉电阻。因此,如果有一直依赖于外部电路的外部电路,那么启动时可能会遇到问题。如果只是被微型计算机读取,这不是问题。
pjc50

1
@ pjc50您应该已将其发布为答案,直到发布答案后我才注意到您的评论。
杰森S

1
如果您不能相信微控制器中的上拉电阻,那么您就不能相信该控制器中的任何东西。您想知道的是它是否有用
Passerby

1
@Whiskeyjack:您应该考虑更改问题标题。也许是“使用内部上拉/下拉电阻器时的注意事项”之类的。
Rev1.0,2016年

Answers:


15

是的...您可以...这是一项经过验证的功能。如果您在STM32参考手册中看到引脚结构,则可以看到它具有必需的组件-

STM32引脚结构

如果这满足您的要求,则可以省去外部组件。

编辑 请记住,上电时,引脚将处于三态。如果它不妨碍您的应用程序,那就太好了!这就是为什么最好先初始化IO部分,然后再使用其他外设的原因。


1
是的,但是在重置过程中它仍然是三态的吗?
seetharaman '16

1
我回答了问题“我是否应该相信微控制器的下拉功能?” 现在问题本身发生了变化:-/并且有了新问题,Bence Kaulics的答案更加准确!
斯旺德

问题:使用一堆内部上拉/下拉电阻会导致芯片发热吗?
Caleb Reister

16

通常,最好使用内部上拉或下拉电阻。

缺点是您可能忘记从软件启用它,这可能会引起一些麻烦。外部上拉电阻将始终存在。因此,请不要忘记启用内部组件并通过减少组件数量来节省大量PCB面积。

30 kΩ50 kΩ

在此处输入图片说明

在使用内部电阻器之前,应始终检查您的应用是否需要一定的上拉或下拉电阻值。例如,请勿将它们与I 2 C一起使用,因为这些值对于该值将太高。


12

除非上拉电阻和下拉电阻在复位期间处于活动状态(我怀疑它们不是,但我对STM32器件不熟悉),否则复位时引脚状态不确定。这是使用外部上拉或下拉电阻的主要原因之一。


10

正如其他人所说,内部上拉和下拉电阻只要以下条件就可以:

  • 您记得要配置它们,
  • 他们足够强大
  • 您最终不会通过外部吸引力与他们抗争,并且
  • 启动和复位时的电压无关紧要。

最后一点,请记住,中压电平的CMOS输入会在其输入对上产生大量的直通电流。这可能会在启动期间在低功率系统中引起问题。

通常,外部上拉电阻器将采用更为保守的设计。


1
关于直通电流,可能会有所帮助,注意大多数微控制器的水平通常远低于会损坏设备的水平,但可能比设备的最佳水平高几个数量级,案例睡眠电流。在某些情况下,这种电流无关紧要。在另一些国家,他们是绝对的杀手。
超级猫

1
+1表示“启动和重置时的电压无关紧要”。您需要确保在微启动时,电路的其余部分处于安全和静态状态。当您考虑到复位或快速上电循环可能会使电路的其余部分处于不确定状态,或者使电路通电并运行时,而微型控制器却无法对其进行监视,这比看起来要难。
格雷厄姆

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.