STM32 GPIO输入输出之上拉下拉

2019-07-21 05:22发布

本帖最后由 wycopenedv 于 2016-3-21 20:13 编辑

数字电路有三种状态:高电平、低电平和高阻状态。有些场合不希望出现高阻状态,通过上拉电阻或者下拉电阻可以将电路处于稳定的状态,具体视设计要求而定。上下拉电阻的应用道理类似,下面就以上拉电阻为例说明:        一、上拉电阻的作用:        ① 当前端逻辑输出驱动输出的高电平max低于后级逻辑电路输入的高电平min时,需要在后级的输入端接上拉电阻,以提高前级输出高电平的值;同时提高芯片输入信号的噪声容限,以增强抗干扰能力。当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值 。②为加大高电平输出时引脚的驱动能力,有的单片机引脚上也常使用上拉电阻。        ③OC门必须加上上拉电阻是引脚悬空有确定的状态,实现“线与”功能。        ④在CMOS芯片上,为了防止静电造成损坏,不用的引脚不能悬空,一般都要接上上拉电阻降低输入阻抗,提供泄荷通路。       ⑤引脚悬空比较容易受到外界电磁干扰,加上拉电阻可以提高总线的抗电磁干扰能力。        ⑥长线传输中电阻不匹配容易引起反射波阻抗,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。        二、上拉电阻阻滞的选择原则:        ①从节约功耗及芯片的灌电流能力考虑应该足够大。电阻越大,电流越小。        ②从确保足够的驱动电流考虑应该足够小。电阻越小,电流越大。        ③对于高速电路,过大的上拉电阻可能是边沿变平缓。 综合考虑以上三点,通常在1~10kΩ之间选取。上拉电阻的组织大小主要是要顾及端口低电平吸入电流的能力。例如,在5V电压下,加1kΩ上拉电阻,将会给端口低电平状态增加5mA的吸入电流。在端口能承受的条件下,上拉电阻小一点为好。对下拉电阻也有类似的道理。        三、同时对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要应考虑一下几个元素:        ①驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但是功耗越大,设计时应注意两者之间的均衡。        ②下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。        ③高低电平的设定。不同的电路对高低电平的门槛电压会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在0电平门槛之下。       ④频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。        四、OC门上拉电阻值得确定        OC门输出高电平时是一个高阻态,其上拉电流由上拉电阻来提供。电阻应选用经过计算后与标准值最相近的一个。设输入的电流不大于100μA,设输出口的驱动电流约为500μA,标准工作电压5V。输入口的高低电平门限为0.8V(低于此值为低电平),高电平门限值为2V,计算方法如下:       ①500μA×8.4kΩ=4.2V 即选大于8.4kΩ时输出端能下拉至0.8V以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则组织可见小,保证下拉时能低于0.8V即可。      ②当输出高电平时,忽略管子的漏电流,两输入口需要200μA。200μA×15kΩ=3V即上拉电阻压降为3V,输出口可达到2V,次阻值为最大阻值,再大就拉不到2V了。选10kΩ即可。        上述仅仅是原理,用一句话可概括为:输出高电平是要有足够的电流给后面的输入口,输出低电平要限制住吸入电流的大小
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。