你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】ADC 键盘读键不准

[复制链接]
STMCU小助手 发布时间:2022-2-22 20:24
问题:
3 a) J9 n8 ^/ D, f0 g1 Y该问题由某客户提出,发生在 STM32F103VBT6 器件上。据其工程师讲述:在其产品设计中,使用了STM32 的 ADC 扫描按键。为了能在低功耗模式下通过按键唤醒 STM32,按键信号在送给 ADC 的同时,也送给一路外部中断,如图(一)所示。在待机状态下,有按键被按下时外部中断输入引脚上的电平会向下降跳变,从而唤醒 STM32。之后,STM32 通过 ADC 采样来判断是哪一个按键被按下,如果是电源键,则做开机处理,否则回到待机状态。在实测中,发现这种情况下对按键的误判率很高,造成开机困难。调整各个按键的分压电阻的阻值,没有改善。  d3 ~. t: D/ ^1 q3 Y' z9 ^) y
7V~3]G}1$WUHPL(LU[{C%VJ.png
2 X! |  G4 o0 b+ ?
7 y/ O: M0 n- c7 {; ?& e$ A4 h+ ?5 e8 L* G2 V4 M
调研:
* T. a/ `+ Z& I9 U( k通过观察其产品在各种情况下按键的操纵效果,发现只有在开机的时候才会发生按键失灵的现象。使用示波器观察按键信号,确认该信号已送到外部中断输入管脚及 ADC 输入管脚。进一步观察发现,按键信号在 ADC 管脚上会有比较强烈的抖动。检查软件代码,发现其对开机按键的判断是放在外部中断服务程序中进行的,没有做消抖处理。
( S" V; `) b7 ^0 {& X2 ]& J" Y0 Q  [! v6 y2 U7 a9 C
/ e8 s8 L" t9 S
结论:
& q% p( u: z  I# T) G4 hADC 对按采样时,输入信号未及进入稳定状态,造成采样不准确,进而发生误判。# ?9 }' v) {3 \+ Z* A' ~  ]

" A, f0 G4 H: g" ?+ Z9 J/ a3 M; _! x0 K$ g* N$ l
  |! H" D+ q4 B- T. Q& j
处理:
9 w' s) x2 _/ P4 p+ g, n在软件中加入一段延时,待 ADC 输入信号稳定以后再对其采样、判断。$ ]! |0 ^8 X( H* W. D6 T

1 ^1 p$ {3 f& ]- P) c8 c/ Y( }" z9 q
建议:
4 b5 s3 w( C! ]0 Q" C2 x消抖处理是 ADC 按键扫描中不可缺少的一环。消抖的方法有很多,例如加一个延时来避开抖动区间,即可以在一定程度上消除信号抖动所产生的影响。这里推荐一种简单有效的方法:以固定的采样率对按键信号采样,根据按键的属性恰当的选择采样率来跨过抖动区间,并使用一阶递归滤波算法进行平滑,当平滑后的采样值进入稳定阶段再进行按键判定。在应这种方法时,在采样率的选择上,要保证采样周期 Ts 大于抖动区间时长Tw,如图(二)所示:
" ]$ J" a* i+ I: f! E, X6 k# A. ?% ~8 o+ D1 L1 z3 B  Z/ L
GXYG1KHG]EAKZ16OUMIV[67.png
% R, W5 M( D8 o2 s# o8 L" I4 |: q6 o6 O% |. Y& h* W7 R
一阶递归滤波器可按如下公式实现:
& ~# D3 t) Y* |6 J! H: ]7 v2 D
  O( `" G8 t4 T3 L; i M([FV4IE{5G3{U68P[T)]@K.png 6 i# F) E% X4 U# H% V
9 I! b1 w4 [( ~( [  u$ \
该滤波器的频谱为:+ p1 n/ C( P2 \) \7 i
0 Z2 N1 E4 l0 Y4 j
_8HM7SVPRWGWWBG8~FS98(8.png ' M6 J; h2 g* F8 k  K$ f: c3 W6 F
( w9 Z2 b! y4 }, i
幅频特性曲线如图(三)所示:
2 z8 w- m0 g. H
7 l/ {! r9 S3 [" t9 A (1GD5PD{1HHD(1883ZUWBR4.png
  f* r5 Y8 p/ A$ [
+ m( G5 ]% |5 m# ^+ B: ^# W5 Y* p根据实际需求,调整参数 N 的值,以便获得最佳的滤波效果。
  a3 o2 E( b. `8 f& F# o7 F, G' H5 P/ Y0 ^7 F4 g
赞 收藏 评论0 发布时间:2022-2-22 20:24

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版