《DSP课堂笔记总结.docx》由会员分享,可在线阅读,更多相关《DSP课堂笔记总结.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。输入信号可以是语音信号、传真信号,也可以是视频信号,还可以是传感器(如温度传感器) 的输出信号。输入信号经过带限滤波后,通过 A/D 转换器将模拟信号转换成数字信号。根据采样定理,采样频率至少是输入带限信号最高频率的 2 倍,在实际应用中,一般为 4 倍以上。数字信号处理一般是用 DSP 芯片和在其上运行的实时处理软件对输入数字信号按照一定的算法进行处理,然后将处理后的信号输出给 D/A 转换器,经 D/A 转换、内插和平滑滤波后得到连续的模拟信号。3.
2、 数字信号处理的实现方法一般有以下几种:(1) 在通用型计算机上用软件实现。一般采用 C 语言、MATLAB 语言等编程,主要用 于 DSP 算法的模拟与仿真,验证算法的正确性和性能。优点是灵活方便,缺点是速度较慢。(2) 在通用型计算机系统中加上专用的加速处理器实现。专用性强,应用受到很大的限制,也不便于系统的独立运行。(3) 在通用型单片机(如 MCS-51、MCS-96 系列等)上实现。只适用于简单的 DSP 算法, 可用于实现一些不太复杂的数字信号处理任务,如数字控制。(4) 用通用型可编程 DSP 芯片实现。与单片机相比,DSP 芯片具有更加适合于数字信号处理的软件和硬件资源,可用于
3、复杂的数字信号处理算法。特点是灵活、速度快,可实时处理。(5) 用专用型 DSP 芯片实现。在一些特殊的场合,要求信号处理速度极高,用通用型DSP 芯片很难实现,例如专用于 FFT、数字滤波、卷积、相关等算法的 DSP 芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无须进行编程。处理速度极高,但专用性强,应用受到限制。在上述几种实现方法中,(1)(3) 和(5)都有使用的限制,只有(4)才使数字信号处理的应用打开了新的局面。4. DSP 系统的特点基于通用 DSP 芯片的数字信号处理系统与模拟信号处理系统相比,具有以下优点:(1) 精度高,抗干扰能力强,稳定性好。精度仅受量化误差即有
4、限字长的影响,信噪比高,器件性能影响小。(2) 编程方便,易于实现复杂算法(含自适应算法)。DSP 芯片提供了高速计算平台,可实现复杂的信号处理。(3) 可程控。当系统的功能和性能发生改变时,不需要重新设计、装配、调试。如实现不同的数字滤波(低通、高通、带通);软件无线电中不同工作模式的电台通信;虚拟仪器中的滤波器、频谱仪等。(4) 接口简单。系统的电气特性简单,数据流采用标准协议。(5) 集成方便。5. 哈佛结构:将程序代码和数据的存储空间分开,各有自己的地址总线与数据总线,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址独立访问,从而使数据的吞吐率提高了一倍。这就是所谓的哈佛
5、结构改进的哈佛结构:为了进一步提高信号处理的效率,在哈佛结构的基础上,又加以改进,使得程序代码和数据存储空间之间也可以进行数据的传送,称为改进的哈佛结构DSP 冯诺依曼结构: 冯诺依曼结构中,程序指令和数据共享同一存储空间,统一编址,依靠指令计数器提供的地址区分是指令还是数据,采用同一条地址和数据总线访问。5. 流水线技术:流水线技术是将各指令的各个步骤重叠起来执行,而不是一条指令执行完成之后,才开始执行下一条指令。即第一条指令取指后,在译码时,第二条指令就取指;第一条指令取数时,第二条指令译码,而第三条指令就开始取指。以此类推流水线技术是指将指令分为几个子操作,不同子操作由不同的单元组成,这
6、样每隔一个时钟周期,每个单元就可以进入一条新指令,因此在同一个周期内,在不同的单元里可以处理多条指令,相当于并行执行了多条指令。6. DSP 结构特点:1. 改进的哈佛结构2. 多总线结构3. 流水线技术7. DSP 芯片的应用4.多处理单元 5.特殊 dsp 指令6.指令周期短7. 运算精度高8. 低功耗9. 丰富的外设DSP 芯片的应用几乎已遍及电子与信息的每一个领域,常见的典型应用如下。(1) 通用数字信号处理:数字滤波、卷积、相关、FFT、希尔伯特变换、自适应滤波、窗函数和谱分析等。(2) 语音识别与处理:语音识别、合成、矢量编码、语音鉴别和语音信箱等。(3) 图形/图像处理:二维/三
7、维图形变换处理、模式识别、图像鉴别、图像增强、动画、电子地图和机器人视觉等。(4) 仪器仪表:暂态分析、函数发生、波形产生、数据采集、石油/地质勘探、地震预测与处理等。(5) 自动控制:磁盘/光盘伺服控制、机器人控制、发动机控制和引擎控制等。(6) 医学工程:助听器、X 射线扫描、心电图/脑电图、病员监护和超声设备等。(7) 家用电器:数字电视、高清晰度电视(HDTV)、高保真音响、电子玩具、数字电话等。(8) 通信:纠错编/译码、自适应均衡、回波抵消、同步、分集接收、数字调制/解调、软件无线电和扩频通信等。(9) 计算机:阵列处理器、图形加速器、工作站和多媒体计算机等。(10) 军事:雷达与
8、声呐信号处理、导航、导弹制导、保密通信、全球定位、电子对抗、情报收集与处理等。8. DSP 寻址方式:1. 立即数寻址2. 绝对地址寻址3. 累加器寻址4. 直接寻址5. 间接寻址6. 存储区映射寄存器寻址7. 堆栈寻址9. 指令系统:(1) 算术运算指令加法指令(ADD);减法指令(SUB);乘法指令(MPY);乘加指令(MAC)和乘减指令(MAS); 双数/双精度指令(DADD、DSUB);特殊操作指令(ABDST、SQDST)。(2) 逻辑运算指令;与指令(AND);或指令(OR);异或指令(XOR);移位指令(ROL);测试指令(BITF) 。(3) 程序控制指令;分支指令(B,BC)
9、;调用指令(CALL);返回指令(RET);中断指令(INTR,TRAP); 重复指令(RPT);堆栈操作指令(FRAME,POP);其他程序控制指令(IDLE,NOP)。(4) 存储和装入指令。存储指令(ST) ;装入指令(LD);条件存储指令(CMPS);并行装入和存储指令(LD|ST); 并行读取和乘法指令(LD|MAC);并行存储和乘法指令(ST|MAC);并行存储和加减指令(ST |ADD,ST |SUB);其他存储和装入指令(MVDD,PORTW,READA)。10. 简述串行通信,并描述 TMS320C54x 的三个串口。串行通信是发送器将并行数据逐位移出成为串行数据流,接收器将
10、串行数据流以一定的时序和一定的格式呈显在连接收/发器的数据线上。三类串行口:标准同步串行口(SPI):有两个独立的缓冲器用于传送数据,接收缓冲器和发送缓冲器, 每个缓冲器有一条可屏蔽的中断线。串行数据可以按 8 位字或 16 位字转换。缓冲串行口(BSP):在标准同步串行口的基础上增加了一个自动缓冲单元, BSP 是一种增强型标准串行口,它是全双工的,并有两个可设置大小的缓冲区。时分多路串行口(TDM):允许同一个串口以分时方式传送多路数据,TDM 为多处理器通信提供了一种简单而有效的方式。11. 简述 TMS320C54x 芯片的中断系统。中断系统是计算机发展史上的一个里程碑。也是衡量微处理
11、器性能好坏的一项主要指标。中断系统既支持硬件中断,又支持软件中断。无论是哪种中断都可以分为可屏蔽中断和非可屏蔽中断。中断系统包括 :中断结构、中断流程、中断编程。9. COFF 的核心概念是使用代码块和数据块编程,而不是指令或数据简单的顺序编写。采用这种目标文件格式更利于模块化编程,并且为管理代码段和目标系统存储器提供更加灵活的方法。基于 COFF 格式编写汇编程序或高级语言程序时,不必为程序代码或变量指定目标地址,这为程序编写和程序移植提供了极大的方便。段(Sections)是 COFF 文件中最重要的概念。所谓段,就是在编写汇编语言源程序时, 采用的代码块或数据块,它占据存储器的某个连续空
12、间。程序按段组织,每个目标文件都被分成若干个段,每行汇编语句都从属于一个段,且由段汇编伪指令标明该段的属性。一个目标文件中的每个段都是分开的和各不相同的。所有的 COFF 目标文件都包含以下 3 种形式的段:.text段(此段通常包含可执行代码);.data段(此段通常包含初始化数据);.bss段(此段通常为未初始化变量保留存储空间)。此外,汇编器和链接器可以建立、命名和链接自定义段。段也可按是否初始化分为 2 种基本的类型: 初始化的段 (.data.text.sect)和未初始化的段(.bss.usect)。10. 链接器作用:汇编器在汇编的过程中,根据汇编伪指令用适当的段将各部分程序代码
13、和数据连在一起,构成目标文件;链接器 的一个任务就是分配存储单元,即把各个段重新定位到目标存储器中SECTIONS 命令,另外一个任务即为:将 COFF 目标文件中的块用来建立程序块或数据块, 将输入快组合起来以建立可执行的 COFF 输出模块 MEMORY命令。简述链接器的作用和功能。链接器的作用就是根据链接命令或链接命令文件(.cmd ),将一个或多个 COFF 目标文件链接起来,生成存储器映像文件(.map)和可执行文件的输出文件(.out)。功能:1 将各个段配置到目标系统的存储器中;2 对各个符号和段进行重新定位,并给他们制定一个最终的地址;3 结局输入文件之间未定义的外部引用问题。
14、11. 汇编器包括以下功能:(1) 处理汇编语言源文件中的源语句,产生一个可重新定位的目标文件(.obj);(2) 根据要求,产生一个列表文件(.lst),并提供对该列表的控制;(3) 根据要求,将交叉引用列表添加到源程序列表中;(4) 将代码分段;(5) 为每个目标代码块设置一个段程序记数器(SPC);(6) 定义和引用全局符号;(7) 汇编条件块;CounterSet.set 100;定义计数次数要改变 TCPERIOD.set 49999;定义计数周期BANZNext,*Counter- ;计数器不为 0,.asg AR1,Counter;AR1 做计数指针,计数器减 1,退出中断重新命
15、名以便识别STM#CounterSet,Counter;计数器为(8) 支持宏调用,并允许在程序内或在库中定义宏。 利用定时器 Timer0 在 XF 引脚产生周期为 1s 的方波。STM #CounterSet,Counter;设计数器初值STM #0000000000001000B,TCR ;停止计数器STM #PERIOD,TIM;给 TIM 设定初值49999STM #PERIOD,PRD;PRD 与 TIM 一样STM #0000001001101001B,TCR ;开始定时器的工作0, 根据当前 XF 的状态,分BITF*AR2, #1;别到 setXF 或ResetXFBCRes
16、etXF,TC setXF: ;置 XF 为高SSBXXFST #1,*AR2BNextResetXF:;置 XF 为低STM #0008H,IMR;开 TIME0 的中断RSBXXFRSBX INTM;开总中断ST#0,*AR2End:NOPB End中断服务程序: TINT0_ISRTINT0_ISR:PSHM ST0;保护 ST0,因标准同步串口具有以下一些特点:Next: POPMST0 RETEend(1) 发送与接收的帧同步和时钟同步信号完全独立。(2) 发送和接收部分可独立复位。(3) 串口的工作时钟可来源于片外或片内。4) 独立的发送和接收数据线。(5) 具有数据返回方式, 便
17、于测试。(6) 在程序调试时,工作方式可选。(7) 可以以查询和中断两种方式工作。编程题:sseg segment stack stk db 50 dup(0) sseg endsdseg segmentcount equ 50;这里设 X 的范围result dw ? dseg ends cseg segmentassume ds:dseg,cs:cseg,ss:sseg start: mov ax,dsegmov ds,ax mov ax,sseg mov ss,axmov sp,size stk;=计算开始mov cx,countxor ax,ax ;ax 清零xor dx,dx inc
18、 axsum: add dx,ax inc axloop summov result,dx ;结果放在 result 中call showD mov ax,4c00h int 21h;显示 10 进制数子程序showD proc near mov cx,1000 call Show1mov cx,100 call show1 mov cx,10 call show1 mov cx,1 call show1 retshowD endp show1 proc mov ax,dx xor dx,dx div cx push dx add al,30h mov dl,al mov ah,2 int 2
19、1h pop dxretshow1 endp;=结束cseg ends end start汇编程序格式一般包含标号区、指令区、操作数区和注释区 4 部分C54x 汇编器支持 7 种类型的常量:二进制整数、八进制整数、十进制整数、十六进制整数、字符常量、汇编时常量和浮点数常量。C 编译器(C compiler) 将 C 语言源程序自动地编译为 C54x 的汇编语言源程序。汇编器(assembler) 将汇编语言源文件汇编成机器语言 COFF 目标文件。源文件中包括汇编语言指令、汇编伪指令以及宏指令。链接器(linker) 把汇编器生成的、可重新定位的 COFF 目标模块组合成一个可执行的 COF
20、F 目标模块。当链接器生成可执行模块时,要调整对符号的引用,并解决外部引用的问题。它也可以接收来自文档管理器中的目标文件,以及链接以前运行时所生成的输出模块。归档器(archiver) 将一组文件(源文件或目标文件)集中为一个文档文件库。如把若干个宏文件集中为一个宏文件库。汇编时,可以搜索宏文件库,并通过源文件中的宏指令来调用。也可以利用文档管理器,方便地替换、添加、删除和提取文件库文件。助记符指令到代数式指令翻译器(mnemonic to algebraic translator utility) 将包含助记符的汇编源语言源文件转换成包含代数指令的汇编语言源文件。建库工具(library-b
21、uild utility) 用来建立用户自己用 C 语言编写的支持运行库函数。链接时,用 rts.src 中的源文件代码和 rts.lib 中的目标代码提供标准的支持运行的库函数。十六进制转换工具(hex conversion utility) 可以很方便地将 COFF 目标文件转换成 TI、Intel、Motorola 或 Tektronix 公司的目标文件格式,转化后生成的文件可以下载到 EPROM 进行编程。TMS320C54x DSP 接收 COFF 文件作为输入,但大多数 EPROM 编程器不接收COFF 文件,需要借助转换工具。绝对地址列表器(absolute lister)将链接后的目标文件作为输入,生成.abs 输出文件,对.abs 文件汇编产生包含绝对地址(而不是相对地址)的清单。如果没有绝对地址列表器,所生成的清单可能是冗长的,并要求进行许多人工操作。