芯教程丨平头哥助力中科昊芯HX2000系列芯片之ECAP_APWM电机备用调速
中科昊芯
2022年05月23日 10:25
收录于文集
共36篇

随着能源需求的日益扩大,科技的日趋智能化,高精度的多电平驱动输出谐波抑制,已日趋成为人们生产生活的必然趋势。中科昊芯顺应时代需求,推出适用于高精度工业自动化运动控制的新版HXS320F28034PNT数字信号处理器DSP,芯片ECAP模块APWM功能,以32位计数配置周期,可输出频率为0.028Hz~120MHz的单极性PWM波,从而有效辅助EPWM模块,输出七路双极性PWM波,更加有效地助力于工程师实现精确的多电平驱动,可广泛应用于电动车、电动汽车、公交、地铁、高铁、全电飞机、新能源发电、机器人控制等工业自动化高精度控制领域。

自平头哥半导体有限公司的剑池集成开发环境(以下简称“CDK”)支持HX2000系列芯片调试以来,本期以ECAP_APWM输出实例对APWM电机备用调速原理展开介绍。APWM非对称脉宽调制控制技术,是PWM脉宽调制控制输出的一种类型,原理详见推文《芯教程|平头哥CDK助力中科昊芯HX2000系列芯片之PWM电机调速》​

HX2000系列ECAP_APWM模式工作原理如下,可通过ECCTL2[CAP_APWM]选择工作于捕获CAP或单极性输出APWM模式。由32位计数器CTR提供时基,通过系统时钟SYSCLK产生计数CTR[0-31]。通过ECCTL2[SYNCI_EN]拉低选择与SYSCLK同步,或置高通过ECCTL2[SYNCOSEL]选择,与其他计数器在SYNCI或CTR=PRD事件时同步;或通过ECCTL2[SWSYNC]强制实现,与其他计数器的软件同步。计数器CTR工作在计数增模式,采用公式TPWM=(CAP1+1)*TTSCTR,通过CAP1与CAP2寄存器配置输出的周期与占空比,并不断与32位周期PRD或比较CMP寄存器相比较,在CTR=PRD或CTR=CMP事件时,通过ECCTL2[APWMPOL]控制产生置高或拉低动作,输出单极性PWM波。

计数器CTR可与影子寄存器APRD、ACM配合形成双缓冲机制,将数据写入ACM影子寄存器改变CAP3周期值与CAP4比较值,在立即或周期加载模式下,在立即或当CTR=PRD事件时,加载到CAP1或者CAP2寄存器,实现APWM输出周期与占空比调节。

详细介绍参见公众号B站视频讲解,二维码指路:

由此设计ECAP_APWM输出实例:实现单路PWM 6Hz到12Hz闪变输出,上升沿触发外部中断LED1闪灯,故硬件连接为ECAP1(GPIO19)-XINT2(GPIO17),如下图所示:

实例所采用软硬件开发环境,详见推文网页链接​

基于以上分析,在CDK上开发ECAP_APWM输出程序,代码包括:ECAP与XINT2外设GPIO引脚、ECAP_APWM、XINT2上升沿触发功能配置程序,APWM频率在6Hz到12Hz闪变、XINT2外部中断触发LED1闪灯的中断服务程序,主程序调用执行。

代码块
clike
自动换行
复制代码
int main(void)
{ 
  /*初始化系统控制:PLL,WatchDog,使能外设时钟*/
  InitSysCtrl();
  /*初始化LED灯,用于判断外部中断触发*/
  InitLED();
  /*初始化GPIO,复用为ECap功能*/
  ECap_Gpio();
  /*初始化ECap_APWM功能配置*/
  ECap_APWM_Init();
  /*初始化外部中断XINT2:上升沿触发模式*/
  XINT2_Init();
  /*关中断*/
  DINT;
  /*禁止CPU中断并清除所有中断标志*/
  IER=0x0000;
  IFR=0x0000;
  /*初始化PIE向量表,为PIE向量表中的所有中断向量配置对应向量的入口地址*/
  InitPieVectTable();
  EALLOW;
  /*ECAP_INT向量表执行APWM脉冲周期闪变中断服务程序*/
  PieVectTable.ECAP1_INT = &ecap_isr;
  /*XINT2向量表执行外部中断触发中断服务程序*/ 
  PieVectTable.XINT2 = &xint2_isr;   
  EDIS;
  /*使能CPU的IER的第1组、第4组中断向量*/
  IER|=M_INT1|M_INT4;
  /*开启对应的中断ECAP1_INT与XINT2*/
  PieCtrlRegs.PIEIER1.bit.INTx5 = 1;
  PieCtrlRegs.PIEIER4.bit.INTx1 = 1;
  /*打开全局中断*/
  EINT;
  while (1)
  {}
  return 0;
}
复制成功

CDK上开发ECAP_APWM输出程序,编译结果如下图:

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

调试后,ECAP_APWM输出频率闪变效果如下图:

外部中断的触发效果如下图:

关于中科昊芯

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