首页/文章/ 详情

STM32单片机I/O口,居然有8种工作模式

2小时前浏览16
今天详细总结一下STM32单片机I/O的8种工作模式,让大家在以后的设计中事半功倍。

什么是GPIO?

说到这8种工作模式之前,先通俗的解释下GPIO的概念—通用输入输出 General Purpose Input Output 简称GPIO,就是芯片引脚可以通过它们输出高、低电平,也可以通过他们输入、读取引脚的电压、电平状态。
接下来讲解的8种工作模式,我们以下图为例进行分析介绍,读懂这张图,大家基本就可以完全理解STM32的GPIO了。

四种不同的输出模式

推挽输出

此模式的引脚可输出高低电平,用于连接和驱动数字设备。关于推挽,部分读者可能有些疑惑,其实是将两个参数相同的NPN、PNP三极管或NMOS、PMOS管以推挽形式布局于电路中,分别担当正负半周波形的放大任务。两对称管仅有一个导通,损耗低且效率高,既能提升电路的带载能力,亦可提高开关速度。电路如图所示,读者可在IO内部图中进行对照查找。

开漏输出

此模式下,引脚模拟 NMOS 的漏极,关闭 PMOS以消除其影响。此时该引脚仅能输出低电平,需加接上拉电阻以获得高电平。有人可能质疑,这种方式不如推挽输出实用。然而,开漏输出具备独特优势,例如:1、适用于连接主控电平不匹配的器件,只需将上拉电阻的上拉端连接至对方电平;2、以小博大,借助外部电路驱动能力,降低内部电流需求,内部仅需较小栅极驱动电流。但需注意,由于上拉电阻的存在,可能导致上升沿延迟,详情请参阅我之前关于电平匹配的文章。

复用推挽输出、复用开漏输出:顾名思义该模式下就是将引脚复用为其他功能,不再是简单的GPIO。像我们常用的UART、SPI等的输出引脚就是复用的推挽输出,而我们常用的I2C就是复用的开漏输出,这时大家就应该知道为什么我们在用I2C的时候需要上拉电阻了吧。这里给大家埋个伏笔——用I2C时为什么要开漏呢?

四种不同的输入模式

在这里我们来探讨一种常见的输入模式——“浮空输入”,该模式主要用于检测外部设备(如按键)所处的高/低电平状态。具体解释如下,当处在“浮空输入”模式时,上拉电阻和下拉电阻均未与输入端相连,使得引脚的电平状态变得未知。若在此情况下读取数据便会发现其毫无意义。为了避免此类问题,建议在实际应用中务必确保引脚处于正确的连接状态。

上拉、下拉输入:基本看名字大家就已经知道这种模式是怎么回事了,上图中如果上面红圈电阻接入就是上拉输入,下面红圈电阻接入就是下拉输入。上一段我说过按键输入检测用浮空输入模式,如果用上拉、下拉模式就更简单了,就可以省掉外部的上下拉电阻节约项目成本。

模拟输入:这个模式也是我们非常常用的了,那就是引脚设置为STM32内部ADC的模拟信号输入。值得注意的是这种模式就不是所有的IO都有的功能了,需要带ADC的IO口才可以设置。

补充说明

针对IO引脚内的两个保护二极管,先前认为其作用为钳位。然而,在参加ST的研讨会时,官方明确表示并非用于钳位,而是用于ESD防护。当引脚用作ADC输入时,模拟信号不得超过3.6V,否则将导致损坏。

尽管芯片引脚内置二极管保护,但建议在设计时,若引脚需引出板外,应额外添加TVS二极管以增强防护。由于引脚暴露在外,易受静电等环境因素影响。例如,下载接口在空间允许的情况下,常配备SOT-23的TVS二极管进行保护。

总结

到这里大家会发现今天所讲的全都是硬件层面的,大家从硬件层面搞懂这几种模式,软件上就简单了,按照datasheet上面的说明进行配置就可以了。

声明:


 
声明:文章来源网络。本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。  

来源:硬件笔记本
电路通用电子芯片
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-11-26
最近编辑:2小时前
硬件笔记本
本科 一点一滴,厚积薄发。
获赞 157粉丝 47文章 838课程 0
点赞
收藏
作者推荐

电源的EMI传导和辐射都超标了,老师傅给了我90种整改方法,果断收藏起来!

大家好,我是王工。如果开关电源EMI总是过不了,快来看看下面这些实用的整改策略吧!EMI传导频段:1MHZ 以内以差模干扰为主整改策略:1、150KHZ-1MHz,以差模为主,1-5MHz,差模和共模共同起作用,5MHz 以后基本上是共模。差模干扰的分容性藕合和感性藕合。一般 1MHZ 以上的干扰是共模,低频段是差摸干扰。用一个电阻串个电容后再并到 Y 电容的引脚上,用示波器测电阻两引脚的电压可以估测共模干扰;2、保险过后加差模电感或电阻;3、小功率电源可采用 PI 型滤波器处理(建议靠近变压器的电解电容可选用较大些)。4、前端的π型 EMI 零件中差模电感只负责低频 EMI,体积別选太大(DR8 太大,能用电阻型式或 DR6 更好)否則幅射不好过,必要时可串磁珠,因为高频会直接飞到前端不会跟着线走。5、传导冷机时在 0.15-1MHZ 超标,热机时就有 7dB 余量。主要原因是初级 BULK 电容 DF 值过大造成的,冷机时 ESR 比较大,热机时 ESR 比较小,开关电流在 ESR 上形成开关电压,它会压在一个电流 LN 线间流动,这就是差模干扰。解决办法是用 ESR 低的电解电容或者在两个电解电容之间加一个差模电感。6、测试 150KHZ 总超标的解决方案:加大 X 电容看一下能不能下来,如果下来了说明是差模干扰。如果没有太大作用那么是共模干扰,或者把电源线在一个大磁环上绕几圈, 下来了说明是共模干扰。如果干扰曲线后面很好,就减小 Y 电容,看一下布板是否有问题,或者就在前面加磁环。7、可以加大 PFC 输入部分的单绕组电感的电感量。8、PWM 线路中的元件将主频调到 60KHZ 左右。9、用一块铜皮紧贴在变压器磁芯上。10、共模电感的两边感量不对称,有一边匝数少一匝也可引起传导 150KHZ-3MHZ 超标。11、一般传导的产生有两个主要的点:200K 和 20M 左右,这几个点也体现了电路的性能;200K 左右主要是漏感产生的尖刺;20M 左右主要是电路开关的噪声。处理不好变压器会增加大量的辐射,加屏蔽都没用,辐射过不了。12、将输入 BUCK 电容改为低内阻的电容。13、对于无 Y-CAP 电源,绕制变压器时先绕初级,再绕辅助绕组并将辅助绕组密绕靠一边,后绕次级。14、将共模电感上并联一个几K到几十K电阻。15、将共模电感用铜箔屏蔽后接到大电容的地。16、在 PCB 设计时应将共模电感和变压器隔开一点以免互相干扰。17、保险套磁珠。18、三线输入的将两根进线接地的 Y 电容容量从 2.2nF 减小到 471。19、对于有两级滤波的可将后级 0.22uFX 电容去掉 。20、对于π型滤波电路有一个 BUCK 电容躺倒放在 PCB 上且靠近变压器此电容对传导 150KHZ-2MHZ 的L通道有干扰,改良方法是将此电容用铜泊包起来屏蔽接到地,或者用一块小的 PCB 将此电容与变压器和 PCB 隔开。或者将此电容立起来, 也可以用一个小电容代替。21、对于π型滤波电路有一个 BULK 电容躺倒放在 PCB 上且靠近变压器此电容对传导 150KHZ-2MHZ 的L通道有干扰,改良方法是将此电容用一个 1uF/400V 或者说 0.1uF/400V 电容代替, 将另外一个电容加大。22、将共模电感前加一个小的几百 uH 差模电感。23、将开关管和散热器用一段铜箔包绕起来,并且铜箔两端短接在一起,再用一根铜线连接到地。24、将共模电感用一块铜皮包起来再连接到地。25、将开关管用金属套起来连接到地。26、加大 X2 电容只能解决 150K 左右的频段,不能解决 20M 以上的频段,只有在电源输入加以一级镍锌铁氧体黑色磁环,电感量约 50uH-1mH。27、在输入端加大 X 电容。28、加大输入端共模电感。29、将辅助绕组供电二极管反接到地。30、将辅助绕组供电滤波电容改用瘦长型电解电容或者加大容量。31、加大输入端滤波电容。32、150KHZ-300KHZ 和 20MHZ-30MHZ 这两处传导都不过,可在共模电路前加一个差模电路。也可以看看接地是否有问题,该接地的地方一定要加强接牢,主板上的地线一定要理顺,不同的地线之间走线一定要顺畅不要互相交错的。33、在整流桥上并电容,当考虑共模成分时,应该邻角并电容,当考虑差模成分时,应该对角并电容。34、加大输入端差模电感。EMI传导频段:1MHZ---5MHZ采用输入端并联一系列 X 电容来滤除差摸干扰并分析出是哪种干扰超标并以解决。整改策略:1、对于差模干扰超标可调整 X 电容量,添加差模电感器,调差模电感量。2、对于共模干扰超标可添加共模电感,选用合理的电感量来抑制;3、也可改变整流二极管特性来处理一对快速二极管如 FR107 一对普通整流二极管 1N4007。4、对于有 Y 电容的电源,干扰在 1M 以前以差模为主,2-5M 是差模和共模干扰。对于 NO-Y 来说,情况不一样,1M 以前的共模也非常厉害。在前面加很多 X 电容,滤光差模,改不改变压器对差模没有影响了,如果还有变化,就是共模了。差共模分离的方法:在 AC 输入端加很多 X 电容,从小到大,这样可以把差模滤去,剩下的就是共模了,再与总的噪音相比较,就能看出差模的大小。5、绕制变压器时将所有同名端放在一边,可降低 1.0MHZ-5.0MHZ 传导干扰。6、对于小功率用两个差模电感,减少差模电感匝数可降低传导 1.2MHZ 干扰。7、加大 Y 电容,可降低传导中段 1MHZ-5MHZ 干扰。8、对于无Y电容的开关电源 EMI 在 1MHZ-6MHZ 超标,如加了Y电容后 EM 降下来了的话,就可在变压器初次级间加多几层胶纸。9、将 MOS 管散热片接 MOS 管 S 极。10、在输入端滤波电容上并联小容量高压瓷片或者高压贴片电容。EMI传导频段:5M---20MHZ以共摸干扰为主,采用抑制共摸的方法。整改策略:1、对于外壳接地的,在地线上用一个磁环串绕 2-3 圈会对 10MHZ 以上干扰有较大的衰减作用;2、可选择紧贴变压器的铁芯粘铜箔,铜箔要闭环。3、处理后端输出整流管的吸收电路和初级大电路并联电容的大小。4、在变压器初级绕组上用一根很细的三重绝缘线并绕一个屏蔽绕组,屏蔽绕组的一端接电源端另外一端通过一个电容接到地。5、可将共模电感改为一边匝数比另一边多一匝,另其有差模的作用。6、将开关管 D 极加一小散热片且必需接高压端的负极,变压器的初级起始端连接到 MOS 管 D 极。7、将次级的散热片用一个 102 的 Y 电容接到初级的 L/N 线, 可降低导干扰。8、如果加大Y电容传导干扰下来了,则可以改变变压器绕法来改良,可在初次级间加多几层胶带;如果加大Y电容传导干扰未改善,就要改电路可改好不必改变压器绕法。9、将变压器电感量适当加大,可降低 RCC 开关电源在半载时的传导干扰。10、用变压器次级辅助绕组来屏蔽初级主绕组,比用变压器初级辅助绕组来屏蔽初级主绕组,传导整体要好得多。11、传导整体超标,用示波器看开关管 G 和 D 极波形都有重叠的现象,光藕供电电阻从输出滤波共模电感下穿过接输出正极改接不从大电流下穿过后一切 OK。12、在输入端 L 线和 N 线各接一 681/250V 的 Y 电容,Y 电容另外一端接次级地。13、将次级的辅助绕组用来屏蔽初级主绕组,可降低传导 3-15MHZ 干扰。用次级的辅助绕组来屏蔽初级主绕组,比用初级的辅助绕组来屏蔽初级主绕组传导要好得多。14、在 PCB 板底层放一层铜片接初级大电容负极。15、将整个电源用一块铜片包起来, 铜片接初级大电容负极。16、减小 Y 电容容量。EMI传导频段:20--30MHZ整改策略:1、对于一类产品可以采用调整对地 Y2 电容量或改变 Y2 电容位置;2、调整一二次侧间的 Y1 电容位置及参数值;3、在变压器外面包铜箔,变压器最里层加屏蔽层,调整变压器的各绕组的排布。4、改变 PCB LAYOUT;5、输出线前面接一个双线并绕的小共模电感;6、在输出整流管两端并联 RC 滤波器且调整合理的参数;7、在变压器与 MOSFET 之间加磁珠;8、在变压器的输入电压脚加一个小电容。9、可以用增大 MOS 驱动电阻。10、可能是电子负载引起的,可改用电阻负载。11、可将 MOS 管 D 端对地接一个 101 的电容。12、可将输出整流二极管换一个积电容小一点的。13、可将输出整流二极管的 RC 回路去掉。14、将输入端加两个 Y 电容对地,可降低传导 25MHZ-30MHZ 干扰。15、紧贴变压器的磁芯上加一铜皮,铜皮连接到地。16、传导后段 25MHZ 超标可在输出端加共模电感,也可在开关管源极检测电阻上套一长的导磁力合适的磁珠。EMI辐射频段:30---50MHZ普遍是 MOS 管高速开通关断引起整改策略:1、可以用增大 MOS 驱动电阻;2、RCD 缓冲电路采用 1N4007 慢管;3、VCC 供电电压用 1N4007 慢管来解决;4、或者输出线前端串接一个双线并绕的小共模电感;5、在 MOSFET 的 D-S 脚并联一个小吸收电路;6、在变压器与 MOSFET 之间加 BEAD CORE;7、在变压器的输入电压脚加一个小电容;8、PCB LAYOUT 时大电解电容,变压器,MOS 构成的电路环尽可能的小;9、变压器,输出二极管,输出平波电解电容构成的电路环尽可能的小。EMI辐射频段:50---100MHZ普遍是输出整流管反向恢复电流引起整改策略:1、可以在整流管上串磁珠;2、调整输出整流管的吸收电路参数;3、可改变一二次侧跨接 Y 电容支路的阻抗,如 PIN 脚处加 BEAD CORE 或串接适当的电阻;4、也可改变 MOSFET,输出整流二极管的本体向空间的辐射(如铁夹卡 MOSFET; 铁夹卡 DIODE,改变散热器的接地点)。5、增加屏蔽铜箔抑制向空间辐射 200MHZ 以上开关电源已基本辐射量很小,一般可过 EMI 标准。声明: 声明:文章来源EEDesign。本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。 来源:硬件笔记本

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈