因此它是伴随着数字信号处理才产生的。
二、 DSP的基本特征
本设计采用的是TMS320C54x系列DSP,具有改进的哈佛结构、硬件乘法器、流水线结构、高效特殊才旨令集等优点,使它的处理速度和容量大大提高,为数字滤波中的复杂算法的实现提供了硬件的保证。
1、哈佛总线结构
计算机的总线结构可分为两种。一种是冯·诺依曼结构,其特点是程序和数据共用一个存储空间。统一编址依靠指令计数器提供的地址来区分是指令数据还是地址。由于对数据和程序进行分时读写,执行速度漫。但是半导体工艺的飞速发展克服了这一缺陷,同时这一结构使计算机结构得到简化,并成为计算机发展的一个标准。但由于原理上的特点,这一结构并不适合进行具有高度实时要求的数字信号处理。哈佛结构与冯·诺依曼结构相比,其主要特点是程序和数据具有独立的存储空间,有着各自独立的程序总线和数据总线,大大地提高了数据处理能力,非常适合于实时数字信号处理。TI公司的DSP芯片的结构是改进的哈佛结构,内部采用三个并行的总线,程序读写总线、PAB)、读数据总线 (DABI)、写数据总线(DABZ),每组总线连接不同的存储器空间,使程序存储器与数据存储器成为独立的两个存储空间,并且允许数据在程序存储器和数据存储器之间进行传递,这种结构允许取指令和取操作数并行进行,增加了器件的运算速度。
2、硬件乘法器
在通用的计算机上,算术逻辑单元(ALU)只能完成两个操作数的加、减及逻辑运算,而乘法(或除法)则是由加法和移位来实现。因此它们实现乘加运算就比较慢,而在数字滤波算法中需要大量的乘加运算,在TMs320c55xDSP中有一个硬件乘法器,可以在一个指令周期内完成一次乘法和一次加法运算,可以大大提高数字滤波系统的运算速度。
3、流水线结构
TMS320C54xDSP采用四级流水线指令操作方式,减少了指令的执行时间,提高了处理器的吞吐量。任何处理器执行一条指令,总是要经过取指令、译码、读操作数和执行指令四个阶段,需要若干个机器周期才能完成。TMS320C54xDSP系
6
列由于指令和操作数来自不同的空间,同一时刻,可以有四条指令的不同阶段在并行处理,尽管每条指令执行的时间仍然是几个机器周期,但由于指令的流水作业,实现了多条指令的并行执行。
4、高效指令集
数字信号处理运算的特点之一就是单一运算的重复执行,在通用的处理器中,一般采用软件的方法来解决,基本方法是采用循环控制或指令重复,循环控制除了在判断行环次数及操作转向上需要指令开销外,还会因DSP流水线的频繁中断而造成相当大的开销:指令重复的代价是增加了程序代码长度,占用更多的存储空间。而在TM5320C54x DSP中设置了硬件循环控制电路,提供了重复指令,实现零开销的循环控制。所有这些优点使得DSP非常适合来做数字滤波器的硬件电路。
三、 TMS320C54xx的硬件结构
1、C54X的CPU体系结构
C54X有1条32位的程序数据总线(PB),5条16位数据总线(BB、CB、DB、EB、FB)和1条24位的程序地址总线及5条23位地址总线,这些总线分别与CPU相连。总线通过存储单元接口(M)与外部程序总线和数据总线相连,实现CPU对外部存储器的访问。这种并行的多总线结构,使CPU能在一个CPU周期内完成1次32位程序代码读、3次16位数据读和两次16位数据写。C55X根据功能的不同将CPU分为4个单元,指令缓冲单元(I)、程序流程单元(P)、地址流程单元(A)、和数据计算单元(D)。
读程序地址总线(PDA)上传送24位的程序代码地址,由读程序总线(PB)将32位的程序代码送入指令缓冲单元进行译码。
2、指令缓冲单元(I)
C54X的指令缓冲单元有指令缓冲队列IBQ和指令译码器组成。在每个CPU周期内,I单元将从程序数据接收的4B程序代码放入指令缓冲队列,指令译码器从队列中取6B程序代码,根据指令的长度可对8位、16位、24位、32位和48位的变长指令进行译码,然后把译码数据送入P单元、A单元和D单元去执行。
7
3 、程序流程单元(P)
程序流程单元有程序地址产生电路和寄存器组凑成。程序流程单元产生所有程序空间的地址,并控制指令的读取顺序。
程序地址产生逻辑电路的任务是产生读取空间的24位地址。一般情况下,它产生的是连续地址,如果指令要求读取非连续地址的程序代码时,程序地址产生逻辑电路能够接收来自I单元的立即数和来自D单元的寄存器值,并将产生的地址传送到PAB。
在P单元中使用的寄存器分为5种类型:
a.程序流寄存器:包括程序计数器、返回地址寄存器和控制流程关系寄存器。 b.块重复寄存器:包括块重复寄存器0和1(BRC0、BRC1)BRC1的保存寄存器(BRS1)、块重复起始地址寄存器0和1以及块重复结束地址寄存器0和1。
c.单重复寄存器:包括单重复寄存器和计算单重复寄存器。
d.中断寄存器:包括中断标志寄存器0和1、中断使能寄存器0和1以及调试中断使能寄存器0和1。
e.状态奇存期:包括状态寄存器0,1,2和3。
4、地址程序单元(A)
地址程序单元包括数据地址产生电路、算术逻辑电路和寄存器组构成。 数据地址产生电路能够接收来自I单元的立即数和来自A单元的寄存器产生读取数据空间的地址。对于使用间接寻址模式的指令,有P单元向DAGEN说明采用的寻址模式。
A单元包括一个16位的算术逻辑单元,它既可以接收来自I单元的立即数也可以与存储器、I/O空间、A单元寄存器、D单元寄存器和P单元寄存器进行双向通信。
A单元包括的寄存器有以下几种类型。
a.数据页寄存器:包括数据页寄存器和接口数据页寄存器;
b.指针:包括系数数据指针寄存器、堆栈针寄存器和8个辅助寄存器; c.循环缓冲寄存器:包括循环缓冲大小寄存器、循环缓冲起始地址寄存器; d.临时寄存器:包括临时寄存器。
8
5、数据计算单元(D)
数据计算单元由移位器、算数逻辑电路、乘法累加器和寄存器组构成。D单元包含了CPU的主要运算部件。
D单元移位器能够接收来自I单元的立即数,能够与存储器、I/O单元、A单元寄存器、D单元寄存器和P单元寄存器进行双向通信,此外,还可以向D单元的ALU和A单元的ALU提供移位后的数据。移位可以完成以下操作:
a.对40位的累加器可以完成向左最多32位的移位操作,移位数乐意从零食寄存器读取或由指令中的常数提供;
b.对于16位寄存器、存储器或I/O空间数据可完成左移31位或32位的移位操作;
c.对于16位立即数可完成向左移最多15位的移位操作。
四、DSP的设计
1、DSP的设计特点
DSP系统是以数字信号处理为基础的,因此不但具有数字处理的全部优点而且还具有以下特点:
a.接口方便:DSP应用系统与其他以现代;之字技术为基础的系统或设备都是相互兼容的,这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多。
b.编程方便:DSP应用系统中的可编程DSP芯片,能灵活方便地进行修改和升级。
c.稳定性好:DSP应用系统以数字处理为基础,受环境温度及噪声的影响较小、可靠性高,无器件老化现象。
d.精度高:16位数字系统可以达到10一级的精度。
e.可重复性好:模拟系统的性能受元器件参数性能变化的影响比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产。
f.集成方便:DSP应用系统中的数字部件有高度的规范性,便于大规模集成。
9
当然,数字信号处理也存在一些缺点。例如,对于简单信号处理任务,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新速度快,对于数学知识要求高,开发和测试工具还有待进一步完善。
2、DSP系统的设计流程
一个DSP系统的设计过程大概要有以下几个步骤:
a.根据系统的任务要求,确定系统处理精度要求、速度要求、实时性要求等性能指标。
b.根据系统的要求进行高级语言的算法模拟,比如使用MATLAB等仿真工具,验证算法的可行性,得出最佳的处理方法。
c.DSP的系统设计,主要分为硬件设计和软件设计。硬件设计是指根据系统要求选择合适的DSP芯片然后设计相应的外围电路。软件设计主要是指根据系统的要求和选用的DSP芯片编写相应的程序。程序的编写可以使用汇编语言,汇编语言编写的程序效率高,但比较烦杂;也可采用C语言,DSP的C语言基本上是标准C语言,编写比较简单,但效率低。在实际系统开发时往往是两种语言结合编写,在算法运算量大的地方使用汇编语言,在运算量小的地方使用C语言,这样既能缩短软件的开发周期,提高程序的可读性和可移植性,又满足了系统的实时性要求。
第二部分 FIR数字滤波器的简介及基本原理
一、引言
在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音和图像处 理、模式识别、谱分析等应用中的一个基本处理算法。与模拟滤波相比,数字滤波具有很多突出的优点,例如它可以满足滤波器对幅度和相位特性的严格要求,可以避免模拟滤波器无法克服的电压漂移、温度漂移和噪声等问题。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵
10