前 言
信息技术的发展日新月异,数字化的浪潮正在迅速地席卷全球。数字信号处理作为数字化最重要的技术之一,在其应用的广度和深度方面,正以前所未有的速度向前发展。而数字信号处理器性能的不断提高,开发工具的日臻完善,价格迅速下降,使其在语音合成与识别、图像处理、雷达、通信、声呐、多媒体、高速控制、医疗设备、仪器仪表、家用电器等众多领域得到了极为广泛的应用。在DSP技术领域中处于领导地位的为美国的(Their Party)TI公司,它们的宗旨是没有最好,但求更好。将此技术不断发展创新,目前正致力于研究性能更高,操作更方便,价格更合理的物美价廉的产品。欧洲和东亚一些国家,如日本,韩国等,它们也不甘示弱,也都在此项目的研究领域中逐渐发展壮大,它们的产品也是在不断的更新进步,现阶段从事的研究也是在技术先进的基础上设计更快捷,更人性话的产品。可以这么说,国外各强国技术的先进定会带动社会的发展。从市场应用和业务需求的角度看,预计世界在未来十年中,由于DSP技术的不断改进,最大和最深刻的变化将是从语音业务向数据业务的战略性转变,这种转变将深刻影响通信技术的走向。
我国DSP 技术领域还不够先进,97年才和TI公司合作,从事于DSP技术的研究。现阶段国内DSP工具开发已经起步,但也只有闻亭和合众达两家,而专门从事DSP硬件平台和应用软件开发的单位和公司还没有,在强烈的市场竞争环境下,为适应市场制度下产品的需求,目前我国已经和正在进行研究开发的项目主要分成以下三类:1. 语音编码及其相关产品。 2. Hi-Fi音频压缩及相关产品。3. 图象压缩及相关产品。我们对DSP的应用前景充满希望和信心,现在有更多的高校、科研机构、公司陆续开展DSP的应用研究,藉此开发最新的数字化电子产品,为振兴我国电子工业作出贡献。
目前,随着计算机和信息产业的飞速发展,数字信号处理学科不但在理论上而且在方法上都获得了迅速发展。特别是数字信号处理器(Digital Signal Processor,DSP)的诞生与快速发展,使各种数字信号处理算法得以实时实现,为数字信号处理的研究和应用打开了新局面,提供了底成本的实际工作环境,造就了一大批新型电子产品,推动了新的理论和应用领域的发展。由于DSP具有丰富的硬件资源、改进的并行结构、高速数据处理能力和强大的指令系统,已经成为世界半导体产业中紧随微处理器与微控制器之后又一个热点,在通信、航天、航空、雷达、工业控制、网络及家用电器等各个领域得到了广泛的应用。所以DSP控制器及其应用是目前较为热门的研究领域,而我们所说的DSP一般多数属于单DSP系统,多DSP技术的研究完善了单DSP所不能完成的功能,如电机控制,图象监测等系统中的矢量控制和通信,为了更深层次学习研究DSP,势必要了解掌握双DSP最小系统的设计方法。
本设计针对带有旋转变压器的高磁场永磁同步电动机进行矢量控制。系统使用双DSP主从结构,主DSP实现电动机矢量控制算法,从DSP处理旋转变压器信号。从DSP对旋转变压器信号的处理保证了主DSP获得电动机转子位置及转速的实实时性与精确性。以旋转变压器为转角基础的矢量控制系统的DSP实现,不仅满足了PMSM 伺服系统精确定位的要求,而且获得良好的动态响应。本文提出的方案具有系统易于实现与低成本的特点。
1 TMS320F240和TMS320VC33的特点
1.1TMS320F240的特点
TMS320F240是TI公司于1997年推出的低价格高性能的16位定点DSP,是专为数字电机控制和其它控制应用系统而设计的DSP。F240不但具有高性能C2000系列CPU内核,配置有高速数字信号处理的结构,而且还具有单片电机控制的外设功能。它将数字信号处理的高速运算功能与面向电机的强大控制能力结合一起,从而成为传统的多微处理器MCU和多片设计系统的理想替代品。
TMS320F240主要由CPU、存储器和片上外设三部分组成,其结构框如下:
图1 TMS320F240结构图
1.1.1TMS320F240的事件管理器
TMS320F240的执行速度很快,采用改进型哈佛结构,具有分离的程序总线和数据总线,使用四级流水线作业,并且允许数据在程序存储空间和数据存储空间之间传输,从而提高了运行速度和编程的灵活性。指令执行速度为20MIPS,几乎所有的指令都可以在50ns的单周期内执行完毕。存储器可寻址空间224K字(64K字程序空间,64K字数据空间,64K字I/O空间,32K字全局空间);片内有16K字的Flash EEPROM。双10位A/D转换器,共16位输入通道,转换时间为6μs。事件管理器中有3个定时/计数器,4个捕获单元等。
事件管理器(EV)是该系统DSP芯片特有的专门用于电机控制用的模块,主要由下面几部分构成:
①通用定时器 TMS320F240一共有3个16bit的通用计数器(T1、T2、T3),除了用于产生周期信号外,还作为正交脉冲编码单元(QEP)、捕获单元、PWM模块的时基信号。
②比较单元和PWM控制 TMS320F240提供了多达9路比较/PWM输出端。其中的6路PWM输出由一个空间矢量模块控制,并具有死区逻辑,不需程序过多的干预就能够方便地产生用于三相全桥逆变器6个功率开关元件的PWM触发信号,从而实现对三相交流感应电机或无刷直流电机的控制。
③捕获单元(CAP) TMS320F240的捕获单元可用于及时地捕捉无刷直流的电动机磁极位置信号的上升/下降沿,并通过查询相关计数器的值来确定电机的转速。
④正交编码器(QEP) TMS320F240的正交编码器可以对与电机同轴的光电编码器、磁编码器所产生的正交编码信号进行计数,继而判断电机的转速、位置、转动方向。
此外,事件管理器还包括串行通信接口(SCI)、串行外设接口(SPI)。
其事件管理器结构框图如下:
图2 TMS320F240 事件管理器EV构成框图
TMS320F240内部有16通道两路转换精度为10位的AD变换器,转换时间仅为6.6μs。在电机调速系统构成电流闭环时,反馈电流信号可以经AD输入CPU处理。除此之外,TMS320F240还提供28个I/O口用于控制系统所需的各种开关量。
1.1.2 TMS320F240引脚及功能
TMS320F240是132引脚PQ封装的芯片,其各引脚功能可分为10部分:
(1) 外部接口数据/地址信号;
(2) 外部接口控制信号;
(3) ADC输入;
(4) I/O位及引脚功能分配;
(5) 通信系列接口(SCI)及I/O位引脚;
(6) 比较信号;
(7) 中断和混杂信号;
(8) 时钟信号;
(9) 电源信号;
(10)测试信号。
其部分引脚名称及功能:
A0-A15:并行地址总线。对外部数存、程序或I/O器件进行寻址。当EMUI/引脚为底电平时进入高阻状态。在掉电模式时保持当前状态。
D0-D15:并行数据总线。TMS320与外部数存、程序或I/O器件之间进行数据传输。当没有输出或芯片复位时处于高阻状态;当EMUI/引脚为底电平时或掉电模式时亦进入高阻状态。
、
、
:数据、程序I/O空间的选择信号。当访问专门的外部空间时变为低电平,否则为高。当芯片复位、处于掉电模式或EMUI/
引脚为底电平时进入高阻状态。
READY:数据准备输入。READY为高表示外部器件已准备好与DSP进行数据传输;如果外部器件未准备好则READY为低,此时DSP等待一个周期,然后再次检查READY。
R/:读/写信号。在访问外部器件时,R/W状态表示信息的传输方向。它一般处于读模式(高电平),除非有写操作时就变为低电平。当芯片复位、处于掉电模式或EMUI/
引脚为底电平时进入高阻状态。
:写使能信号。当
的下降沿到来时,器件将驱动外部数据总线D0-D15;当
的上升沿到来时,外部器件将锁存数据。
对于所有外部程序、数据I/O接口的写操作都有效。当
引脚为低或复位时WE进入高阻状态。
:存取选通信号。
总是高电平除非被授权变低去指明一个外部总线周期。当芯片复位、处于掉电模式或EMUI/
引脚为底电平时进入高阻状态。
W/:写/读信号。W/
由R/
信号转换而来。能够与外部设备的输出使能端直接连接。当芯片复位或EMUI/
引脚为底电平时进入高阻状态。
:总线请求信号。在访问全局数据存储器空间时
被确定为低有效。当芯片复位、处于掉电模式或EMUI/
引脚为底电平时进入高阻状态。
Vccp/WDDIS:闪速编程电压提供端。如果Vccp=5V,对片内的Flasm Memory可以进行擦除/写入。如果Vccp=0V。则不允许对片内的Flasm Memory进行擦除/写入。此引脚也可作为一个硬件看门狗,当Vccp/WDDIS=5V时,看门狗定时器被使能,WDCR的位6被置1。
1.1.3总线结构、CPU、存储器及I/O的特点
所有TMS320C2000系列芯片的总线结构均相同,由6套16位的内部总线组成,它们是两套相互独立的程序操作总线和数据操作总线。这种总线结构有以下特点:
(1)具有分离的程序总线和数据总线,允许CPU同时访问程序指令和数据存储器;
(2)具有独立的数据读/写地址总线和数据读/写总线,使CPU对数据存储器的读、写访问可在同一机器周期内完成;
(3)分离的程序和数据空间及独立的总线结构,支持CPU在单机器时钟内并行执行算术、逻辑和位处理操作等;
(4)采用改进的哈佛型总线结构,使运行速度得以大幅度提高,处理能力得以优化。
所有C2000系列芯片CPU结构完全相同。CPU主要包括下列一些器件:
一个32位的中央算术逻辑单元(CALL);
一个32位的累加器(ACC);
CALU的输入数据定标移位器(输入移位器)及输出数据定标移位器(输出移位器);
一个16位*16位的乘法器;
一个乘积定标移位器;
数据地址发生逻辑,其中包括8个辅助寄存器和一个辅助寄存器算术单元(ARAU);
程序地址发生逻辑;
两个16位的状态寄存器ST0、ST1。
C2000DSP芯片具有16位的地址线,可以访问4个独立的地址空间,总计192K字的地址范围。它们是:
程序存储器(64K字) 存放指令机器码、数据表格及在执行程序时要使用的数据;
局部数据存储器(64K字) 保存指令使用的数据;
全局数据存储器(32K字) 用作附加的数据空间,存放与其它处理器共享的数据;
输入/输出I/O空间(64K字) 用于和外设接口,并包含片内外围设备的寄存器。
C2000系列芯片内含大量的片内存储器,这些片内存储器集成度高,运行速度快,功耗和成本较低且使用方便,有助于提高系统的整体性能,较片外存储器操作有更多的优点。另外,C2000系列也可以方便的进行外部存储器和I/O器件的扩展。采用外部存储器工作的优点是能访问更大的地址空间,从而扩展了芯片的数据存储能力和系统设计能力。
1.2 TMS320VC33的特点
TMS320C3X系列DSP芯片是一种性能价格比很好的浮点处理芯片,具有很高的数据处理速度。片内部分拥有34K*32位RAM,在程序运行期间,所有的数据位于其中。从而能够充分发挥哈佛总线结构所带来的数据吞吐量大、运算快的优点。在算法实现上,由于采用了浮点计算格式,将使计算精度得到提高;采用编程语言C会使程序编写效率大大改善,这对于需要用复杂算法实现的控制策略来说是很重要的。
1.2.1TMS320VC33的硬件特点
TMS320VC33 DSP芯片是TI公司推出TMS320C3X系列的浮点数字信号处理器,它是在原来的TMS320C31浮点DSP的基础上开发一个价格更低的版本,该产品以高速、低功耗、低成本、易于开发为显著特点。由于采用了内部1.8V,外部3.3V供电,因而功耗比原有型号降低了大约一个数量级,带有32b的高性能CPU,具有高速的浮点运算能力,能支持高达75MIPS的运行速率,并且带有34K、32b(1.1Mb)的片内双静态RAM。片内存储器可映射外设,其中包括一个串行口、2个32b定时和一个DMA;具有程序引导功能,程序可以由低速的EPROM装人到系统的高速RAM全速运行。DSP主控板以DSPVC33为核心,扩展有存储器模块、通讯接口模块、看门狗电路等。DSP的高速运算能力以及速率使得对电流信号的一周波108点高密度采样、对角位移行程传感器输出的高频脉冲采样得以实现。以下为此芯片的功能结构图:
图3 TMS320VC33 功能结构图
TMS320VC33采用144脚LQFP四边形封装。表1所列是其引脚号与引脚名称的对应关系表。图3是其功能结构图。它的主要性能如下:
●具有高速的浮点运算能力,其中TMS320VC33-150型在13ns单周期指令执行时间时为150MFLOPS和75MIPS;而TMS320VC33-120型在17ns单周期指令执行时间时为120MFLOPS;60MIPS;
●带有34k×32位(1.1M位)的片内双静态RAM,分为2个16k×32位块和2个1k×32位块;
●内含5倍频的锁相环(PLL)时钟发生器;
●低功耗,在150MFLOPS下运行时,功耗低于200mW。
●带有32位的高性能CPU;
●可进行16/32位整数和32/40位的浮点操作;
●具有四个内部译码页选,可大大简化与I/O及存储器的接口;
●带有启动程序装载功能;
●外部中断可选择边沿触发方式和电平触发方式;
●具有32位的指令字,24位的地址线;
●内含8个扩展精度寄存器;
●片内存储器可映射外设,其中包括一个串行口、2个32位定时器和一个DMA;
●采用TI公司的0.8μm Timeline TM制造技术;
●采用144管脚LQFP封装;
●带有2个地址发生器、8个辅助寄存器和2个辅助寄存器算术单元(ARAUs);
●具有两个低功耗模式;
●支持2个或3个操作数指令;
●在一个单指令周期并行进行算术/逻辑单元(ALU)和乘法器运算;
●具有块重复功能;
●可零开销循环和单周期分支;
●具有条件调用和条件返回指令;
●总线控制寄存器配置选通控制等待状态数;
●采用1.8V内核,3.3V I/O供电;
●具有符合IEEE 1149标准的片内扫描仿真接口(JTAG)。
1.2.2 TMS320VC33的指令系统
除了个别在C32才有的外设和在C30才有的第二个外部端口以及第二串行口外,所有的C3XDSP代码都是兼容的,因此它们都是基于同样技术的浮点CPU。TMS320VC33的指令集就是以前的C3X指令集。共分为6个功能组:1.装入与存储指令;2.两操作数算术/逻辑运算指令;3.三操作数算术/逻辑运算指令;4.程序控制令;5.互锁操作指令;6.并行操作指令等。使用C3X指令集编程需注意以下几个问题:
(1)延时转移的使用
延时转移在单周期内执行,而通常的转移需要4个周期,不管转移发生与否,后面的三条指令总是要执行的。如果后面的指令少于三条,则使用延时转移时要再加上无操作指令(NOP),这样可以节省机器时间。
(2)单指令/指令块循环结构的使用
使用这种方式可以做到零开锁循环,不过要注意RPTS是不可中断的。
(3)并行指令的使用
在执行乘法时,可以并行执行加(减);在做乘法或算术/逻辑运算时,可以并行行执行存储。以此来提高单周期内执行的操作个数。为了最大限度地提高效率,要注意并行指令中的寻址模式,并适当地安排数据。
(4)最大限度地使用寄存器
寄存器是访问存储器的有效途径。加强寄存器的使用,有助于使用并行指令,也有助于防止在各种寻址模式中使用寄存器时可能产生的流水冲突。
(5)高速缓存的使用
在与此同时片外慢速存储器连接时,高速缓存的使用显得特别重要。对于使用者来说,cache是透明的,只需将其使能即可。
(6)尽量使用片内存储器
片内存储器的访问速度要快得多。在单周期内存储器可以调出2个操作数,如果首先使用与CPU并行的DMA来将数据传入片内存储器,以可以最大限度地发挥其功能。
(7)避免流水作业时的冲突
在时间要求很苛刻的情况下,要确保不会因为冲突而丢失任何机器周期。为了验证冲突的存在,可在开发工具上(软、硬仿真器)对该程序进行跟踪,以及时确认流水作业的冲突,再经认真分析冲突的原因,进而解决有关问题。
2 双DSP最小系统设计
随着科学技术突飞猛进的增长,单DSP所产生的功能很难满足日益发展的生产和科研需求,多DSP的发展弥补了这些缺陷,完成了单DSP不能实现的运算、控制等功能。下面介绍的就是以永磁同步电机为被控对象,基于双DSP最小系统实现其矢量控制的例子。
2.1 基于双DSP最小系统实现永磁同步电机的矢量控制
德州仪器(TI)公司推出的马达控制专用DSP TMS320C(F)240。该DSP采用哈佛总线构架,具有独立的程序与数据总线,DSP一次可同时读取指令和数据。流水线(Pipeline)的预取指推选。片内程序、数字存储器读写,不需要插入任何的等待周期。TMS320F240采用PQFP封装,50ns指令周期,244K字可寻址空间,独特的事件管理模块,可产生12路PWM输出,两个10位A/D转换器,可以同时进行两路转换。所有的这些特点都使得该DSP非常适合用于电机矢量控制的实现。矢量控制就是通过对定子电流励磁分量和转矩分量的解耦,达到分别控制交流电动机励磁和电流的目的。通过经典的CLARK及PARK变换,将电流从三相静止轴系A - B - C 转化为两相同步旋转轴系d - q ,将定子电流矢量分解为按转子磁场定向的两个直流分量i d 、iq ,并对其加以分别控制。i d 用于控制磁通; iq 控制转矩,实现将异步电动机的多变量强耦合的非线性系统的解耦控制,达到类似直流电机的控制方式及效果[2 ,3 ] 。同步电动机的矢量控制完全可以借鉴异步电动机的矢量控制概念,分别通过A- B - C 三相坐标系, X - Y 静止坐标系及d - q 动坐标系完成电压电流的转换,最终实现电流的解耦及电动机的矢量控制。三相静坐标系到二相动坐标系的CLARK 及PARK矩阵运算转换如下:
d - q 轴动坐标系下的永磁同步电动机电压及磁通密度方程可以表示为:
上式中: Vd 、Vq , Ld 、Lq , id 、iq 、wd 、wq 分别为d - q动坐标轴下的电压, 电感, 电流及磁链值; Rs 为定子绕组每相电阻值; 为永磁体主磁链;ω为转子角速度。在不考虑电动机定子绕组电枢电阻Rs 时,PMSM的电磁转距为:
式中: p 为电机极对数。当id = 0 时电机转矩只与iq成正比,这样在对iq 、id 的PID 调节后就可以实现类似直流电动机的外特性,并且具有良好的动态控制性能[4 ,5 ] 。本文实现的带有旋转变压器永磁同步电动机控制系统的矢量部分原理图如下:
图4 PWM矢量控制原理图
2.2 基于TMS320F240的SVPWM实现
脉宽调制信号是脉宽变化的一系列脉冲。脉冲持续若干固定的周期,每个周期内只有1个脉冲。那个固定的周期称为PWM(载波)周期。PWM脉冲的宽度由另一称为调制信号的序列决定或调制。在电机控制中,PWM信号用来控制开关功率器件的通断时间,传递所需的能量给电机绕组。相电流和相电压的波形和频率以及传递给电机的绕组的能量决定了电机的速度和转矩。施加于电机命令电流或电压叫调制信号。调制信号的频率一般比PWM载波的频率低得多。
系统主DSP 完成SVPWM 调制。TMS320F240 DSP 六路PWM 输出口及三个全比较单元帮助软件完成整个SVPWM 算法,其中PARK和反PARK运算所需的转子位置角通过主、从DSP间的双口RAM 完成数据传送。系统使用场效应管IR450 ,并设定主DSP 的SVPWM 基频为10 kHz。要产生SVPWM波形,需要解决正弦函数、反正切函数查表以及一系列乘除法运算,一般单片机无法胜任,在有些应用中使用两片80C 196MC并行工作,增加了系统的复杂性.使用高速数字信号处理器(DSP)来实现电压空间矢量调制算法是一种理想的选择。采用TMS320F240产生SVPWM波形,具有控制精度高、实时性强、硬件简单、软件编制容易等优点.基于TMS320F240实现SVPWM的步骤如下:
(1)判断Uref:所在的扇区.要求得开通时间和切换顺序首先要知道当前U,所在的扇区.如果Uref是以电压幅值和相位的形式给出,其所在的扇区是很明显的.而对于Uref,是以Ud 、Uq的形式给出的情况,当前所在的扇区可以由下面的计算获得
(8)
然后通过查表即可求得Uref,当前所在的扇区:当N取值为1到6,对应的扇区分别是II,VI,I ,IV ,III, V.
(2)计算开关电压矢量作用的时间.开关电压矢量作用时间由式(8)计算得到.
(3)确定各矢量的作用顺序,合成三相PWM信号.
在上述空间矢量调制的讨论中,只确定了各矢量的作用时间长短,而没有具体确定各矢量的发送顺序.在一个脉冲波中,不同状态的顺序不是随便安排的,它必须遵守的原则是,每次工作状态切换时,只有一个功率器件作开关切换,这样可以尽量减少开关损耗.一种采用七段式的合成对称PWM波的方法如
图5所示.这种切换方案具有如下的特点:每个PWM周期内,均以零电压矢量开始和结束;对于每个扇区的PWM通道有一个固定的切换顺序;在每个PWM周期内,虽有多次开关状态的切换,但每次切换都只涉及一个功率开关器件.
图 5 第一扇区矢量的作用顺序
图5给出了软件切换的顺序说明.这个切换顺序可以描述为,这里的x可以为
。在TMS320F240上实现这种切换方案需要两步:
(1)初始化比较单元并选择对称PWM波的GP定时器.
(2)查表求得切换顺序并由Uref所在的扇区装载比较寄存器.
2.4 双DSP最小系统的硬件设计
如下图所示为基于双DSP最小矢量控制的三相同步电机驱动系统的系统硬件结构图,该变频器采用交直交电压型结构和SVPWM脉宽调制方式。系统由三相整流器、滤波电容、电压型逆变器、逆变器驱动电路、三相同步电机和双DSP最小控制系统构成。
图6 系统硬件结构图
此系统的核心控制和算法部分由双DSP最小系统组成,系统由由VC33子系统,F240子系统和数据交换单元三部分构成。矢量控制以VC33芯片为核心,用来完成矢量控制核心算法,及两相电流检测。F240主要完成三相PWM波形生成,电机测速及过压保护功能。数据交换部分采用双端口RAM,可使两个DSP芯片迅速、方便地交换数据,增强了双DSP系统的并行处理能力。
采用双DSP的矢量控制系统,一方面要对电机的电磁转矩和磁通进行分析计算;另一方面,还需要有一个完整的控制功能和逻辑处理接口功能,以完成控制上的要求。整个双DSP 控制系统的结构示意图如图7。
图7 双DSP最小系统结构框图
控制系统的双DSP 芯片分别采用浮点芯片TMS320VC33 和定点芯片TMS320F240。对TMS320VC33 来讲,其运算能力很强,但片内资源和I/O 端口较少,逻辑处理能力也较弱,主要用于浮点计算和数据处理(浮点运算可以大大提高精度和动态范围);而F240 正好相反,其片内外设资源丰富,I/O 端口使用方便,但其运算精度和速度有一定限制,所以用于数据采集和过程控制。两个DSP 芯片通过双端口RAM完成数据交换。这两个DSP 芯片的互补可充分发挥各自的优点,使控制系统达到最佳组合。
2.3.1 电源电路
在DSP芯片内部一般有五种典型电源:CPU核电源、I/O电源、PLL(Phase Locked Loop)电源、Flash编程电源和模拟电路电源(其中后两种仅C2000系列有)。这几种电源都要由各自的电源供电,并且模拟和数字电路要独立供电,数字地与模拟地要分开,单点连接。模拟电源一般由(有噪声的)数字电源产生。在设计DSP应用系统的供电电源时,一般要求CPU内核电源先于I/O电源上电,后于I/O电源掉电。但CPU内核电源与I/O电源供电时时间相差不能太长,一般不能大于1秒,否则会影响器件的寿命或损坏器件。为保护DSP器件,应在CPU内核电源与I/O电源之间加一肖特基二极管。其电源电路图如下所示:
图8 DSP电源电路
2.3.2时钟电路
VC33的时钟发生器允许设计者选择时钟源:一是在XlN和XOUT之间接一晶振来启动内部晶振,EXTCLK接地。二是将外部时钟直接接到EXTCLK管脚,XOUT悬空,XlN接地。
![]() |
图9 时钟电路
VC33的时钟发生器包括芯片内部的晶振和锁相环电路(PLL),PLL电路在硬件上可自行设置。VC33的CPU有两个时钟模式选择引脚CLKMD0和CLKMD1,可将CLKMD0和CLKMD1引脚通过10k上拉电阻连接到电源,使CLKMD0和CLKMD1都为1。具体电路图如图9所示。
TMS320F240内含PLL时钟模块,由振荡器和锁相环(PLL)等电路组成。通过外部4/6/8MHZ的基准晶体和内部振荡器的协调工作,或通过一个2—32MHZ的外部振荡器旁路时钟,该模块可为TMS320F240芯片提供所需的所有4种时钟信号。
(1)CPU时钟(CPUCLK) :CPU的存储器、与CPU总线直接连接的外设及外部存储器都使用该时钟。CPUCLK是时钟模块所提供的最高时钟频率;
(2)系统时钟(SYSCLK):连至外设总线的外设都使用该时钟,
其频率是CPUCLK/2或CPUCLK/4;
(3)模拟时钟(ACLK):为某些模拟模块提供的时钟信号,频
率为1.0MHZ+10%;
(4)看门狗时钟(WDCLK):看门狗定时器和实时中断模块使
用该时钟,频率是16KHZ,占空比为25%;
与PLL时钟模块有关的引脚有三个:振荡器旁路引脚 OSCBYP、振荡器输入引脚XTAL1/CLKIN 及振荡器输出引脚 XTAL2。
2.3.3 复位电路
为了使双DSP系统能被复位信号正
确初始化,复位信号的脉冲宽度必须至少为10个H1周期以上,TMS320VC33-150指令周期为13ns,则复位时间至少为10*13=130ns。同时要考虑到系统振荡器达到稳定工作状态至少需要20ms,因此复位电路需要产生100~200。ms低电平复位脉冲。具体复位电路如右图所示,具备手动和自动复位功能。取 R=100kΩ, 图10 VC33 复位电路
c=4.7uF,非门74ls14最大输入低电平为1V。 t=-RC㏑(1-V/Vcc)=-100*4.7㏑(1-1/5)=105ms。由此可知该复位电路满足此系统的要求。
对于TMS320F240而言,引起芯片进行的复位操作的原因最多有5个。其中一个是RS引脚的外部复位控制,另外4个均由内部产生见下图:
图11 F240 的复位信号
(1) 复位引脚RS有效
当该引脚电平由高变底时,即产生复位操作。TMS320F240芯片内部要正常复位,至少要使RS的底电平保持一个 SYSCLK 周期。
(2) 看门狗定时器复位
当看门狗定时器产生溢出或一个不正确的值被写入看门狗控制寄存器时,
就会产生一次看门狗定时器复位。
(3) 上电复位/Vdd超限复位
该复位的产生有两个原因:一是外部上电复位引脚 PORESET;二是低电压检测电路。如果工作电压Vdd超出推荐的工作范围时,该电路就发出一个复位信号。
(4) 软件产生复位
该复位由软件对系统寄存器SYSCR的D15、D14(RESET1、RESET0)两位的操作引起。清除位RESET0或设置位RESET1都会引起一次系统复位,但必须同时对两位进行写入操作。对RESET1、RESET0进行写入所产生的操作如下:
RESET1 RESET0 产生的操作
0 0 全局复位
0 1 ----
1 0 全局复位
1 1 全局复位
(5) 非法地址复位
系统和外设模块控制寄存器的帧地址映像中包含有不可实现的地址单元,即非法地址。对这些非法地址进行访问将产生一个非法地址复位。
2.4 DSP与双口RAM的连接
2.4.1 双口RAM功能与结构
CY7C025是CYPRESS公司研制的64K×16低功耗CMOS型静态双口RAM,最大访问时间为12/15/20ns,可与大多数高速处理器配合使用,无需插入等待状态。采用主从模式可以方便地将数据总线扩展成32位或更宽。其内部功能框图如图12所示。
图12 CY7C025功能结构图
双口RAM芯片CY7C025作为一种性能优越的快速通信器件,大多CPU的高速数字系统中非常适用。其特点是:提供两套完全独立的数据线、地址线、读写控制线,允许两个CPU对双端口存储器同时进行操作;具有两套完全的中断逻辑,用于实现两个CPU之间的握手信号;具有完全独立的忙逻辑,可保护两个CPU对同一地址单元进行正确的读写操作。当两个CPU对双口RAM存取时,存在以下四种情况。
(1)两个CPU不同时对同一地址单元存取数据。
(2)两个CPU同时对同一地址单元读出数据。
(3)两个CPU同时对同一地址单元写入数据。
(4)两个CPU同时对同一地址单元操作,一个写入数据,另一个读出数据。
不难看出,在第一和第二种情况下,两个端口的存取不会出现错误,而第三种情况会出争用而造成的现写入错误,第四种情况会出现读出错误。为了避免两个CPU对同一地址单元进行访问时由于地址数据数据读写错误,CY7C025主要提供了以下几种工作方式,下面逐一介绍。
1 硬件判优方式
双口RAM CY7C025具有解决两个处理器同时访问同一地址单元的硬件仲裁逻辑。在双口RAM的两套控制线中,各有一个BUSY引脚。当两端的CPU不对双口RAM的同一地址单元存取时,BUSYL=H、BUSYR=H,可正常存储;当两端的CPU对双口RAM同一地址单元存取时,哪个端口的存取请求信号出现后,则其对应的BUSY=L,禁止其存取数据;在无法判定两个端口存取请求信号出现的先后顺序时,控制线BUSYL、BUSYR只有一个为低电平。这样,就能够保证对应于BUSY=H的端口能进行正常存取,对应于BUSY=L的端口不能存取,从而避免了两个CPU同时竞争地址资源而引发错误的可能.
2 中断判优方式
中断判优方式又称邮箱判优方式。CY7C025具有两套中断逻辑,通过两个INT引脚分别接收到两个CPU的中断引脚上,以实现CPU的握手。在双口RAM的数据传送中,两端的CPU都把双口RAM作为自己存储器的一部分。当两个CPU需要数据传送时,假设左端CPUL向右端CPUR传送,首先CPUL将需要传送的数据存放到双口RAM某段约定的地址单元中,然后向双口RAM的最高奇地址单元0xFFFF即右端口的邮箱进行写操作,用以向CPUR发出一个中断,这样CPUR就进入其相应的中断服务子程序,将约定地址单元的数据读出,然后对双口RAM右端口的邮箱进行写操作,用以清除该中断。
3 令牌判优方式。
令牌判优方式是一种快速数据交换方式。在此方式中有信令锁存逻辑,CY7C025内部提供了八个相互独立的锁存逻辑单元,最多可将RAM空间分成八个区段。这些锁存逻辑单元独立于双口RAM存储区,并不能控制RAM区、封锁两端CPU的读/写操作,而是被作为命令,只提供指示逻辑,由两端CPU按约定的规则,轮流地占用它们划定的RAM区,各区的大小及地址由软件自由设定,且左右端操作完全一样,只要不超过令牌的限制次数即可。当左右端同时申请同一令牌时,令牌逻辑裁定谁先占用,从而保证只有一个端口获取令牌。而在占用令牌期间,CPU可以按最高速无等待存取数据,这对实现高速、多CPU数据采集与处理系统无疑是非常有利的。但是,为了避免令牌方式争用出错,应尽可能使两端CPU分时占用同一RAM区。
2.4.2 DSP与双口RAM的接口设计
在此系统中,CY7C025与两个DSP芯片TMS320VC33和TMS320F240之间的接口电路如图13所示。TMS320VC33的数据线宽度为32位,而CY7C025的数据位宽为16位,因此采用将TMS320VC33数据总线的低16位与双口RAM的数据总线相连。TMS320VC33在发送32位的数据至又口RAM时,分两次完成,先写低16位,再写高16位。从双口RAM读取数据操作与发送类似。如前所述,使用双口RAM的关键是解决左右端口同时操作同一RAM单元的竞争问题。图十四中采用了硬件判优的方法,即将左右端口的BUSY信号经相应处理后分别引至支持插入等待时序的TMS320VC33和TMS320F240的对应引脚,以解决左右端口对同一单元的争用问题.
![]() |
图13 接口电路实现
为了使整个系统成为完全可编程系统,增加系统的灵活性,系统中逻辑控制选用可编程的逻辑器件GAL实现,GAL选用Lattice公司的GAL20V8B芯片,并采用Lattice公司提供的ispDesignEXPERT集成开发软件对其进行逻辑编程。IspDesignEXPERT支持多种硬件编程语言,系统中采用ABEL语言进行编程。左右两端GAL的输入管脚信号定义如图中所示。
左端译码电路的逻辑方程为:
CE0L=DS&A15#PS& A15;
R/WL=R/W&STRB;
OEL=R/W & STRB;
BUSYL=READY;
CE0L、R/WL、OEL分别为双口RAM左端口的片选、读/写及输出使能控制信号。BUSYL为引至
|
TMS320F240 READY引脚的信号。
在右端译码电路中,引至TMS320VC33 RDY引脚的信号为双口RAM右口输出信号BUSYR,其余逻辑控制信号编程与左端类似,不再多述。
CY7C025具有64K字的存储空间,存储资源较为丰富。系统设计时,根据实际需要将其前32K字存储空间作为TMS320F240仿真程序的存储空间,将其后32K字的存储空间作为双DSP的共享数据存储空间。这样设计,既减小了电路板面积又简化了系统的构成。在本系统中,CY7C028共享数据存储区的数据确定如下:TMS320F240端为0x8000~0xFFFF,TMS320VC33端为0xC88000~0xC8FFFF。
地址空间分配综合了不同DSP的空间资源分配要求,具体见表1。
表1 地址空间分配表
|
起始地址 |
终止地址 |
LF2407A |
0X8000H |
0X9FFFH |
VC33 |
010000H |
011FFFH |
3 系统软件设计
系统软件由两部分组成,VC33子系统矢量控制软件和F240子系统的SVPWM控制软件。
本文分别研制了主DSP 永磁同步电动机矢量控制部分和从DSP 旋转变压器部分的控制软件。主DSP 的程序流程图如图14 所示。定时器1 作为SVPWM 的时基,并设定电流环周期100μs ,速度环为500μs。电流环的五大核心程
和PWM 输出运算均包含在定时器1 的中断服务程序中。
处理旋转变压器的从DSP 软件包括SPWM 的生成、FIR 数字滤波、转角计算等部分。从DSP 的定时器中断服务程序处理SPWM ,通过全比较单元及相应的PWM 端口输出3.5 kHz 的旋变励磁信号。由于主DSP 的电流环频率高于励磁信号频率,设定从DSP 的两路A/ D 通道采样频率为14 kHz ,保证输出信号经计算解调后实时准确地得到转子位置信号,从DSP 程序流程如图15所示。
图14 主DSP程序流程图
图15 从DSP程序流程图
4 总结
综上所述,以TMS320F240 为核心的双DSP 系统能够较好地解决带有旋转变压器的永磁同步电动机控制问题。系统构建的模块化控制部分,简化了动态性能好,而且该系统的旋转变压器处理模块较旋转变压器信号专用芯片成本降低,为永磁同步电动机的控制提供了一个有效的选择。
致 谢
本次设计是在导师郭贵莲的悉心指导下完成的,课题的选取、论证以及论文的写作都倾注了导师大量的心血。导师渊博的知识、严谨的治学态度和高度的敬业精神永远都是我学习的楷模。由于知识的不全面,在设计过程中遇到了许多难题,但导师郭贵莲总是在百忙之中抽出时间为我们解决问题,还不辞辛苦的为我们查阅资料,把自己珍藏的资料借我们阅读,老师的关心和鼓励给予我很大的支持,使我对本次设计更加认真的对待。虽然过程挺艰苦,但从中我也感受到了导师无微不至的关心和成功的快乐,同时拓宽了自己的知识面,为今后的工作打下了有力的基础。本次设计令我受益非浅。
我谨向导师郭贵莲和设计过程中给予我帮助的同学致以深深的感谢和崇高的敬意。
参考文献
[1] 刘和平.TMS320LF240X DSP 结构,原理及应用[M].北京航空航天大学出版社.2002
[2] 何苏勤.TMS3202000系列DSP原理及实用技术[M].电子工业出版社.2003
[3] 刘益成.TMS32054X DSP应用程序设计及开发[M].北京航空航天大学出版社.2002.2
[4] TEXAS INSTRUMENTS.TMS320C2XX Source Debugger[J].1995
[5] TMS320F24X Fixed Point DSP Assembly Language tools[J].TI公司.1995
[6] 路平,梁军.基于DSP及CPLD的实时同步测量装置[M].继电器.Vol.32 No.23
[7] 俞平,秦树人.基于DSP和USB2.0高速数据采集处理系统[J].重庆大学学报.Vol 28 No.5
[8] 王文武,曹治国.基于FPGA和DSP的并行数据采集系统设计[M].微型计算机信息.2004 Vol20
[9] 田金文,李景奇.基于TMS320C6414的视频采集处理硬件系统设计[J].华中科技大学学报.2005.Vol.33 No.7
[10] 卢伯英.现代控制工程[M].电子工业出版社.2004
[11] 王慧.计算机控制系统[M].化学工业出版社.2005.7
[12] 于海生.计算机控制技术[M].清华大学出版社.2002
[13] 孙德文.微型计算机技术[M].高等教育出版社.2004
[14] Ying-Shieh Kung, member IEEE. HIGH PERFORMANCE PMLSM DRIVES USING TMS320F2812 DSP CONTROLLER[J]. Thc 2004 IEEE .4sia-Pncilic Conicrcncc on Circuits and Systems, Deccmbcr 6-9.2004
[15] 黄杨辉,基于DSP芯片的生化检测系统的设计与应用[J].仪器仪表学报.2004.Vol 25 NO.4
[16] 宋雪丽,吴勇.数字信号处理器TMS320LF2407在油液污染检测中的应用.液压与气动[J].2004 年第9期.