hcpyooo 发表于 2024-2-21 19:38:23

STM32F723ZET6 定时器输入捕获通道的GPIO不能上拉

我在使用STM32F723ZET6的TIM来捕获外部的信号上升沿,发现外部的信号经过电路元件后到达捕获通道引脚后,幅值变得很小,不能被STM32正确的捕获。我想着将输入捕获的通道的gpio设置为上拉,但是发现在没有使能输入捕获前,该引脚是上拉的高电平,使能后就变成了低电平。是否输入捕获模式和上拉相冲突。

hcpyooo 发表于 2024-3-19 09:23:42

问题已经找到了,是因为使用cubemx配置timer的输入捕获时,并没有选择Input Capture direct mode。因为当时选择了Trigger Source后,在cubemx的stm32芯片引脚图上就会有对应的通道选择上,就以为不用选择模式就可以,而且当时在测试的时候,也是能够成功捕获到上升沿,就没有注意到这个问题。实际上,如果这里不选择Input Capture direct mode,对应的引脚实际上是输出,所以输出阻抗就非常低,而外部如果提供足够大的电流,即使是输出,由于内部模式是触发,依旧能够采集到信号上升沿。!(data/attachment/forum/202403/19/091810b0g6u70suovgf0ie.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

xmshao 发表于 2024-2-22 09:35:05

我觉得你应该重点检查下你硬件线路,让来到捕获管脚的电平满足要求。你加上拉电阻应该没有啥问题,加上拉保障在无输入时有确定的高电平。但是,加上拉并不能、也不可以将外来低电平硬拽成高电平,更不可能将外来高电平弄成低电平。

butterflyspring 发表于 2024-2-22 10:05:39

通常从硬件层面来说,先要保证提供给的信号正确,从而达到检测目的。检测引脚改变了信号似乎远离了检测的初衷。

其次,不同的配置会引起电流的变化,这种变化可能会导致高输出祖杭的信号变化。

hcpyooo 发表于 2024-2-22 15:38:23

xmshao 发表于 2024-2-22 09:35
我觉得你应该重点检查下你硬件线路,让来到捕获管脚的电平满足要求。你加上拉电阻应该没有啥问题,加上拉保 ...

是的,我现在的现象是,信号直接作用在stm32的引脚上是能够触发定时器的。但是在我的硬件电路上,输入的信号实际上经过了一个电平转换器,我用示波器检测经过电平转换器前和之后的信号,发现信号有很大的衰减。在硬件检查也没有什么太大的问题,我现在想着是在stm32端的定时器gpio引脚上,给一个上拉电阻,看能不能解决这个现象,发现并不能在输入捕获使能后有一个上拉的电平

hcpyooo 发表于 2024-2-22 16:07:12

!(data/attachment/forum/202402/22/161229jadendan2nn8vpag.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "TEK00000.png")

!(data/attachment/forum/202402/22/161240ls1a2ppu2bu0299u.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "TEK00001.png")

这个是使能输入捕获前和使能输入捕获后在stm32引脚上检测到的信号,可以看到信号在使能输入捕获后有了很大的衰减。在硬件电路上是加了一个电平转换的芯片,可能是由于电平转换芯片的影响,但是这又很难解释使能输入捕获前信号是正常的。
页: [1]
查看完整版本: STM32F723ZET6 定时器输入捕获通道的GPIO不能上拉