首页 理论教育 eQEP应用示例的分析介绍

eQEP应用示例的分析介绍

时间:2023-06-24 理论教育 版权反馈
【摘要】:配置ePWM1,产生一定信号频率的矩形波;配置eQEP1,实现对该矩形波频率的测量。因此结合捕获定时器溢出次数、捕获定时器周期值及QCPRD的值,便可得到单位位置事件内捕获定时器总的计数值,结合CCPS位,便可计算得到单位位置事件的时间间隔;再结合UPPS及XCR位,得到单位位置事件对应的外部信号周期数,进而计算出信号频率。图6-57 eQEP例程主程序流程图源程序如下:将变量FreTrue、FreUtime、FreUevent添加到变量查看窗口,本例运行结果如图6-58所示。图6-58 eQEP例程运行结果

 eQEP应用示例的分析介绍

在TI官网V131中的eqep_freqcal及eqep_pos_speed例程中,分别采用了单位时间法和单位位置法测量信号频率。官网程序中未考虑位置计数器及捕获定时器的溢出问题,并使用了较专业的电动机测速程序编写方式,在例程中采用了结构体、指针、IQmath运算,不方便初学者阅读。在此,编者对官网程序进行改编,并考虑计数器的溢出问题。

本例分别用单位时间法和单位位置法实现对信号频率的测量。配置ePWM1,产生一定信号频率的矩形波;配置eQEP1,实现对该矩形波频率的测量。

本程序功能描述:使用GPIO0作为ePWM1a的输出引脚,使用GPIO20作为eQEP1的QEPA输入引脚。将GPIO0与GPIO20相连,即可实现用eQEP对ePWM发出的矩形波信号频率的测量,程序流程图如图6-57所示。

在程序编写中,有几方面要点:

1)配置位置计数器工作在用于频率测量的计数模式(QSRC位),并配置位置计数器对外部信号的计数边沿(XCR位)。

2)对于单位时间法测量频率,要配置单位定时时间(QUPRD位),这里单位时间定时器是对SYSCLKOUT进行计数(不可进行分频);配置位置计数器在达到最大值时复位(PCRM位),并配置最大位置计数器值(QPOSMAX);需使能在单位定时时间到达时,锁存位置计数器值(QCLM位)。

3)对于单位位置法测量频率,捕获定时器的时基是由SYSCLKOUT分频而来(CCPS位),且单位位置事件发生频率是由QCLK分频得到(UPPS位)的。

4)对于单位时间法测量频率,若单位定时时间未到且位置计数器发生溢出,则需记录溢出次数;在单位定时时间发生时,当前的位置计数器值锁存至QPOSLAT,因此结合溢出次数、QPOSMAX值及QPOSLAT值,便可得到单位时间内总的位置计数,再结合位置计数值与信号频率的关系(XCR位),可计算出信号频率。

5)对于单位位置法测量频率,若单位位置事件未发生且捕获定时器发生溢出,则需记录溢出次数;在单位位置事件发生时,捕获定时器的值会锁存至QCPRD且捕获定时器复位。因此结合捕获定时器溢出次数、捕获定时器周期值(65,535)及QCPRD的值,便可得到单位位置事件内捕获定时器总的计数值,结合CCPS位,便可计算得到单位位置事件的时间间隔;再结合UPPS及XCR位,得到单位位置事件对应的外部信号周期数,进而计算出信号频率。

978-7-111-49650-2-Chapter06-244.jpg(www.xing528.com)

图6-57 eQEP例程主程序流程图

源程序如下:

978-7-111-49650-2-Chapter06-245.jpg

978-7-111-49650-2-Chapter06-246.jpg

978-7-111-49650-2-Chapter06-247.jpg

978-7-111-49650-2-Chapter06-248.jpg

变量FreTrue、FreUtime、FreUevent添加到变量查看窗口,本例运行结果如图6-58所示。

978-7-111-49650-2-Chapter06-249.jpg

图6-58 eQEP例程运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈