如何将DSP和MCU两者完美结合

如何将DSP和MCU两者完美结合,第1张

  按照传统方式,嵌入式应用中的数字信号处理器(DSP)相对于主微控制器(MCU)起从属作用。在这些

应用中,MCU用作系统控制器,而大量的数据处理留给DSP。例如,在音频或视州模消频处理应用中有可能需要人

机界面管理,或者是整个系统的控制。

设计方案选择

为完成这些任务,有几种系统设计方案选择。

第一种方案将DSP和MCU芯片组合在印制电路板(PCB)上。这种方案成本高并且占用面积大,但是可

适当地调整每个芯片的尺寸以最大限度地满足系统需要。

第二种方案是一种将DSP和MCU组合在单个封装内的多芯片模块(MCM)。这种方案的局限性是,设计

工程师必须按“50/50”的时间比例分配给控制和DSP功能;例如,一旦DSP超出时间,MCU将不能完成计算

任务。像第一种方案选择一样,当DSP和MCU内核独立存在时,需要两套开发工具。

第三种方案是将DSP功能合并到一个MCU中。这种方案只适合于直接的信号处理应用。MCU的时钟频率

和计算体系结构根本上不册知太适合大量的数字处理。有些MCU试图通过增加一个乘法和累加器(MAC)(DSP

的一个特点)来补偿上述不足。但是这种方案仍然缺乏高级应用所需要的基本的“由下至上 ”的体系结

构设计 。

最近,已经出现第四种方案它是将MCU的功能合并到一个DSP中。这类方案的一个例子是美国模拟器件

公司(Anolog Device Inc.,简称ADI)的Blackfin™ 处理器系列。这些新型处理器具有统一的经过优化的

体系结构,不仅适于数据计算,而且也适于有关的控制任务。通过平衡执行控制任务与复杂计算的要求,

这种方案可以根据系统实时处理的需要,完成100%的控制或者100%的计算任务。完成所有这一切任务不需

要在DSP模式和MCU模式之间的模式转换。

(translation of graphics)

System Control blocks=系统控制单元

Emulator &Test control=仿真器和测试控制

Voltage regulation=稳压电源

Event controller=事件控制器

Clock(PLL)=时钟

锁相环(PLL)

Memory dma=存储器

直接存储器存取(DMA)

Watchdog timer=监视定时器

Real Time clock=实时时钟

Core=内核

48 KB Instruction SRAM/Cache=48 KB指令

静态存储器(SRAM)

和高速缓存

码毕32 KB Instruction rom="32" KB指令

只读存储器(ROM)

32 KB Data SRAM/Cache=32 KB数据

静态存储器(SRAM)

和高速缓存

4 KB Scratchpad ram="4" KB

高速暂存

随机存储器(RAM)

System Interface unit=系统接口单元

External Memory interface=外部存储器接口

High Speed I/O=高速I/O端口

Parallel Peripheral Interface/GPIO=并行外围接口(PPI)

和通用输入输出接口(GPIO)

UART=通用异步收发器

SPI=串行外围接口(SPI)

Hi-speed Serial ports=高速串行端口

PCI/USB=可编程通信接口(PCI)和通用串行总线(USB)

Timers 0/1/2=定时器0,1,2

Peripheral blocks=外围设备单元

一类新型的DSP也提供一套RISC指令系统集、存储器管理单元、事件控制器和多种外设以便在一颗单

芯片内提供大量计算和高效系统控制功能。

DSP与MCU比较

首先让我们回顾一下DSP和MCU的典型功能。DSP主要是在一单个时钟周期内尽可能完成多个MAC(乘法

和累加) *** 作。为了这一点,指令的 *** 作代码通常是可变的超长的指令字(VLIW)。DSP也适于工作在紧

密、高效的环路中。另外,为了达到性能指标通常需要编写优化的汇编代码。由于DSP的算法程序一般装

在小容量、短等待时间的内置存储器中,所以代码密度通常不是大问题。

像DSP主要用于完成计算一样,MCU主要用于完成控制功能。同样地,典型的MCU应用包括许多条件 ***

作,在程序流程中频繁地跳转。通常使用C或者C++语言编写程序。代码密度极为重要,并且根据编译代

码的长度来评估算法。存储器系统是基于高速缓存从而允许该系统设计工程师用较长等待时间从较大的存

储器中调用较大程序。利用基于高速缓存系统,程序员不需要考虑如何以及何时将指令输入到内核去执行

统一的DSP和MCU兼备两者的优点。它的指令集由16 bit,32 bit和64 bit *** 作码组成,但是由于最常

用的指令采用16 bit编码,所以编译代码密度大小与那些流行的MCU相同。另外,它包括一个存储器保护

功能以及指令高速缓存和数据高速缓存,作为整个存储器管理单元(MMU)的一部分。此外,容易提供一

套完整的C/C++开发工具,提供可选汇编语言或者全部汇编语言适合算法优化的编程。

支持RTOS

系统控制的一个重要方面是任务管理。实时 *** 作系统(RTOS)逐渐地用于控制复杂系统中多种正在进

行的和同时发生的任务。通过提供对任务调度与管理的支持,RTOS简化了编程模式,这通常是由MCU控制

的,由于普通的DSP不具备支持RTOS需要的所有功能以便有效地控制。

然而,统一的DSP和MCU促进了RTOS几个重要功能的发展。第一个是限制访问功能以保护或者保留存储

单元。第二个是配备单独的堆栈和帧指针以减少 *** 作系统(OS)请求以及中断和异常处理所需的等待时间

。第三个是具备单独的用户 *** 作模式和管理员 *** 作模式。过去,DSP按照等效于管理员 *** 作模式工作,从

而允许在任何时间完全访问所有的系统资源。然而MCU提供类似的在用户 *** 作模式,它允许在OS的顶层运

行应用软件。现在,在一个统一的体系结构下提供两种 *** 作模式,因为增强的DSP系统能够限制用户应用

软件仅通过OS访问系统资源。

外围设备

MCU的一个优点是包含使用灵活和种类齐全的外围设备。作为通用的嵌入式控制器,它们通常具备可

编程输入输出(I/O)标志、定时器、串行接口和日益增加越来越复杂的标准接口。MCU外围设备的主要作

用是嵌入式控制,而不是大量计算。例如,一个实时时钟信号可以唤醒一只温度传感器用以采集环境温度

并且将一个延迟的信息通过I/O引脚反馈到MCU。然后,一个定时器的脉冲宽度调制(PWM)输出相应地能

够增加或者减小风扇电机的转速。

像MCU一样,统一的DSP和MCU具备一套系统控制外围设备(例如,实时时钟、多功能定时器、监视定

时器、双向标志位引脚)。然而,它还包括一些高速接口(例如,PCI、异步或者同步存储器控制器、USB

、并行视频接口)以便通过这些接口,与许多DMA通道配合快速搬移数据,从而有助于有效利用高速DSP内

核的信号处理能力。

电源管理

功耗控制一直是嵌入式控制器的一项功能。但是,当系统要求DSP具有优良的性能时,对其电源的选

择就不太理想。如果将独立的MCU和DSP芯片应用于电源敏感的场合,通常必须为每个芯片提供一个单独的

开关稳压器,因为这两个器件的内核电压经常不一致。这会导致降低电源变换效率和增加设计器件的引脚

数目,最终增加布线的复杂程度和解决方案的成本。此外,当MCU和DSP的内核集成到一个芯片上时,电源

解决方案本质上不是最佳的,因为它必须满足2个完全独立并具有不同负载特性处理器的需求。

将这种情况与统一的DSP和MCU相比较,它包含一个集成动态电源管理(DPM)控制器。由于它是只有

一个处理器的体系结构,所以该控制器能够完全适合给定应用的需求。它提供几种固有的电源模式以支持

多种系统性能等级。另外,对于未使用的时钟和L2存储器可选择性地禁止。该PLL的频率可在一个宽范围

(通常1倍~31倍)进行调节,以满足在DSP和MCU内部多层次的处理需求。最后能够调节电压(外部或者

通过一个集成的开关控制器)以提供指数式的节省功耗。

由于系统成本、开发容易、器件采购和升级能力的原因,设计工程师正趋向采用一种单芯片解决方案

用于嵌入式信号处理解决方案。这种单芯片解决方案必须能够同样好地完成DSP和MCU的功能,所以有必要

提出一种统一的处理器体系结构。面对MCU的挑战,比较简单的解决方案是将MCU的功能合并到一个高性能

的DSP内核,而不是与此相反。当今一个统一的DSP和MCU平台(由Blackfin™ DSP系列产品说明)已经投放

我来通过以下几个简单的视频和案例,带你认识一物念下什么是运动控制。

四轴SCARA机械手控制系统

采用研华嵌入式工业控制器UNO-3082为核心控制单元,搭载研华基于DSP的四轴运动控制卡PCI-1245。采用的是开放性、通用性平台及强大的运算和信息处理能力,丰富的硬件资源,使得整合视觉、图形、运动控制变得十分容易。

三维立体点胶机控制系统

采用研华嵌入式工业控制器UNO-3073GL为核心控制单元,搭载研华基于DSP的四轴运动控制卡PCI-1245,保证系统轻松实现各种复杂运动控制,具备速度前瞻、立体喷涂轨迹切线方向跟随等,使得喷涂更加均匀、平滑、精准。

LED固晶机解决方案

研华针碧蚂启对LED行业分别推出中阶应用与经济型应用两组产品解决方案,采用研华嵌入式双核工业控制器UNO-3084作为计算与控制平台,搭配多轴伺服与步进马达集成应用,使其达到高速生产与高精度制造出高质量LED来提高竞争力。

全自动数控弯管机控制系统

研拓自主研发的CNC数控弯管机采用研华嵌入式运动控制器PEC-3240为核心控制单元,搭配15寸工业触摸式显示器FPM-5151G,可根据实际输入的管型数据仿真出三维图形实现预览,可以输入、编辑、储存和显示各种弯管数据和指令。

全自动绕线机控制系统

采用研华嵌入式工业控制器UNO-3074为核心控制单元,搭载研华基于DSP的四轴运动控制卡PCI-1245。用户可以根据不同的加工工艺,编辑无限多的配方文件,并支持在线出书或者U盘导入功能。只要悔如一次编辑,即可无限调用。

自从2000MCU和DSP完全分家,大家对DSP的认识多为"将部分程序固化从而实现更快处理速度的MCU",但这个解释总是有点牵强人意。再加上目前流传着这样的一种说法:DSP取代单片机的技术和价格的市场条件已经成熟,大规模推广指日可待。真的是这样的吗?笔者不敢苟同。单片机和DSP各有所长,AVR90单片机是125纳秒一个周期(也是哈弗结构),其内部有SPI、UART等,如果用来作控制、数据采集,只要速度要求不是太高,那么都可以用它,而且用它比用DSP方便。但是如果你的工程中有比较多的算法,特别是信号处理算法,那么用DSP就对了,此时单片机是不能胜任的。

1、单片机的简介

所谓单片机就是在一块芯片上集成了CPU、RAM、ROM(EPROM或EEPROM)、时钟、定时/计数器、多种功能的串行和并行I/O口。如Intel公司的8031系列等。除了以上基本功能外,有的还集成有A/D、D/A,如Intel公司的8098系列。单片机一般具有如下主要特点:

(1)适合实时控制和 *** 作任务

(2)可预测的执行周期

(3)擅长中断处理,特别是外部异步事件

(4)比较多的I/O功能

(5)程序较大

(6)丰富的片上外设

单片机的开发环境完备,开发工具齐全,应用资料众多。后备人才充足。国内大多数高校都开设了单片机课程和单片机实验。

2、DSP的简介

DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。

根据数字信号处理的要求,DSP芯片一般具有如下主要特点:

(1)在一个指令周期内可完成一次乘法和一次加法;

(2)程序和数据空间分开,可以同时访问指令和数据;

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;

(4)具有低开销或无开销循环及跳转的硬件支持;

(5)快速的中断处理和硬件I/O支持;

 团核判 (6)具有在单周期内 *** 作的多个硬件地址产生器;

(7)氏告可以并行执行多个 *** 作;

(8)支持流水线 *** 作,使取指、译码和执行等 *** 作可以重叠执行。

3、单片机与DSP的区别比较

总线结构: DSP是哈佛/改进型哈佛结构,单片机是冯.诺依曼结构。

乘加运算:DSP利用硬件乘法器,用单指实现。单片机是多指令实现。

寻址方式:DSP利用硬件数据指针,实现逆序寻址,单片机是普通寻址。

指令运行方式:DSP “流水线”方式,允许程序与数据存储器同时访问。单片机是顺序运行的。

指针: DSP配置专用运算器,复合指令可以在寄存器、运算单元处理变量的同时,使用指针访问数据存储器。单片机是无复合指令功能

循环控制:DSP利用硬件循环控制结构,实现无消耗循环控制; 单片机是每次循环都将消耗机器时间。

多处理系统:DSP提供具有很强同步机制的互锁指令,单片机是无专用指令。

4、DSP应用前景

目前看来,单片机比DSP应用范围更广,但是DSP比单片机功能更强大。单片机一般用于要求低的场合,如4/8位的单片机。DSP适合于要求较高的场合,DSP主要面向数字信号塌改处理设计,而单片机主要面向系统控制应用设计。DSP是单片机的一个分支。它有专门的FFT算法需要的特殊指令,流水线指令处理。能以较高的速度进行运算。与单片机相比,DSP器件具有较高的集成度。DSP具有更快的CPU,更大容量的存储器,内置有波特率发生器和FIFO缓冲器。提供高速、同步串口和标准异步串口。有的片内集成了A/D和采样/保持电路,可提供PWM输出。DSP器件采用改进的哈佛结构,具有独立的程序和数据空间,允许同时存取程序和数据。内置高速的硬件乘法器,增强的多级流水线,使DSP器件具有高速的数据运算能力。DSP器件比16位单片机单指令执行时间快8~10倍,完成一次乘加运算快16~30倍。DSP器件还提供了高度专业化的指令集,提高了FFT快速傅里叶变换和滤波器的运算速度。此外,DSP器件提供JTAG接口,具有更先进的开发手段,批量生产测试更方便,开发工具可实现全空间透明仿真,不占用用户任何资源。软件配有汇编/链接C编译器、C源码调试器。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12568370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存