DSP得软件开发流程为:将一个或多个汇编语言程序(源程序)经过汇 编与链接 ,生成COFF 格式得可执行文件,再通过软件仿真器或在线仿真器得调试,打开FlashBurn软件,新建一个cdd文件并进行设置装载FBTCout,然后再擦除和烧写Flash 去掉仿真器并复位DSP目标板来加载。
1 DSP是专门用于进行数学信号处理的器件,内部有许多适合做信号处理运算的单元,如乘累加(MAC),位倒序等,另外有一些DSP的功耗非常小,适合与手持设备的信号处理。
2 TI的DSP内部有:独立的MAC单元,独立的多通道DMA,多总线的内部存贮器,丰富的外设资源,低功耗,特殊译码单元,协处理器单元等等
3 这个就多啦,现在的手机,游戏机,变频空调,几乎充斥整个生活。例如,GPS中的卫星信号接收后的运算,而且得到位置信息;手机的语音、的传输都需要DSP做相应处理。
4 有许多的FPGA可以替代DSP。DSP实际上是一个CPU,只不过是有特殊运算能力的CPU;而FPGA更底层,它同时许多基础电路实现DSP运算的功能。一般来讲,DSP要灵活些,而FPGA处理速度要更快。
5 大多数DSP的寻址有专门的部件来完成(如TI的C5000),它们可以在进行算术运算或其它指令执行是同时完成地址计算。举个例子吧,C5000的DSP可以在一个时钟内完成两个地址指针的加/减/循环运算。这也是DSP能完成实时信号处理运算的一个重要原因。
6 流水线在现在的CPU中被广泛使用,不仅仅是DSP。一条指令从读取到最后执行往往需要很多步,需要不同的部件来完成。所以,每条指令在执行时都需要若干个时钟周期。但如果将这些执行部件并列起来,比如一条指令处于执行阶段,但这是前面的读指令部件,译码部件都空闲了,所以可以让它们去做下一条指令的译码,再下一条指令的读取,这就是流水线。一旦指令进入流水线,那就只需要一个时钟周期就可以完成了。
7 DSP的总线结构往往采用独立的数据空间和程序空间,也就说数据存贮器和程序存贮器都有独立的总线(数据线和地址线)做访问。另外,DSP的数据空间总线还有多组,比如,TI的C5500系列,有三套数据读总线,二套数据写总线,一套程序读写总线。数据和程序总线分离,这个是DSP的一大特点。其他的普通CPU都不这样的。但总线分离,并不一定对存贮器是分开编址。TI的C5500,C6000的存贮器,其数据和程序都是统一编址。对于这种联合编址的系统,简单地讲就是一个地址为0x1000的存贮器,如存放代码就是程序空间,使用程序总线访问;如存放数据就是数据空间,使用数据空间总线来访问。这是有DSP内部的总线机制来完成,程序员并不关心。程序员只需要明确这个地址是用来放程序的,还是数据的。
DSP原理与特点
数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。DPS原理就是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。
数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。
数字信号处理的实现方法很多,比如 在通用计算机上用软件(如Fortran、C语言)实现;在通用计算机系统中加上专用的加速处理机实现;用通用的单片机实现,这种方法可用于一些不太复杂的数字信号处理,如数字控制等;
用通用的可编程DSP芯片实现。与单片机相比,DSP芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法;
用专用的DSP芯片实现,在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现,例如专用于FFT、数字滤波、卷积等算法的DSP芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需软件编程。
DSP普遍采用数据总线和程序总线分离的哈佛结构,允许取指令和执行指令进行全部重叠进行;可直接在程序和数据空间之间进行信息传送,减少访问冲突,从而获得高速运算能力。
而且大多采用流水技术,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等步骤,从而在不提高时钟频率的条件下减少了每条指令的执行时间。DSP通常有三级以上的流水线。
在每个时钟周期执行多个 *** 作。针对滤波、相关、矩阵运算等需要大量乘法累加运算的特点,DSP大都配有独立的乘法器和加法器,使得在同一周期内可以完成相乘、累加两个运算。有的DSP可以同时进行乘、加、减运算,大大加快了FFT的蝶形运算速度。
DSP系统的应用领域
(1)通用数字信号处理:数字滤波、卷积、相关、FFT、自适应滤波、波形发生等。
(2)通信领域:高速调制解调器、编/译码器、传真、程控交换机、卫星通信、IP电话等。
(3)语音处理:语音识别、合成、矢量编码、语音信箱等。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字信号处理在理论上的发展推动了数字信号处理应用的发展。反过来,数字信号处理的应用又促进了数字信号处理理论的提高。而数字信号处理的实现则是理论和应用之间的桥梁。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。世界上第一个单片DSP芯片应当是1978年AMI公司发布的S2811,1979年美国Intel公司发布的商用可编程器件2920是DSP芯片的一个主要里程碑。这两种芯片内部都没有现代DSP芯片所必须有的单周期乘法器。1980年,日本NEC公司推出的μPD7720是第一个具有乘法器的商用DSP芯片。在这之后,最成功的DSP芯片当数美国德州仪器公司(TexasInstruments,简称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%。DSP处理器与通用处理器的比较考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。 类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了DSP器件与通用处理器(GPP)的分流:1、对密集的乘法运算的支持GPP不是设计来做密集乘法任务的,即使是一些现代的GPP,也要求多个指令周期来做一次乘法。而DSP处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果bits的额外bits来避免溢出。同时,为了充分体现专门的乘法-累加硬件的好处,几乎所有的DSP的指令集都包含有显式的MAC指令。2、存储器结构传统上,GPP使用冯诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。通常,做一次乘法会发生4次存储器访问,用掉至少四个指令周期。大多数DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问。这种安排将处理器存贮器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP得以实现单周期的MAC指令。还有一个问题,即现在典型的高性能GPP实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。然而从逻辑上说,两者还是有重要的区别。GPP使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。与此相反,DSP使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用DSP时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。此外,DSP处理器几乎都不具备数据高速缓存。这是因为DSP的典型数据是数据流。也就是说,DSP处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。3、零开销循环如果了解到DSP算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的DSP都有专门的硬件,用于零开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减1。与此相反,GPP的循环使用软件来实现。某些高性能的GPP使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。4、定点计算大多数DSP使用定点计算,而不是使用浮点。虽然DSP的应用必须十分注意数字的精确,用浮点来做应该容易的多,但是对DSP来说,廉价也是非常重要的。定点机器比起相应的浮点机器来要便宜(而且更快)。为了不使用浮点机器而又保证数字的准确,DSP处理器在指令集和硬件方面都支持饱和计算、舍入和移位。5、专门的寻址方式DSP处理器往往都支持专门的寻址模式,它们对通常的信号处理 *** 作和算法是很有用的。例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对FFT很有用)。这些非常专门的寻址模式在GPP中是不常使用的,只有用软件来实现。 6、执行时间的预测大多数的DSP应用(如蜂窝电话和调制解调器)都是严格的实时应用,所有的处理必须在指定的时间内完成。这就要求程序员准确地确定每个样本需要多少处理时间,或者,至少要知道,在最坏的情况下,需要多少时间。如果打算用低成本的GPP去完成实时信号处理的任务,执行时间的预测大概不会成为什么问题,应为低成本GPP具有相对直接的结构,比较容易预测执行时间。然而,大多数实时DSP应用所要求的处理能力是低成本GPP所不能提供的。这时候,DSP对高性能GPP的优势在于,即便是使用了高速缓存的DSP,哪些指令会放进去也是由程序员(而不是处理器)来决定的,因此很容易判断指令是从高速缓存还是从存储器中读取。DSP一般不使用动态特性,如转移预测和推理执行等。因此,由一段给定的代码来预测所要求的执行时间是完全直截了当的。从而使程序员得以确定芯片的性能限制。7、定点DSP指令集定点DSP指令集是按两个目标来设计的:·使处理器能够在每个指令周期内完成多个 *** 作,从而提高每个指令周期的计算效率。·将存贮DSP程序的存储器空间减到最小(由于存储器对整个系统的成本影响甚大,该问题在对成本敏感的DSP应用中尤为重要)。为了实现这些目标,DSP处理器的指令集通常都允许程序员在一个指令内说明若干个并行的 *** 作。例如,在一条指令包含了MAC *** 作,即同时的一个或两个数据移动。在典型的例子里,一条指令就包含了计算FIR滤波器的一节所需要的所有 *** 作。这种高效率付出的代价是,其指令集既不直观,也不容易使用(与GPP的指令集相比)。GPP的程序通常并不在意处理器的指令集是否容易使用,因为他们一般使用象C或C++等高级语言。而对于DSP的程序员来说,不幸的是主要的DSP应用程序都是用汇编语言写的(至少部分是汇编语言优化的)。这里有两个理由:首先,大多数广泛使用的高级语言,例如C,并不适合于描述典型的DSP算法。其次,DSP结构的复杂性,如多存储器空间、多总线、不规则的指令集、高度专门化的硬件等,使得难于为其编写高效率的编译器。即便用编译器将C源代码编译成为DSP的汇编代码,优化的任务仍然很重。典型的DSP应用都具有大量计算的要求,并有严格的开销限制,使得程序的优化必不可少(至少是对程序的最关键部分)。因此,考虑选用DSP的一个关键因素是,是否存在足够的能够较好地适应DSP处理器指令集的程序员。8、开发工具的要求因为DSP应用要求高度优化的代码,大多数DSP厂商都提供一些开发工具,以帮助程序员完成其优化工作。例如,大多数厂商都提供处理器的仿真工具,以准确地仿真每个指令周期内处理器的活动。无论对于确保实时 *** 作还是代码的优化,这些都是很有用的工具。GPP厂商通常并不提供这样的工具,主要是因为GPP程序员通常并不需要详细到这一层的信息。
DSP的原理是:接收外部输入的模拟信号,然后将其转换为数字信号(为0或1),再对数字信号进行运算处理,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。DSP的应用:DSP广泛应用于通信、计算机、消费类电子产品等领域。
一、DSP的概念
DSP即数字信号处理技术,DSP芯片即指能够实现数字信号处理技术的芯片。DSP芯片是一种快速强大的微处理器,独特之处在于它能即时处理资料。
DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,可以用来快速的实现各种数字信号处理算法。在当今的数字化时代背景下,DSP己成为通信、计算机、消费类电子产品等领域的基础器件。
二、DSP的应用
应用DSP的领域较多,未来新应用领域有望层出不穷。
根据美国的权威资讯公司统计,目前DSP芯片在市场上应用最多的是通信领域,占561%;其次是计算机领域,占2116%;消费电子和自动控制占1069%;军事、航空占459%;仪器仪表占35%;工业控制占331%;办公自动化占065%。
看函数的名字,貌似是在往端口写数据,然后定义一个status的变量,一个延时,之后的循环一直在轮询,就是等待端口完成某些 *** 作,你应该看看中断里面执行了什么 *** 作,因为这里很明显,c_addr这儿在不断轮询过程中会发生变化。最后把数据值付给了端口。
以上就是关于怎样生成可执行的DSP文件,怎样进行DSP程序的加载全部的内容,包括:怎样生成可执行的DSP文件,怎样进行DSP程序的加载、请教关于DSP(C54x)的一些知识、dsp原理及应用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)