芯教程丨平头哥助力昊芯HX2000系列芯片QEP电机测速
随着能源的日益短缺,科技的日趋智能化,高精度的脉冲测量,已日趋成为人们生产生活必然趋势。中科昊芯顺应时代要求,推出适用于高精度工业自动化运动控制的新版HXS320F28034PNT数字信号处理器DSP,芯片QEP模块以16位T法与32位M法,适配于较低与较高速度等级测速,更加有效助力于工程师实现高精度脉冲测量,广泛应用于电动车、电动汽车、轨道交通、全电飞机、新能源发电、机器人等工业自动化高精度控制领域。

自平头哥半导体有限公司的剑池集成开发环境(简称“CDK”)支持HX2000系列芯片调试以来,本期以QEP测速实例对QEP电机测速展开介绍。
HX2000系列QEP测速的实现方式如下:采用GPIO MUX定义引脚:获取差分编码器正交脉冲QEPA与QEPB、索引QEPI信号;通过QDECCTL[XCR]选择,上升沿、下降沿或双边沿捕获计数方式,得到时钟信号xCLK;经解码QDU逻辑处理,得到方向的高低电平信号iDIR;通过QDECCTL[QSRC]选择引脚模式:正交、方向、增或减计数,读取方向QDIR、时钟QCLK信号;通过QEPCTL[PCRM]选择,位置计数控制PCCU模式:索引位置事件、最大位置锁存、单位超时锁存;使能QEPCTL[QPEN],捕获N线光电编码器输出双边沿脉冲,使位置计数器产生计数,从而计算电机转速,常用方法如下:

(1)T法:一个脉冲周期fclk内,捕获脉冲计数,载入16位定时器QCTMR。单位事件发生时,更新载入QCPRDLAT,电机转速n=60*fclk/(4N*QCPRDLAT)。QCTMR上溢时,位置方向QDIR将变化,使捕获单元QEPSTS[COEF]发生错误标志,故仅适用于低速测量。
(2)M法:规定检测事件Tc内,捕获脉冲计数。单位事件发生时,锁存到32位QPOSILAT和QPOSSLAT,故电机转速n=60*QPOSSLAT/(4N*Tc),适用于高速测量。
详细介绍请参见下方二维码B站视频链接:

由此设计QEP测速实例:EPWM配置1KHz PWM波,模拟1000线编码器旋转,EQEP采用M法与T法测量60rpm与6000rpm下旋转的转速,单位周期为SysFreq*100,采用上升沿计数,捕获得到脉冲计数,实现转速测量,采用定时器中断实现三种不同功能切换,故硬件连接如下:GPIO0-GPIO20,GPIO1-GPIO21。

基于以上分析,在CDK上开发QEP脉冲捕获输出,代码包括:EPWM与EQEP的GPIO引脚配置,EPWM 1KHz两路互差90°的PWM波输出配置,EQEP单位时间锁存计数捕获功能配置,定时器Timer0配置,计数捕获、M法与T法测速程序及其功能切换的定时器中断服务程序,主程序调用执行。
CDK上开发QEP测速程序,其编译结果为:

编译通过后,就可以开始调试了,其中M法测速调试结果如下:

T法测速调试结果如下:

所捕获的光电编码器QEP正交脉冲波形为:

关于昊芯
“智由芯生 创享未来”,昊芯是数字信号处理器专业供应商。作为中国科学院科技成果转化企业,瞄准国际前沿芯片设计技术,依托多年积累的雄厚技术实力及对产业链的理解,以开放积极的心态,基于开源指令集架构RISC-V,打造多个系列数字信号处理器产品,并构建完善的处理器产品生态系统。产品具有广阔的市场前景,可广泛应用于工业控制及电机驱动、数字电源、光伏、储能、新能源汽车、消费电子、白色家电等领域。