南京工程学院 Dsp复习

Dsp复习知识点

1. 最小系统包括?每个模块做什么的?

答:一个DSP系统要能够正常的运行程序完成简单的任务,并能够通过JTAG进行调试,它的

最小系统应该包括:

DSP芯片;

电源 ----加电顺序需求,电源监测需求和功耗分析;

时钟源 ----时钟管理;

复位电路;

JTAG电路;

程序ROM --接口

2. 什么叫定位

答:

连接器将段重定位到目标系统的存储器映射图内,这个功能称为定位(allocation)

在目标存储器里安置输出段并分配它的地址的过程称为定位。

3. 数字信号中的几种序列?

答:

1、单位采样序列

2、单位阶跃序列

3、实指数序列   

4、复指数序列  

5、矩形序列

6、正弦序列

7、周期序列

4. C60002种寻址方式,地址计算

答:线性方式寻址和循环方式寻址

地址计算emmmmm

5. 目标文件?段

一个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 Computer

16. 汇编和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,即4<n6时:(4)对于n>6,且n-64,即6<n10时:(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位常数进行加法操作的指令ADDK

2、溢出问题

运算结果超出目的操作数字长所能表示数的范围,造成运算结果的高位丢失。

解决方法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的优势

答:低成本,体积小,功耗低,对高频信号进行实时处理

通用:庞大的存储系统,先进复杂的操作系统

猜你喜欢

转载自blog.csdn.net/qq_38313246/article/details/80484412