一“芯”二用,MCU+DSP处理器大盘点
近年来,越来越多的领域需要用到高性能,高集成度的DSP器件,功能日益增加的多媒体处理器对DSP的需求也日益剧增,于是,基于MCU+DSP架构的集成芯片也随之应运而生,更低的成本、更小的封装和更微的功耗所开辟的,是一条属于DSP或者MCU厂商们的“阳光大道“而未来,它们还将沿着这条新路继续前行。本系列文章将为你介绍市面上比较流行的基于MCU+DSP架构的处理器或者解决方案。
本文引用地址:http://www.amcfsurvey.com/article/201612/332400.htm飞思卡尔DSP56800E
飞思卡尔在DSP与MCU领域深耕数年,为满足市场发展需求,公司率先在56800内核基础上又推出了新一代增强型内核56800E,该产品可在单一内核上提供DSP和MCU双重功能。56800E 系列DSP将为不断增长的工业、电机控制、汽车和融合中的通信与数据通信市场应用提供低功耗、低成本的单芯片方案。由于这种单内核设计消耗更少的功耗,飞思卡尔启动了大量新的、以电池供电、需要信号处理功能的便携式应用,如便携式数字音频、互联网设备和PDA等。
DSP56800E相关资料推荐:
1.MC56F8335:基于56800E内核的数字信号控制器
2.基于56800E数字信号处理和霍尔传感器的三相BLDC电机控制
简介
与56800相比,56800E性能最高可改善5倍,为需要更多存储空间、更高代码编译效率和更高的MIPS性能的客户提供了清晰的产品移植路径。DSP56800E 由几个功能独立的模块组成。包括:数据算术逻辑单元(ALU),地址生成单元(AGU),程序控制器,位操作单元,强化的片上仿真模块(Enhanced OnCE)和系统总线。如图所示。
灵活的内存模式是DSP56800E 结构的一大特色,包括下面的几个方面:
程序RAM 和ROM 模块
数据RAM 和ROM 模块
非易失内存(NVM)模块
引导ROM,自举RAM 区执行代码的模块
Freescale 的标准片上外围接口总线(IP-BUS)支持多种的片上外设模块,包括下面几个模块:
锁相环(PLL)模块
16 位定时器模块
看门狗(COP)模块和实时定时模块
同步串行接口(SSI)模块
串行外设接口(SPI)模块
可编程的通用I/O 口(GPIO)模块
特性
DSP56800E 结构具有一系列新的特点,用于提高系统性能,降低应用成本,简化产品开发。包括以下各个方面。
高性能:DSP56800E 支持很多的DSC应用场合。
兼容性:向下兼容DSP56800 系列的源代码,DSP56800 只需要重新编译或者重新汇编就可以在DSP56800E 系统上执行。
易编程性:DSP56800E 的指令助记符类似于MCU 的指令助记符,易于从传统的微控制器编程转到DSC 编程。为了优化算法的执行,DSP56800E 的指令集支持小数和整数类型。
对高级语言的支持:C 语言编写的程序非常合适DSP56800E 结构,大部分的应用可以使用高级语言编写却不会影响DSC 的性能,灵活的指令集和编程模式使得编译代码的高效生成变为可能。
丰富的指令集:除了支持DSC 算法的指令集,DSP56800E 还提供控制、位操作和整型处理等指令,支持多种数据类型和寻址模式。使得用户方便地生成高效、紧凑的代码。
高代码密度:DSP56800E 基本的单字指令长度仅为16 位,而多字指令则用于更复杂的操作,达到优化的代码密度目的。DSP56800E 指令集强调的是高效控制的编程,因为在一个应用中最大的部分是这方面的操作。
支持多任务:在DSP56800E 上执行一个实时操作系统或者简单的多任务系统将比其他的DSC 芯片更容易。DSP56800E 完全支持软件堆栈,快速的从系统堆栈中实现32 位上下文切换,基本的测试和设置指令,四优先级的软件中断。
精确性:DSP56800E 具有精确计算的能力。
硬件循环:DSP56800E 提供2 种类型大于0 的硬件循环。提高了性能,使得不再需要使用解开式循环技术。
并行性:每个片上执行单元,内存设备,外围操作是独立并行处理的。由于很高的并行性,下面的操作能在1 条指令内被并行执行:
—取下条指令
—16 位乘16 位,并将结果和一个36 位数累加
—可选择性进行结果取反、四舍五入以及饱和度处理
—2 个16 位数的移动
—无负荷的硬件循环
—2 个地址指针的更新
不可见的指令管道(pipeline):八级指令管道提高了系统的性能,却保持对编程者的不可见。开发者可以使用高级语言而不需要考虑到管道。
低功耗:由于使用的是CMOS 工艺,DSP56800E 本身消耗的能量是很少的, 而且DSP56800E 支持两种更加省电模式,STOP 和WAIT 模式。电源管理模块能关闭那些逻辑上不使用的部分
实时调试:Freescale 的加强型片上仿真技术提供了对DSP56800E 内核的状态实现了简单、低价、非入侵、速度无关的存取方式。通过使用这一技术,在不停止内核的运行情况下,编程者能完全的控制处理器的操作,能简单、高速的完成调试任务。
DSP56800E 的高效指令集和总线结构,扩展的并行性,片上编程和数据内存,先进的调试和测试功能使得内核能很好地解决实时性问题、嵌入式DSC 和控制任务。
内核编程模式
DSP56800E 的内核寄存器被认为是内核编程模式的一部分。如图2-1 所示。片上模块的寄存器被映射到数据存储器的64 个单元上,注意,这64 个单元在特定的设备上可以位于数据存储器的任何位置。使用内存块的实例如表2-1 所示。可以参考特定器件的用户手册得到其模块的细节描述,包括它们的功能,存储区的寄存器及其映射到内存的位置。
双哈佛存储器
DSP56800E 具有程序存储区与数据存储区分开的双哈佛结构,如图2-2 所示。这种结构允许同时进行对程序存储区和数据存储区的读写操作,而且数据存储器支持同时2个地址的读操作,支持最多达3个地址单元的存储器操作。
在程序存储器中,包含了可以任意大小和放在任意位置的复位中断向量。外设寄存器被映射到数据存储器的64个字的地址单元。
外设寄存器的64个字的地址单元原则上可以被重映射到任意地址。为了不重叠RAM 和ROM 数据存储块,64 个字单元的地址通常被特别设定,X:《《pp 寻址模式提供了针对64 个单元的高效访问,提供了单字,单周期转移和位操作指令。
注意在64 个单元的最上面12 个单元被DSP56800E 内核保留使用,用于中断优先级,总线控制寄存器。
DSC实例
DSC 是一种能对周期性地采样和数字化的实时信号进行算术的处理器,DSC 实例都包含以下几个方面:
滤波
卷积(混合两个信号)
相关(比较两个信号)
整流,放大和传输
图1-3 是1 个模拟信号处理的例子。图中的电路过滤了来自的传感器的信号,传感器信号采集电路使用了1 个可调节的放大器,并利用该结果控制1 个动力臂。理想的滤波器是无法设计出来的,工程师设计滤波器时必须尽量满足:可接受的响应性,不同温度的变化,元器件老化,电源波动和元器件的精度等因素。按照这样要求设计出来的电路一般具有很低的抗干扰性,需要经常调整参数且难于修改。
使用 DSC 的等效电路如图1-4 所示。这个应用除了DSC 之外,还要求1 个A/D 转化器和D/A 转化器。
上图的处理电路首先通过 1 个滤波器限制输入信号的波段,将去除了超过波段的干扰信号。然后信号被取样,通过AD 转换器数字化并送入DSC 进行数字化处理。DSC的输出通过DA 转化成模拟信号并通过低通过滤,消除数字化的影响。
通过DSC 执行的特定的滤波严格来说是个软件的过程。DSC 能执行任何使用模拟技术实现的滤波器。而且,使用模拟技术很难实现的自适应性过滤,能很容易的通过DSC 实现。
总之,使用DSC 的优势如下:
更少的元件
稳定,确定的性能
无需调整滤波系数
广泛的应用范围
更加鲜明的过滤特点
抗噪声能力强
易实现自适应性过滤
具有自测试功能
较好的电源干扰抵制机制
DSP56800E 系列不是为了一个特定的应用专门定制的IC 芯片,而是作为一种通用目的的DSC 结构,用于高效的执行普通DSC 算法和控制代码。
如图1-5 所示,DSC 关键的属性如下:
乘法累加(MAC)操作
MAC 的每个指令周期取2 条操作数
强大的指令集保证了执行的灵活性
移入/出DSC 数据
MAC 操作是一个在DSC 中的基本操作,DSC56800E 双哈佛结构优化了MAC 操作,通过同时对两个独立的数据单元存取使得乘法操作和加法操作在一个MAC 时钟周期内完成。整个过程必须在程序的控制下才能完成从乘法器的取数和对计算结果的转存。由于内存和MAC 是互相独立的,DSC 能在一条指令内执行两个内存的数据交换,一个乘法和加法运算,两个地址的更新等操作,使得很多DSC 级的处理器能更加高效的执行乘法运算。
评论