中科昊芯推高精度工业自动化数字信号处理器DSP

描述

随着能源需求的日益短缺,科技的日趋智能化,高精度精密控制已日趋成为人们生产生活的必然趋势,中科昊芯顺应时代要求,推出适用于高精度工业自动化运动控制的新版HXS320F28034PNT数字信号处理器DSP,芯片HRCAP模块以数百皮秒内的典型分频率测量外部脉冲的宽度,可更有效助力于工程师实现3D精密打印、超声波声纳测距与气体检测、扫地机器人与数控机床等精密测量功能。

 

 

 

自平头哥半导体有限公司的剑池集成开发环境(简称“CDK”)V2.12.1支持HXS320F28034PNT芯片调试以来,本期以HRCAP捕获变频PWM输出实例对HRCAP脉冲捕获原理展开介绍。

 

HXS320F28034PNT HRCAP高精度脉冲捕获原理如下,通过控制寄存器HCCTL[HCCAPCLKSEL]选择HRCAP时钟,HCCAPCLK以系统时钟SYSCLK或倍频时钟PLLCLK产生16位计数HCCOUNTER,通过校准寄存器HCCAL[HRPWMSEL]选择HRCAP边沿探测逻辑,运行于正常分辨率或高分辨率捕获模式,通过HRCAPxINTn中断触发响应PIE执行:当检测到上升沿与下降沿时,通过计数捕获产生HCCOUNTER值,并在计数器复位为0之前被捕获到16位寄存器HCCAPCNTRISE0HCCAPCNTFALL0,即实际低电平和高电平脉冲宽度分别为HCCAPCNTFALL0+1HCCAPCNTRISE0+1,等待下一脉冲周期上升沿时载入上升沿与下降沿捕获寄存器HCCAPCNTRISE1HCCAPCNTFALL1。通过GPIOMUX配置外设引脚捕获功能,从而输出相应的PWM波。因此在同一时间间隔内,下降沿捕获相比上升沿捕获,可捕获到的脉冲边沿计数增加一倍,使得捕获分辨率提高一倍。

工业自动化

 

 

 

由此设计高分辨率脉冲捕获实例:HRCAP1HRCAP2分别捕获两组向下计数与向上计数,频率在30kHz~120kHz间变化的PWM波上升沿与下降沿,通过GPIOMUX配置HRCAP输出引脚GPIO26GPIO27上输出相应的PWM波,故硬件连接为GPIO0-GPIO26GPIO2-GPIO27,如下图所示。

工业自动化

 

 

 

实例所采用软硬件开发环境如下表所示:

 

 

工业自动化

 

基于以上分析,在CDK上开发HRCAP捕获变频PWM输出程序,代码包括:HRCAPEPWM外设GPIO引脚、捕获功能配置程序,HRCAP捕获两组向下计数与向上计数,频率在30kHz~120kHz间变化的PWM波上升沿与下降沿的中断服务程序,主程序调用执行。


1.int main(void)2.{ 3.   /*系统时钟初始化*/4.   InitSysCtrl();5.6.   /*LED初始化*/7.   InitLED();8.9.   /*HRCAP与EPWM的GPIO引脚定义*/10.   InitHRCapGpio();11.   InitEPwm1Gpio();12.   InitEPwm2Gpio();13.    14.    /*关中断*/15.    IER=0x0000;16.    IFR=0x0000;17.18.    /*打开中断向量表*/19.    InitPieVectTable();20.    21.    EALLOW;22.    /*中断向量表HRCAP1_INT与HRCAP2_INT指向执行相应的脉冲捕获中断服务程序*/23.    PieVectTable.HRCAP1_INT=&HRCAP1_Isr;24.    PieVectTable.HRCAP2_INT=&HRCAP2_Isr;25.    EDIS;26. 27.    /*HRCAP1上升沿捕获与HRCAP2下降沿捕获功能配置*/28.    HRCAP1_Config();29.    HRCAP2_Config();30.    31.    EALLOW;32.    /*禁止EPWM的时基使能,允许EPWM初始化配置写入*/33.    SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=0;34.    EDIS;35.    36.    /*EPWM的初始化配置:PWM1采用向下计数,PWM2采用向上计数*/37.    ePWM1_Config(1000);38.    ePWM2_Config(1000);39.    40.    EALLOW;41.    /*打开EPWM的时基使能,使EPWM的初始化配置起作用*/42.    SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC=1;43.    EDIS;44.    45.    /*指令周期延迟决策变量定义,用于完成捕获EPWM波*/46.    first,rise=0;47.    48.    /*捕获时间测定判断变量定义*/49.    HRCap1IntCount,HRCap1PassCount=0;50.    HRCap2IntCount,HRCap2PassCount=0;51.    52.    /*使能打开CPU IER的第4组中断向量*/53.    IER|=M_INT4;54.    55.    /*使能打开PIE IER的第4组中断向量的第七、八个向量*/56.    PieCtrlRegs.PIEIER4.bit.INTx7=1;57.    PieCtrlRegs.PIEIER4.bit.INTx8=1;58.    59.    /*使能打开全局中断*/60.    EINT;61.    while(1)62.    63.       /*判断HRCap2与HRCap1的捕获时间*/64.      if(HRCap2PassCount>1.25*HRCap1PassCount)65.      66.          GpioDataRegs.GPBTOGGLE.bit.GPIO44=1;67.          DELAY_US(1000000);68.      }69.      else70.      71.          GpioDataRegs.GPBSET.bit.GPIO44=1;72.          DELAY_US(1000000);73.      }74.    }75.    return 0;76.}

 

 

 

CDK上开发HRCAP捕获变频PWM输出程序,其编译结果为:

 

工业自动化

 

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

 

工业自动化

 

调试后,HRCAP输出捕获的PWM周期变化波形如下:

 

工业自动化

 

为证明HRCAP的高精度脉冲捕获有效性,本设计实例采用ECAPHRCAP捕获两路向下计数、同等周期范围变化的PWM波进行对比,同时通过设置LED1闪灯来对比ECAPHRCAP的捕获时间,效果如下:

 

工业自动化

 

从图中可以看出,HRCAP相较于ECAP脉冲捕获用时减少一半,故能更加精细地读出同等变频PWM波的输出频率变化,因而测量更加精准。

  审核编辑:彭菁
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分