数字信号处理器(DSP)是专用的处理器,主要功能是高效率地执行信号处理算法。此外,应用中通常还需要执行传统的微控制器代码。为解决这一问题,设计人员通常在系统中同时使用DSP和微控制器。但这样会增加产品的成本。本文介绍了一种新的DSP架构,它非常适合通用DSP算法,同时又可高效率地执行微控制器代码,并且有高效率的编译器性能。
在1980年代早期,通用DSP进入了商用市场。第一代DSP很昂贵,其设计人员不断寻找适合DSP的应用。那时的应用开发过程很长并且需要特殊的技巧。开发人员既需要数字信号处理方面的背景知识,又需要了解如何编程DSP。用于开发的工具是非常原始的,而且几乎所有代码都是用汇编语言编写。在1980年代末,DSP已经成功地应用于一些市场之中,并且逐渐渗透到传统的微控制器市场。此时市场关注的焦点有所变化,客户正在寻找一种更为成熟的产品。
为满足客户的需求,摩托罗拉公司开发了一种新型处理器架构 DSP56800,不仅可提供高效率的DSP处理能力,还可提供高性能的控制功能。
DSP56800系列简介
DSP56800系列基于DSP56800 16位定点DSP微控制器中央处理单元(CPU)内核。DSP56800内核的设计目标是同时提供高效的DSP和控制器运算能力。其指令集效率可与最好的通用DSP架构相媲美,同时还可高效率地完成控制器类型任务的代码执行。通用MCU类型的指令集,再结合其功能强大的寻址模式和位操作指令,使得用户可以立即着手开发编写代码,而不必担心与传统DSP微处理器相关的复杂性。真正的软件栈允许实现无限的中断和子全程嵌套,并提供对传递参数和本地变量的支持。有经验的DSP程序员将会发现一组功能强大的DSP指令集,可实现多种不同的算术运算,而且灵活的单/双存储器移动可与算术运算同时进行。由于DSP56800指令集的通用特点,编译器针对DSP56800架构进行了高效率的优化实施。
围绕DSP56800内核,可以实现不同的存储器配置。同样,在DSP56800内核外围,也可以添加范围广泛的标准外设(图1), 如串行端口、通用定时器、实时和看门狗定时器以及通用输入/输出(GPIO)端口。每种外设都可通过标准外设接口总线连接到DSP内核。这一总线允许方便地挂接标准或定制设计的外设。同时,这一内核还通过一个符合JTAG标准的调试端口提供了片上仿真(OnCE)功能。这样就可以通过5脚JTAG接口,利用OnCE功能进行实时嵌入式系统调试,允许设计人员设置硬件和软件断点、显示和修改寄存器和存储器内容、单步执行指令或者一次执行多条指令。
高性能DSP功能、灵活的存储器并行处理能力、多个内部总线、一个外部总线接口、片上编程和数据存储器、标准外设以及JTAG调试端口,所有这些都使DSP56800系列成为完成实时嵌入式控制任务的理想解决方案。DSP56800系列非常适合需要强大处理能力的无线或有线DSP应用、数字控制和控制器应用。
DSP56800 16位DSP内核架构
DSP56800内核是一款旨在同时提供高效率实时数字信号处理能力和通用计算能力的可编程CMOS 16位DSP内核。DSP56800内核由四个并行执行的功能单元组成,从而可提高处理能力。四个功能单元,包括程序控制器(PC)、地址生成单元(AGU)、数据算术逻辑单元(Data
ALU)和位运算单元,每个都包括自己的寄存器组和控制逻辑,因此它们可独立地并行工作。每一功能单元都通过内核的内部地址和数据总线与其它单元、存储器和存储器映射外设相连接。因此,可以做到程序控制器抓取第一条指令,地址生成单元(AGU)为第二条指令生成多达两个地址,而Data
ALU则在第三条指令完成一次乘法运算。同样,在上述的第三条指令中,也可以是用位运算单元代替
|