集成MCU功能的新DSP架构 Motorola DSP56800

来源:百度文库 编辑:神马文学网 时间:2024/03/29 14:14:49
发布时间:2005年10月14日
点击次数:296
详细内容:集成MCU功能的新DSP架构 Motorola DSP56800
Motorola公司 DSP 消费类产品设计经理  Joseph P. Gergen
DSP 消费类应用经理  Phil Hoang
DSP 应用经理  Ephrem A. Chemaly博士
传统的数字信号处理器(DSP)针对高效地执行信号处理算法而设计。这导致在开发过程中,需要在良好的DSP架构和良好的微处理器架构之间进行一些重要的折衷。由于这一原因及其它因素,大多数DSP应用都同时采用一个DSP芯片和一个MCU芯片。本文描述了摩托罗拉(Motorola)公司新推出的一种16位DSP架构。这一架构在保持DSP性能的同时增加了微控制器(MCU)功能。
背景
在1980年代早期,通用DSP进入了商用市场。第一代DSP很昂贵,设计人员不断寻找适合DSP的应用。那时的应用开发过程很长并且需要特殊的技巧。开发人员既需要数字信号处理方面的背景知识,又需要了解如何编程DSP。用于开发的工具是非常原始的,而且几乎所有的代码都是用汇编语言编写。在1980年代末,DSP已经成功地应用于一些市场之中,并且逐渐渗透到传统的MCU市场。此时市场关注的焦点有所变化,客户正在寻找一种更为成熟的产品。
为满足客户的需求,Motorola开发了一种新的架构,它不仅可提供高效率的DSP处理能力,还可提供高性能的控制功能。本文将描述Motorola的这一新的低成本处理器系列,DSP56800。
DSP56800 系列简介
DSP56800系列芯片基于DSP56800 16位定点DSP微控制器中央处理单元(CPU)内核。DSP56800内核的设计宗旨是同时提供高效的DSP和控制器运算能力。其作为DSP微处理器的指令集效率可与通用DSP架构相媲美,同时还可高效地完成控制器类型任务的代码执行。通用MCU类型的指令集,再结合其功能强大的寻址模式和位操作指令,使得用户可以立即着手开发编写代码,而不用担心与传统DSP微处理器相关的复杂性。真正的软件栈允许实现无限的中断和子全程嵌套,并提供对参数传递和局部变量的支持。有经验的DSP程序员将会发现一组功能强大的DSP指令集,可实现多种不同的算术运算,而且灵活的单和双存储器移动(single and dual memory moves)可与算术运算同时进行。由于DSP56800指令集的通用特点,编译器针对DSP56800架构进行了高效率的优化实施。
围绕DSP56800内核,可以实现不同的存储器配置。同样,在DSP56800内核外围,也可以添加范围广泛的标准外设,(图1) 如串行端口、通用定时器、实时和看门狗定时器以及通用输入/输出(GPIO)端口。每种外设都可通过标准外设接口总线连接到DSP内核。这一总线允许方便地挂接标准或定制设计的外设。同时,这一内核还通过一个符合JTAG标准的调试端口提供了片上仿真(OnCE)功能。这样就可以通过5脚JTAG接口,利用OnCE功能进行实时嵌入式系统调试,允许设计人员设置硬件和软件断点、显示和修改寄存器和存储器内容、单步执行指令或者一次执行多条指令。
高性能DSP功能、灵活的存储器并行移动能力、多个内部总线、一个外部总线接口、片上编程和数据存储器、标准外设以及JTAG调试端口,所有这些都使DSP56800系列成为完成实时嵌入式控制任务的理想解决方案。DSP56800系列非常适合需要强大处理能力的无线或有线DSP应用、数字控制和控制器应用。
DSP56800 16位DSP内核架构
DSP56800内核是一款旨在同时提供高效实时DSP能力和通用计算能力的可编程CMOS 16位DSP内核。DSP56800内核由四个并行执行的功能单元组成,从而可提高处理能力。四个功能单元,包括程序控制器(PC)、地址生成单元(AGU)、数据算术逻辑单元(Data ALU)和位运算单元,每个都包括自己的寄存器组和控制逻辑,因此它们可独立地并行工作。每一功能单元都通过内核的内部地址和数据总线与其它单元、存储器和存储器映射外设相连接。因此,可以做到程序控制器抓取第一条指令,地址生成单元(AGU)为第二条指令生成多达两个地址,而Data ALU则在第三条指令完成一次乘法运算。同样,在上述的第三条指令中,也可以是用位运算单元代替Data ALU单元完成一次操作。DSP56800内核架构是流水线式的,因此可充分利用并行执行的功能单元,从而大大减少每条指令的执行时间。
图2示出了DSP56800 内核的主要部件,包括:数据算术逻辑单元(Data ALU);地址生成单元(AGU);程序控制器和硬件循环单元;位运算单元;三个内部地址总线;四个内部数据总线;OnCE 调试端口;时钟生成电路。
实现低功耗设计
DSP56800内核针对低功耗应用而设计。在设计中,同时采用了架构和电路设计技巧以保证DSP运行过程中提供智能功耗管理。功耗管理方案可自动关闭未使用的DSP模块。
当考虑功耗时,非常重要的是要牢记大量的处理实际上都发生在最繁忙的数值处理循环中。算法中需要的数值计算过程占用了大部分的执行时间,因此也是消耗功率最大的地方。这点表明,能够高效地执行数值算法的DSP架构需要的功耗最小,因为完成同样任务所需要的指令数量会大大减少。对于特定的应用,要获得最低的功耗不仅需要DSP架构本身是针对低功耗而设计的,还需要该架构可非常高效地完成DSP运算。DSP56800架构的高性能和低功耗特点使DSP56800系列器件可提供优异的低功耗性能。
对于基于DSP56800的芯片,其时钟针对降低功耗进行了仔细的设计。通过锁相环(PLL)电路,可以动态改变DSP内核的时钟频率。如果需要的话,输出时钟引脚可被选择性地关闭。DSP还支持多种低功耗停止(Stop)和等待(Wait)模式,从而在等待事件发生地同时大大降低功耗。DSP56L811芯片提供的五种低功耗模式包括:
方便的开发环境
基于DSP56800内核的芯片的开发是非常直接和方便的。外部总线支持从外部存储器中执行和调试应用程序。还可以同时从外部获得数据和程序,当外部程序和外部数据寻址同时发生时,DSP芯片简单地加入一个额外的等待时钟周期。可编程的等待状态可单独针对外部程序和数据存储器进行编程,从而支持较慢的存储器操作。
应用
DSP56800系列DSP器件针对成本敏感的应用而开发,非常适合需要低功耗和中等性能的消费类应用,包括:
结语
DSP56800是一种新的DSP内核架构,不仅可提供高效的DSP处理,还提供了强大的控制能力。其高性能DSP功能以及通用指令集特性使这一架构成为以下方面的领先器件。首先是以低成本提供了较高的DSP性能,功耗低且程序代码密度高。其次通过降低所需要的片上存储器数量进一步降低了系统成本,最后是具有较高的编译器代码密度和性能。