您好,欢迎访问三七文档
对数据和函数的存储类别可分为:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern)。非线性运算的方法:级数展开法、查表法、混合法DSP实现的一般方法:(1)、在通用的计算机上用软件实现。(2)、在通用的计算机系统上加上专用的加速处理机实现(3)、在通用的单片机上实现。(4)、在通用的可编程DSP芯片实现(5)、在专用的DSP芯片实现、(2)简述DSP应用系统的典型构成和特点答:DSP系统的典型结构输入输出其工作过程①对输入信号进行带限滤波和抽样;②进行A/D变换,将信号变换成数字比特流;③根据系统要求,DSP芯片对输入信号按照特定算法进行处理;④D/A转换,将处理后的数字样值转换为模拟信号;⑤平滑滤波,得到连续的模拟信号波形特点:接口方便编程方便稳定性好精度高可重复性好集成方便(3)简述DSP应用系统的一般设计过程抗混叠滤波A/DDSP芯片D/A平滑滤波DSP系统的设计流程:1.定义系统性能指标2.采用高级语言进行性能模拟3.设计实时DSP应用系统4.借助开发工具进行软硬件调试5.系统集成与独立系统运行设计流程图:TMS320系列DSP芯片的特点:DSP应用定义系统性能指标选择DSP芯片软件编程硬件设计软件调试硬件调试系统集成系统测试和调试1.采用哈佛结构实现内部总线;2.采用流水线操作实现指令操作;3.乘法采用专用的硬件乘法器实现;4.具有高效的DSP指令哈佛结构的特点:将程序和数据存储在不同的存储空间流水线的特点:采用流水线操作,处理器可以并行处理多条指令,提高CPU工作效率DSP芯片的运算速度指标:指令周期MAC时间FFT执行时间MIPS:每秒执行百万条指令MOPS:每秒执行百万条操作MFLOPS:每秒执行百万条浮点操作BOPS:每秒执行十亿次操作(8)设计DSP应用系统时,如何选择合适的DSP芯片答:DSP芯片的选择要根据实际系统的需要来选择DSP芯片,已达到系统最优化的设计。所以一般选择DSP芯片要考虑以下因素:芯片运行速度、DSP芯片的价格、DSP芯片的硬件资源、DSP芯片的运算精度、DSP芯片的开发工具、DSP芯片的功耗等因素。(9)TMS320VC5416-16工作在160MHz时的指令周期是多少ns?它的运算速度是多少MIPS?当工作在100MHZ时,其指令周期和运算速度是多少?解:指令周期T=1/160M=6.25ns;运算速度:160MIPS当工作在100MHz时,指令周期:T=10ns;运算速度:100MIPS(10)一个DSP系统的采样频率是10KHZ,采用的DSP芯片的指令周期是10ns。如果某DSP算法是按样点处理的,问算法实时运行的条件是什么?如果DSP芯片是按帧处理的,且帧长是10ms,则在一帧时间内最多可以运行多少个指令周期。解:按样点处理:如果采样频率时10KHz,那么采样周期为100us,又因为指令周期为10ns(指令周期在大小上等于MAC),所以在一次采样周期内,最多可以完成的MAC的个数是:100us/10ns=10000条指令,所以如果要实时运行,所运行的指令数不能超过10000个。10ms/10ns=1000000个。所以,一帧内可以运行10^6个指令周期。第二章(1)DSP芯片的基本结构:CPU、总线、存储器以及集成外设与专用硬件电路等CPU主要包括:算数逻辑单元(ALU)、累加器(ACC)、乘累加单元(MAC)、移位寄存器和寻址单元。存储器包括:ROM、Flash、单访问RAM(SARAM)、双访问RAM(DARAM)等(2)ALU与累加器的区别是什么?算术逻辑单元ALU可以实现加/减法运算、逻辑运算等大部分算术和逻辑功能,且许多运算可以在一个周期内完成,ALU的运算结果通常被送往累加器;累加器是DSP中的一个特殊的寄存器,用于存放ALU单元或者其他运算逻辑单元的运算结果,同时作为一些运算逻辑单元的输入,以提供一个中继的功能(3)什么是冯诺依曼结构和哈佛结构?二者有什么区别?答:冯·诺依曼结构:程序指令与数据共享同一存储空间,统一编址,依靠指令计数器提供的地址来区分是指令还是数据;采用同一条地址和数据总线进行访问。哈佛结构:将程序和数据存储在不同的存储空间中,独立编址,独立访问;程序总线和数据总线分开,数据吞吐量提高了一倍(4)什么是流水线操作?简述其工作原理。答:流水线的原理:将指令分成几个子操作,不同的子操作由不同的单元完成。这样每一个时钟周期,每个单元都可以进入一条新指令。因此在同一个时钟周期内,在不同的单元可以处理多条指令,相当于并行指令了多条指令。(5)如何利用I/O口实现UART通信。答:大多数DSP芯片中都设置了通用的I/O(GPIO)口。GPIO与定时、中断和各种时序有机的结合,就可以模拟出绝大多数的串口通信方式。(6)HPI口的特点答:接口所需硬件少;允许一个或两个选通信号,一个独立或复用的地址总线,一个独立或复用的数据总线接到MCU上;主机和DSP可以独立的控制HPI;主机和DSP握手可以通过中断方式完成;主机可以通过HPI接口装载DSP应用程序,接受DSP运行结果或诊断DSP运行状态。(9)TI公司的定点DSP芯片有哪些?各有什么特点。答:TMS320C2000系列:主要用于工业控制领域MS320C5000系列:主要用于音频领域和低质量的视频领域TMS320C6000系列:主要用于高质量的视频领域第三章(1)已知一十六进制数3000H,若该数分别用Q0,Q5,Q15表示,计算该数的大小。答:这道题是一道定点转浮点的题:3000H=(0011000000000000)B用Q0表示为12288;用Q5表示为12288/(2^5)=384;用Q15表示12288/(2^15)=0.375(2)若某一变量用Q10表示,计算该数所能表示的数值范围和精度。答:Q10的最大值:((2^15)-1)*2^-Q=31.9990234Q10的最小值:-2^15*2^-Q=32Q10的精度:2^-Q=1/1024(3)已知x=0.4567,试分别用Q15,Q14,Q5将该数转化为定点数(考虑舍入和不考虑舍入两种情况)答:这是一道浮点转定点的题:在不考虑舍入的情况下:用Q15表示:[0.4567*2^15]=14965用Q14表示:[0.4567*2^14]=7482;用Q5表示:[0.4567*2^5]=14考虑舍入情况下:用Q15表示:[(0.4567*2^15)+0.5]=14965;用Q14表示:[(0.4567*2^14)+0.5]=7483;用Q5表示:[(0.4567*2^5)+0.5]=15(4)函数f(x)=2(1+x^2),-1x1,为了保持最大精度,确定定点运算时自变量x和函数f(x)的Q值。解:若-1x1,则f(x)的范围是(2,4)查表可以发现:x的Q值是15,f(x)的Q值是13(5)两个数x,y分别用0.45和1.97,试采用16位定点法(保持最大精度),计算x,y之和及乘积,并比较定点和浮点的结果。解:定点加法:首先进行浮点加法运算,大致确定x,y,z的范围:0.45+1.97=2.42确定精度:x的精度:15,y的精度:14;z的精度:13x的定点结果:14745;y的定点结果:31457z=(x+y*2)/4=19414z的浮点表示:2.37定点乘法:首先进行浮点乘法:0.45*1.97=0.8865大致确定精度为,x:15;y:14;z:15x的定点结果:14745;y的定点结果:31457Z=(x*y)*2(Qz-Qx-Qy)=28310化为浮点数:0.87第四章(1)DSP软件开发的工具有几类,各有什么作用?答:软件开发过程要使用代码生成工具,代码调试工具,代码优化工具,代码管理工具等代码生成工具:是指把高级语言,汇编语言,或二者的混合编码程序转化为DSP可执行的目标代码。代码调试工具:是对DSP程序及系统进行调试使之能够达到设计功能的工具程序。代码优化工具:代码优化器是对C语言进行优化使之能够达到一定运算量要求的程序。代码管理工具:是对整个系统所涉及的文件进行管理,使之便于大规模的系统开发。(2)从Sample.c源程序到最终的Sample.out,中间需要经过哪些步骤?答:C语言实现C编译器汇编编译器目标文件链接器可执行文件(3)CCS集成开发软件有哪些功能,与原先的DSP开发软件相比有哪些优势?具有编辑、编译、链接、软件仿真、硬件调试及实时跟踪等功能:优势;A.集成的代码生成工具使开发设计人员不必在DOS窗口输入大量的命令及参数;B.集成的调试工具使调试程序一目了然,大量的观察窗口使程序调试得心应手。提供配置、构造、调试、跟踪和分析程序的工具。A.加速和增强了实时、嵌入信号处理的开发过程;B.在基本代码产生工具的基础上增加了调试和实时分析的功能第五章(1)从C语言程序到汇编语言程序,C语言编译器完成的处理?C语言文件---语法分析器----优化器----代码生成器-----汇编源文件(2)C语言程序代码优化有几种方法答:算法优化编译优化函数优化(3)利用C语言实现中断函数,有什么要求答:(1)对由SP指向的字,编译器可能正在使用,因此必须加以保护(2)中断的屏蔽和使能必须由程序员设置3)由于C语言编写中断时,需对所有寄存器进行保护4)中断程序没有参数传递(5)将一个程序与某个中断关联时,必须在相应的中断矢量处加跳转指令第六章(2)说明.text块.data块和.bss块分别包含什么内容?答:.text块:通常包含可执行代码(代码块。.data块:通常包含初始化变量(数据块)。.bss块:通常为未初始化的变量的保留空间(保留块。)(3)链接命令文件包括哪些内容?答:链接器提供两个命令完成上述功能:MEMORY和SECTIONS。MEMORY命令定义目标系统的存储器,程序员可以定义每一块存储器,指定每一块的起始地址和长度。SECTIONS告诉链接器如何组合输入块以及在存储器何处存放输出快。若不用这两个命令,链接器会采用默认的分配算法。若要使用这两个命令,一般需要链接命令文件,扩展名为.cmd。因此程序员先根据系统要求编写一个链接命令文件,并把它添加到工程文件中。第七章(1)汇编语言格式包含哪几部分?编写汇编语言需要注意哪些问题?答:汇编语言格式包括四部分:标号域,指令域,操作数域和注释域注意事项:(1)语句必须以标号,空格,星号或分号开始。(2)标号为可选项,若要使用标号,则必须从第一列开始。标号长度为32个字符,字母,数字和$(数字不打头)组成。标号后必须跟冒号(:),但并不作为标号的一部分(3)每个域必须要有一个或多个空格分隔开。(4)注释是可选项,第一列可以用星号或分号,但其他列开始的注释前面只能表分号。(5)指令域一定不能从第一列开始,否则将被视为标号(6)操作数域内写操作数,若为立即数,需要用#开始,若要间接寻址,则要以*开始(2)C54x的指令集包含了哪几种基本类型的操作?答:C54x包含了四种基本类型的操作:算术指令,逻辑指令,程序控制指令,装载和存储指令(3)C54x提供了哪些基本的数据寻址方式?答:数据寻址:立即数寻址,绝对地址寻址,累加器寻址,直接寻址,间接寻址,存储区映射寄存器寻址,堆栈寻址第八章(1)为什么通常需要采用C语言和汇编语言的混合编程方法答:原因:用C语言开发DSP程序不仅使DSP开发的速度大大加快,而且DSP程序的可读性和可移植性显著提高,程序修改也非常方便。但在某些情况下C代码的效率还是无法和手工编写的汇编代码的效率相比,如FFT程序。用C语言编写的中断程序虽然好读,但是其运行效率不高,当中断被反复调用时,就会大大的降低程序运行效率。所以为了解决上述问题,提出了C语言和汇编语言混合编程的方法。(2)C语言和汇编语言的混合编程方法主要有哪几种?各有什么特点?答:独立编写C语言和汇编语言直接在C语言程序的相应位置嵌入汇编语言对C语言进行编译,生成相应的汇编语言(3)整型变量var和整型数组table[10]已经在汇编程序中定义为全局
本文标题:DSP课后习题答案
链接地址:https://www.777doc.com/doc-2910578 .html