《张永祥TMS320C54系列DSP原理与应用课件》由会员分享,可在线阅读,更多相关《张永祥TMS320C54系列DSP原理与应用课件(28页珍藏版)》请在金锄头文库上搜索。
1、第一章数字信号处理概述1.1数字信号处理概述1.2数字信号处理器概述1.3DSP芯片运算基础第一章数字信号处理概述2张永祥TMS320C54系列DSP原理与应用一、数字信号处理系统的组成1.1数字信号处理概述1、将输入的信号通过一个A/D(Analog to Digital)转换器,它对连续信号进行带限滤波、采样保持和编码,将连续信号转换为数字信号。2、DSP芯片对转换后的数字信号进行各种算法处理;3、处理后的数字信号根据需要再经D/A(Digital to Analog)转换器,对数字信号进行解码、低通滤波,就可得到所需的模拟信号。3张永祥TMS320C54系列DSP原理与应用二、数字信号处
2、理的实现在通用的计算机上用软件实现。在通用的计算机系统中加上专用的加速卡来实现。用单片机(如Aduc812,AT89C51等)来实现。用通用的可编程DSP芯片来实现。用特殊用途的DSP芯片来实现。用可编程阵列器件FPGA实现。1.1数字信号处理概述4张永祥TMS320C54系列DSP原理与应用第1种方法的缺点是硬件设备体积较大、运算速度较慢,在一些对系统空间要求较为严格的场合无法安装,以及在一些要求实时性较高的场合很难实现,常用于数据算法的模拟和仿真。第2种方法虽然运算速度有所提升,但设备体积大依然是一较大问题。第3种方法由于不适合复杂的数字信号处理系统,应用场合受到限制。第5种方法专用性较强
3、,应用场合也同样受到限制。第6种方法也是目前数字信号处理实现的一种主要方法,在消费类和汽车电子领域占有主要的市场份额; 但它也主要是作为协处理器。只有第4种方法才为数字信号处理的应用打开了新的局面。1.1数字信号处理概述5张永祥TMS320C54系列DSP原理与应用三、数字信号处理的特点精度高。灵活性高。可靠性强。便于集成化。数字信号处理系统也有其局限性,例如,数字系统的速度还不算高,在海量数据处理时,常常要求几百、几千个数字处理器并行工作,使得成本增加; A/D转换器由于转换速度不够高,对当前的一些高频率的信号仍然无法处理; 价格较贵,在处理简单任务时,性价比低。1.1数字信号处理概述6张永
4、祥TMS320C54系列DSP原理与应用数字信号处理器(DSP)是进行数字信号处理的专用芯片,DSP可以快速地实现对信号的采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式,给信号处理的应用打开了新的局面。1.2数字信号处理器概述7张永祥TMS320C54系列DSP原理与应用一、DSP芯片的分类按照DSP工作的数据格式定点DSP芯片和浮点DSP芯片。按照DSP工作的工作时钟和指令类型一致性DSP芯片和静态DSP芯片。按照DSP工作的用途通用型DSP芯片和专用型DSP芯片。1.2数字信号处理器概述8张永祥TMS320C54系列DSP原理与应用二、DSP芯片的特点改进的哈
5、佛结构 与传统的总线结构冯诺依曼结构相比,哈佛总线结构的主要特点是程序和数据分别具有独立的存储空间,有着各自独立的程序总线和数据总线。支持流水线操作1.2数字信号处理器概述9张永祥TMS320C54系列DSP原理与应用采用专用的硬件乘法器特殊的DSP指令快速的指令周期专用的数据地址发生器1.2数字信号处理器概述10张永祥TMS320C54系列DSP原理与应用三、DSP芯片的发展1978年世界上诞生了首枚DSP芯片AMI公司的S2811,1979年美国Intel公司生产了商用可编程器件2920,这两种DSP芯片都不具备单周期硬件乘法器,故其结构与性能都与现代DSP芯片相差很大。1980年,日本N
6、EC公司推出的uPD7720是第一个具有硬件乘法器的DSP处理器,1981年美国贝尔实验室推出的DPSI与uPD7720都是16位字长,具有片内乘法器和存储器。1.2数字信号处理器概述11张永祥TMS320C54系列DSP原理与应用第一代美国TI公司1982年推出TMS32010系列,这种DSP器件采用微米工艺、NMOS技术制作,虽然功耗和尺寸较大,但运算速度却比MPU快几十倍,尤其在语音合成和编解码器中得到了广泛应用。第二代DSP芯片TMS320C20,TMS320C25/C26/C28系列等。第三代DSP芯片有TMS320C30/C31/C32/C33系列等。第4代DSP芯片有TMS320
7、C40/C44系列。第5代 DSP 芯片有TMS320C5x/C54x/C55x、多处理器DSP芯片TMS320C80/C82。第6代DSP芯片TMS320C62x/C67x系列等。1.2数字信号处理器概述12张永祥TMS320C54系列DSP原理与应用目前TI公司常用的DSP芯片可以被归纳为三大系列,即: TMS320C2000系列(包括TMS320C2x/C2xx)。TMS320C5000系列(包括TMS320C5x/C54x/C55x)。TMS320C6000系列(TMS320C62x/C67x)。1.2数字信号处理器概述13张永祥TMS320C54系列DSP原理与应用四、DSP芯片的应
8、用通用的数字信号处理: FFT、FIR滤波、IIR滤波、卷积、相关、谱分析、模式匹配等。语音识别与处理: 语音压缩、语音合成、语音增强、语音邮件、语音存储,数字音频,网络音频等。图形/图像处理: 如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等。通信: 如数字调制/解调、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、软件无线电等。自动控制: 声控、磁盘/光盘伺服控制、马达控制、机器人控制等。军事: 保密通信、导弹制导、电子对抗、雷达处理等。仪器仪表: 数据采集、函数发生、地质勘探等。医学工程: 助听器、超声设备、病人监护等。家用电器: 数字电话
9、、数字电视、高保真音响、电子玩具等。汽车领域: 车身系统、防盗系统、传动系统、汽车网络信息系统等。1.2数字信号处理器概述14张永祥TMS320C54系列DSP原理与应用一、数的定标1.定标表示法有符号数,就是把16位二进制数的最高位来表示数的符号,正数用0表示,负数用1表示,其余位15位表示数据; 同时对有符号数的表示采用补码的方式。例如: 无符号数: 103原= 0000 0000 0110 0111原 =0000 0000 0110 0111补 有符号数: -103原= 1 0111原 -103补= 1 1001补1.3DSP芯片运算基础15张永祥TMS320C54系列DSP原理与应用在
10、编程时必须由程序员人为地指定一个数的小数点处于哪一位,这就是数的定标。通过人为地将小数点规定在16位中的不同位置,就可以表示不同大小和不同精度的数了。对于整数,通常是将小数点固定(隐含)在数值部分最低位的后面,用来表示整数; 对于小数,则通常是将小数点固定(隐含)在数值部分的最高位的后面,表示的是纯小数。数的定标有两种表示方法: Qn表示法和Sm.n表示法。其中,m表示数的2补码的整数部分,n表示数的2补码的小数部分,1位符号位,数的总字长为m+n+1位。表示数的整数范围为-2m2m-1,小数的最小分辨率为2-n。1.3DSP芯片运算基础16张永祥TMS320C54系列DSP原理与应用在实际应
11、用中,通常采用Qn表示法。表1.1列出了16位定点DSP芯片用Qn表示法和Sm.n所能表示的十进制数值范围。从表1.1可以看出,若程序员设定的小数点位置不同,对于同样一个16位数,它所表示的数也就不同。例如: 例:十六进制数1000H=4096, 用Q0表示十六进制数1000H=0.125, 用Q15表示十六进制数1000H=1,用Q12表示1.3DSP芯片运算基础17张永祥TMS320C54系列DSP原理与应用不同的Q所表示的数不仅范围不同,而且精度也不相同。Q越大,数值范围越小,但精度越高; 相反,Q越小,数值范围越大,但精度就越低。对定点数而言,数值范围与精度是一对矛盾,一个变量要想能够
12、表示比较大的数值范围,必须以牺牲精度为代价; 而想提高精度,则数的表示范围就相应地减小。在实际的定点算法中,为了达到最佳的性能,必须充分考虑到这一点。1.3DSP芯片运算基础18张永祥TMS320C54系列DSP原理与应用2.Q值的确定在使用定点DSP时,如何选择合适的Q值是一个关键性问题。 就DSP运算的处理过程来说,实际参与运算的都是变量,假设一个变量的绝对值的最大值为|max|(|max|32767)。若存在一个整数m,使它满足2m-1|max|2m,则有2-Q=2-152m=2-(15-m),Q=15-m。 例如,某变量的值在-1至1之间,即|max|1,因此m=0,Q=15-m=15
13、。 确定了变量的|max|就可以确定其Q值。1.3DSP芯片运算基础19张永祥TMS320C54系列DSP原理与应用一般来说,确定变量的|max|有两种方法:一种是理论分析法,另一种是统计分析法。 理论分析法指的是根据已有的数学理论(如定义、公理、定理、公式、法则等)来推导出变量的动态范围。 当有些变量的动态范围从数学上无法确定时,一般采用统计分析的方法来确定其动态范围。 统计分析法,就是指用数理统计方法分析事物的数量来揭示出所分析变量的动态范围。1.3DSP芯片运算基础20张永祥TMS320C54系列DSP原理与应用二、数的运算数的运算包括定点数的加法/减法运算和乘法、除法运算。定点数又可分
14、为无符号数和有符号数。无符号数是明确为正数的数,带符号数可能为正数,也可能为负数。一般负数以补码形式表示,最高位为符号位。1.3DSP芯片运算基础21张永祥TMS320C54系列DSP原理与应用1.两个定点数的加/减法将浮点的加法/减法转化为定点加法/减法时必须保证两个操作数的格式一致。如果两个数的Q值不同,可将Q值大的数右移调整为与另一个数的Q值一样,但必须在保证数据精度不变的前提下。同时要注意有符号和无符号数加/减运算的溢出问题。【例1.1】设x=3.125,y=0.25,求x+y。解: x=3.125,若x的Q值为Q12,则xQ12=3.125212=12800=3200H; y=0.2
15、5, 若y的Q值为Q15,则yQ15=0.25215=8192=2000H。1.3DSP芯片运算基础22张永祥TMS320C54系列DSP原理与应用说明:由于Q12Q15,因此将y的Q15格式表示的十六进制码2000H右移3位; 由于2000H为正数,因此将整数部分补零,得到用Q12格式表示的0.25为0400H。将3200H加上0400H得到3600H,十进制数为13824,该数的格式为Q12,相对应浮点值为13824/212=4.375,和浮点直接运算结果x+y=4.375一致。1.3DSP芯片运算基础23张永祥TMS320C54系列DSP原理与应用2.两个定点数的乘法两个16位定点数相乘
16、时可分为以下几种情况。1)纯小数乘以纯小数 Q15Q15=Q30 说明:2个Q15的小数相乘后得到1个Q30的小数,即有2个符号位。一般情况下相乘后得到的满精度数不必全部保留,而只需保留16位单精度数。由于相乘后得到的高16位不满15位的小数精度,为了达到15位精度,可将乘积左移1位。1.3DSP芯片运算基础24张永祥TMS320C54系列DSP原理与应用2) 整数乘整数Q0Q0=Q03) 混合表示法两个16位整数相乘,乘积总是“向左增长”,积为32位,难以进行后续的递推运算; 两个小数相乘,乘积总是“向右增长”,且存储高16位乘积,用较少资源来保存结果(这是DSP芯片采用小数乘法的原因)用于
17、递推运算。许多情况下,运算过程中为了既满足数值的动态范围,又保证一定的精度,就必须采用Q0与Q15之间的表示法,即混合表示。例如,数值1.0145显然用Q15格式无法表示,而若用Q0格式表示,则最接近的数是1,精度无法保证。因此,数1.0145最佳的表示法是Q14格式。1.3DSP芯片运算基础25张永祥TMS320C54系列DSP原理与应用3.两个定点数的除法在通用DSP芯片中,一般不提供单周期的除法指令,为此必须采用除法子程序来实现。二进制除法是乘法的逆运算。乘法包括一系列的移位和加法,而除法可分解为一系列的减法和移位。1.3DSP芯片运算基础26张永祥TMS320C54系列DSP原理与应用
18、例:设累加器为8位,除法运算为91除以4。(1) 被除数减除数0 1 0 1 1 0 1 1-0 1 0 0 0 0 0 1 1 0 1 1(2) 够减,将结果左移一位后加1再减0 0 1 1 0 1 1 1- 0 1 0 01 1 1 1 0 1 1 1(3) 不够减,放弃减法结果,被除数左移一位再减0 1 1 0 1 1 1 0- 0 1 0 0 0 0 1 0 1 1 1 0(4) 够减,将结果左移一位后加1再减0 1 0 1 1 1 0 1- 0 1 0 00 0 0 1 1 1 0 11.3DSP芯片运算基础27张永祥TMS320C54系列DSP原理与应用(5) 够减,将结果左移一位
19、后加1再减0 0 1 1 1 0 1 1- 0 1 0 0 1 1 1 1 1 0 1 1(6) 不够减,放弃减法结果,被除数左移一位,得最后结果0 1 1 1 0 1 1 0即商为10110B=22,余数为011B=3。TMS320C54x利用带条件减法SUBC实现除法运算,除数不动,被除数、商左移。TMS320没有专门的除法指令,但使用条件减法指令SUBC加上重复指令RPT就可以完成有效灵活的除法功能。使用SUBC的唯一限制是两个操作数必须为正。程序员必须事先了解其可能的运算数的特性,如其商是否可以用小数表示及商的精度是否可被计算出来等。这里每一种考虑都会影响到如何使用SUBC指令的问题。1.3DSP芯片运算基础28张永祥TMS320C54系列DSP原理与应用