三大电机控制方案之MCU篇:英飞凌 XMC1000
发布时间:2016-5-17 10:21
发布者:designapp
MCU是目前市场主流的电机控制方案,适用于高、中、低端电机控制。通过内部集成的电机控制模块,可简化客户对于电机控制的开发;而相对于DSP较强的控制功能,能更好地实现电机的伺服控制和保护功能。 关于电机控制方案,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家族成员特性表 功能框图 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 通道结构 每个通道都是相同的结构,其中左侧是通道的输入(包括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)框图 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位除法 操作:除法器启动,启动方式有两种,通过设定DIVCON.STMODE来选取, a. 当DIVCON.STMODE=0,写入DVS即启动除法 b. 当DIVCON.STMODE=1,写入DIVCON.ST位即启动除法 除法器忙,当除法器工作时,DIVST.BSY = 1,这时不要再试图启动其他的除法,除法器需要35个周期结束,结束时可选择产生中断,并会出现结果置位,这个结果置位需要手动清除。 3 Cordic协处理器 Cordic协处理器可进行三角函数、双曲线函数和一次线性函数,其中函数模式通过CON.MODE来选择。 计算模式包括向量模式和旋转模式,通过CON.ROTVEC来选择,特性: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)等 双曲线模式 - 旋转模式 输入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 中断功能 由以上框图可以看出,对应于每个中断,都可以由外部或软件触发产生,不过每个中断又需要单独使能才能最终进入中断处理。同时中断也可以被软件清除,或者当进入中断处理后,硬件会自动清除。另外要注意的是,当硬件中断和软件清除同时到来,软件清除会被系统忽略,即硬件中断置位优先级高。从中断触发到进入中断处理程序,一般要花费21个系统周期。注:尾链技术(Tail-Chain)这个技术是ARM推出的可以减小中断等待时间的技术。 一般情况下的中断处理,需要先保存堆栈,再出栈,如果中途有新的更高优先级的中断,则需要重新做上一步骤。如果使用了尾链技术,则第二个中断到来时候,不需要重复保存堆栈,再出栈的过程。 XMC1000电机应用相关外设集 PWM - CCU4,多功能16位定时器组,4个完全相同、独立运行的子单元 实现功能(部分):通用16位定时器,独立的16位PWM生成,外部信号捕获(周期,占空比), 计数功能:与其他外设配合工作,与ADC配合,触发延时电流采样,与POSIF配合,实现转速、位置计算:霍尔传感器,增量式编码器,与比较器配合,实现外部事件触发 PWM - CCU8 PWM生成(PFC),CCU8 = CCU4++,集成CCU4所有功能,8对互补PWM输出(独立死区),支持常见的各种电机拓扑PWM生成,半桥、全桥、三相全桥、三电平控制等,支持移相PWM:单母线电阻电流采样,与POSIF配合,实现BLDC控制,硬件触发ADC采样,ADC & 比较器,三路独立、高速比较器单元,3mV 输入偏置电压,30ns传输延时,可触发PWM, A/D操作,回差可调:0mV,15mV,20mV,位置接口单元 - POSIF,增量编码器,霍尔传感器,多通道模式(BLDC 相关)。 应用:与CCU4配合进行位置、速度的检测,与CCU8配合进行直流无刷电机控制,位置接口单元 - 旋转变压器接口(DSD)。 旋转变压器:环境不敏感,系统成本较高、精度受限。 应用领域:伺服控制系统,汽车、电力、冶金等。 通讯接口 XMC1000通用的应用领域 LED 照明;适合领域:LED 路灯,彩色LED控制,亮度控制等;应用优势:无闪烁调光及色彩控制,仅需极少CPU负荷,即可实现调光,通信接口支持网络连接。 数字电源转换:传感器、执行器、通用应用;适合领域:低端工业、消费类应用,现有8位微控制器的相关应用;应用优势:通用、强大,小封装、大Flash, 大RAM XMC1000应用在电机控制领域(支持简单控制至无传感器FOC): 支持各种电机应用:风机,水泵,家电,电动自行车等 电机类型:直流有刷电机,直流无刷电机,永磁同步电机 控制算法:梯形波控制,简单正弦波控制,磁场定向控制(FOC) XMC1000的两个电机控制应用实例 电动自行车(Ebike)控制器 - 双模FOC控制 XMC1300双模FOC方案 电动自行车发展 功能列表 结构框图 航模控制器 - 高速无感BLDC控制 航模BLDC特点:体积小,重量轻,转速高(几千K/V或更高),业内最高速度(21,0000RPM/1对极),无Hall传感器,减少线材,避免潜在故障点,宽电压范围工作(电池供电)。 对MCU的要求:最好内置比较器实现过零点检出,尽量硬件实现换相检测,减少CPU占用,端电压分压后不滤波直接处理,避免RC延时的影响。 XMC1300航模控制器Demo介绍 实物图 结构框图 -内置三个高速比较器,无须输入信号切换 -POSIF单元处理比较器信号,实现硬件换相 -CCU4配合POSIF实现滤除开关毛刺和续流尖峰处理、换相延时。 |
网友评论