Copter E001系列MCU在感应电机控制应用中的实时基准对比测试

描述

 

电机控制系统是一种典型的实时控制系统,为了提高控制精度,需要尽可能地提高系统的响应速度。实时微控制器(Microcontroller Unit,MCU)是实时控制系统的核心,配合一些外围硬件电路组成了整个实时控制电路。忽略外围硬件电路的响应时间,影响实时控制系统响应速度的主要因素是MCU响应时间。MCU响应时间主要包括内部ADC的采样时间、MCU外设的驱动延时、读写寄存器时间和应用代码运行时间。因此,MCU性能是决定实时控制系统响应速度的最关键因素之一。

寄存器

本文使用华太电子即将上市发布的Copter E001系列MCU HS32F7D377PTI(主频300M,双核),与具有垄断地位的海外厂商竞品28379(T公司,主频200M,双核)和H563(S公司,主频250M,单核)进行感应电机控制基准对比 (Induction Motor Control, IMC) Benchmark测试。测试过程使用相同的应用代码及外设配置,用以对比三款MCU的软硬件延时对感应电机实时控制系统响应时间的影响。

寄存器

本次对比测试分别采用华太电子EVB_AllGpio_Production_V1.1评估板以及另外两款MCU对应的官方开发板,无外部输入激励信号,最终控制输出形式为脉宽调制(Pulse Width Modulation,PWM)波。其中被控对象(异步电机)在MCU中使用软件模型进行模拟,通过观测控制精度(即电机速度响应)判断实时控制系统的有效性(本文主要针对响应时间,不做性能评估)。

寄存器

图2.1 搭载HS32F7D377PTI的EVB_AllGpio_Production_V1.1评估板

寄存器

如图3.1所示,MCU产生的PWM信号触发ADC采样,采样完成后进入ADC中断程序(上下文保存保护现场),读取ADC结果并执行电机控制算法,计算结束后更新MCU内部的PWM比较寄存器,并退出中断程序(恢复现场)。

寄存器

图3.1 信号流程图 

寄存器

如图4.1所示,测试应用程序包括ADC采样,CLARK变换,PARK变换,PID控制,PARK逆变换,感应电机模型,CLARK逆变换及DA输出,磁链及速度观测器,空间矢量变换(Space Vector Generator, SVGEN)、PWM输出。其中,感应电机模型,CLARK逆变换及DA输出部分是为了验证控制效果,并实现电流闭环,不做基准对比测试。

寄存器

图4.1 应用程序流程图 

寄存器

5.1  ADC采样及中断响应时间:从ADC触发到完成ADC采样并进入ADC中断的时间。

5.2  应用代码执行时间:读ADC结果寄存器的时间、电机控制算法的执行时间(即图4.1中白色框图代码运行时间)、写PWM寄存器时间。

寄存器

6.1  ADC采样及中断响应时间测试

如图6.1所示,在固定点T1产生中断触发信号,在完成ADC采样并进入ADC中断后,立即读取计数值T2,则△T=T2-T1就是ADC采样及中断响应时间的总和。

6.2  应用程序执行时间测试

如图6.1所示,在被测的功能模块运行之前读取计数值t1,在功能模块运行后立即再次读取计数值t2,则△t=t2-t1就是这个功能模块实际运行的时间。

注意:

1.T1尽可能取小,计数周期设置尽可能大,避免T2或t2时刻超过当前计数周期。

2.读t1后不执行任何代码,立即读一次t2,△t=t2-t1值为校正值,即测试误差,每次计算需要减此误差。

寄存器

图6.1 测试方法示意图

寄存器

表1:一组三角函数运算时间(软件计算)

寄存器

表2:AD采样及中断响应时间

寄存器

表3:算法执行时间(计算一组三角函数)

寄存器

表4:电机控制算法执行总时间(计算一组三角函数)

寄存器

寄存器

8.1  三角函数:软件计算一组三角函数,28379的计算周期数具有明显优势,说明对应的三角函数库的执行效率较高。另外28379的三角函数单元(Trigonometric Math Unit,TMU)和HS32F7D377PTI的超越函数计算单元( Transcendental Function Unit,TFU)能够大幅提升三角函数的计算速度,但是由于H563没有此功能,因此本文未做对比。

注:本次测试未对计算精度做对比。

8.2  ADC采样及中断响应时间:在采集一个模拟量并触发中断的情况下,28379需要的周期数具有优势。但是众所周知,ADC采样需要一个合理的采样时间,才能够实现准确采样,28379由于主频低,所以相同的采样周期数对应更长的时间,而H563和HS32F7D377PTI的主频更高,所以需要更多的周期数完成ADC采样。三款MCU对应的采样时间分别为265ns、332ns和310ns,可以看到28379仍然具有一些优势,但是并不十分突出,符合上述分析。

8.3  电机控制算法执行时间:通过测试数据可见,在读写寄存器方面,28379稍优,但是此项操作用时较少,整体影响不大。如前述分析,在三角函数计算方面,28379具有一定优势。在PID等数字计算及逻辑运算方面HS32F7D377PTI具有一定优势。但是由于HS32F7D377PTI在主频方面具有明显优势,因此最终在运行时间上优于28379。

8.4 总时间:总时间从短到长依次为HS32F7D377PTI(2757ns)、28379(2845ns)、H563(3236ns),HS32F7D377PTI在此次IMC Benchmark测试中表现出了最优的性能。

寄存器

9.1  HS32F7D377PTI的特点:

使用ARM Cortex M7内核,主频300M,有主频高的优势,算力强。

可以使用CMSIS三角函数库,并且具有硬件加速单元TFU。

没有控制率加速器(Control Law Accelerator,CLA),外设调度响应时间稍逊于28379,但是外设响应时间占总时间的比例较小。

9.2  28379的特点:

主频200M相对于H563及HS32F7D377PTI劣势,导致相近cycles情况下算力偏低。

软件计算三角函数优化效果好,并且具有硬件加速单元TMU,TMU与软件计算相比优势明显。

CLA可以调度外设,执行代码,提高代码整体运行速度(本次测试未应用)。

9.3 H563特点:

使用ARM Cortex M33核,主频250M,算力较强。

没有三角函数硬件加速,可以使用CMSIS三角函数库。

没有CLA,外设调度响应时间稍逊于28379,但是外设响应时间占总时间的比例较小。

 

 



审核编辑:刘清

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

全部0条评论

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

×
20
完善资料,
赚取积分