单片机面试:增量式编码器A/B相为什么相差90°?怎么判断方向又避免高速丢脉冲?

浏览量:12
时间: 2026-10-21 17:04:29

增量式编码器常输出A、B两路正交信号。只统计A相脉冲可以得到位移,但无法可靠判断方向;同时利用A/B相的相位先后关系,就能判断正转和反转。高速场景下,还要考虑输入滤波、计数频率和定时器编码器模式。

排查/设计顺序

01

先看相位关系

A、B两路相差约90°。某一方向旋转时A领先B,反向旋转时B领先A。方向判断本质上是观察状态变化顺序。

02

再确定计数倍率

只在A相单边沿计数是1×;利用A/B更多边沿可以做到2×或4×,分辨率更高,但输入频率和抗干扰要求也更高。

03

优先用硬件定时器

MCU具备Encoder Interface时,尽量让定时器硬件完成边沿采样和加减计数,避免高转速下用普通GPIO中断逐脉冲处理。

04

最后处理噪声

机械/长线编码器可能有毛刺,要结合施密特输入、RC/数字滤波和线缆接口设计,但滤波过重也会吞掉高速有效边沿。

增量式编码器A相与B相相差90度的正交波形,可用于判断旋转方向和计数边沿

一段完整的面试回答

我会先用A/B相的相位先后判断方向,再根据分辨率需求确定1×、2×还是4×计数。如果MCU定时器支持编码器模式,我会优先用硬件计数,因为它比GPIO中断逐脉冲处理更适合高速场景。输入端还会评估电平标准、毛刺滤波和最大边沿频率,确保滤波时间常数不会把有效脉冲吃掉。最后通过低速正反转和最高转速测试,核对方向、累计计数与零位是否正确。

继续追问

  • 4×计数为什么分辨率更高,但对输入频率要求也更高?

  • A/B两相同时受干扰时,软件如何识别非法状态跳变?

  • 带Z相的编码器,Z相信号通常怎么用?

容易失分
  • 只会数脉冲,不会解释为什么两相能判断方向。

  • 高速编码器仍用大量GPIO中断,完全不估算CPU负载。

  • 滤波参数只凭经验设定,不校核最高速度下的最小脉宽。


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
PCB过孔怎么建模与仿真?残桩、回流与阻抗不连续怎么分析?PCB仿真工程师面试

PCB仿真中高级技术基础题本文概述过孔是高速PCB里最常见的阻抗不连续点,也是仿真建模的难点。面试官想听的不是“过孔要背钻”,而是你懂不懂过孔的等效模型(寄生电... 详情>>

2026-09-04 15:51:26
比较器输出反复跳变怎样排查?硬件面试要讲清迟滞、噪声和输入边界

题库分类:硬件设计适合经验:0—5年难度:中高级题型:模拟电路排查题 + 参数权衡题面试题传感器信号缓慢经过阈值时,比较器输出出现多次跳变,你会怎样排查并设计迟... 详情>>

2026-08-01 17:47:37
单片机面试:增量式编码器A/B相为什么相差90°?怎么判断方向又避免高速丢脉冲?

增量式编码器常输出A、B两路正交信号。只统计A相脉冲可以得到位移,但无法可靠判断方向;同时利用A/B相的相位先后关系,就能判断正转和反转。高速场景下,还要考虑输... 详情>>

2026-10-21 17:04:29
为了减少开关噪声引起的PCB传导和辐射发射,请选择具有▁▁▁▁▁▁▁▁▁尽可能小的DC-DC转换器。

为了减少开关噪声引起的PCB传导和辐射发射,请选择具有▁▁▁▁▁▁▁▁▁尽可能小的DC-DC转换器。开关频率封装静态电流输出电流正确答案:b为了减少开关电源电路... 详情>>

2024-03-20 14:52:15
运放电路怎么设计?虚短虚断是什么?同相反相比例放大怎么算?硬件面试

一句话答案运放线性区两个核心:虚短(V+=V-)、虚断(输入电流为0);同相放大增益=1+Rf/Rin,反相放大增益=-Rf/Rin;同相输入阻抗高,反相虚地适... 详情>>

2026-09-22 08:42:54
开班信息