DSP

南京工程学院 Dsp复习

2019-07-13 12:04发布

Dsp复习知识点1. 最小系统包括?每个模块做什么的?答:一个DSP系统要能够正常的运行程序完成简单的任务,并能够通过JTAG进行调试,它的最小系统应该包括: DSP芯片;电源 ----加电顺序需求,电源监测需求和功耗分析;时钟源 ----时钟管理;复位电路;JTAG电路;程序ROM --接口 2. 什么叫定位答:连接器将段重定位到目标系统的存储器映射图内,这个功能称为定位(allocation)在目标存储器里安置输出段并分配它的地址的过程称为定位。3. 数字信号中的几种序列?答:1、单位采样序列 2、单位阶跃序列 3、实指数序列   4、复指数序列  5、矩形序列 6、正弦序列 7、周期序列4. C60002种寻址方式,地址计算答:线性方式寻址和循环方式寻址地址计算emmmmm5. 目标文件?段一个COFF目标文件总是包含有3个默认段: .text段,通常含有可执行代码。 .data段,通常含有初始化数据。 .bss段,通常为未初始化变量预留空间。段有两种基本类型: 初始化段:含有数据和代码。.text.data段是初始化段,由汇编伪指令.sect创建的命名段也是初始化段。 未初始化段:为未初始化的数据在存储器映射图内预留空间。.bss是未初始化段,由汇编伪指令.usect创建的命名段也是未初始化段。6. 流水线技术 7. (大)伪指令memorysections的语法规则及用法 memory伪指令定义一个目标系统的存储器映像图。用户可以给存储器各部分命名,指定它们的起始地址和长度。 MEMORY 命令的一般语法如下: MEMORY{ name 1 [( attr )] : origin = constant , length = constant [, fill = constant] … name n [( attr )] : origin = constant , length = constant [, fill = constant]}命令的参数:name 命名一个存储器区域。attr指定与所命名区域相关联的1~4种属性。origin 指定存储器区域的起始地址;length指定存储器区域的长度;fill为存储器区域指定填充字符,以fillf输入:指定一个具有RW属性的存储器区域,存储器区域的起始地址为0x00000020,长度为0x00001000,填充常数为0x 0FFFFFFFF MEMORY { RFILE (RW) : o = 0x00000020, l = 0x00001000, f = 0x0FFFFFFFF} sections伪指令告诉连接器怎样把输入段组合成输出段,以及把输出段放在存储器的什么位置。SECTIONS伪指令的一般句法如下: SECTIONS{ name : [property [, property] [, property] . . . ] … name : [property [, property] [, property] . . . ] } Name:输出段的段名; Property:输出段属性如果不指定一个SECTIONS伪指令,连接器使用一个默认的组合和分配段的算法。每一个段定义以段名name开始,段名是段定义的一部分。段名后是一张定义段内容以及段如何定位的属性列表。属性可以由可选的逗号分开。段可能有以下的属性: Load allocation;Run allocation;Input sections;Section type;Fill value 8. 连接器给数据段分配的2种地址答:连接器给每个输出段在目标存储器内分配两个地址: 加载时的地址和运行时的地址。 9. C6000的库,运行时支持库,dsp library答:运行时支持库包括的内容: ISO C/C++标准库;CI/O库; 提供低级支持函数,实现和主机操作系统的I/O 内联算术程序; 系统启动程序(_c_int00)  使C/C++程序可以利用特定指令的函数和宏。 当连接程序时,必须设置目标库作为连接器输入文件之一,其中只能连接被调用的I/O和运行时支持库函数。 DSP函数库(DSP LibraryDSPLib)提供一些已优化的ANSI C兼容代码函数模块,用于通用信号处理、数学和矢量运算。包括FFT运算、卷积与滤波运算、自适应滤波运算、相关运算、矢量数学运算、三角运算、矩阵运算以及数据类型转换运算等数十个函数模块。DSPLIB中,包括下面的7个函数类别:自适应滤波算法;相关算法;FFT算法;数字滤波和卷积算法;数学函数;矩阵运算;常用函数; 10. 系统设计 上电顺序(外设内核啥的),为什么是这个顺序?--先内核后外设答:DSP的一些I/O管脚是双向的,方向由内核控制。I/O电压一旦被加上后,I/O管脚就立即被驱动,如果此时还没加核电压,那么I/O的方向可能就不确定是输入还是输出。如果是输出,且这时与之相连的其他器件的管脚也处于输出状态,那么就会造成时序的紊乱或者对器件本身造成损伤。这种情况下,就需要核电压比I/O电压先加载,至少是同时加载。 为了保证C6000芯片在电源未达到要求的电平时,不会产生不受控制的状态,建议在系统中加入电源监测电路。 11. 常用数字信号处理算法有算法一、克服大脉冲干扰的数字滤波法:1.限幅 滤波法  2.中值 滤波法 3.基于 拉依达准则 奇异数据滤波法(剔除粗大误差)4. 基于 中值数 绝对偏差 的 决策滤波器 算法二、抑制小幅度高频噪声的平均滤波法:通常采用具有低通特性的线性滤波器1.算数 平均 滤波法  2.滑动 平均 滤波法 3.加权滑动 平均 滤波法算法三、复合滤波法  12. (大)对dsp公共资源使用限制的6--7种情况答:dsp指令集:1,指令和功能单元之间的映射2,延迟时隙 3,指令操作码映射图 4,并行操作 5,条件操作 6,资源限制资源对公共指令集的限制:1,使用 相同功能单元指令 的限制2,使用 交叉通路 的限制3,使用 长定点型数据 的限制4,数据 读写 的限制5,寄存器 读取 的限制6,寄存器 写 的限制。13. 为什么有类型说明符,即typedef 答:使用typedef类型说明符,用户可以自定义数据类型,简化书写,又增加了可读性。例://将无符号的整型数据定义为Uint32 typedef unsigned int Uint32; 14. Dsp有几个系列答:TI将常用的dsp分为:TMS320C2000系列,TMS320C5000系列,TMS320C6000系列TMS320系列,ADSP-21xx系列,SHARC系列,TigerSHARC系列,Blackfin系列15. 处理器——分类 ,分为哪2类?答:根据硬件指令系统设计的特点分为 复杂指令集  处理器CISCComplex Instruction Set Computer) 和精简指令集  处理器RISCReduced Instruction Set Computer16. 汇编和C语言两者的比较优劣势答:汇编优点编译和执行效率高,能够满足实时性要求很高的场合;;易实现严格的时序要求,和DSP硬件配合较好;缺点:不易学、编程周期长;;可移植性差;;需详细掌握系统的硬件结构细节;C语言优点接近人的思维方式、便于编程、易学易用;;C语言的可移植性好;;不必详细掌握系统硬件结构细节;缺点:编译、执行效率相对较低( >80%) ;;不如汇编语言紧凑;;不易保证严格的时间要求。 17. 数字信号处理  数字滤波器和传统的有什么优缺点答:数字滤波器指输入、输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。它的优点:精度高;;稳定,适于批量生产;;体积小;;重量轻;;灵活;;不要求阻抗匹配;;可实现特殊的滤波功能从滤波特性上分为:低通,高通,带通,带阻从网络结构上分为:IIR滤波器;FIR滤波器数字滤波器的技术指标:1;幅频特性:表示信号通过该滤波器后各频率成分的衰减情况。2;相频特性:反映各个频率成分通过滤波器后在时间上的延时情况。一般选频滤波器的技术要求由幅频特性给出,相频特性一般不作要求;但如对输出波形有要求,则需要考虑相频特性的技术指标。18. C6000中资源  数据通路 大致资源架构答:C6000文献把在指令执行过程中使用的物理资源统称为数据通路,其中包括执行指令的8个功能单元、通用寄存器组以及CPU与片内数据存储器交换信息所使用的数据总线等。8个功能单元(.L1,.L2,.S1,.S2,.M1,.M2,.D1,.D2)两个通用寄存器组(AB)2个数据读取通路(LD1LD2)2个数据存储通路(ST1ST2)2个寄存器组交叉通路(1X2X)2个数据寻址通路(DA1DA2) 19. 奈奎斯特采样定理,怎么采样答:设连续信号属带限信号,最高截止频率为Ωc,如果采样角频率Ωs>2Ωc,那么让采样信号通过一个增益为T、截止频率为Ωs/2的理想低通滤波器,可以唯一地恢复出原连续信号。否则, Ωs<2Ωc会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。一般把临界采样频率Ωs min =2Ωc称为奈奎斯特采样频率。20. (大)序列中  序列之间互相关  (根据图)求序列的卷积答:(1)相关运算,设有离散信号x(n)y(n),其线性相关函数为: 上式表示的相关运算,是两数字序列的对应项相乘再相加的运算。式中m表示位移量,m>0表示序列左移,m<0表示右移。2)卷积:通过两个函数xh生成第三个函数y的一种数学算子,表征函数xh经过翻转和平移的重叠部分的面积。卷积计算:1.图解法 2.例:已知x(n)h(n)分别为:,试求x(n)h(n)的线性卷积。  参看下图,分段考虑如下:(1)对于n<0(2)对于0n4(3)对于n>4,且n-60,即46时:(4)对于n>6,且n-64,即610时:(5)对于(n-6)>4,即n>10时:综合以上结果,y(n)可归纳如下: 21. 存储格式?大段,小端,dsp存储格式有什么特点Endian表示长数据存储在外部存储器中,每个寻址单元如字节,字访问数据的次序,最常用的是字节次序。高字节先称为大端格式,低字节先称为小端格式。Dsp默认是小端格式。 22. 运算结果溢出,怎么解决加减运算指令及溢出问题1、分类有符号数加减运算指令:操作数为整型(32位)或长整型(40位)的ADDSUB指令;操作数为半字(16位)的ADD2/SUB2指令。无符号数加减运算指令ADDUSUBU,操作数为3240位无符号数;带饱和的有符号数加减运算指令SADDSSUB,操作数为3240位有符号数;16位常数进行加法操作的指令ADDK2、溢出问题运算结果超出目的操作数字长所能表示数的范围,造成运算结果的高位丢失。解决方法3种:用较长的字长来存放运算结果,使目的操作数字长超出源操作数字长;用带饱和的加减运算指令做补码数加减运算;对整个系统乘一个小于1的比例因子,亦即将所有输入的数值减小,以保持运算过程不产生溢出,但该方法会降低计算精度。3、减法运算举例以相同的src1src2做不同的减法指令说明:饱和减法指令与减法指令的差别;保护位防止溢出的作用。SSUB     .L2     B1,B2,B3 4、累加和运算举例计算累加和的程序,用长型数存放和数,有8位保护位下述程序在进入loop循环前,已使寄存器A4指向存放数组的基地址,寄存器B1存放欲累加的个数,寄存器组A3:A2用来存放累加和,进入循环前已清零。loop:   LDW   .D1    *A4++,A0           NOP    4           ADD    .L1     A3:A2,A0,A3:A2           SUB    .L2     B1,1,B1           [B1] B  .S1    loop           NOP    5  23. 什么叫周期序列,给一个序列证明是周期序列答:若对所有n存在一个最小的正整数N,满足则称序列x(n)是周期性序列,周期为N因此,x(n)是周期为8的周期序列一般正弦序列的周期性讨论,,不是周期序列 24. C6000由三个主要部分组成:核CPU、外设和存储器CPU,包括:程序取指单元指令分配单元指令译码单元3232位寄存器两个数据通路,每个数据通路4个功能单元控制寄存器控制逻辑测试、仿真和中断逻辑   25. Dsp与通用CPU的优势答:低成本,体积小,功耗低,对高频信号进行实时处理通用:庞大的存储系统,先进复杂的操作系统