尿布厂家
免费服务热线

Free service

hotline

010-00000000
尿布厂家
热门搜索:
成功案例
当前位置:首页 > 成功案例

DSP56F80x及其在电机控制中的应用专业坯布中性笔捏合机直放站保健食品Frc

发布时间:2023-12-18 14:08:25 阅读: 来源:尿布厂家

DSP56F80x及其在电机控制中的应用

摘 要:介绍了Motorola公司DSP56F80x系列DSP的内核、智能外设、应用领域和内部结构、外部引脚及开发方法等,最后给出了一个应用DSP56F805控制无位置传感器无刷直流电机的实验系统。

关键词:SoC;DSP56F80x;电机控制;无传感器无刷直流电机

电机控制经历了从模拟控制到以MCU(单片机)为主的模数混合控制再到全数字控制的演变。随着电机应用领域的更加广泛和深入,完成电机控制的运算也越来越复杂,而实时性的要求在很多场合却越来越高。这样,以DSP(数字信号处理器)加MCU的控制模式便应运而生。当前,系统设计及更新换代的周期越来越短,而系统的低造价和高可靠性却一直是人们的共同追求,片上系统(SoC)设计便是在此背景下应运而生的电子设计潮流。于是,TI、ADI、Infineon等公司相继推出了面向控制系统设计的DSP芯片。Motorola则更是不甘示弱,其DSP56F80x系列无论是从DSP的运算性能还是从MCU的控制性能来说都表现出了卓越的品质,实际上,该系列的DSP可以说是集成了MCU和DSP功能的一体化设计芯片。

1 DSP56F80x系列DSP

DSP56F80x系列DSP(以下简称 '80x)包括DSP56F801、3、5、7,2003年初,Motorola在该系列中又新增了一个片种DSP56F802。'80x集成了Motorola的16位定点DSP微控制器内核DSP56800,而DSP56800内核的指令集面向DSP和控制领域的应用均进行了优化。DSP56800内核为双哈佛结构,共有3个并行的执行单元,分别为算逻运算单元(ALU)、地址产生单元(AGU)和程序控制单元(PCU)。每个指令周期这3个执行单元共可完成6次操作。在一个指令周期内,DSP内核即可执行一次16位×16位的乘建材加工法累加操作(MAC)。另外,DSP内核还提供了硬件循环操作。芯片内核最高可工作于80MHz,在此工作频率下,指令执行速度可达40MIPS。内核的这种高效结构和高速运算能力,为 '80x系列DSP在运算复杂、实时性较强的控制领域中的应用提供了保证。

'80x系列DSP的设计继承了SoC思想,这使得它们在嵌入式系统中的应用更加方便。该系列DSP的片内就包含了容量不等的程序和数据FLASH及RAM;而且除DSP56F801、2外,芯片可外扩程序及数据存储器各64K×16位。此外,芯片还集成了丰富的面向控制的IP(Intellectual Properties)外设,如ADC、PWM、正交解码器(Quadrature Decoder)、四定时器(Quad Timer)、看门狗(Watchdog/COP)、JTAG、通用I/O接口(GPIO)和用于通信用的CAN总线、异步串行总线SCI及同步串行总线SPI等。DSP56F801、2内部还集成有一个弛张振荡器,因而,DSP56F801、2的应用甚至于不需要外接晶体或时钟源。表1为'80x系列DSP特性列表,其中的带“*”的模块引脚共用,可通过软件选择。

'80x系列DSP的应用领域包括:电机控制,如交流感应电机、直流有刷及无刷和有传感器及无传感器电机、开关及可变磁阻电机以及步进电机等;工业控制,如工业自动化、电源控制、消噪降噪、环境控制和仪器仪表等;交通运输,如燃料管理、路灯控制、引擎控制、安全气囊等;其他如智能家电、家居安保系统、声控设备、电动玩具等等。

2 DSP56F805的内部结构、外部引脚与智能外设

从表1我们可以看出,'80x系列DSP各片种的主要区别在于各自片内集成的存储器容量和IP外设的种类和数目的不同。在此,我们以DSP56F805为例,详细介绍该芯片的内部结构、外部引脚和智能外设等。

DSP56F805的内部结构及外部引脚的功能分布如图1所示。下面对DSP56F805所集成的与电机控制密切相关的IP外设作几点简单说明。

● 共有两个分辨率为15 位的PWM模块:PWMA和PWMB,每个PWM模块都有6个PWM输出引脚、3个电流检测输入引脚和4个差错输入引脚。PWM输出波形可通过软件设置为边沿对齐或中心对齐。6路PWM输出可配置为0、1、2或3对互补输出,互补输出以外的则为相互独立的PWM输出。对于互补PWM输出对,芯片支持可编程死区电压控制和波形宽度及极性控制。

● 12位的ADC模块最高采样率可达1.66MSPS。考虑到电机控制的方便,ADC模块采用双路各4输入设计,这两路A/D变换器可被软件配置为同步或顺序采样。而且,ADC模块还可与PWM模块实现同步。

● 两个正交解码器(#0和#1)的输入引脚分别与两个四定时器A和B的引脚共用。当作为正交解码器用时,这四个引脚分别为:PHASEA、PHASEB、INDEX和HOME。正交解码器的输入引脚PHASEA和PHASEB可以外接光码盘的两相输出,用于检测电机的位置和转向。另外,这两个引脚也可分别用于单相脉冲信号的累加计数。正交解码器的内部还集成了滤波器,用于消除输入信号中的大脉冲干扰。正交解码器的位置计数器为32位,位差寄存器为16位,既可对高速电机测速,也可与通用定时器一起用于对低速电机测速。

● 四定时器模块:DSP56F805共有四个四定时器模块(A、B、C和D)。其中,四定时器A、B分别与#0及#1正交解码器共用引脚;四定时器C、D则有自己的专用引脚;四定时器C只有两个引脚,其余分别有四个引脚。每个四定时器模块均有四个16位定时/计数器,支持加法和减法计数,并可用软件配置为多种计数模式。而每个四定时器模块的外部引脚实际上是由该模块的四个定时/计数器共用,也可通过软件进行灵活分配。

● DSP56F805的GPIO口共有14个专用引脚和18个复用引脚。而且,每个GPIO引脚可独立地被软件配置为输入、输出或中断触发。当用户觉得芯片引脚不够用,或某些功能模块不需要时,我们即可通过软件编程改变或扩展芯片的功能。

另外,'80x系列DSP总共可以支持7优先级64个中断源,而且,中断系统的反应性能优越。这对于'80x系列DSP在复杂系统中的应用提供了强有力的支持。

3 DSP56F80x的开发方法

为了缩短开发周期,节约成本,无论是从硬件上还是软件上,Motorola均为'80x系列DSP提供了一整套的开发支持工具。

首先,在硬件上来说,Motorola已为DSP56F801、3、5和7开发了评估板(EVM)。这些EVM对于初学者熟悉'80x系列DSP来说不失为一种很好的工具。而对于开发者来说,在产品研发的初期,EVM则提供了良好的软硬件开发的实时环境。EVM的本身已为相应DSP作了外围扩展,而且也为用户的扩展留有足够的接口。由于’80x是Motorola推出的面向电机控制的DSP系列;所以,除了EVM以外,Motorola还为用户准备了电机控制用的硬件开发套件。如评估电机板EMB(Evaluation Motor Board),它为电机控制提供了12V、4A的功率级和一些电机控制连接件。另外还有3相交流/直流无刷高压/低压功率级、光隔离板等等。

事实上,根据我们的开发经验,用户可以按照自己的实际需求,非常方便地制作一套硬件开发工具。即在自己的DSP开发板之外,再用两片244和几只电阻和电容制作一个程序下载板,下载板的一端接计算机的打印口,另一端接DSP的JTAG口。这样就可以方便地实现程序的调试和下载。

其次,从软件上来说,DSP56800本身既可用汇编语言进行开发,也支持C/C++语言的开发,而且效率较高。更为可贵的是,Metrowerks的可视化集成开发环境“代码勇士(CodeWarrior)”则为代码的、浏览、编译和调试提供了一个友好的用户界面。还有,Motorola的SDK(Software Development Kit)则为用户的开发提供了一整套的软件包和应用实例,包括DSP各种集成IP外设和特定开发评估板上外扩设备的驱动程序,以及针对电机控制、语音编码等一些特定应用的软件开发支持库和开发实例等。

4 DSP56F805在无位置传感器无刷直流电机控制中的实际应用

图2为一个应用DSP56F805实现对三相无位置传感器无刷直流电机控制的实验系统框图,选用了Motorola的DSP56F805开发评估板EVM和EVM评估电机板EMB。该系统可以实现对电机速度的闭环控制。电机位置的检测采用的是“反电动势过零检测法”。其中,过零信号由DSP56F805正交解码模块的输入监控寄存器(IMR)读取,PWM输出通道屏蔽操作的切换则由写入PWM模块的P降解周期3~4个月WM通道控制寄存器(PMCCR)的相应MSK位实现。PWM模块被设置为独立模式,输出频率为16kHz。程序既可以在DSP56F805的内部FLASH中运行,也可以在EVM板上的外部RAM中运行,这可以通过在程序编译时进行目标选择。系统中的并口是用于进行程序目标代码的下载,而串口则是用于借用SDK的套件“PC Master”实现对系统的远程控制。这样,电机运行的启停和速度调节控制既可以手工控制,也可以通过PC机进行远程控制。

这里,我们给出有关PWM输出频率fPWM=16kHz的计算和寄存器设置。EVM板上的晶体中心频率为8MHz,DSP内核工作频率为80MHz,IP外围设备工作频率为fIP=40MHz,这可以通过写片上时钟合成模块的PLLDB寄存器进行设置。而PWM模块的PWMCM寄存器的值VPWMCM就决定了PWM模块的输出频率。

VPWMCM= fIP/fPWM=40×103/16=2500=0x09C4(16进制)

所以,我们应在PWMCM寄存器中写入16进制0x09C4。

事实上,将该实验系统稍作变化,还可以实现对其他一些种类的电机控制。在该实即食虾类验系统上,可以进行有关电机控制各种算法的调试验证。当设计的原型系统比较完善时,可以参考开发评估板的硬件设计,设计实现自己的简化系统。实践证明,这种开发方法快捷高效。

参考文献

1 DSP56F801/803/805/807 User's Manual. Motorola, Inc., 2001

2 DSP56F805 Preliminary Technical Data. Motorola, Inc., 2002.1

3 Targeting Motorola DSP56805 Platform. Motorola, Inc., 2000.9

4 DSP56800 Family Manual. Motorola, Inc., 2000.1

5 David Zalac. DSP5680x Architecture Captures Best of DSP and MCU Worlds. Motorola, Inc., 2001.3

6 Motorol在集油器与泵体之间增加垫圈取用测得的平均外直径和平均管壁厚度计算惯性试样的极惯性矩和界面系数a Embedded Motion Control Evaluation Motor Board User's Manual. Motorola, Inc., 2000(end)

儿童中耳炎耳朵疼吃什么药
小儿支气管炎咳嗽吃什么药好得快
儿童上呼吸道感染吃什么药
小孩感冒发烧吃什么药