光电工程师社区
标题:
DSP芯片的原理与开发应用
[打印本页]
作者:
suncon
时间:
2003-5-27 10:45
标题:
DSP芯片的原理与开发应用
DSP芯片的原理与开发应用
1.1 引 言
数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。
数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。
数字信号处理的实现方法一般有以下几种:
(1) 在通用的计算机(如PC机)上用软件(如Fortran、C语言)实现;
(2) 在通用计算机系统中加上专用的加速处理机实现;
(3) 用通用的单片机(如MCS-51、96系列等)实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制等;
(4) 用通用的可编程DSP芯片实现。与单片机相比,DSP芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法;
(5) 用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现,例如专用于FFT、数字滤波、卷积、相关等算法的DSP芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需进行编程。
在上述几种方法中,第1种方法的缺点是速度较慢,一般可用于DSP算法的模拟;第2种和第5种方法专用性强,应用受到很大的限制,第2种方法也不便于系统的独立运行;第3种方法只适用于实现简单的DSP算法;只有第4种方法才使数字信号处理的应用打开了新的局面。
虽然数字信号处理的理论发展迅速,但在20世纪80年代以前,由于实现方法的限制,数字信号处理的理论还得不到广泛的应用。直到20世纪70年代末80年代初世界上第一片单片可编程DSP芯片的诞生,才将理论研究结果广泛应用到低成本的实际系统中,并且推动了新的理论和应用领域的发展。可以毫不夸张地说,DSP芯片的诞生及发展对近20年来通信、计算机、控制等领域的技术发展起到十分重要的作用。
1.2 DSP系统
1.2.1 DSP系统构成
图1.1所示为一个典型的DSP系统。图中的输入信号可以有各种各样的形式。例如,它可以是麦克风输出的语音信号或是电话线来的已调数据信号,可以是编码后在数字链路上传输或储在计算机里的摄像机图像信号等。
输入信号首先进行带限滤波和抽样,然后进行A/D(Analog to Digital)变换将信号变换成数字比特流。根据奈奎斯特抽样定理,为保证信息不丢失,抽样频率至少必须是输入带限信号最高频率的2倍。
DSP芯片的输入是A/D变换后得到的以抽样形式表示的数字信号,DSP芯片对输入的数字信号进行某种形式的处理,如进行一系列的乘累加操作(MAC)。数字处理是DSP的关键,这与其他系统(如电话交换系统)有很大的不同,在交换系统中,处理器的作用是进行路由选择,它并不对输入数据进行修改。因此虽然两者都是实时系统,但两者的实时约束条件却有很大的不同。最后,经过处理后的数字样值再经D/A(Digital to Analog)变换转换为模拟样值,之后再进行内插和平滑滤波就可得到连续的模拟波形。
必须指出的是,上面给出的DSP系统模型是一个典型模型,但并不是所有的DSP系统都必须具有模型中的所有部件。如语音识别系统在输出端并不是连续的波形,而是识别结果,如数字、文字等;有些输入信号本身就是数字信号(如CD:Compact Disk),因此就不必进行模数变换了。
1.2.2 DSP系统的特点
数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部优点:
(1) 接口方便。DSP系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,与这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多;
(2) 编程方便。DSP系统中的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级;
(3) 稳定性好。DSP系统以数字处理为基础,受环境温度以及噪声的影响较小,可靠性高;
(4) 精度高。16位数字系统可以达到10E-6的精度;
(5) 可重复性好。模拟系统的性能受元器件参数性能变化比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产;
(6) 集成方便。DSP系统中的数字部件有高度的规范性,便于大规模集成。
当然,数字信号处理也存在一定的缺点。例如,对于简单的信号处理任务,如与模拟交换线的电话接口,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新的速度快,数学知识要求多,开发和调试工具还不尽完善。
虽然DSP系统存在着一些缺点,但其突出的优点已经使之在通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。
1.2.3 DSP系统的设计过程
总的来说,DSP系统的设计还没有非常好的正规设计方法。图1.2所示是DSP系统设计的一般过程。
在设计 DSP 系统之前,首先必须根据应用系统的目标确定系统的性能指标、信号处理的要求,通常可用数据流程图、数学运算序列、正式的符号或自然语言来描述。
第二步是根据系统的要求进行高级语言的模拟。一般来说,为了实现系统的最终目标,需要对输入的信号进行适当的处理,而处理方法的不同会导致不同的系统性能,要得到最佳的系统性能,就必须在这一步确定最佳的处理方法,即数字信号处理的算法(Algorithm),因此这一步也称算法模拟阶段。例如,语音压缩编码算法就是要在确定的压缩比条件下,获得最佳的合成语音。算法模拟所用的输入数据是实际信号经采集而获得的,通常以计算机文件的形式存储为数据文件。如语音压缩编码算法模拟时所用的语音信号就是实际采集而获得并存储为计算机文件形式的语音数据文件。有些算法模拟时所用的输入数据并不一定要是实际采集的信号数据,只要能够验证算法的可行性,输入假设的数据也是可以的。
在完成第二步之后,接下来就可以设计实时DSP系统,实时DSP系统的设计包括硬件设计和软件设计两个方面。硬件设计首先要根据系统运算量的大小、对运算精度的要求、系统成本限制以及体积、功耗等要求选择合适的DSP芯片。然后设计DSP芯片的外围电路及其他电路。软件设计和编程主要根据系统要求和所选的DSP芯片编写相应的DSP汇编程序,若系统运算量不大且有高级语言编译器支持,也可用高级语言(如C语言)编程。由于现有的高级语言编译器的效率还比不上手工编写汇编语言的效率,因此在实际应用系统中常常采用高级语言和汇编语言的混合编程方法,即在算法运算量大的地方,用手工编写的方法编写汇编语言,而运算量不大的地方则采用高级语言。采用这种方法,既可缩短软件开发的周期,提高程序的可读性和可移植性,又能满足系统实时运算的要求。
DSP硬件和软件设计完成后,就需要进行硬件和软件的调试。软件的调试一般借助于DSP开发工具,如软件模拟器、DSP开发系统或仿真器等。调试DSP算法时一般采用比较实时结果与模拟结果的方法,如果实时程序和模拟程序的输入相同,则两者的输出应该一致。应用系统的其他软件可以根据实际情况进行调试。硬件调试一般采用硬件仿真器进行调试,如果没有相应的硬件仿真器,且硬件系统不是十分复杂,也可以借助于一般的工具进行调试。
系统的软件和硬件分别调试完成后,就可以将软件脱离开发系统而直接在应用系统上运行。当然,DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法模拟基本上可以知道实时系统的性能,但实际上模拟环境不可能做到与实时系统环境完全一致,而且将模拟算法移植到实时系统时必须考虑算法是否能够实时运行的问题。如果算法运算量太大不能在硬件上实时运行,则必须重新修改或简化算法。
作者:
suncon
时间:
2003-5-27 10:46
标题:
DSP芯片的原理与开发应用
1.3 可编程DSP芯片
1.3.1 什么是DSP芯片
DSP芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1) 在一个指令周期内可完成一次乘法和一次加法;
(2) 程序和数据空间分开,可以同时访问指令和数据;
(3) 片内具有快速 RAM,通常可通过独立的数据总线在两块中同时访问;
(4) 具有低开销或无开销循环及跳转的硬件支持;
(5) 快速的中断处理和硬件I/O支持;
(6) 具有在单周期内操作的多个硬件地址产生器;
(7) 可以并行执行多个操作;
(8) 支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
1.3.2 DSP芯片的发展
世界上第一个单片 DSP 芯片应当是1978年 AMI公司发布的 S2811,1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。这两种芯片内部都没有现代DSP芯片所必须有的单周期乘法器。1980 年,日本 NEC 公司推出的μP D7720是第一个具有乘法器的商用 DSP 芯片。
在这之后,最成功的DSP 芯片当数美国德州仪器公司(Texas Instruments,简称TI)的一系列产品。TI 公司在1982年成功推出其第一代 DSP 芯片 TMS32010及其系列产品TMS32011、TMS320C10/C14/C15/C16/C17等,之后相继推出了第二代DSP芯片TMS32020、TMS320C25/C26/C28,第三代DSP芯片TMS320C30/C31/C32,第四代DSP芯片TMS320C40/C44,第五代 DSP 芯片TMS320C5X/C54X,第二代DSP芯片的改进型TMS320C2XX,集多片DSP芯片于一体的高性能DSP芯片TMS320C8X以及目前速度最快的第六代DSP芯片TMS320C62X/C67X等。TI将常用的DSP芯片归纳为三大系列,即:TMS320C2000系列(包括TMS320C2X/C2XX)、TMS320C5000系列(包括TMS320C5X/C54X/C55X)、TMS320C6000系列(TMS320C62X/C67X)。如今,TI公司的一系列DSP产品已经成为当今世界上最有影响的DSP芯片。TI公司也成为世界上最大的 DSP 芯片供应商,其DSP市场份额占全世界份额近 50%。
第一个采用CMOS工艺生产浮点DSP芯片的是日本的 Hitachi 公司,它于1982年推出了浮点DSP芯片。1983 年 日本Fujitsu 公司推出的MB8764,其指令周期为 120ns,且具有双内部总线,从而使处理吞吐量发生了一个大的飞跃。而第一个高性能浮点DSP芯片应是 ATT 公司于1984 年推出的DSP32。
与其他公司相比,Motorola 公司在推出 DSP 芯片方面相对较晚。1986年,该公司推出了定点处理器MC56001。1990年,推出了与IEEE 浮点格式兼容的浮点 DSP 芯片 MC96002。
美国模拟器件公司(Analog Devices,简称AD)在DSP芯片市场上也占有一定的份额,相继推出了一系列具有自己特点的DSP芯片,其定点DSP芯片有ADSP2101/2103/2105、ASDP2111/2115、ADSP2161/2162/2164以及ADSP2171/2181,浮点DSP芯片有ADSP21000/21020、ADSP21060/21062等。
自1980年以来,DSP芯片得到了突飞猛进的发展,DSP芯片的应用越来越广泛。从运算速度来看,MAC(一次乘法和一次加法)时间已经从20世纪80年代初的400ns(如TMS32010)降低到10ns以下(如TMS320C54X、TMS320C62X/67X等),处理能力提高了几十倍。DSP芯片内部关键的乘法器部件从1980年的占模片区(die area)的40%左右下降到5%以下,片内RAM数量增加一个数量级以上。从制造工艺来看,1980年采用4μm 的 N沟道MOS(NMOS)工艺,而现在则普遍采用亚微米(Micron)CMOS工艺。DSP芯片的引脚数量从1980年的最多64个增加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加,如外部存储器的扩展和处理器间的通信等。此外,DSP芯片的发展使DSP系统的成本、体积、重量和功耗都有很大程度的下降。表1.1 是TI公司DSP芯片1982年、1992年、1999年的比较表。表1.2则是世界上主要DSP芯片供应商的代表芯片的一些数据。
1.3.3 DSP芯片的分类
DSP芯片可以按照下列三种方式进行分类。
1.按基础特性分
这是根据DSP芯片的工作时钟和指令类型来分类的。如果在某时钟频率范围内的任何时钟频率上,DSP芯片都能正常工作,除计算速度有变化外,没有性能的下降,这类DSP芯片一般称为静态DSP芯片。例如,日本OKI 电气公司的DSP芯片、TI公司的TMS320C2XX系列芯片属于这一类。
如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP芯片称为一致性DSP芯片。例如,美国TI公司的TMS320C54X就属于这一类。
2.按数据格式分
这是根据DSP芯片工作的数据格式来分类的。数据以定点格式工作的DSP芯片称为定点DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司的ADSP21XX系列,ATT公司的DSP16/16A,Motolora公司的MC56000等。以浮点格式工作的称为浮点DSP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,ATT公司的DSP32/32C,Motolora公司的MC96002等。
不同浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,如TMS320C3X,而有的DSP芯片则采用IEEE的标准浮点格式,如Motorola公司的MC96002、FUJITSU公司的MB86232和ZORAN公司的ZR35325等。
3.按用途分
按照DSP的用途来分,可分为通用型DSP芯片和专用型DSP芯片。通用型DSP芯片适合普通的DSP应用,如TI公司的一系列DSP芯片属于通用型DSP芯片。专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片。
本书主要讨论通用型DSP芯片。
1.3.4 DSP芯片的选择
设计DSP应用系统,选择DSP芯片是非常重要的一个环节。只有选定了DSP芯片,才能进一步设计其外围电路及系统的其他电路。总的来说,DSP芯片的选择应根据实际的应用系统需要而确定。不同的DSP应用系统由于应用场合、应用目的等不尽相同,对DSP芯片的选择也是不同的。一般来说,选择DSP芯片时应考虑到如下诸多因素。
1.DSP芯片的运算速度。运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片时所需要考虑的一个主要因素。DSP芯片的运算速度可以用以下几种性能指标来衡量:
(1) 指令周期:即执行一条指令所需的时间,通常以ns(纳秒)为单位。如TMS320LC549-80在主频为80MHz时的指令周期为12.5ns;
(2) MAC时间:即一次乘法加上一次加法的时间。大部分DSP芯片可在一个指令周期内完成一次乘法和加法操作,如TMS320LC549-80的MAC时间就是12.5ns;
(3) FFT执行时间:即运行一个N点FFT程序所需的时间。由于FFT运算涉及的运算在数字信号处理中很有代表性,因此FFT运算时间常作为衡量DSP芯片运算能力的一个指标;
(4) MIPS:即每秒执行百万条指令。如TMS320LC549-80的处理能力为80 MIPS,即每秒可执行八千万条指令;
(5) MOPS:即每秒执行百万次操作。如TMS320C40的运算能力为275 MOPS;
(6) MFLOPS:即每秒执行百万次浮点操作。如TMS320C31在主频为40MHz时的处理能力为40 MFLOPS;
(7) BOPS:即每秒执行十亿次操作。如TMS320C80的处理能力为2 BOPS。
2.DSP芯片的价格。DSP芯片的价格也是选择DSP芯片所需考虑的一个重要因素。如果采用价格昂贵的DSP芯片,即使性能再高,其应用范围肯定会受到一定的限制,尤其是民用产品。因此根据实际系统的应用情况,需确定一个价格适中的DSP芯片。当然,由于DSP芯片发展迅速,DSP芯片的价格往往下降较快,因此在开发阶段选用某种价格稍贵的DSP芯片,等到系统开发完毕,其价格可能已经下降一半甚至更多。
3.DSP芯片的硬件资源。不同的DSP芯片所提供的硬件资源是不相同的,如片内RAM、ROM的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。即使是同一系列的DSP芯片(如TI的TMS320C54X系列),系列中不同DSP芯片也具有不同的内部硬件资源,可以适应不同的需要。
4.DSP芯片的运算精度。一般的定点DSP芯片的字长为16位,如TMS320系列。但有的公司的定点芯片为24位,如Motorola公司的MC56001等。浮点芯片的字长一般为32位,累加器为40位。
5.DSP芯片的开发工具。在DSP系统的开发过程中,开发工具是必不可少的。如果没有开发工具的支持,要想开发一个复杂的DSP系统几乎是不可能的。如果有功能强大的开发工具的支持,如C语言支持,则开发的时间就会大大缩短。所以,在选择DSP芯片的同时必须注意其开发工具的支持情况,包括软件和硬件的开发工具。
6.DSP芯片的功耗。在某些DSP应用场合,功耗也是一个需要特别注意的问题。如便携式的DSP设备、手持设备、野外应用的DSP设备等都对功耗有特殊的要求。目前,3.3V供电的低功耗高速DSP芯片已大量使用。
7.其他。除了上述因素外,选择DSP芯片还应考虑到封装的形式、质量标准、供货情况、生命周期等。有的DSP芯片可能有DIP、PGA、PLCC、PQFP等多种封装形式。有些DSP系统可能最终要求的是工业级或军用级标准,在选择时就需要注意到所选的芯片是否有工业级或军用级的同类产品。如果所设计的DSP系统不仅仅是一个实验系统,而是需要批量生产并可能有几年甚至十几年的生命周期,那么需要考虑所选的DSP芯片供货情况如何,是否也有同样甚至更长的生命周期等。
在上述诸多因素中,一般而言,定点DSP芯片的价格较便宜,功耗较低,但运算精度稍低。而浮点DSP芯片的优点是运算精度高,且C语言编程调试方便,但价格稍贵,功耗也较大。例如TI的TMS320C2XX/C54X系列属于定点DSP芯片,低功耗和低成本是其主要的特点。而TMS320C3X/C4X/C67X属于浮点DSP芯片,运算精度高,用C语言编程方便,开发周期短,但同时其价格和功耗也相对较高。
DSP应用系统的运算量是确定选用处理能力为多大的DSP芯片的基础。运算量小则可以选用处理能力不是很强的DSP芯片,从而可以降低系统成本。相反,运算量大的DSP系统则必须选用处理能力强的DSP芯片,如果DSP芯片的处理能力达不到系统要求,则必须用多个DSP芯片并行处理。那么如何确定DSP系统的运算量以选择DSP芯片呢?下面我们来考虑两种情况。
1.按样点处理
所谓按样点处理就是DSP算法对每一个输入样点循环一次。数字滤波就是这种情况。在数字滤波器中,通常需要对每一个输入样点计算一次。例如,一个采用LMS算法的256 抽头的自适应FIR滤波器,假定每个抽头的计算需要3个MAC周期,则256抽头计算需要256×3=768个MAC周期。如果采样频率为8kHz,即样点之间的间隔为125ms,DSP芯片的MAC周期为200ns,则768个MAC周期需要153.6ms的时间,显然无法实时处理,需要选用速度更高的DSP芯片。表1.3示出了两种信号带宽对三种 DSP 芯片的处理要求,三种DSP芯片的MAC周期分别为200ns、50ns和25ns。从表中可以看出,对话带的应用,后两种DSP芯片可以实时实现,对声频应用,只有第三种DSP芯片能够实时处理。当然,在这个例子中,没有考虑其他的运算量。
2.按帧处理
有些数字信号处理算法不是每个输入样点循环一次,而是每隔一定的时间间隔(通常称为帧)循环一次。例如,中低速语音编码算法通常以10ms或20ms为一帧,每隔10ms或20ms语音编码算法循环一次。所以,选择DSP芯片时应该比较一帧内DSP芯片的处理能力和DSP算法的运算量。假设DSP芯片的指令周期为 p(ns),一帧的时间为Dt (ns),则该DSP芯片在一帧内所能提供的最大运算量为 Dt/p条指令。例如TMS320LC549-80的指令周期为12.5ns,设帧长为20ms,则一帧内TMS320LC549-80所能提供的最大运算量为160万条指令。因此,只要语音编码算法的运算量不超过160万条指令,就可以在TMS320LC549-80上实时运行。
1.3.5 DSP芯片的应用
自从20世纪70年代末80年代初DSP芯片诞生以来,DSP芯片得到了飞速的发展。DSP芯片的高速发展,一方面得益于集成电路技术的发展,另一方面也得益于巨大的市场。在近20年时间里,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。目前,DSP芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。DSP芯片的应用主要有:
(1) 信号处理——如数字滤波、自适应滤波、快速傅立叶变换、相关运算、谱分析、卷积、模式匹配、加窗、波形产生等;
(2) 通信——如调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、可视电话等;
(3) 语音——如语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音存储等;
(4) 图形/图像——如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等;
(5) 军事——如保密通信、雷达处理、声纳处理、导航、导弹制导等;
(6) 仪器仪表——如频谱分析、函数发生、锁相环、地震处理等;
(7) 自动控制——如引擎控制、声控、自动驾驶、机器人控制、磁盘控制等;
(8) 医疗——如助听、超声设备、诊断工具、病人监护等;
(9) 家用电器——如高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/电视等。
随着DSP芯片性能价格比的不断提高,可以预见DSP芯片将会在更多的领域内得到更为广泛的应用
作者:
suncon
时间:
2003-5-27 10:46
标题:
DSP芯片的原理与开发应用
第2章 DSP芯片的基本结构和特征
2.1 引 言
可编程DSP芯片是一种具有特殊结构的微处理器,为了达到快速进行数字信号处理的目的,DSP芯片一般都具有程序和数据分开的总线结构、流水线操作功能、单周期完成乘法的硬件乘法器以及一套适合数字信号处理的指令集。本章将首先介绍DSP芯片的基本结构,然后介绍TI公司的各种DSP芯片的特征,最后简要介绍其他公司的DSP芯片的特点。
2.2 DSP芯片的基本结构
为了快速地实现数字信号处理运算,DSP芯片一般都采用特殊的软硬件结构。下面以TMS320系列为例介绍DSP芯片的基本结构。
TMS320系列DSP芯片的基本结构包括:(1)哈佛结构;(2)流水线操作;(3)专用的硬件乘法器;(4)特殊的DSP指令;(5)快速的指令周期。
这些特点使得TMS320系列DSP芯片可以实现快速的DSP运算,并使大部分运算(例如乘法)能够在一个指令周期内完成。由于TMS320系列DSP芯片是软件可编程器件,因此具有通用微处理器具有的方便灵活的特点。下面分别介绍这些特点是如何在TMS320系列DSP芯片中应用并使得芯片的功能得到加强的。
2.2.1 哈佛结构
哈佛结构是不同于传统的冯·诺曼(Von Neuman)结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。而冯·诺曼结构则是将指令、数据、地址存储在同一存储器中,统一编址,依靠指令计数器提供的地址来区分是指令、数据还是地址。取指令和取数据都访问同一存储器,数据吞吐率低。
在哈佛结构中,由于程序和数据存储器在两个分开的空间中,因此取指和执行能完全重叠运行。为了进一步提高运行速度和灵活性,TMS320系列DSP芯片在基本哈佛结构的基础上作了改进,一是允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性;二是指令存储在高速缓冲器(Cache)中,当执行此指令时,不需要再从存储器中读取指令,节约了一个指令周期的时间。如TMS320C30具有64个字的Cache。
2.2.2 流水线
与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力。TMS320系列处理器的流水线深度从2~6级不等。第一代TMS320处理器采用二级流水线,第二代采用三级流水线,而第三代则采用四级流水线。也就是说,处理器可以并行处理2~6条指令,每条指令处于流水线上的不同阶段。图2.1所示为一个三级流水线操作的例子。
图2.1 三级流水线操作
在三级流水线操作中,取指、译码和执行操作可以独立地处理,这可使指令执行能完全重叠。在每个指令周期内,三个不同的指令处于激活状态,每个指令处于不同的阶段。例如,在第N个指令取指时,前一个指令即第N-1个指令正在译码,而第N-2个指令则正在执行。一般来说,流水线对用户是透明的。
2.2.3 专用的硬件乘法器
在一般形式的FIR滤波器中,乘法是DSP的重要组成部分。对每个滤波器抽头,必须做一次乘法和一次加法。乘法速度越快,DSP处理器的性能就越高。在通用的微处理器中,乘法指令是由一系列加法来实现的,故需许多个指令周期来完成。相比而言,DSP芯片的特征就是有一个专用的硬件乘法器。在TMS320系列中,由于具有专用的硬件乘法器,乘法可在一个指令周期内完成。从最早的TMS32010实现FIR的每个抽头算法可以看出,滤波器每个抽头需要一条乘法指令MPY:
LT ;装乘数到T寄存器
DMOV ;在存储器中移动数据以实现延迟
MPY ;相乘
APAC ;将乘法结果加到ACC中
其他三条指令用来将乘数装入到乘法器电路( LT),移动数据(DMOV)以及将乘法结果(存在乘积寄存器P中)加到ACC中(APAC)。因此,若采用256抽头的FIR滤波器,这四条指令必须重复执行256次,且256次乘法必须在一个抽样间隔内完成。在典型的通用微处理器中,每个抽头需要30 ~ 40个指令周期,而TMS32010只需4条指令。如果采用特殊的DSP指令或采用 TMS320C54X等新一代的DSP芯片,可进一步降低FIR抽头的计算时间。
2.2.4 特殊的DSP指令
DSP芯片的另一个特征是采用特殊的指令。2.2.3节中介绍的DMOV就是一个特殊的DSP指令,它完成数据移位功能。在数字信号处理中,延迟操作非常重要,这个延迟就是由DMOV来实现的。TMS32010中的另一个特殊指令是LTD,它在一个指令周期内完成LT、DMOV和APAC三条指令。LTD和MPY指令可以将FIR滤波器抽头计算从4条指令降为2条指令。在第二代处理器中,如TMS320C25,增加了2条更特殊的指令,即RPT和MACD指令,采用这2条特殊指令,可以进一步将每个抽头的运算指令数从2条降为1条:
RPTK 255 ;重复执行下条指令256次
MACD ;LT, DMOV, MPY 及 APAC
2.2.5 快速的指令周期
哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计,可使DSP芯片的指令周期在200ns 以下。TMS320系列处理器的指令周期已经从第一代的200ns降低至现在的20ns 以下。快速的指令周期使得DSP芯片能够实时实现许多DSP应用。
作者:
suncon
时间:
2003-5-27 10:48
标题:
DSP芯片的原理与开发应用
2.3 TI定点DSP芯片
自1982年TI推出第一个定点DSP芯片TMS32010以来,TI的定点DSP芯片已经经历了TMS320C1X、TMS320C2X/C2XX、TMS320C5X 、TMS320C54X、TMS320C62X等几代产品,产品的性能价格比不断提高,应用越来越广泛。下面分别介绍这些芯片的主要特征。
2.3.1 TMS320C1X
2.3.1.1 基本特点
第一代TMS320系列DSP芯片包括:TMS32010、TMS32011、TMS320C10、 TMS320C15/E15和TMS320C17/E17。其中,TMS32010和TMS32011采用2.4mm的 NMOS 工艺,而其他几种则采用1.8mm CMOS工艺。这些芯片的典型工作频率为20MHz。TMS320第一代DSP芯片的主要特点如下:
· 指令周期:160ns/200ns/280ns
· 片内RAM:144字/256字(TMS320C15/E15/C17/E17)
· 片内ROM:1.5K字/4K字(TMS320C15/C17)
· 4K字片内程序EPROM(TMS320E15/E17)
· 4K字外部全速存储器扩展
· 并行乘法器:乘积为32位
· 桶形移位器:将数据从存储器移到ALU
·10 \h 并行移位器
· 允许文本交换的4×12位堆栈
· 两个间接寻址的辅助寄存器
· 双通道串行口(TMS32011,TMS320C17/E17)
· 片内压扩硬件(TMS32011,TMS320C17/E17)
ymbol \s 10 \h 协处理器接口(TMS320C17/E17)
· 器件封装:40脚双列直插(DIP)/44脚塑封(PLCC)
2.3.1.2 TMS320C10
TMS320 DSP芯片的第一代产品是基于TMS32010和它的CMOS版本TMS320C10的结构。TMS32010于1982年推出,是第一个能够达到 5 个MIPS的微处理器。
TMS32010采用改进的哈佛结构,即程序和数据空间相互独立。程序存储器可在片内(1.5K字)或片外(4K字)。片内数据RAM为144字。有四个基本的算术单元:算术逻辑单元(ALU)、累加器(ACC)、乘法器和移位器。
(1) ALU:32位数据操作的通用算术逻辑单元。ALU可进行加、减和逻辑运算;
(2) ACC:累加器存储ALU的输出,也是ALU的一个输入。它采用32位字长操作,分高16位和低16位两部分。处理器提供高16位和低16位的专门指令:SACH(高16位)和SACL(低16位);
(3) 乘法器:16×16位并行乘法器由三个单元组成:T寄存器、P寄存器和乘法器阵列。T寄存器存储被乘数,P寄存器存储32位乘积。为了使用乘法器,被乘数首先必须从数据RAM中装入到T寄存器,可用LT、LTA和LTD指令。然后执行MPY(乘)或MPYK(乘立即数)指令。乘和累加器操作可用LTA、LTD和MPY、MPYK指令在两个指令周期内完成;
(4) 移位器:有两个移位器可用于数据移位。一个是桶形移位器,另一个是并行移位器。桶形移位器又称定标移位器。当数据存储器的数据送入累加器或与累加器中的数据进行运算时,先通过这个移位器进行0~16位左移,然后再进行运算。并行移位器即输出移位器,其作用是将累加器中的数据左移0、1或4位后再送入数据存储器中,以实现小数运算或小数乘积的调整。
在TMS32010/C10基础上又派生了多个处理器,它们可提供不同的处理器速度、存储器扩展和各种I/O集成。
作者:
suncon
时间:
2003-5-27 10:50
标题:
DSP芯片的原理与开发应用
2.3.1.3 TMS320C1X的其他芯片
1.TMS320C15/E15
TMS320C15/E15与TMS32010的代码和管脚全兼容,提供256字的片内RAM和4K字的片内ROM(C15)或EPROM(E15)。TMS320C15的指令周期有200ns和160ns(TMS320C15-25)两种。
2.TMS320C17/E17
TMS320C17/E17是一个专用的微处理器。它有4K字的片内程序ROM(C17)或EPROM(E17),一个全双工串行通信的双通道串行口,片内硬件压扩器(m律/A律),一个用于串行通信的串行口定时器,及一个协处理器接口。协处理器接口可以在处理器和4/8/16位微处理器之间提供直接接口。TMS320C17/E17与TMS32010目标代码兼容,且可用相同的开发工具。该处理器是基于TMS320C10的CPU内核,外加片内的外设存储器和I/O模块。TMS320C17/E17可认为是半定制的DSP芯片。表2.1 是TMS320第一代产品的比较表。
作者:
suncon
时间:
2003-5-27 10:52
标题:
DSP芯片的原理与开发应用
2.3.2 TMS320C2X
第二代TMS320 DSP芯片包括TMS32020、TMS320C25/E25、TMS320C26及TMS320C28。在这些芯片中,TMS32020是一个过渡的产品,其指令周期为200ns,与TMS32010相当,而其硬件结构则与TMS320C25一致。在第二代DSP芯片中,TMS320C25是一个典型的代表,其他芯片都是由TMS320C25派生出来的。其中TMS320E25将内部4K字的ROM改为EPROM;TMS320C26去掉了内部的4K字ROM,而将片内RAM增加到1.5K字;TMS320C28则将内部ROM增加到8K字。由于TMS320C25的典型性,下面就讨论TMS320C25的基本特征和结构。
2.3.2.1 TMS320C25的基本特征
· 指令周期: TMS320C25:100ns,TMS320C25-33:120ns,TMS320C25-50:80ns
· 片内掩膜ROM:4K 字
· 片内RAM:544字,分B0、B1和B2三块
· 程序和数据空间均为64K字
· 具有8级硬件堆栈、8个辅助寄存器
· 具有全静态双缓冲串行口,可与许多串行器件直接接口
· 与低速片外存储器通信的等待状态插入
·0 \h 采用HOLD操作的DMA
· FFT变换用的比特反转寻址
· 扩展精度算术和自适应滤波支持
· 从外部存储器全速执行的MAC/MACD指令
· 具有在多处理器之间进行同步的能力,支持多处理器共享存储器
ol \s 10 \h 1.8μm CMOS工艺,68脚PGA或PLCC封装
2.3.2.2 TMS320C25的结构
TMS320C25是第二代TMS320中与TMS32020管脚全兼容的CMOS版本,但指令执行速度是TMS32020的2倍,且增加了硬件和软件资源。指令集是TMS32010和TMS32020的超集,在源代码级与它们兼容。此外,在代码级与TMS32020兼容,因此,TMS32020的程序可不用修改直接在TMS320C25上运行。
100ns的指令周期可提供较强的运算能力。由于大部分指令在一个指令周期内执行,处理器在1秒内可执行1000万条指令(10MIPS)。运算能力的增加主要得益于乘累加指令(MAC)和带数据移位的乘累加指令(MACD)、具有专用算术单元的8个辅助寄存器、适合于自适应滤波和扩展精度运算的指令集支持、比特反转寻址、快速的I/O支持等。
指令集中提供在两个存储空间中进行数据移动的指令。在外部,程序和数据存储空间在同一总线上复用,从而使得在尽量减少芯片引脚的情况下最大程度地扩大两个空间的地址范围。在内部,TMS320C25结构通过保持程序和数据总线结构分离以使指令全速执行来获得最大的处理能力。
芯片内部的程序执行采用三级流水线形式。流水线对用户来说是透明的。但是,在某些情况下流水线可能被打断(如跳转指令),在这种情况下,指令执行时间要考虑流水线必须清空和重新填充。两块大的片内RAM在系统设计时提供了很大的灵活性,其中一块既可配置为程序存储器也可配置为数据存储器。片外64K字的数据空间可直接寻址,从而使DSP算法实现更为方便。片内4K字的掩膜ROM可用来降低系统成本,若程序不超过4K字,可使TMS320C25不用扩展片外程序存储器。剩下的64K字程序空间在片外,大量的程序可在片外存储器中全速运行。程序也可从片外慢速EPROM中装入到片内高速RAM中全速运行。此外,还有硬件定时器、串行口和数据块搬移功能。
下面介绍TMS320C25的存储器分配、中央算术逻辑单元(CALU)、硬件乘法器、控制操作、串行口和I/O接口。
1.存储器分配
TMS320C25具有4K字的片内程序ROM和544字的片内RAM。RAM分为三块:B0、B1、B2。其中,B0块(256字)既可配置为数据存储器(用CNFD指令),也可配置为程序存储器(用CNFP指令)。其余288字(B1和B2块)只能是数据存储器。544字的片内RAM可使C25能处理512字的数据阵列,如可进行256点复数FFT运算,且尚有32字用作中间结果的暂存。TMS320C25提供片外可直接寻址的程序和数据空间各64K字。
寄存器组包含8个辅助寄存器(AR0~AR7),它们可用作数据存储器的间接寻址和暂存,从而增加芯片的灵活性和效率。这些寄存器既可用指令直接寻址,也可用3比特的辅助寄存器指针(ARP)间接寻址。辅助寄存器和ARP既可从数据存储器装数,也可装入立即数。寄存器的内容也可存入数据存储器中。辅助寄存器组与辅助寄存器算术单元(ARAU)相连接,用ARAU访问信息表无需CALU参与地址操作,这样可让CALU进行其他操作。
2.中央算术逻辑单元
CALU包含一个16位的定标移位器(Scaling),一个16×16位的并行乘法器,一个32位的累加器和一个32位的算术逻辑单元(ALU)。移位器根据指令要求提供0到16位的数据左移。累加器和乘法器输出端的移位器适合于数值的归一化、比特提取、扩展精度算术和溢出保护。
典型的ALU指令实现包含以下三步:
(1) 数据在数据总线上从RAM中获取;
(2) 数据移交给完成算术运算的定标移位器和ALU;
(3) 结果送回累加器。
32位累加器可分为2个16位以进行数据存储:SACH(高16位)和ACCL(低16位)。累加器有一个进位位可方便加法和减法的多精度运算。
3.硬件乘法器
TMS320C25具有一个16×16位的硬件乘法器,它能在一个指令周期内计算一个32位乘积。有两个寄存器与乘法器相关:①16位暂存寄存器TR,用于保存乘法器的一个操作数;②32位乘积寄存器PR,用于保存乘积。
乘积寄存器的输出可左移1位或4位,这对于实现小数算术运算或调整小数乘积很有用。PR的输出也可右移6位,这样可连续执行128次乘/加而无溢出。无符号乘(MPYU)指令可方便扩展精度乘法。
4.I/O接口
I/O空间由16个输入口和16个输出口组成。这些口可提供全16位并行I/O接口。输入(IN)和输出(OUT)操作典型的是2个周期,但若用重复指令,可变成单周期指令。I/O器件映射到I/O地址空间,其方式与存储器映射方式相同。与不同速度的存储器或I/O器件接口采用READY线完成。
TMS320C25也支持外部程序/数据存储器的DMA,其他处理器通过置HOLD\ 为低后可完全控制TMS320C25的外部存储器,使C25将其地址、数据和控制线呈高阻状态。外部处理器和C25的通信可通过中断来完成。TMS320C25芯片提供两种DMA方式,一种是加上HOLD后停止执行;另一种是C25继续执行,但执行是在片内ROM和RAM中进行,这可大大提高性能。
2.3.2.3 TMS320C25的软件
TMS320C25的指令总共有133条,其中97条是单周期指令。在另外36条指令中,21条包括跳转、调用、返回等,这些指令需重新装入程序计数器,使执行流水线中断。另外7条指令是双字和长立即数指令。剩下的8条指令(IN,OUT,BLKD,BLKP,TBLR,TBLW,MAC,MACD)支持I/O操作、存储器之间的数据交换或提供处理器内部额外的并行操作,而且这8条指令与重复计数器配合使用时可成为单周期指令。这主要利用了处理器的并行机制,使得复杂的计算可用很少的几条指令来完成。
由于大多数指令用单16位字编码,故可在一个周期内完成。存储器寻址方式有三种:直接寻址、间接寻址和立即数寻址。直接寻址和间接寻址都用来访问数据存储器,立即数寻址利用由程序计数器确定的存储器内容。
使用直接寻址方式时,指令字的7位和9位数据存储器页指针(DP)构成16位的数据存储器地址。其中,每页长128字,共有512页,故可寻址64K的数据空间。间接寻址借助于8个辅助寄存器(AR0~AR7)。表2.2 列出了7种间接寻址方式。其中的比特反转寻址可大大提高 FFT运算的I/O效率。其中,OP表示某种运算,NARP表示新的ARP。
作者:
suncon
时间:
2003-5-27 10:53
标题:
DSP芯片的原理与开发应用
2.3.3 TMS320C5X
TMS320C5X是TI公司的第五代产品,是继TMS320C1X和TMS320C2X之后的第三代定点DSP处理器。它的核心中央处理器(CPU)以TMS320C25的核心CPU为基础,增强型结构大幅度地提高了整体性能。TMS320C5X工作速度是TMS320C25的2倍以上,对于TMS320C1X和TMS320C2X具有源代码向上兼容特性。这种兼容性保留了过去开发的软件,便于系统升级到更高性能的DSP系统。TMS320C5X系列有TMS320C50/C51/C52/C53等多种产品,它们的主要区别是片内RAM、ROM等资源的多少,如TMS320C50内部具有10K字RAM和2K字ROM,其中2K字ROM已经固化了引导程序;TMS320C51内部具有2K字RAM和8K字ROM;TMS320C52内部具有1K字RAM和4K字ROM,减少了一个串行口;TMS320C53内部则有4K字RAM和16K字ROM。芯片的其他性能则是完全相同的。下面以TMS320C50为例介绍TMS320C5X DSP 芯片。
2.3.3.1 TMS320C50的基本特征
TMS320C50的主要特点包括:
· 25/35/50ns的指令周期(20 ~ 40 MIPS)
· 224K×16位最大可寻址外部存储空间(64K程序、64K数据、64K I/O、32K全局)
· 算术逻辑单元(ALU),32位累加器(ACC)以及32位加法器的缓冲器(ACCB)
· 并行逻辑单元(PLU)
· 结果具有32位的16×16位并行乘法器
· 单周期乘累加指令
· 具有一个专用算术单元的8个辅助寄存器,可用于间接寻址
· 8级硬件堆栈
· 0~16位数据左移和右移
· 两个间接寻址的循环缓冲器,用于循环寻址
· 程序代码的单指令重复和程序块重复
· 全双工同步串行口,用于完成TMS320C5X与其他串行器件之间的直接通信
· 时分多址访问(TDM )串行口
· 内部定时器,可用软件控制
· 64K 并行I/O 口,其中16个有存储器映像
· 可软件编程的等待状态发生器
ol \s 10 \h 扩展保持操作,用于并发外部DMA
· 四级流水线操作,用于延迟跳转、调用、返回指令
· 比特反转寻址方式,用于FFT运算
· JTAG扫描仿真接口(IEEE标准,P1149.1)
1.核心CPU
TMS320C5X CPU的增强功能在提高性能和通用性的同时,保持了对TMS320C1X和TMS320C2X源代码的兼容性。硬件的改进包括:一个32位累加器缓冲器,附加定标能力,利用附加硬件功能的新指令。新的控制功能包括:独立的并行逻辑单元(PLU)和一组文本交换寄存器。数据管理方面的改进包括:采用新的块搬移指令和存储器映像寄存器指令。TMS320C50有28个存储器映像寄存器和16个存储器映像的I/O口。
2.片内ROM
TMS320C50拥有2K×16位掩蔽ROM,内部固化了引导程序。该存储器把程序从外部ROM/EPROM、串行口或并行I/O口引导至运行速度较快的SRAM中。这块引导ROM可通过PMST状态寄存器中的MP/MC\ 位从程序存储空间去除。如果该ROM未选,则TMS320C50由片外存储器启动执行。
3.片内数据RAM
TMS320C50具有1056字的片内RAM,这块RAM 可在每个机器周期内访问两次(双寻址RAM),只要两次访问不是“写”操作。这块存储空间主要用于存储数据,但是如果需要也可用于存储程序和数据。其配置有两种方式:所有的1056字都作为数据存储区,或者将其中的544字作为数据存储器,512字作为程序存储区。可通过状态寄存器ST1中的CNF位选择设置。
4.片内程序/数据RAM
TMS320C50还具有9K字的片内RAM。这一存储区可以由软件设置映射到程序或数据存储空间。程序从片外存储器引导后,可装入到该存储区全速运行。
5.片内存储器安全
TMS320C50可以通过可屏蔽选择来保护片内存储器的内容。当相关比特置位时,外部无法访问片内存储空间。
6.有地址映射的软件等待状态发生器
软件等待状态逻辑不需要任何外部硬件就可以实现TMS320C50与速度较慢的片外存储器和I/O设备接口。该电路系统拥有16个等待状态发生器,其中可由用户编程操作的有0,1,2,3和7状态。
7.并行I/O口
TMS320C50共有64K I/O口,其中的16个可映射在数据存储空间。这些口可由IN或OUT指令寻址。具有存储器映像的I/O口可按存储器的读写方式访问。I/O口的访问由IS\线选通。增加简单的片外地址译码电路,就可实现TMS320C50的I/O口与外部I/O设备的简单连接。
8.串行I/O口
TMS320C50有两个高速串行口。串行口最快可按1/4机器周期(CLKOUT1)操作。一个是同步全双工串行口,发送和接收都有缓冲,分别由可屏蔽外部中断信号控制,数据可按照8或16位方式传输;另一个串行口为全双工串口,可设置为同步方式,也可设置为时分多址(TDM)方式,TDM串行口一般用于多处理机系统。
9.16位硬件定时器
16位硬件定时器可由软件进行控制,通过设置相应的状态位,定时器可工作在停止、重启动、复位或不工作等状态。
10.用户可屏蔽中断
TMS320C50有4个外部中断线。片内的中断锁存电路可实现异步中断操作。此外,还有5个内部中断:1个定时器中断和4个串行口中断。
11.JTAG扫描逻辑
JTAG扫描逻辑电路用于仿真和测试,采用JTAG可实现在线仿真。
2.3.3.2 TMS320C50的结构
TMS320C50采用了与TMS320C25类似的哈佛型总线结构,通过两个独立的数据总线和程序总线,最大限度地提高运算速度。指令支持在两个存储区之间的数据传输。
TMS320C50使用32位的ALU和累加器以实现2的补码运算。ALU是一个通用的算术单元,它所使用的运算数据(16位)来自数据RAM或来自立即数指令,也可以是乘积寄存器中32位的乘积结果。除此之外,ALU还可以执行位操作。累加器保存ALU的输出,也为ALU提供下一个输入。字长为32位的累加器分为高字节和低字节。指令提供对低字节和高字节的单独存储。32位的累加器缓冲器用于临时快速地存储累加器的内容。
除了ALU之外,并行逻辑单元(PLU)可以在不影响累加器内容的情况下对数据进行逻辑操作。PLU提供了高速控制器需要的位处理能力,并简化了控制和状态寄存器需要的置位、清零和测试操作。
乘法器以单指令周期完成16×16位的乘法,结果为32位。乘法器由三部分组成,分别是乘法器阵列、PREG(乘积寄存器)、TREG0(临时寄存器)。16位的TREG0存储乘数,PREG保存32位的乘积结果。乘法器中的数值来自数据存储器,当使用MAC/MACD/MADS/MADD指令时来自程序存储器,或者来自乘立即数指令(MPY #)。片内快速乘法器对执行诸如卷积、相关和滤波等基本的DSP操作十分有效。
TMS320C50的定标移位器有一个16位的输入来自数据总线,32位的输出连接到ALU。定标移位器依照指令的编程使输入数据产生0到16位的左移。移位量取决于指令或移位计数寄存器(TREG1)中的定义值。输出的最低有效位(LSB)补零,最高有效位补0或符号扩展(取决于状态寄存器ST1的符号扩展模式位SXM)。附加的移位能力使处理器能执行数值定标、二进制位提取、符号扩展运算和溢出防止等功能。
8级硬件堆栈用于在中断及子程序调用时保存程序计数器的内容。中断发生时,重要寄存器(ACC、ACCB、ARCR、INDX、PMST、PREG、ST0、ST1和TREG)压入堆栈,中断返回时弹出,实现了无开销的中断文本切换。
作者:
valerie
时间:
2003-5-30 06:20
标题:
DSP芯片的原理与开发应用
获益匪浅 谢谢!
欢迎光临 光电工程师社区 (http://bbs.oecr.com/)
Powered by Discuz! X3.2