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

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2016.10.07

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

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

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

英飞凌针XMC1000

英飞凌针对中国市场推出全新XMC1000工业单片机,在电机控制领域拥有很高的性价比。XMC1000将ARMCortex-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可适用于广泛的工业应用领域。XMC1200系列具有面向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位ARMCortex-M0(32MHz)内核

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

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

-专利的LED色彩控制引擎

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

-IEC60730classB标准兼容

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

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

-温度范围扩展至105°C

单元模块介绍

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

1概述

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

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

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

2特性

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

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

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

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

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

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

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

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

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

3通道结构

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

1)输入的选择和配置

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

4)外部使能是否输出

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

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

1)DimmingEngine输出和LinearWalker输出的乘积

2)LinearWalker的直接输出

XMC1000的随机数生成单元PRNG

1背景

PRNG(PreeudoRandomNumberGenerator)是随机码生成模块,可以产生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协处理器

1XMC1300芯片带有一个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个周期结束,结束时可选择产生中断,并会出现结果置位,这个结果置位需要手动清除。

3Cordic协处理器

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=K*sqrt(X^2+Y^2)/MPS

Y=0

Z=Z+atan(Y/X)

主要应用

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

3)双曲线模式

-旋转模式

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

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

-向量模式

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

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=X/MPS

Y=[Y+X*Z]/MPS

Z=Z+Y/X

4除法器和Cordic的互联

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

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

XMC1000的中断控制器

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

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

支持尾链(tail-chaining)

支持软中断

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

3中断功能

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

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

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

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

注:尾链技术(Tail-Chain)

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

PWM-CCU4

多功能16位定时器组

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

实现功能(部分)

―通用16位定时器

―独立的16位PWM生成

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

计数功能

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

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

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

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

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

PWM生成(PFC)

PWM-CCU8

CCU8=CCU4++

集成CCU4所有功能

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

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

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

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

与POSIF配合,实现BLDC控制

硬件触发ADC采样

ADC&比较器

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

-3mV输入偏置电压

-30ns传输延时

-可触发PWM,A/D操作

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

位置接口单元-POSIF

-增量编码器

-霍尔传感器

应用

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

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

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

旋转变压器

-环境不敏感

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

应用领域

-伺服控制系统

-汽车、电力、冶金等

通讯接口

XMC1000通用的应用领域:

LED照明

适合领域

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

应用优势

-无闪烁调光及色彩控制

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

-通信接口支持网络连接

数字电源转换

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

-低端工业、消费类应用

-通用、强大

-小封装、大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实现滤除开关毛刺和续流尖峰处理、换相延时。

THE END
1.大神原创,这些神器不要错过!!小学数学四则运 这款小软件由吾爱大佬出品,是一款完全免费的小学数学四则运算生成软件。它为绿色版,无需安装,打开即可使用。 从软件界面中我们可以看到,它涵盖了加法、减法、乘法和除法。 在左边的栏目里可以设置运算位数,最多可设置为 5 位。 对于乘法,可以设置是否包含 0 和 1; https://blog.csdn.net/qq_42505663/article/details/144411872
2.高效精准的人民币大写转换工具,数字中文大写在线转换在财务管理、发票填写以及各类商业文件中,准确地将数字金额转换为中文大写是确保金额无误的关键步骤。数字中文大写不仅提升了文件的专业性,还有效防止了数字篡改。 数字中文大写转换工具的优势 高效便捷的在线转换 我们的人民币大写转换工具提供了一个简洁直观的界面,用户只需输入数字金额,系统即可在几秒钟内生成对应的中https://tech.china.com/article/20241215/122024_1616832.html
3.3d彩票中奖号码1000/手机APP下载(最新版)专业证件照3d彩票中奖号码1000制作:集成各种规格的证件照模板,一键生成,确保符合官方要求,同时提供高清打印和电子版保存选项。备案号:n6e58n49n43n50n5907n32n30n32n31n30n31n35n31n34n33n53f7n2dn34n41 修修图 修修图最新版v1.0.1更新说明(2024-05-14) 1、全新UI2、智能图片美颜3、海量滤镜,一秒出片如发现https://www.lawtime.cn/lawlhI7Z281/I7Z281.html
4.怎么制作数字字体数字字体分类发现字体9个字体 简介: 怎么制作数字字体 SF Florencesans SC Cond Bold 语言:英文 下载 Circles_New 语言:英文 下载 SF Florencesans SC Exp 语言:英文 下载 SF Florencesans Rev Bold Italic 语言:英文 下载 Typograff 语言:英文 下载 Nioubes Font 语言:英文 下载 Abril Fatface Regular 语言:英文 下载 SFhttp://www.qiuziti.com/fontlist2?id=956431
5.1000到1800随机数生成器不重复随机数字在线生成器随机数字生成器是一款能够在线随机生成数字的生成器,用户只需要根据需要调整参数,就可以在随机数字在线生成器中生成需要的数字序列; 随机数字生成模拟器还能够模拟整数,小数的随机数字生成,使用随机数字组合生成器,能够快速地生成出指定范围的随机数; 您只需要根据需求,设置数字个数、数字类型(整数/小数)、最大值、最小https://www.gongjugou.com/shenghuo/shuijishu/40-1-1000-1800-0-0.html
6.罗马数字罗马数字是古罗马使用的一种记数系统,在阿拉伯数字传入之前使用较为普遍,目前大家可能在钟表、日历、文章的排序 、建筑物、元素周期表等方面还能见到它,因为它的使用在逐渐减少。罗马数字使用了7种符号,其中每个符号对应的阿拉伯数字为:I - 1、V - 5、X - 10、L - 50、C - 100、D - 500、M - 1000,其它https://www.luomashuzi.com/
7.随机数生成器下载,自定义1100随机数字在线生成器随机数生成器可以在在线随机生成指定范围内的数字,如1-100、1-1000等自定义随机数生成,可以根据您的要求和设置,随机生成您设定的随机数,可以是唯一的或者重复的随机数,生成的随机数可以应用于统计学,密码学,dota2roll点器,数据排列组合,魔兽roll点辅助工具,随机顺序的数字,抽奖,需要随机数字的各种应用场景中。https://www.70wn.com/zt/suijishu/
8.pythonprint%d多个数mob64ca12e0c608的技术博客上述代码将创建一个包含从1到1000的所有数字的列表,并通过循环打印出所有的数字。 2.3 使用生成器打印 如果我们只需要在需要时生成这些数字,而不是提前生成并存储在内存中,我们可以使用生成器来解决这个问题。生成器是一种特殊的函数,可以按需生成一个序列。在Python中,我们可以使用yield关键字来定义生成器函数。 https://blog.51cto.com/u_16213366/7115910
9.免费一键生成原创文章一键生成1000篇原创文章的方法?五、免费伪原创文章生成器有哪些好用? 1.小发猫伪原创_小发猫AI智能写作 https://www.xiaofamao.com/ 小发猫 小发猫中文语义开放平台提供使用简单、功能强大、性能可靠的中文自然语言分析云服务。 小发猫团队致力于打造最出色的中文语义分析技术,通过自主研发的中文分词、句法分析、语义联想和实体识别技术,结合海量行业语https://tool.a5.cn/article/show/73601.html
10.怎么随机生产电话号码的软件零代码企业数字化知识站1. 导入必要的库 Python的随机数生成器位于random库中,可以通过import random进行导入。此外,正则表达式库re可以用于验证生成的电话号码格式。 2. 定义电话号码格式 电话号码的格式可以根据需要进行定义,例如美国的电话号码通常为(XXX) XXX-XXXX格式,其中X代表数字。我们可以定义一个模板来表示这种格式。 https://www.jiandaoyun.com/blog/article/413400/
11.概率相关问题。看到没有,出现01和10的概率相等。那么我们就可以用这个随机数生成器每次产生2位,直到产生的是01或者10,当为01时,输出0,当为10时输出1。 问题扩展:还是给这么一个随机数产生器,要求等概率地产生 。 解法1:每次产生n位,当为仅第一位是1,其他是0时输出1,当仅有第二位是1,其他位是0是输出2,……当仅https://www.iteye.com/blog/vergilwang-2011191
12.低价下单网站我是嘉义号的签约作者[士司卿],本篇文章《低价下单网站 - qq说说赞自助下单平台10个,b站粉丝1元1000粉》主要讲述了:在这个数字化的时代,社交媒体的影响力不容小觑,无论是个人还是企业,都在寻求增加粉丝和点赞,以提升自己的网络影响力,我们将探讨一些低价下单网站,帮助大家以更低的成本获得更多的社交文章https://m.jynks.cn/douyin/202412-75466.html
13.希腊字母表示数字时,撇号加在哪里表示乘1000?里亚人用希腊字母根据下列材料回答下列各 题。 上写字课的时候,黑板上的拼音,老师是用彩色粉笔写的。学生的作业交上来了,有一个学生的作业本上只有汉字而没有拼音。老师问: “你怎么不写拼音?”学生说: “老师,你也没有写拼音。” 在教育教学中,教师一般用红色笔批改作业,这能够体现知觉的( )。https://www.shuashuati.com/ti/95c8a80f05ba420ea6c7463340bc583a.html
14.元宇宙周刊丨腾讯加速布局元宇宙;全球游戏巨头相继加入元宇宙竞赛9月3日,去中心化内容发布平台Mirror推出元宇宙身份生成器Heroes,该生成器类似 Loot,但是只会生成与身份描述相关的前缀或后缀。之前参与了 WRITE Race 的投票人可复制地址、证明等内容在Etherscan上使用Heroes合约随机生成唯一的身份 NFT。 【云象区块链推出全生命周期NFT行业技术解决方案】 https://www.niaogebiji.com/article-89079-1.html
15.Python程序设计题库——第三章273. 对于生成器对象x = (3 for i in range(5)),连续两次执行list(x)的结果是一样的。 答案:错 274. 对于大量列表的连接,extend()方法比运算符+具有更高的效率。 答案:对 275. 表达式 {1, 3, 2} > {1, 2, 3} 的值为True。 答案:错 276. 列表对象的extend()方法属于原地操作,调用前后https://m.nowcoder.com/discuss/353149722133209088
16.月之暗面融资3亿美元,李开复“零一万物”再获数亿支持,OpenAI牛透社 8 月 5 日消息,近日,Hedra 获得 1000 万美元种子轮融资。 Hedra 的旗舰产品 Character-1 是一款视频基础模型,速度和控制性能。该工具能够生成多种形式的视频内容,自推出以来,已有超过 35 万用户使用该平台生成了 160 多个视频。公司联合创始人兼首席执行官 Michael Lingelbach 表示,Hedra 不仅仅是一个模http://www.myzaker.com/article/66b965a58e9f096d734b9bee
17.Flink(九)时间语义与水位线(WaterSensor sensor, long recordTimestamp) {System.out.println("数据=" + sensor + ",recordTs=" + recordTimestamp);return sensor.getTs() * 1000; // 返回的时间戳单位是 ms}}));KeyedStream<WaterSensor, String> sensorKs = sensorDS.keyBy(WaterSensor::getId);// todo 1. 指定窗口分配器:https://developer.aliyun.com/article/1390979
18.[scikitlearn中文文档]一篇文章快速入门scikit(12)max_iter: 最大迭代次数,default = 1000, if max_iter = -1, no limited; (13)decision_function_shape :‘ovo’ 一对一, ‘ovr’ 多对多 or None 无, default=None (14)random_state :用于概率估计的数据重排时的伪随机数生成器的种子。 2、保存训练过的模型 from sklearn.externals import jobhttps://ptorch.com/news/51.html
19.学术向丨Schnorr签名方案和BLS签名方案的全面对比1、椭圆曲线数字签名算法(ECDSA) 首先,我们需要明白,比特币目前使用的是ECDSA椭圆曲线数字签名算法,要对消息m进行签名,我们需对其进行哈希操作,并将此哈希视为一个数字:z = hash(m)。我们还需要一个随机或随机查找的数字k。我们不喜欢信任随机数生成器(存在太多的故障,很多漏洞与糟糕的RGN有关),因此,我们通常会https://www.528btc.com/blocknews/37685.html
20.python学习——内置函数数据结构标准库的技巧(推荐)python2. 使用生成器节省内存前面提到,列表推导是方便的工具,但有时会导致不必要的内存使用。想象一下,你被要求找到前1000个完美正方形的总和,从1开始。你知道列表推导,所以你快速编写一个有效的解决方案:1 sum([i * i for i in range(1, 1001)]) https://www.jb51.net/article/159939.htm
21.阶乘计算器阶乘表生成器1.0绿色版阶乘表生成器是一款阶乘计算器,可以用来生成阶乘表的工具,阶乘就是 n!=n*(n-1)*(n-2)*(n-3)3*2*1 上过高中到应该知道的。计算之后可以将计算的阶乘结果进行导出保存,打印或是分享。 计算区间 1、从0、1、10、50、100、200、500、1000、10000、10000002、https://www.qqtn.com/down/53648.html
22.核电安全级控制系统——CommonQ简析系统的应用开发和修改是通过ACC组态工具来完成的,从最初的组态,到内部测试,到现场调试以及工作系统的维护,都是由这个工具来完成。ACC软件包括应用程序生成器和功能图生成器。程序生成器用来进行项目管理和软件集成,功能图生成器,用来进行程序开发。 2.Common Q在AP1000上的应用 https://maimai.cn/article/detail?fid=1531784070&efid=4R8F5C1mJzquovvpYTad6g