三大电机控制方案之MCU篇(1):英飞凌 XMC1000

控制/MCU

1883人已加入

描述

  关于电机控制方案,DSP、MCU和FPGA各有其优特点。DSP因为数据处理能力强、运算速度快,适用于高端复杂的电机系统控制,但它依赖于软件算法的成熟度和稳定性,对开发者的要求比较高。FPGA通过集成逻辑电路及专用电机驱动电路,能够很好地适用于客户化的电机驱动,但在电机控制的通用性方面略有不足。MCU通常侧重于I/O接口的数量和可编程存储器的大小,非常适用于有大量的I/O操作的场合,所以广泛应用在低成本,低功耗和对精度要求不高的系统中。但由于本身处理能力有限,应用的场合受到了比较大的限制。

  为了带大家深入地了解市面上主流的电机控制方案,电子发烧友网站将从MCU,DSP,FPGA三个方向入手,盘点各大厂商推出的电机控制方案。本系列主要针对MCU领域,后续将会慢慢完善其它系列,敬请期待!

  MCU是目前市场主流的电机控制方案,适用于高、中、低端电机控制。通过内部集成的电机控制模块,可简化客户对于电机控制的开发;而相对于DSP较强的控制功能,能更好地实现电机的伺服控制和保护功能。目前,8位MCU主要用于电机控制的低成本,低性能场合,16位、32位MCU则用于中/高性能场合。

  英飞凌针XMC1000

  英飞凌针对中国市场推出全新XMC1000工业单片机,在电机控制领域拥有很高的性价比。XMC1000将ARM Cortex-M0内核与尖端的65nm制程技术结合在一起,克服了当今8位设计的限制,并使当前的8位用户有机会享受32位性能,而无需在价格或易用性方面付出代价。

  简介

  XMC1000具有最具扩展性的闪存组合,容量从8KB- 200KB不等。XMC1000的三个不同系列涵盖了众多应用领域。XMC1100系列是XMC单片机的入门级选择,该系列器件具有6个12位A/D转换器通道(转换速率高达1.88兆采样/秒)、4个16位定时器(捕获/比较单元4(CCU4))以及宽工作电压范围(1.8V-5.5V)。这些特性使XMC1000可适用于广泛的工业应用领域。X MC1200系列具有面向LED照明和HMI设计的外设,包括一个电容触控和LED显示控制单元,一个BCCU。BCCU可在处理器几乎不介入的情况下,对LED进行无闪烁调光和颜色控制。该系列产品的工作温度范围为-40°C 到105°C。XMC1300系列可满足电机控制或数字电源转换应用的实时控制需求,它集成一个功能强大的捕获/比较单元 CCU8(支持8对互补PWM生成和非对称PWM生成),集成位置接口单元(POSIF),支持精确的电机位置检测。XMC1300系列还集成算术协处理器,支持无传感器FOC(磁场定向控制)解决方案,提高电机运行效率。这是其他基于Cortex-M0的单片机产品所没有的。XMC1300系列的工作温度最高可达105°C 。

  XMC1000家族成员特性表

mcu

  功能框图

mcu

  XMC1000主要特性

  -32位ARM® Cortex™-M0(32MHz)内核

  -低端领域最具扩展性的闪存组合,容量从8KB- 200KB不等

  -适用于软件IP保护的AES 128位安全加载器

  -专利的LED色彩控制引擎

  -领先的XMC混合信号和定时器外设

  -IEC 60730 class B标准兼容

  -面向触控和LED显示控制的外设

  -面向高端控制回路(CORDIC / DIVIDE)的64MHz算术协处理器

  -温度范围扩展至105°C

  单元模块介绍

  XMC1000的BCCU-亮度色彩控制单元

  1 概述

  BCCU是亮度色彩控制单元(Brightness and Color Control Unit),用于控制多至9个不同的LED。

  通过12bit的Delta Sigma反变换把亮度控制值转换为比特流。这种结构使得BCCU还可以连接一个外部RC电路作为DAC使用。

  XMC1000系列中,XMC1200和XMC1300带有BCCU模块

  2 特性

  1)包括3个独立的Dimming Engine(亮度控制引擎)

  2)Dimming Engine支持12位(4096)不同的亮度输出

  3)亮度按照指数曲线调节,且步长可调

  4)9个独立的输出通道,输出比特流,可以控制9个不同的LED或作为DAC使用

  5)通道可连接一个Linear Walker,它的输出时LED的饱和度(Intensity),支持12位调节

  6)通道和Dimming Engine之间可自由连接

  7)通道也可连接饱和度调节器和Dimming Engine输出值的乘积

  8)每个通道可连接一个Packer,当需要降低开关频率是可用到

  9)有两个通道可以连接ADC

  3 通道结构

  mcu

  每个通道都是相同的结构,其中左侧是通道的输入(包括Dimming Engine和Linear Walker),右侧BCCU.OUTy是通道的输出,从这个结构框图可以看出BCCU通道的工作分为几步

  1)输入的选择和配置

  2)输入通过Delta Sigma转换为比特流

  3)比特流通过一个可选的Packer,某些LED或其驱动芯片有最短开通时间的限制,Packer可以用于类似的需要降低开关速度的情况。

  4)外部使能是否输出

  5)同时Delta Sigma的输出可以产生一个Tigger,用以出发ADC转换等

  通道的输入可以有两种,这可以通过修改寄存器DBP来选择,其中Linear Walker的输出为饱和度Intensity

  1)Dimming Engine输出和Linear Walker输出的乘积

  2)Linear Walker的直接输出

  XMC1000的随机数生成单元PRNG

  1 背景

  PRNG(Preeudo Random Number Generator)是随机码生成模块,可以产生8/16位随机码。

  2 工作原理

  1)框图

  mcu

  2)工作原理

  这个模块通过向随机数序列生成器写入Key,来产生8/16位的随机数,其中随机数序列的产生和Key是唯一对应的。随机Key写入完毕后,可以读出随机序列,随机Key写入和随机序列读出的位置都是PRNG_WORD,不过他们在不同的步骤中操作,所以不会产生冲突。

  3)使用

  a.首先设定KLD=1,进入Key写入模式,写入随机key,key可以是任意位数,推荐80位,分为5个16bit写入PRNG_WORD中。注意,只有当PRNG_CHK.RDV=1时,才能向PRNG_WORD中写入Key

  b.Key写完后,把KLD置为0。然后,当PRNG_CHK.RDV=1,可以从PRNG_WORD中读出随机序列。随机序列可以为8、16位数据,这个通过PRNG_CHK.RDBS来控制。

  c.若在随机码产生过程中把KLD置为1,则可继续写入Key,新写入的Key会和之前的Key共同作用于随机序列

  d.通过RDBS置为00,可以重启该模块

  e.若在重启前,记录随机序列至少80位,重新作为key写入,则随机序列会接着上次的输出继续产生。

  XMC1300的MATH协处理器

  1 XMC1300芯片带有一个MATH协处理器,它包含以下两个子模块

  除法器

  Cordic协处理器

  2 除法器

  特性

  可做32位/32位,32位/16位,16位/16位除法

  操作

  mcu

  -除法器启动,启动方式有两种,通过设定DIVCON.STMODE来选取,

  a. 当DIVCON.STMODE=0,写入DVS即启动除法

  b. 当DIVCON.STMODE=1,写入DIVCON.ST位即启动除法

  -除法器忙,当除法器工作时,DIVST.BSY = 1,这时不要再试图启动其他的除法

  -除法器需要35个周期结束,结束时可选择产生中断,并会出现结果置位,这个结果置位需要手动清除。

  3 Cordic协处理器

  Cordic协处理器可进行三角函数、双曲线函数和一次线性函数,其中函数模式通过CON.MODE来选择。

  计算模式包括向量模式和旋转模式,通过CON.ROTVEC来选择

  mcu

  特性

  24位精度,

  Circula模式

  旋转模式

  输入X,Y,Z

  输出

  X= K*[X*cos(Z)-Y*sin(Z)]/MPS

  Y= K*[Y*cos(Z)+X*sin(Z)]/MPS

  Z=0

  其中K=1.646760258121

  向量模式

  输入X,Y,Z

  输出

  X= K*sqrt(X^2+Y^2)/MPS

  Y= 0

  Z=Z+atan(Y/X)

  主要应用

  -计算sin(z),cos(z),tan(z),ctg(z)等

  3) 双曲线模式

  - 旋转模式

  输入X,Y,Z

  输出

  X=k[Xcosh(Z)+Ysinh(Z)]/MPS

  Y= k[Ycosh(Z)+Xsinh(Z)]/MPS

  Z=0

  -向量模式

  输入X,Y,Z

  输出

  X=k*sqrt(X^2-Y^2)/MPS

  Y= 0

  Z=Z+atanh(Y/X)

  其中k = 0.828159360960

  -主要应用,计算sinh(Z),cosh(Z),tanh(Z),ctgh(Z)等,同时可以计算ln(w),sqrt(W),acosh(w),asinh(W)等

  一次线性模式

  输入X,Y,Z

  输出

  X=X/MPS

  Y=[Y+X*Z]/MPS

  Z=0

  -向量模式

  输入X,Y,Z

  输出

  X=X/MPS

  Y= 0

  Z=Z+Y/X

  4 除法器和Cordic的互联

  除法器的输入可以由除法器的结果或Cordic的结果直接输入,这样构成了除法器和Cordic的级联。

  比如计算tan(z),可以直接把Cordic的输出sin(z)连接到DVD,cos(z)连接到DVS,这样就可以得到tan(z)。

  XMC1000的中断控制器

  1 概述

  XMC1000系列的中断处理器包括32个中断处理节点

  每个节点支持4级中断优先级

  支持尾链(tail-chaining )

  支持软中断

  2 中断对应表格,可查相应数据手册活产品手册

  3 中断功能

  mcu

  由以上框图可以看出,对应于每个中断,都可以由外部或软件触发产生,不过每个中断又需要单独使能才能最终进入中断处理。

  同时中断也可以被软件清除,或者当进入中断处理后,硬件会自动清除。

  另外要注意的是,当硬件中断和软件清除同时到来,软件清除会被系统忽略,即硬件中断置位优先级高。

  从中断触发到进入中断处理程序,一般要花费21个系统周期。

  注:尾链技术(Tail-Chain)

  这个技术是ARM推出的可以减小中断等待时间的技术。

  一般情况下的中断处理,需要先保存堆栈,再出栈,如果中途有新的更高优先级的中断,则需要重新做上一步骤。如果使用了尾链技术,则第二个中断到来时候,不需要重复保存堆栈,再出栈的过程。

  XMC1000电机应用相关外设集

mcu

  PWM - CCU4

mcu

  多功能16位定时器组

  4个完全相同、独立运行的子单元

  实现功能(部分)

  ― 通用16位定时器

  ― 独立的16位PWM生成

  ― 外部信号捕获(周期,占空比),

  计数功能

  ― 与其他外设配合工作,如

  ―与ADC配合,触发延时电流采样

  ―与POSIF配合,实现转速、位置计算:

  霍尔传感器,增量式编码器

  ―与比较器配合,实现外部事件触发

  PWM生成(PFC)

  PWM - CCU8

mcu

  CCU8 = CCU4++

  集成CCU4所有功能

  8对互补PWM输出(独立死区)

  支持常见的各种电机拓扑PWM生成

  ― 半桥、全桥、三相全桥、三电平控制等

  支持移相PWM:单母线电阻电流采样

  与POSIF配合,实现BLDC控制

  硬件触发ADC采样

  ADC & 比较器

  三路独立、高速比较器单元

  -3mV 输入偏置电压

  -30ns传输延时

  -可触发PWM, A/D操作

  -回差可调:0mV,15mV,20mV

  位置接口单元 - POSIF

mcu

  -增量编码器

mcu

  -霍尔传感器

mcu

  -多通道模式(BLDC 相关)

  应用

  -与CCU4配合进行位置、速度的检测

  -与CCU8配合进行直流无刷电机控制

  位置接口单元 - 旋转变压器接口(DSD)

mcu

  旋转变压器

  -环境不敏感

  -系统成本较高、精度受限

  应用领域

  -伺服控制系统

  -汽车、电力、冶金等

  通讯接口

  mcu

  XMC1000通用的应用领域:

  LED 照明

  适合领域

  -LED 路灯,彩色LED控制,亮度控制等

  应用优势

  -无闪烁调光及色彩控制

  -仅需极少CPU负荷,即可实现调光

  -通信接口支持网络连接

  mcu

  数字电源转换

  传感器、执行器、通用应用

  适合领域

  -低端工业、消费类应用

  -现有8位微控制器的相关应用

  应用优势

  -通用、强大

  -小封装、大Flash, 大RAM

  mcu

  XMC1000应用在电机控制领域(支持简单控制至无传感器FOC):

  支持各种电机应用

  -风机,水泵,家电,电动自行车等

  电机类型

  -直流有刷电机,直流无刷电机,永磁同步电机

  控制算法

  -梯形波控制

  -简单正弦波控制

  -磁场定向控制(FOC)

  XMC1000的两个电机控制应用实例

  电动自行车(Ebike)控制器 - 双模FOC控制

  XMC1300双模FOC方案

  电动自行车发展

mcu

 

  功能列表

mcu

  结构框图

mcu

  航模控制器 - 高速无感BLDC控制

  航模BLDC特点

  -体积小,重量轻

  -转速高(几千K/V或更高)

  业内最高速度(21,0000RPM/1对极)

  -无Hall传感器,减少线材,避免潜在故障点

  -宽电压范围工作(电池供电)

  对MCU的要求

  -最好内置比较器实现过零点检出

  -尽量硬件实现换相检测,减少CPU占用

  -端电压分压后不滤波直接处理,避免RC延时的影响

  XMC1300航模控制器Demo介绍

mcu
mcu
实物图
mcu

  结构框图

mcu

  -内置三个高速比较器,无须输入信号切换

  -POSIF单元处理比较器信号,实现硬件换相

  -CCU4配合POSIF实现滤除开关毛刺和续流尖峰处理、换相延时。
 

  相关资料推荐下载:

  英飞凌XMC家族微控制器完美支持多种电机控制应用

 

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

全部0条评论

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

×
20
完善资料,
赚取积分