dsp技术。
大作业。姓名。
班级。学号。
2024年12月。
第1部分概述。
1.1、dsp简介。
dsp(digitalsignalprocessor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
dsp芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,dsp芯片一般具有如下主要特点:
1)在一个指令周期内可完成一次乘法和一次加法;
2)程序和数据空间分开,可以同时访问指令和数据;
3)片内具有快速ram,通常可通过独立的数据总线在两块中同时访问;
4)具有低开销或无开销循环及跳转的硬件支持;
5)快速的中断处理和硬件i/o支持;
6)具有在单周期内操作的多个硬件地址产生器;
7)可以并行执行多个操作;
8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与通用微处理器相比,dsp芯片的其他通用功能相对较弱些。
1.2、dsp的发展。
世界上第一个单片dsp芯片是2024年ami公司宣布的s2811,2024年美国iintel公司发布的商用可编程器件2920是dsp芯片的一个主要里程碑。这两种芯片内部都没有现代dsp芯片所必须的单周期芯片。2024年,日本nec公司推出的μpd7720是第一个具有乘法器的商用dsp芯片。
第一个采用cmos工艺生产浮点dsp芯片的是日本的hitachi公司,它于2024年推出了浮点dsp芯片。2024年,日本的fujitsu公司推出的mb8764,其指令周期为120ns,且具有双内部总线,从而处理的吞吐量发生了一个大的飞跃。而第一个高性能的浮点dsp芯片应是at&t公司于2024年推出的dsp32。
在这么多的dsp芯片种类中,最成功的是美国德克萨斯仪器公司(texasinstruments,简称ti)的一系列产品。ti公司在2024年成功推出启迪一代dsp芯片tms32010及其系列产品tms32011、tms32c10/c14/c15/c16/c17等,之后相继推出了第二代dsp芯片tms32020、tms320c25/c26/c28,第三代dsp芯片tms32c30/c31/c32,***dsp芯片tms32c40/c44,第五代dsp芯片tms32c50/c51/c52/c53以及集多个dsp于一体的高性能dsp芯片tms32c80/c82等。
自2024年以来,dsp芯片得到了突飞猛进的发展,dsp芯片的应用越来越广泛。从运算速度来看,mac(一次乘法和一次加法)时间已经从80年代初的400ns(如tms32010)降低到40ns(如tms32c40),处理能力提高了10多倍。dsp芯片内部关键的乘法器部件从2024年的占模区的40左右下降到5以下,片内ram增加一个数量级以上。
从制造工艺来看,2024年采用4μ的n沟道mos工艺,而现在则普遍采用亚微米cmos工艺。dsp芯片的引脚数量从2024年的最多64个增加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加。此外,dsp芯片的发展,是dsp系统的成本、体积、重量和功耗都有很大程度的下降。
第2部分硬件结构及硬件系统。
tms320c54x(简称’c54x)是ti公司为实现低功耗、高速实时信号处理而专门设计的16位定点数字信号处理器,采用改进的哈佛结构,具有高度的操作灵活性和运行速度,适应于远程通信等实时嵌入式应用的需要,现已广泛地应用于无线电通信系统中。
tms320c54x的硬件结构主要分为以下几块:
2.1 cpu
1)采用先进的多总线结构,通过1组程序总线、3组数据总线和4组地址总线来实现。
2) 40位算术逻辑运算单元alu,包括1个40位桶形移位寄存器和2个独立的40位累加器。
3)17×17位并行乘法器,与40位专用加法器相连,可用于进行非流水线的单周期乘法-累加运算。
4)比较、选择、存储单元(cssu),用于加法、比较、选择运算。
5)指数编码器,是一个支持单周期指令exp的专用硬件,可以在单个周期内计算40位累加器中数值的指数。
6)双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(arau)。
2.2存储器。
1)可访问的最大存储空间为192k×16位,即64k字的程序存储器、64k字的数据存储器以及64k字的i/o空间。
2)片内rom,可配置为程序存储器和数据存储器。
3)片内ram有两种类型,即双寻址ram(daram)和单寻址ram(saram)。
2.3片内外设。
1)软件可编程等待状态发生器。
2)可编程分区切换逻辑电路。
3)带有内部振荡器或用外部时钟源的片内锁相环时钟发生器。
4)支持全双工操作的串行口,可进行8位或16位串行通信。
5)片内的串行口根据型号不同可分为4种:单通道同步串行口(sp)、带缓冲器单通道同步串行口(bsp)、并行带缓冲器多通道同步串行口(mcbsp)、时分多通道带缓冲器串行口(***)。处理器不同串行口配置也不尽相同。
(6)可与主机直接连接的8位或16位并行主机接口(hpi)。
(7)16位可编程定时器。
(8)6通道直接存储器访问(dma)控制器。
(9)外部总线关断控制,以断开外部的数据总线、地址总线和控制信号。
(10)数据总线具有总线保持特性。
tms320c54x dsp的内部硬件结构如下图所示。
第3部分指令系统。
c54x指令系统有两种分类方法:
1、按指令的功能分类。
2、按指令所要求的周期分类。
其中按指令的功能可将’c54x指令系统分为4大类,下面分别对这4大类指令系统做简单介绍。
1)算术运算指令。
算术运算指令是实现数学计算的重要指令集合。’c54x的算术指令具有运算功能强、指令丰富等特点。
包括:加法指令(add)
减法指令(sub)
乘法指令(mpy)
乘法-累加/减指令(mac/mas)
双字运算指令(dadd)
特殊用途指令。
加法指令共有13条如下图所示:
减法指令也包括13条如下图所示。
乘法指令。乘法指令共10条如下图所示。
(2)逻辑运算指令。
逻辑运算指令包括与指令(and),或指令(or),异或指令(xor),移位指令(rol)和测试指令(bitf)
与指令。与指令有5条如下图所示。
或指令。或指令有5条如下图所示。
(3)程序控制指令。
程序控制指令包括分支指令(b,bc),调用指令(call),中断指令(intr,trap),返回指令(ret),重复指令(rpt),堆栈操作指令(frame,pop),其它程序控制指令(idle,nop)
分支指令。分支指令有6条如下图所示。
调用指令。调用指令有6条如下图所示。
4)加载和存储指令。
加载和存储指令包括一般的加载和存储指令(ld,st),条件存储指令(cmps,saccd),并行的读取和乘法指令(ld‖mac),并行的读取和存储指令(ld‖st),并行的存储和乘法指令(st‖mac),并行的读取和加减指令(ld‖add,ld‖sub)以及其他读取类型和存储类指令(mvdd,portw,reada)
加载指令。加载指令共21条,见下图。
存储指令。存储指令有14条如下所示。
第4部分软件开发及ccs集成开发环境。
ccs开发流程如下所示:
一、创建一个新工程。
1、启动ccs集成开发环境。
2、从project菜单中选择new命令。
3、project name 填volume1 。
4、location 填1步创建的那个新文件夹。
5、project type 选择 executable (.out).
6、target 选择你的目标芯片比如tms320c28xx,然后按“finish”按钮完成创建一个新工程的任。
务。ccs将创建一个项目文件“该文件保存项目设置,并引用项目中的其它文件。
二、在项目中添加文件。
1、执行“project-->add files to project”命令,选择“文件,单击“open”按钮,这样就把文件加入到项目中了。
2、执行“project-->add files to project”命令,在打开的对话框中,文件类型选择汇编语言源文件类型即“(*a*)”选择“和“两个文件, 单击“open”按钮,这样就把这两个文件加入到项目中了。
3、执行“project-->add files to project”命令,在打开的对话框中,文件类型选择连接器命令文件类型即“(*cmd, *lcf)”,选择“文件,单击“ open”按钮,这样就把这个文件加入到你的项目中了。该文件包含内存布局的相关信息。
4、执行“project-->add files to project”命令,在打开的对话框中,首先导航到编译库文件。
夹“(c:\ccstudio_v3.3\c2000\cgtools\lib)”,文件类型选择目标文件和库文件类型即“(*o*, l)”,选择和目标芯片相适应的ti实时支持库(run-time support library )文件,对于模拟c28xx目标芯片可选择“rts2800_单击“open”按钮,这样就把这个文件加入到你的项目中了。
这个库文件。
将为目标芯片提供实时支持。
5、鼠标右键单击“在弹出的菜单中选择“scan all file dependencies”命令,再仔细观察,“include”文件夹左边多了一个“+”号,单击“+”号展开“include”文件夹,发现“文件被自动添加到工程里面了。所以说。**件不必手动添加,ccs会自动发现并添加它们。
即使不经过第5步,在编译一遍工程以后ccs仍然会自动添加。**件到工程中。
DSP技术大作业
dsp技术。大作业。姓名。班级。学号。2014年12月。第1部分概述。1.1 dsp简介。dsp digitalsignalprocessor 是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改 删除 强化,并在其他系统芯片...
DSP大作业
1.利用matlab软件对音频信号进行数字信号采样,分别对采样后的信号进行时 频域分析,并提供 图和分析说明 35 2.设计合理的数字滤波器,滤去音频信号中的蜂鸣音,给出详细设计流程,并提供频域 图和分析说明 45 3.将数字滤波后的数字信号转换成w 格式音频文件,统一命名为作为附件上交。15 1 ...
DSP大作业
重叠相加法和重叠保留法。对于很长序列和短序列进行卷积,可采用重叠相加法和重叠保留法进行快速实现。课本上只是通过公式图形来讲解,十分抽象。许多人对这两种方法产生混淆,不理解,不会应用,特别是重叠保留法。下面就先给出基本原理,再用实例讲解分析。设h n 的点数为m,信号x n 为很长的序列。重叠相加法是...