首页 / 编码器、编码方法及芯片

编码器、编码方法及芯片实质审查 发明

具体技术细节

[0004] 本发明实施例提供一种编码器、编码方法及芯片,以解决相关技术中采用软件工具和算法实现增量式编码器的方案使用门槛较高的技术问题。
[0005] 本发明实施例提供了一种编码器,所述编码器包括:线数调制模块,用于获取输入位置,将所述输入位置与预设线数调制倍数相乘,得到增量调制位置;目标位置更新模块,用于维持当前目标位置不变,或将所述当前目标位置更新为所述增量调制位置;方向决定模块,用于根据所述当前目标位置的当前目标步数与自有位置的自有步数确定步数差距,基于所述步数差距和预设差值换向值确定位置调整方向;自有位置更新模块,用于根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置;编码器输出控制模块,用于根据输出参考数据确定输出信号,所述输出参考数据包括更新后位置的第一位、所述更新后位置的第零位以及以下至少之一:更新后位置的全部位数和计数输出参数,所述计数输出参数包括上一周期的B相输出值和位置调整方向。
[0006] 于本发明一实施例中,所述编码器还包括同步位置管理模块,所述同步位置管理模块包括立即更新模块和延迟更新模块中至少之一,其中:所述立即更新模块用于在所述立即更新模块处于有效状态时,接收到更新指令后,生成同步有效信号,以触发所述自有位置更新模块将所述自有位置更新为所述当前目标位置;所述延迟更新模块用于在所述延迟更新模块处于有效状态时,接收到更新指令后,若所述线数调制模块得到新的增量调制位置,且所述目标位置更新模块将新的增量调制位置确定为新的当前目标位置的情况下,生成同步有效信号,以触发所述自有位置更新模块将所述自有位置更新为新的当前目标位置;若所述同步位置管理模块包括立即更新模块和延迟更新模块,同一时刻,所述立即更新模块处于有效状态或延迟更新模块处于有效状态。
[0007] 于本发明一实施例中,所述同步位置管理模块还包括使能控制模块,所述使能控制模块用于接收状态指令,以配置所述立即更新模块处于有效状态或延迟更新模块处于有效状态。
[0008] 于本发明一实施例中,所述方向决定模块包括步数差距确定模块和位置调整方向确定模块,其中:
[0009] 所述步数差距确定模块用于若所述当前目标步数大于或等于所述自有步数,将所述当前目标步数与所述自有步数之间的差值确定为所述步数差距,以及若所述当前目标步数小于自有步数,将预设最大步数与所述当前目标步数之和作为临时步数,将所述临时步数与所述自有步数之间的差值确定为所述步数差距,所述预设最大步数基于所述预设线数调制倍数和输入位置最大线数的乘积确定;
[0010] 所述位置调整方向确定模块用于若所述当前目标步数大于所述自有步数,且所述步数差距小于或等于所述预设差值换向值,或者所述当前目标步数小于所述自有步数,且所述步数差距大于所述预设差值换向值,将所述位置调整方向确定为正转;所述位置调整方向确定模块还用于若所述当前目标步数等于所述自有步数,将所述位置调整方向确定为不变;所述位置调整方向确定模块还用于若满足预设反转条件,将所述位置调整方向确定为反转,所述预设反转条件包括以下任意之一,所述当前目标步数大于所述自有步数,且所述步数差距大于所述预设差值换向值;所述当前目标步数小于所述自有步数,且所述步数差距小于或等于所述预设差值换向值;所述位置调整方向不是正转且不是不变。
[0011] 于本发明一实施例中,所述方向决定模块还包括预设差值换向值确定模块,所述预设差值换向值确定模块用于根据所述预设最大步数和预设差值换相比例确定,所述预设差值换相比例大于零且所述预设差值换相比例小于1。
[0012] 于本发明一实施例中,所述编码器输出控制模块包括ABZ型输出信号模块、高速计数单脉冲型信号输出模块和高速计数双脉冲型输出信号模块中至少之一,其中,所述ABZ型输出信号模块用于对所述更新后位置的第一位取反,得到A相输出结果,以及用于对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到B相输出结果,所述ABZ型输出信号模块还用于当所述自有步数大于或等于预设Z相起始步数,且所述自有步数小于或等于预设Z相终止步数,控制Z相输出结果为高电平,以及用于当所述自有步数小于预设Z相起始步数,或者所述自有步数大于预设Z相终止步数,控制Z相输出结果为低电平;所述高速计数单脉冲型信号输出模块用于若所述位置调整方向为正转,根据所述更新后位置的第一位确定A相输出结果,若所述位置调整方向为反转或不变,对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到A相输出结果,所述高速计数单脉冲型信号输出模块还用于若所述位置调整方向为正转时,B相输出只在所述自有位置第一位和自有位置第零位等于预设的正向切换点将最新的所述位置调整方向更新为B相最新值,若所述位置调整方向为反转或不变时,B相输出只在自有位置第一位和自有位置第零位等于预设的反向切换点将最新的所述位置调整方向更新为B相最新值;所述高速计数双脉冲型输出信号模块用于若所述位置调整方向为正转,根据所述更新后位置的第一位确定A相输出结果,若所述位置调整方向为反转或不变,A相输出低电平,所述高速计数双脉冲型输出信号模块还用于若所述位置调整方向为正转,B相输出低电平,若所述位置调整方向为反转或不变,对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到B相输出结果。
[0013] 于本发明一实施例中,所述编码器还包括最小周期计数器,所述最小周期计数器包括第一计数器和状态控制器,所述第一计数器装载有装载值,所述状态控制器用于在所述当前目标位置与所述自有位置不同的情况下,触发装载值按照每一周期变更预设装载数值,直至变更后的装载值等于预设装载阈值,生成状态指示有效信号,以触发所述目标位置更新模块将所述增量调制位置确定为当前目标位置。
[0014] 于本发明一实施例中,所述最小周期计数器还用于在变更后的装载值大于或小于预设装载阈值的情况下,触发所述目标位置更新模块维持所述当前目标位置不变。
[0015] 于本发明一实施例中,所述最小周期计数器还用于在变更后的装载值等于所述预设装载阈值时,生成状态指示有效信号,以触发所述自有位置更新模块根据所述位置调整方向对所述自有位置进行更新,得到更新后位置。
[0016] 于本发明一实施例中,所述最小周期计数器触发装载值按照每一周期变更预设装载数值,包括:所述最小周期计数器触发装载值按照每一周期减少预设装载数值,此时所述预设装载阈值小于所述装载值;或,所述最小周期计数器触发装载值按照每一周期增加预设装载数值,此时所述预设装载阈值大于所述装载值。
[0017] 于本发明一实施例中,所述装载值的确定方式包括:获取工作时钟周期和所述编码器的输出信号对应的最高分辨率的脉冲周期间隔;根据所述工作时钟周期和所述脉冲周期间隔确定所述装载值。
[0018] 于本发明一实施例中,所述状态控制器还用于在变更后的装载值等于预设装载阈值的下一周期,将所述装载值装载到所述第一计数器,以使所述状态控制器重复执行在所述当前目标位置与所述自有位置不同的情况下,触发装载值按照每一周期变更预设装载数值,直至变更后的装载值等于预设装载阈值,触发所述目标位置更新模块将所述增量调制位置确定为当前目标位置的步骤。
[0019] 于本发明一实施例中,所述自有位置更新模块包括正向更新模块、反向更新模块和保持模块,其中:所述正向更新模块用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为正转,且所述自有位置的自有步数小于当前自有位置的结束步位置,将所述自有位置调整为所述自有位置的数值减1;所述正向更新模块还用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为正转,且所述自有位置的自有步数等于当前自有位置的结束步位置,将所述自有位置调整为所述当前自有位置的初始步位置;所述反向更新模块用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为反转,且所述自有位置的自有步数大于当前自有位置的初始步位置,将所述自有位置调整为所述自有位置的数值加1;所述反向更新模块还用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为反转,且所述自有位置的自有步数等于当前自有位置的初始步位置,将所述自有位置调整为所述当前自有位置的结束步位置;所述保持模块用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为不变,控制所述自有位置保持不变。
[0020] 于本发明一实施例中,所述编码器还包括看门狗监控模块,所述看门狗监控模块用于获取所述方向决定模块确定的所述位置调整方向,若所述位置调整方向为不变,监测所述位置调整方向为不变的连续有效时长,当所述连续有效时长大于预设时长阈值,生成看门狗监控有效信号并发送至所述自有位置更新模块,所述看门狗监控有效信号用于触发所述自有位置更新模块在所述自有位置小于所述自有位置的结束步位置的情况下,将所述自有位置调整为所述自有位置的数值加1;以及触发所述自有位置更新模块在所述自有位置等于当前自有位置的结束步位置的情况下,将所述自有位置调整为所述当前自有位置的初始步位置。
[0021] 于本发明一实施例中,所述看门狗监控模块包括第二计数器和信号生成模块,所述第二计数器用于监测所述位置调整方向,若所述位置调整方向为不变,触发所述第二计数器归零并开始计数,直到所述第二计数器的计数值达到看门狗阈值,触发所述信号生成模块生成所述看门狗监控有效信号。
[0022] 于本发明一实施例中,若所述编码器包括同步位置管理模块、最小周期计数器和看门狗监控模块中至少两个,所述自有位置更新模块用于若接收到同步有效信号、状态指示有效信号、看门狗监控有效信号中至少之一,按照预设优先规则将同步有效信号、状态指示有效信号、看门狗监控有效信号中的一个确定为触发信号,以触发所述自有位置更新模块根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置。
[0023] 于本发明一实施例中,所述编码器还包括看门狗监控模块,所述看门狗监控模块用于获取所述方向决定模块确定的所述位置调整方向,若所述位置调整方向为不变,监测所述位置调整方向为不变的连续有效时长,当所述连续有效时长大于预设时长阈值,生成看门狗监控有效信号并发送至所述自有位置更新模块,所述看门狗监控有效信号用于触发所述自有位置更新模块在所述自有位置小于所述自有位置的结束步位置的情况下,将所述自有位置调整为所述自有位置的数值加1;以及触发所述自有位置更新模块在所述自有位置等于当前自有位置的结束步位置的情况下,将所述自有位置调整为所述当前自有位置的初始步位置。
[0024] 本发明实施例还提供了一种编码方法,所述方法包括:获取编码器的输入位置、当前目标位置和自有位置;将所述输入位置与预设线数调制倍数以及输入位置最大线数相乘,得到增量调制位置;维持所述当前目标位置不变,或将所述增量调制位置更新为当前目标位置;根据所述当前目标位置的当前目标步数与所述自有位置的自有步数确定步数差距,基于所述步数差距和预设差值换向值确定位置调整方向;根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置;根据输出参考数据确定输出信号,所述输出参考数据包括更新后位置的第一位、所述更新后位置的第零位以及以下至少之一:更新后位置的全部位数和计数输出参数,所述计数输出参数包括上一周期的B相输出值和位置调整方向。
[0025] 于本发明一实施例中,维持所述当前目标位置不变,或将所述增量调制位置更新为当前目标位置之前,所述方法包括:将所述当前目标位置与所述自有位置不同的事件发生的第一个周期作为初始周期,在所述初始周期间隔预设周期后触发将所述增量调制位置更新为当前目标位置;若所述当前目标位置与所述自有位置相同,和/或所述当前目标位置与所述自有位置不同,在初始周期间隔预设周期之内维持所述当前目标位置不变。
[0026] 于本发明一实施例中,根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置之前,所述方法包括:若接收到同步有效信号、状态指示有效信号、看门狗监控有效信号中至少之一,按照预设优先规则将同步有效信号、状态指示有效信号、看门狗监控有效信号中的一个确定为触发信号,以触发所述根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置;其中,将所述同步有效信号确定为所述触发信号,触发所述根据所述当前目标位置对所述自有位置进行更新,得到更新后位置,包括以下任意之一:接收到更新指令后,生成同步有效信号,以触发将所述自有位置更新为所述当前目标位置;接收到更新指令后,若获取到新的增量调制位置,且将新的增量调制位置更新为新的当前目标位置的情况下,生成同步有效信号,以触发将所述自有位置更新为新的当前目标位置;将所述状态指示有效信号确定为所述触发信号,触发所述根据所述位置调整方向和所述当前目标位置对所述自有位置进行更新,得到更新后位置,包括:在所述当前目标位置与所述自有位置不同的情况下,触发装载值按照每一周期变更预设装载数值,直至变更后的装载值等于预设装载阈值,生成状态指示有效信号,根据所述位置调整方向对所述自有位置进行更新,得到更新后位置:将所述看门狗监控有效信号确定为所述触发信号,触发所述根据所述位置调整方向和所述当前目标位置对所述自有位置进行更新,得到更新后位置,包括:若所述位置调整方向为不变,监测所述位置调整方向为不变的连续有效时长,当所述连续有效时长大于预设时长阈值,生成看门狗监控有效信号,触发在所述自有位置小于所述自有位置的结束步位置的情况下,将所述自有位置调整为所述自有位置的数字加1;以及触发在所述自有位置等于当前自有位置的结束步位置的情况下,将所述自有位置调整为所述当前自有位置的初始步位置。
[0027] 于本发明一实施例中,根据输出参考数据确定输出信号包括以下至少之一:若所述输出信号包括ABZ型输出信号,对所述更新后位置的第一位取反,得到A相输出结果,以及用于对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到B相输出结果,当所述自有步数大于或等于预设Z相起始步数,且所述自有步数小于或等于预设Z相终止步数,控制Z相输出结果为高电平,以及当所述自有步数小于预设Z相起始步数,或者所述自有步数大于预设Z相终止步数,控制Z相输出结果为低电平;若所述输出信号包括高速计数单脉冲型信号,若所述位置调整方向为正转,根据所述更新后位置的第一位确定A相输出结果,若所述位置调整方向为反转或不变,对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到A相输出结果,若所述位置调整方向为正转时,B相输出只在所述自有位置第一位和自有位置第零位等于预设的正向切换点时将最新的所述位置调整方向更新为B相最新值,若所述位置调整方向为反转或不变时,B相输出只在所述自有位置第一位和自有位置第零位等于预设的反向切换点时将最新的所述位置调整方向更新为B相最新值;若所述输出信号包括高速计数双脉冲型输出信号,若所述位置调整方向为正转,根据所述更新后位置的第一位确定A相输出结果,若所述位置调整方向为反转或不变,A相输出低电平,若所述位置调整方向为正转,B相输出低电平,若所述位置调整方向为反转或不变,对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到B相输出结果。
[0028] 本发明实施例还提供了一种芯片,所述芯片包括如上述任一项实施例所述的编码器。
[0029] 上述提供的编码器、编码方法及芯片所实现的方案中,该编码器通过线数调制模块对输入位置进行线数调制得到增量调制位置,通过目标位置更新模块维持当前目标位置不变或将增量调制位置更新为当前目标位置,通过方向决定模块根据当前目标位置与自有位置确定步数差距,基于步数差距和预设差值换向值确定位置调整方向,通过自有位置更新模块对自有位置根据位置调整方向或当前目标位置进行更新,得到更新后位置,通过编码器输出控制模块根据更新后位置的第一位和更新后位置的第零位以及以下至少之一:更新后位置的全部位数和计数输出参数,计数输出参数包括上一周期的B相输出值和位置调整方向确定输出信号,该编码器提供了一种新颖的编码器的实现方式,实现过程简单,易操作,使用门槛较低。

法律保护范围

涉及权利要求数量22:其中独权3项,从权-3项

1.一种编码器,其特征在于,所述编码器包括:
线数调制模块,用于获取输入位置,将所述输入位置与预设线数调制倍数相乘,得到增量调制位置;
目标位置更新模块,用于维持当前目标位置不变,或将所述当前目标位置更新为所述增量调制位置;
方向决定模块,用于根据所述当前目标位置的当前目标步数与自有位置的自有步数确定步数差距,基于所述步数差距和预设差值换向值确定位置调整方向;
自有位置更新模块,用于根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置;
编码器输出控制模块,用于根据输出参考数据确定输出信号,所述输出参考数据包括更新后位置的第一位、所述更新后位置的第零位以及以下至少之一:更新后位置的全部位数和计数输出参数,所述计数输出参数包括上一周期的B相输出值和位置调整方向。
2.如权利要求1所述的编码器,其特征在于,所述编码器还包括同步位置管理模块,所述同步位置管理模块包括立即更新模块和延迟更新模块中至少之一,其中:
所述立即更新模块用于在所述立即更新模块处于有效状态时,接收到更新指令后,生成同步有效信号,以触发所述自有位置更新模块将所述自有位置更新为所述当前目标位置;
所述延迟更新模块用于在所述延迟更新模块处于有效状态时,接收到更新指令后,若所述线数调制模块得到新的增量调制位置,且所述目标位置更新模块将新的增量调制位置确定为新的当前目标位置的情况下,生成同步有效信号,以触发所述自有位置更新模块将所述自有位置更新为新的当前目标位置;
若所述同步位置管理模块包括立即更新模块和延迟更新模块,同一时刻,所述立即更新模块处于有效状态或延迟更新模块处于有效状态。
3.如权利要求2所述的编码器,其特征在于,所述同步位置管理模块还包括使能控制模块,所述使能控制模块用于接收状态指令,以配置所述立即更新模块处于有效状态或延迟更新模块处于有效状态。
4.如权利要求1所述的编码器,其特征在于,所述方向决定模块包括步数差距确定模块和位置调整方向确定模块,其中:
所述步数差距确定模块用于若所述当前目标步数大于或等于所述自有步数,将所述当前目标步数与所述自有步数之间的差值确定为所述步数差距,以及若所述当前目标步数小于所述自有步数,将预设最大步数与所述当前目标步数之和作为临时步数,将所述临时步数与所述自有步数之间的差值确定为所述步数差距,所述预设最大步数基于所述预设线数调制倍数和输入位置最大线数的乘积确定;
所述位置调整方向确定模块用于若所述当前目标步数大于所述自有步数,且所述步数差距小于或等于所述预设差值换向值;或者所述当前目标步数小于所述自有步数,且所述步数差距大于所述预设差值换向值;将所述位置调整方向确定为正转;
所述位置调整方向确定模块还用于若所述当前目标步数等于所述自有步数,将所述位置调整方向确定为不变;
所述位置调整方向确定模块还用于若满足预设反转条件,将所述位置调整方向确定为反转,所述预设反转条件包括以下任意之一,
所述当前目标步数大于所述自有步数,且所述步数差距大于所述预设差值换向值;
所述当前目标步数小于所述自有步数,且所述步数差距小于或等于所述预设差值换向值;
所述位置调整方向不是正转且不是不变。
5.如权利要求4所述的编码器,其特征在于,所述方向决定模块还包括预设差值换向值确定模块,所述预设差值换向值确定模块用于根据所述预设最大步数和预设差值换相比例确定,所述预设差值换相比例大于零且所述预设差值换相比例小于1。
6.如权利要求1所述的编码器,其特征在于,所述编码器输出控制模块包括ABZ型输出信号模块、高速计数单脉冲型信号输出模块和高速计数双脉冲型输出信号模块中至少之一,其中,
所述ABZ型输出信号模块用于对所述更新后位置的第一位取反,得到A相输出结果,以及用于对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到B相输出结果,所述ABZ型输出信号模块还用于当所述自有步数大于或等于预设Z相起始步数,且所述自有步数小于或等于预设Z相终止步数,控制Z相输出结果为高电平,以及用于当所述自有步数小于预设Z相起始步数,或者所述自有步数大于预设Z相终止步数,控制Z相输出结果为低电平;
所述高速计数单脉冲型信号输出模块用于若所述位置调整方向为正转,根据所述更新后位置的第一位确定A相输出结果,若所述位置调整方向为反转或不变,对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到A相输出结果,所述高速计数单脉冲型信号输出模块还用于若所述位置调整方向为正转时,B相输出只在所述自有位置第一位和自有位置第零位等于预设的正向切换点将最新的所述位置调整方向更新为B相最新值,若所述位置调整方向为反转或不变时,B相输出只在自有位置第一位和自有位置第零位等于预设的反向切换点将最新的所述位置调整方向更新为B相最新值;
所述高速计数双脉冲型输出信号模块用于若所述位置调整方向为正转,根据所述更新后位置的第一位确定A相输出结果,若所述位置调整方向为反转或不变,A相输出低电平,所述高速计数双脉冲型输出信号模块还用于若所述位置调整方向为正转,B相输出低电平,若所述位置调整方向为反转或不变,对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到B相输出结果。
7.如权利要求1‑6任一项所述的编码器,其特征在于,所述编码器还包括最小周期计数器,所述最小周期计数器包括第一计数器和状态控制器,所述第一计数器装载有装载值,所述状态控制器用于在所述当前目标位置与所述自有位置不同的情况下,触发装载值按照每一周期变更预设装载数值,直至变更后的装载值等于预设装载阈值,生成状态指示有效信号,以触发所述目标位置更新模块将所述增量调制位置确定为当前目标位置。
8.如权利要求7所述的编码器,其特征在于,所述最小周期计数器还用于在变更后的装载值大于或小于预设装载阈值的情况下,触发所述目标位置更新模块维持所述当前目标位置不变。
9.如权利要求7所述的编码器,其特征在于,所述最小周期计数器还用于在变更后的装载值等于所述预设装载阈值时,生成状态指示有效信号,以触发所述自有位置更新模块根据所述位置调整方向对所述自有位置进行更新,得到更新后位置。
10.如权利要求7所述的编码器,其特征在于,所述最小周期计数器触发装载值按照每一周期变更预设装载数值,包括:
所述最小周期计数器触发装载值按照每一周期减少预设装载数值,此时所述预设装载阈值小于所述装载值;
或,
所述最小周期计数器触发装载值按照每一周期增加预设装载数值,此时所述预设装载阈值大于所述装载值。
11.如权利要求7所述的编码器,其特征在于,所述装载值的确定方式包括:
获取工作时钟周期和所述编码器的输出信号对应的最高分辨率的脉冲周期间隔;
根据所述工作时钟周期和所述脉冲周期间隔确定所述装载值。
12.如权利要求11所述的编码器,其特征在于,所述状态控制器还用于在变更后的装载值等于预设装载阈值的下一周期,将所述装载值装载到所述第一计数器,以使所述状态控制器重复执行在所述当前目标位置与所述自有位置不同的情况下,触发装载值按照每一周期变更预设装载数值,直至变更后的装载值等于预设装载阈值,触发所述目标位置更新模块将所述增量调制位置确定为当前目标位置的步骤。
13.如权利要求9所述的编码器,其特征在于,所述自有位置更新模块包括正向更新模块、反向更新模块和保持模块,其中:
所述正向更新模块用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为正转,且所述自有位置的自有步数小于当前自有位置的结束步位置,将所述自有位置调整为所述自有位置的数值减1;
所述正向更新模块还用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为正转,且所述自有位置的自有步数等于当前自有位置的结束步位置,将所述自有位置调整为所述当前自有位置的初始步位置;
所述反向更新模块用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为反转,且所述自有位置的自有步数大于当前自有位置的初始步位置,将所述自有位置调整为所述自有位置的数值加1;
所述反向更新模块还用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为反转,且所述自有位置的自有步数等于当前自有位置的初始步位置,将所述自有位置调整为所述当前自有位置的结束步位置;
所述保持模块用于在变更后的装载值等于所述预设装载阈值时,若所述位置调整方向为不变,控制所述自有位置保持不变。
14.如权利要求7所述的编码器,其特征在于,所述编码器还包括看门狗监控模块,所述看门狗监控模块用于获取所述方向决定模块确定的所述位置调整方向,若所述位置调整方向为不变,监测所述位置调整方向为不变的连续有效时长,当所述连续有效时长大于预设时长阈值,生成看门狗监控有效信号并发送至所述自有位置更新模块,所述看门狗监控有效信号用于触发所述自有位置更新模块在所述自有位置小于所述自有位置的结束步位置的情况下,将所述自有位置调整为所述自有位置的数值加1;以及触发所述自有位置更新模块在所述自有位置等于当前自有位置的结束步位置的情况下,将所述自有位置调整为所述当前自有位置的初始步位置。
15.如权利要求14所述的编码器,其特征在于,所述看门狗监控模块包括第二计数器和信号生成模块,所述第二计数器用于监测所述位置调整方向,若所述位置调整方向为不变,触发所述第二计数器归零并开始计数,直到所述第二计数器的计数值达到看门狗阈值,触发所述信号生成模块生成所述看门狗监控有效信号。
16.如权利要求14所述的编码器,其特征在于,若所述编码器包括同步位置管理模块、最小周期计数器和看门狗监控模块中至少两个,所述自有位置更新模块用于若接收到同步有效信号、状态指示有效信号、看门狗监控有效信号中至少之一,按照预设优先规则将同步有效信号、状态指示有效信号、看门狗监控有效信号中的一个确定为触发信号,以触发所述自有位置更新模块根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置。
17.如权利要求1‑6任一项所述的编码器,其特征在于,所述编码器还包括看门狗监控模块,所述看门狗监控模块用于获取所述方向决定模块确定的所述位置调整方向,若所述位置调整方向为不变,监测所述位置调整方向为不变的连续有效时长,当所述连续有效时长大于预设时长阈值,生成看门狗监控有效信号并发送至所述自有位置更新模块,所述看门狗监控有效信号用于触发所述自有位置更新模块在所述自有位置小于所述自有位置的结束步位置的情况下,将所述自有位置调整为所述自有位置的数值加1;以及触发所述自有位置更新模块在所述自有位置等于当前自有位置的结束步位置的情况下,将所述自有位置调整为所述当前自有位置的初始步位置。
18.一种编码方法,其特征在于,所述方法包括:
获取编码器的输入位置、当前目标位置和自有位置;
将所述输入位置与预设线数调制倍数以及输入位置最大线数相乘,得到增量调制位置;
维持所述当前目标位置不变,或将所述增量调制位置更新为当前目标位置;
根据所述当前目标位置的当前目标步数与所述自有位置的自有步数确定步数差距,基于所述步数差距和预设差值换向值确定位置调整方向;
根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置;
根据输出参考数据确定输出信号,所述输出参考数据包括更新后位置的第一位、所述更新后位置的第零位以及以下至少之一:更新后位置的全部位数和计数输出参数,所述计数输出参数包括上一周期的B相输出值和位置调整方向。
19.如权利要求18所述的编码方法,其特征在于,维持所述当前目标位置不变,或将所述增量调制位置更新为当前目标位置之前,所述方法包括:
将所述当前目标位置与所述自有位置不同的事件发生的第一个周期作为初始周期,在所述初始周期间隔预设周期后触发将所述增量调制位置更新为当前目标位置;
若所述当前目标位置与所述自有位置相同,和/或所述当前目标位置与所述自有位置不同,在初始周期间隔预设周期之内维持所述当前目标位置不变。
20.如权利要求18所述的编码方法,其特征在于,根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置之前,所述方法包括:
若接收到同步有效信号、状态指示有效信号、看门狗监控有效信号中至少之一,按照预设优先规则将同步有效信号、状态指示有效信号、看门狗监控有效信号中的一个确定为触发信号,以触发所述根据所述位置调整方向或所述当前目标位置对所述自有位置进行更新,得到更新后位置;
其中,
将所述同步有效信号确定为所述触发信号,触发所述根据所述当前目标位置对所述自有位置进行更新,得到更新后位置,包括以下任意之一:接收到更新指令后,生成同步有效信号,以触发将所述自有位置更新为所述当前目标位置;接收到更新指令后,若获取到新的增量调制位置,且将新的增量调制位置更新为新的当前目标位置的情况下,生成同步有效信号,以触发将所述自有位置更新为新的当前目标位置;
将所述状态指示有效信号确定为所述触发信号,触发所述根据所述位置调整方向和所述当前目标位置对所述自有位置进行更新,得到更新后位置,包括:在所述当前目标位置与所述自有位置不同的情况下,触发装载值按照每一周期变更预设装载数值,直至变更后的装载值等于预设装载阈值,生成状态指示有效信号,根据所述位置调整方向对所述自有位置进行更新,得到更新后位置:
将所述看门狗监控有效信号确定为所述触发信号,触发所述根据所述位置调整方向和所述当前目标位置对所述自有位置进行更新,得到更新后位置,包括:若所述位置调整方向为不变,监测所述位置调整方向为不变的连续有效时长,当所述连续有效时长大于预设时长阈值,生成看门狗监控有效信号,触发在所述自有位置小于所述自有位置的结束步位置的情况下,将所述自有位置调整为所述自有位置的数字加1;以及触发在所述自有位置等于当前自有位置的结束步位置的情况下,将所述自有位置调整为所述当前自有位置的初始步位置。
21.如权利要求18‑20任一项所述的编码方法,其特征在于,根据输出参考数据确定输出信号包括以下至少之一:
若所述输出信号包括ABZ型输出信号,对所述更新后位置的第一位取反,得到A相输出结果,以及用于对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到B相输出结果,当所述自有步数大于或等于预设Z相起始步数,且所述自有步数小于或等于预设Z相终止步数,控制Z相输出结果为高电平,以及当所述自有步数小于预设Z相起始步数,或者所述自有步数大于预设Z相终止步数,控制Z相输出结果为低电平;
若所述输出信号包括高速计数单脉冲型信号,若所述位置调整方向为正转,根据所述更新后位置的第一位确定A相输出结果,若所述位置调整方向为反转或不变,对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到A相输出结果,若所述位置调整方向为正转时,B相输出只在所述自有位置第一位和自有位置第零位等于预设的正向切换点时将最新的所述位置调整方向更新为B相最新值,若所述位置调整方向为反转或不变时,B相输出只在所述自有位置第一位和自有位置第零位等于预设的反向切换点时将最新的所述位置调整方向更新为B相最新值;
若所述输出信号包括高速计数双脉冲型输出信号,若所述位置调整方向为正转,根据所述更新后位置的第一位确定A相输出结果,若所述位置调整方向为反转或不变,A相输出低电平,若所述位置调整方向为正转,B相输出低电平,若所述位置调整方向为反转或不变,对所述更新后位置的第一位和所述更新后位置的第零位进行异或运算,得到B相输出结果。
22.一种芯片,其特征在于,所述芯片包括如权利要求1‑17任一项所述的编码器。

当前第2页 第1页 第2页 第3页