AB正交解码

本文深入探讨了芯片内部的AB正交解码原理,包括其工作机制和实际应用。通过对K60芯片中FTM模块的分析,阐述了解码过程的关键步骤,为理解和实现正交解码提供了详细指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

芯片内部正交解码原理及实现

1.正交方波信号常见于电机的测速编码器上,编码器输出两路信号PHA和PHB,用两者的相位差(90或-90)来表示电机的正反转。
2.对于正交信号的方向解码可以使用D触发器,一相作为D触发器的CLK信号,一相作为D触发器的DATA信号,当CLK超前DATA  90度时,D触发器稳定输出高电平,当CLK延迟DATA 90度时,D触发器稳定输出低电平,以此可以对方向解码。但是由于正交信号毛刺较多,特别是输入CLK的信号出现毛刺时候,很容易造成方向信号解码出错,所以用D触发器解码是不够稳定的。
3.对正交信号的速度解码只需将AB相中的一相或者两相异或(频率加倍)输入一个脉冲累加单元,配合定时器即可解出速度信息。
4.由于正交信号在控制领域非常常见,所以一些稍微高端的芯片内部直接集成了AB正交解码模块。
5.芯片内部的正交解码原理如下:当两相信号有一相发生跳变时,如果另一相为高电平,则计数器递增,如果另一相为低电平则计数器递减,如果计数器发生溢出,则对应的溢出标志位和溢出方向标志位会相应置位,通过读取这两个标志寄存器的值可以判断计数器的计数方向,配合计数器的值和计时器就可以计算出速度。
下面以飞思卡尔公司的K60芯片为例介绍正交解码的配置和实现。
使用LPLD的K60底层库:
(1)初始化FTM的正交解码功能,注意芯片手册上那些通道具有AB正交解码功能
//编码器初始化程序
void Encoder_Init(void)
{
  FTM_InitTypeDef ftm_init_struct;
  //配置正交解码功能参数,两个通道分别测两个轮子
  ftm_init_struct.FTM_Ftmx = FTM1;              //只有FTM1和FTM2有正交解码功能
  ftm_init_struct.FTM_Mode = FTM_MODE_QD;       //正交解码功能
  ftm_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值