硬件工程师基础面试题。它既考数字电平概念,也能延伸到芯片复位、启动配置和接口上拉的实际选型。
面试回答的核心上拉把未被主动驱动的节点偏置为高电平,下拉偏置为低电平;它们用于提供确定的默认状态,而不是替代正常驱动电路。
01为什么悬空可能读到不确定电平
高阻输入端悬空时可能受漏电流、寄生电容、邻近走线和外部干扰影响,电平无法保证稳定。引脚是否允许悬空需要以芯片数据手册为准;某些引脚内部已有上下拉或专用偏置电路。
02上拉和下拉如何选
例如按键一端接地、GPIO端通过电阻接VCC:松开时读高、按下时读低。若按键接VCC,则可以使用下拉。开漏输出通常需要外部或适当内部上拉,电阻值要同时考虑总线电容、上升时间、低电平灌电流和功耗。
03电阻可以随便写10kΩ吗
不能机械固定为10kΩ。阻值小可提升上升沿速度和抗某些干扰能力,但增加低电平时的静态电流;阻值大降低功耗却更易受漏电流和寄生电容影响。对I²C等总线,须根据总线电容与器件规定电流计算范围。
04面试参考回答
“上拉/下拉用于给高阻节点一个确定的默认逻辑状态。是否需要外接、用多大阻值,要看引脚内部结构、电压域、总线负载、干扰环境和速度要求。遇到开漏接口,我会重点核查上升时间和器件灌电流能力。”
不要说“没有上拉一定读0”或“所有GPIO必须外接10kΩ”。很多GPIO支持内部上下拉,实际复位默认态也需要查芯片手册。
追问I²C的SDA、SCL为什么一般需要上拉,为什么上拉电阻太大会导致通信不稳定?

扫码关注






























