摘要:在介绍几种典型电机微控制器8XC196MC、TMS320C240和ADMC311结构的基础上,着重对这些芯片如何实现PWM控制等交流电机控制系统所必需的性能进行了分析比较,以便为交流感应电机(ACIM)、步进电机(SM)等电机控制系统的数字设计提供参考。
关键词:DSP 微控制器 电机控制 PWM
电机控制是微控制器的一个重要应用领域。近几十年来,随着微电子工艺水平的提高,电机微控制水平有了飞速的发展。世界上著名的集成电路芯片制造商纷纷推出各自的产品,使得电机微控制器种类不断增多,功能日益增强。常见的有Intel公司的8CX196MC/MD/MH、TI公司的TMS320C24x系列、Motorola公司的M68HC08/16、ADI公司的ADMCxxx系列微控制器等等。
对于现代高性能的电机控制系统而言,除了要有一个功能强大的计算内核外,还需要一些附加的外部电路,如高分辨率的A/D变换器、多路输入输出I/O口等,尤其需要一个用于产生驱动逆变器功率开关元件的PWM信号的波形发生单元和定时器单元,这也是电机微控制器共同的重要特片。
1 基本结构
1.1 8XC196MC的基本结构
8XC196MC是Intel公司专门为电机高速控制所设计的一种16位微控制器,基本结构如图1所示。它有1个C196内核(寄存器-寄存器结构),当时钟频率为16MHz时,进行1次16bit×16bit运算需1.75μs;进行1次32bit/16bit运算需3μs;另外包括488字节的寄存器RAM、64KB程序空间、中断、7个I/O口共40条I/O口线,PTS工作方式支持串行输入、输出(SIO)功能;片内外设有1个13通道的A/D转换器,可工作在8位或10位模式,采样保持时间、转换时间、阀植检测方式和零偏补偿校正均可编程;2个16位定时器;1个事件处理器阵列(EPA)有4路捕捉/比较模块和独立的4路比较模块,它和定时器共同完成对事件监测与控制,具有125ns的事件处理分辨能力;1个三相波形发生器(Waveform Generator简称WG)和1个脉宽调制单元(PWM)。在运行中可动态选择8位或者16位的总线宽芳,并能通过HOLD/HLDA协议方便地实现多处理器通信。
8XC196MD是8XC196MC的改进型,引脚兼容且基本结构相同,只是在其基础上增加了如下功能;
①1路频率发生器产生的频率可编程的方波,适用于红外遥控通信;
②在EPA中,添加了2路捕捉/比较模块和独立的2路比较模块;
③增加8个I/O引脚,2个数字输入引脚及1个A/D输入引脚。
1.2 TMS320C240 DSP的基本结构
1.3 ADMC331的结构
ADMC3xx系列是美国ADI(模拟器件)公司生产的单片DSP电机控制器。它们均以1个ADSP-2171DSP为基础内核,配以电机控制所需要的外设单元组成,主要包括ADMC300、ADMC328、ADMC330、ADMC331和ADMC401。其中,ADMC
328属于简单型控制器,仅有28个引脚,主要应用在家用电器或一般较简单的业控制系统中;ADMC300/330/331控制器引脚均为80个,性能居中,可较好地满足一般调速系统的控制要求;ADMC401为高档型DSP控制器,引脚多达144个,功能丰富,可应用于高精度且复杂的调速控制系统中。这里以ADMC331为例简要介绍一下其结构特点。
2 PWM信号的形成
对于任何种类的三相电机控制系统,均要求产生3对完善的PWM信号以驱动逆变器上下桥臂功率开关元件,并要求每对PWM信号有适当的导通延时,以防止下桥臂功率开关同时导通而毁坏系统。这也正是电机微控制器区别于其它种类微控制器的重要特征。
片内波形发生器(WG)是8XC196MC的特色设计之一。这一片内外设简化了产生PWM波形的控制软件和外部硬件,通过编程可产生独立的、具有相同频率和工作方式的3对PWM波形,并由P6口直接输出6路PWM信号给逆变器,且三相互补不重叠。在使用16MHz的晶振时,输出信号频率可达8MHz。在采用边沿触发方式时,分辨能力为125ns;中心触发时,分辨能力为250ns。WG具有多种可编程频率、占空比和消隐时间,每路波形输出的驱动能力很强,输出极性可编程,并能够制为高或低电平。为防止同一桥臀上的2个功率开关器件发生直通现象,还可编程来设置互锁时间。在使用16MHz的晶振时,互锁最短时间为0.125μs,最长为125μs。此外,还具有保护功能,当发生意外事件时,响应外部事件而立即停止输出。载波频率计算见本刊网站补充版。http://www.djp.com.cn
2.2 TMS320C240的PWM信号的形成
TMS320C240的事件管理器(EV)可产生PWM信号,直接控制电机功率驱动器,如图4所示。
由图4可见,3个全比较单元中任一个均可与EV模块中的GP定时器死区单元和输出逻辑一起用于产生一对有可编程死区和输出极性的PWM信号。对应于EV模块中的3个全比较单元共有6个这样的PWM输出。
图5给出了当GP定时器工作在单个或连续加/减计数模式时产生的对称PWM波形。当GP定时器工作在这两种模式中的任一种时,波形发生器的输出状态变化如下:计数器从0开始计数,到第1个比较匹配发生时刻前输出状态保持不变,第1个比较匹配时输出状态切换。随后保持不变到第2个比较匹配发生时刻,在第2个比较匹配时输出状态切换,周期结束前输出状态保持不变。如果没有第2个比较匹配发生而且下一个周期的新比较值不为0,则在周期结束时输出复位为0;若比较值为0,则在周期开始输出为1,并在第2个比较匹配发生之前输出状态保持不变。如果周期的其余时间内比较值不为0,在从0到1的第1个转换时刻之后,输出一直保持为1到周期结束。当发生以上这种情况时,如果下一个周期的比较值仍旧为0,输出仍旧为1,实现了PWM脉冲的占空比连续无突变地在0~100%之间变化。
与传统的单片机查表方法不同,ADMC331的PWM信号的产生是由其内部的灵活可编程的三相PWM控制器来完成的。通过对PWM单元进行合适的编程并利用PWM单元中的专用函数,可使其产生满足不的电机调速用逆变器开关触发模式的数字PWM波形。图6为ADMC331三相PWM控制器的功能框图。
输出PWM信号的开关频率、死区时间和最小脉冲宽度均可分别设置,并且允许用高频斩波信号对PWM输出波形进行调制,以便利用变压器进行隔离和驱动。16位精度的三相PWM发生器能产生高达38.5ns的边缘分辨率。
ADMC331的PWM单元建立在一个独立的三相定时单元基础上,由3个确定的周期寄存器控制,分别控制3对PWM输出。根据应用的具体要求及所需PWM方案来编制DSP程序6。路PWM信号的极性可根据实际应用中门极驱动电路的结构和逻辑由PWMPOL引脚进行设置,每路PWM信号的输出均可通过独立的使能寄存器PWMSEG来决定。PWM控制信号计算见本刊网站补充版。
3 性能比较
目前,越来越多的集成电路芯片制造商纷纷致力于电机微控制器的研制与生产,因而扩大了对对类芯片的选择空间。在此仅将上文所列举的三种具有代表性的芯片性能加以比较,如表1所列。
8XC196MC单片机片内外设丰富。通过对WG的特殊功能寄存器(WG_RELOAD、WG_COM_Px、WG_CON、WG_OUTPUT和WG_PROTECT)进行编程,并利用WG中断就可产生各种PWM信号,驱动各种电机和其它由电力电子器件构成的设备,它把必需的外接芯片和元件降低最低限度。因此,价格与DSP器件相比便宜得多。在一些控制要求不太高的场合,它是理想的选择。
表1 典型电机微控制器性能对照表
8XC196MC(16MHz) | TMS320C240 | ADMC331 | |
最高频率/MHz | 16 | 1 | 13 |
指令周期/os | 约250~3 000 | 50 | 38.5 |
乘加指令MAC | 30个周期、1 900ns | 单周期5、0ns | 单周期、38.5ns |
体系结构 | 冯诺依曼 | 多总线哈佛(Harvard) | 多总线哈佛(Harvard) |
内核 | C196(寄存器-寄存器结构) | 20MIPS 16 位定点DSP内核 C240LP |
26MIPS 16 位定点DSP内核 ADSP2171 |
算术逻辑单元(ALU)/位 | 17(最高位符号位) | 32 | 16 |
程序/数据空间 | 64KB 16K 字节×8位OTPROM/ROM 488字节RAM |
544字×16位数据/程序RAM 16K字×16位EPROM |
2K×24位程序ROM 2K×24位程序RAM 1K×16位数据RAM |
PWM控制 | 波形发生顺(WG)和2个通用PWM模块 | 事件管理器模块(EM) | 三相16位PWM控制器和2个8位辅助PWM输出 |
PWM输出/个 | 14 | 12 | 8 |
A/D转换器 | 1个13路8/10位、11μs | 2个8路10位、6.6μs | 7路12位、315μs |
16位定时器/个 | 2 | 3 | 1 |
输入捕获 | 4 | 4 | 无 |
I/O口 | 7个 | 4个8位 | 24位 |
看门狗定时器 | 有 | 有 | 有 |
编码器接口 | 有 | 有(2个) | 无 |
由于ADMC331比TMS320C240出现得晚,所以ADMC331采用了一些新的技术,使其性能更好。如ADMC331的DSP内核为并行的体系结构,加快了程序执行速度。可在1个处理周期内完成乘加运算;它的PWM发生单元的灵活性和可编程性,使之能够产生多种PWM信号;其内部程序存储器固化了许多电机系统矢量控制所必需的子程序,方便了控制系统的程序设计,大大减少了控制系统的开发时间。TMS320C240拥有4路捕获单元,捕获单元被用于高速I/O的自动管理,它监视输入引脚上信号的变化,记录输入事件发生时的计数器值,即记录下所发生事件的时刻。该部件的工作由内部定时器同步,不用CPU干预;而ADMC331没有设计这种捕获单元,这也是造成它的A/D转换速度较慢的重要原因。