DSP课后习题答案_第1页
DSP课后习题答案_第2页
DSP课后习题答案_第3页
DSP课后习题答案_第4页
DSP课后习题答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...第一章1.简述典型实时数字信号处理系统组成局部。 答:包括:抗混叠滤波器(Anti-aliasingfilter)、模数转换器ADC〔Analog-to-DigitalConverter〕、数字信号处理、数模转换器DAC〔Digital-to-AnalogConverter〕和抗镜像滤波器(Anti-imagefilter)。2.简述X86处理器完成实时数字信号处理的优缺点。 答:利用X86处理器完成实时数字信号处理。特点是处理器选择范围宽,主板及外设资源丰富,有多种操作系统可供选择,开发、调试较为方便;缺点是数字信号处理能力不强,硬件组成较为复杂,系统体积、重量较大,功耗较高,抗环境影响能力较弱。3.简述数字信号处理器的主要特点。答:〔1〕存储器采用哈佛或者改良的哈佛构造;〔2〕内部采用了多级流水;〔3〕具有硬件乘法累加单元;〔4〕可以实现零开销循环;〔5〕采用了特殊的寻址方式;〔6〕高效的特殊指令;〔7〕具有丰富的片内外设。4.给出存储器的两种主要构造,并分析其区别。 答:存储器构造分为两大类:冯·诺依曼构造和哈佛构造。冯·诺依曼构造的特点是只有一个存储器空间、一套地址总线和一套数据总线;指令、数据都存放在这个存储器空间中,统一分配地址,所以处理器必须分时访问程序和数据空间。哈佛构造程序存储器空间和数据存储器空间分开,具有多套地址、数据总线,哈佛构造是并行体系构造,程序和数据存于不同的存储器空间,每个存储器空间独立编址、独立访问。5.简述选择数字信号处理器所需要考虑的因素。 答:应考虑运算速度、算法格式和数据宽度、存储器类型、功耗和开发工具。6.给出数字信号处理器的运算速度指标,并给出其具体含义。答:常见的运算速度指标有如下几种:指令周期:执行一条指令所需的最短时间,数值等于主频的倒数;指令周期通常以ns〔纳秒〕为单位。例如,运行在200MHz的TMS320VC5510的指令周期为5ns。MIPS:每秒百万条指令数。MOPS:每秒百万次操作数。MFLOPS:每秒百万次浮点操作数。BOPS:每秒十亿次操作数。MAC时间:一次乘法累加操作花费的时间。大局部DSP芯片可在一个指令周期内完成MAC操作;FFT执行时间:完成N点FFT所需的时间。FFT运算是数字信号处理中的典型算法而且应用很广,因此该指标常用于衡量DSP芯片的运算能力。第二章1.TMS320C55xDSP有哪些特征和优点〔表2-2〕答:一个32位x16位指令缓冲队列:缓冲变长指令并完成有效的块重复操作;两个17位x17位的乘法累加器:在一个单周期执行双乘法累加操作;一个40位算术逻辑单元(ALU):实现高精度算术和逻辑操作;一个40位桶形移位存放器:能够将一个40位的计算结果最高向左移31位或向右移32位;一个16位算术逻辑单元(ALU):对主ALU并行完成简单的算术操作;4个40位的累加器:保存计算结果,减少对存储单元的访问;12条独立总线,其中包括3条读数据总线、2条写数据总线、5条数据地址总线、1条读程序总线、1条程序地址总线:为各种计算单元并行地提供将要处理的指令和操作数——利用C55x的并行机制的优点;用户可配置IDLE域:改良了低功耗电源管理的灵活性。2.TMS320C55xDSP的内部构造由哪几局部组成〔图2-1〕答:C55x有一条32位的程序数据总线〔PB〕,5条16位数据总线〔BB、CB、DB、EB、FB〕和1条24位的程序地址总线及5条23位的数据地址总线,这些总线分别与CPU相连。总线通过存储器接口单元〔M〕与外部程序总线和数据总线相连,实现CPU对外部存储器的访问;指令缓冲单元〔I〕、程序流程单元〔P〕、地址流程单元〔A〕和数据计算单元〔D〕;以及存储器接口单元〔M〕。3.简述指令缓冲单元〔I〕、程序流程单元〔P〕、地址流程单元〔A〕和数据计算单元〔D〕的组成和功能答:C55x的指令缓冲单元由指令缓冲队列IBQ〔InstructionBufferQueue〕和指令译码器组成。在每个CPU周期内,I单元将从读程序数据总线接收的4B程序代码放入指令缓冲队列,指令译码器从队列中取6B程序代码,根据指令的长度可对8位、16位、24位、32位和48位的变长指令进展译码,然后把译码数据送入P单元、A单元和D单元去执行。程序流程单元由程序地址产生电路和存放器组构成。程序流程单元产生所有程序空间的地址,并控制指令的读取顺序。地址流程单元包括数据地址产生电路、算术逻辑电路和存放器组构成。数据地址产生电路〔DAGEN〕能够接收来自I单元的立即数和来自A单元的存放器产生读取数据空间的地址。对于使用间接寻址模式的指令,由P单元向DAGEN说明采用的寻址模式。数据计算单元由移位器、算术逻辑电路、乘法累加器和存放器组构成。D单元包含了CPU的主要运算部件。D单元移位器能够接收来自I单元的立即数,能够与存储器、I/O空间、A单元存放器、D单元存放器和P单元存放器进展双向通信,此外,还可以向D单元的ALU和A单元的ALU提供移位后的数据。4.TMS320C55xDSP的流水线操作包括多少个阶段每一阶段完成什么操作答:两个。第一阶段是取流水线,即从内存中取出32位的指令包,放入指令缓冲队〔IBQ〕中,然后为流水线的第二阶段提供48位的指令包。第二阶段是指执行流水线,这局部的功能是对指令进展解码,完成数据的存取和计算。5.TMS320C55xDSP有哪些片上外设答:两个20位的定时器。一个看门狗定时器。6通道直接存储器存取控制器〔DMA〕。外部存储器接口〔EMIF〕。三个串口支持最多三个多通道缓冲串口〔McBSP〕或最多两个多媒体/安全数字卡接口。增强型主机接口〔EHPI〕是一个16位的并行接口。可编程锁相环〔DPLL〕时钟发生器。USB全速〔12Mbps〕从端口。I2C主从接口。一个实时时钟。6.TMS320C55x的寻址空间是多少当CPU访问程序空间和数据空间时,使用的地址是多少位的答:C55x的寻址空间为16MB,当CPU从程序空间读取程序代码时,使用24位地址,当访问数据空间时,使用23位的地址。但是在访问数据空间时,将23位地址左移一位,并将地址总线上的最低有效位〔LSB〕置0,使得在对数据空间或程序空间寻址时,地址总线都传送24位地址。7.符合IEEE1149.1标准的测试/仿真接口的引脚有哪几个答:TCK引脚、TDI引脚、TDI引脚、TMS、TRST、EMU0、EMU1/OFF第三章1.C55xDSP支持哪三种寻址模式答:C55xDSP支持三种寻址模式,绝对寻址模式;直接寻址模式;间接寻址模式。2.简述k16绝对寻址和k23绝对寻址不同点和一样点。答:不同k16绝对寻址的指令其操作数为*abs16(#k16),其中k16是一个16位的无符号常数。寻址方法是将7位的存放器DPH〔扩展数据页指针XDP的高位局部〕和k16级联形成一个23位的地址,用于对数据空间的访问。该模式可以访问一个存储单元和一个存储映射存放器。和k23绝对寻址的指令其操作数为*(#k23),其中k23是一个23位的无符号常数。使用这种寻址方法的指令将常数编码为3字节〔去掉最高位〕。一样点:k16绝对寻址和k23绝对寻址的指令不能与其他指令并行执行。3.简述C55xDSP并行指令遵守的规则。答:在并行指令中,必须遵守三条根本规则:两条指令的总长度不能超过6个字节。在指令的执行过程中不存在操作器、地址产生单元、总线等资源冲突。其中一条指令必须有并行使能位或两条指令符合软-双并行条件。4.AC1=0200FC00H,AR3=0200H,〔200〕=3400H。MOV*AR3+<<#16,AC1执行上面指令后,AC1和AR3的值分别是多少答:BeforeAfterAC1000200FC00AC10034000000AR30200AR30201200340020034005.AC0=EC000000H,AC1=00000000H,AR1=0200H,〔200〕=3300H,TC2=1。ADDSUBCCAR1,AC0,TC2,AC1执行上面指令后,AC1、AR1和AC0的值分别是多少答:BeforeAfterAC000EC000000AC000EC000000AC10000000000AC1011F000000AR10200AR1020020033002003300TC21TC21SXMD0SXMD0M400M400ACOV10ACOV11CARRY0CARRY16.AC0=69000000H,AC1=00230000H,AR1=EF00H,AR2=0201H,CDP=A067H。执行下面指令后,AMAR*AR2+::MACuns(*AR1),uns(*CDP),AC0>>#16AC0、AR1、AR2和AC1的值分别是多少答:BeforeAfterAC00069000000AC00095C09200AC10000230000AC10000230000*AR1EF00*AR1EF00AR20201AR20202*CDPA067*CDPA067ACOV00ACOV01ACOV10ACOV10CARRY0CARRY0M400M400FRCT0FRCT0SATD0SATD07.PC=004042H,AC0=0000000001H,根据下表的情况Bbranch执行上面指令后,PC和AC0分别是多少答:BeforeAfterPC004042PC006047AC00000000001AC00000000000第四章1.根据任务调度的方式不同,C55x处理器程序可以分为哪两类并简述其优缺点。 答:一类是由程序自己完成任务调度,另一类是由嵌入式操作系统完成任务调度。由程序自身完成任务调度程序运行效率高,对硬件中断响应快,程序运行稳定,适合于任务较为单一,实时性较强的应用;嵌入式操作系统完成任务调度,可以将应用分解为多个任务,简化了应用系统软件设计,更为重要的是良好的多任务设计有助于提高系统的稳定性和可靠性。2.请利用指针将IO空间中地址从0x100到0x107中的值放置到数据空间*ptr指针当中。答:ioportint*a;Int*ptrvoidfoo(void){i=0x100;a=&i;for(intj=0;j<=7;j++)ptr[j]=a[j];}3.在o3级优化情况下,利用中断读取0x100000地址,并将值存放到变量in_flag中。 答:变量in_flag定义 volatileunsignedintin_flag; 中断服务程序interruptvoidint_handler(){In_flag=(unsignedint*)0x100000;}4.在C语言编写的程序中,分别给出利用C语言和嵌套汇编语言翻开全局中断的程序代码。 答:C语言翻开全局中断 IRQ_globalEnable(); 嵌套汇编语言翻开全局中断 asm(“BCLRST1_INTM〞);5.给出函数intfn(longl1,longl2,longl3,int*p4,int*p5,int*p6,int*p7,int*p8,inti9,inti10)中传送参数所使用的存放器。 答:输入参数通过AC0、AC1、AC2、AR0、AR1、AR2、AR3、AR4、T0、T1传递,输出参数通过T0传送参数。6.在.sine数据段中定义一个16点的正弦表,其数值采用Q15方式存放。〔Q15即小数点在第15位〕 答: .sina .word0, 12539,23170,30273.word 32767,30273,23170,12539.word 0,-12539,-23170,-30273.word -32767,-30273,-23170,-125397.在.mydata段中为a,b,c分别预留10、20、5个字的空间。 答: .def_a.def_b.def_c .sectmydata _a:.space10*16 ; _b:.space20*16 ; _c:.space5*16 ;8.请给出调用图像和视频处理库所需要的.h文件和.lib文件。 答:调用图像和视频处理库需要需要包含imagelib.h文件,如过采用小模式编程需要55ximage.lib,而采用大模式编程需要55ximagex.lib库。第五章1.C55x的片内外设可以分为哪几类这些片上外设可以通过什么工具完成片上外设的操作 答:可以分为时钟与定时器类、外部设备连接接口、信号采集和通信接口类以及其他外设。用户可以通过片上外设支持库完成外设的操作,片上外设支持库为用户提供了控制片上外设的函数、宏等工具,用户可以通过程序或者DSP/BIOS完成这些函数和宏的调用。2.片上外设支持库具有什么特点答:1〕采用标准协议对外设进展编程。片上外设支持库采用标准协议实现片上外设的编程,这些协议包括数据类型、定义外设配置的宏定义,以及实现各种外设操作的函数等;2〕根本资源管理。可以通过程序实现多通道外设的资源管理;3〕设备的符号描述。片上外设支持库通过对外设存放器和存放器域的符号定义,使得程序在不同DSP之间的移植变得容易,而当DSP的版本发生升级时,可以最大程度减少程序的修改。3.如何测试时钟发生器是否正常工作答:〔1〕检查DSP的时钟输入引脚CLKIN、时钟输出引脚CLKOUT和时钟模式引脚CLKMD连接是否正确,正常情况下CLKIN应接时钟源,而CLKMD应拉高或拉低,CLKOUT应是信号输出引脚;〔2〕系统加电后测量CLKIN引脚时钟输入是否正常,信号的上下电平及占空比是否满足需要;〔3〕在没有进展软件设置的情况下,DSP在复位后CLKOUT的输出直承受CLKMD控制,当CLKMD为高,CLKOUT的输出频率将等于CLKIN的频率,CLKMD为低则CLKOUT输出将等于CLKIN的频率的1/2;〔4〕如果以上步骤运行正常,则利用软件设置CLKMD存放器,使时钟产生器工作于PLL锁相环模式下,此时再检测CLKOUT信号,查看锁相环是否正常工作。4.设数字信号处理器定时器输入时钟频率为100MHz,如果要求定时器发送中断信号或同步事件信号的频率为1000次每秒,需要如何对定时器进展设置 答:根据公式 输入时钟频率为100MHz,由于TDDR为4位,这里我们把TDDR设为9,则PRD为9999。5.为了完成McBSP串口的测试,需要其在回环模式下工作,试画出回环模式工作框图。 答:DXDXDRRSR1RBR1XSR1扩展压缩DRR1DXR16.系统需要通过EHPI接口完成引导,在该引导模式下需要如何对通用引脚进展设置答:在EHPI引导模式下,BOOTM[3:0]的值为1101B,下面给出通过GPIO设置DSP上电方式示意图。7.如何对通用输入输出引脚进展测试 答:〔1〕输入口测试输入口测试步骤如下:1〕通过I/O方向存放器IODIR设置某一个引脚为输入方向;2〕在已设置为输入方向的引脚上外加LVTTL信号;3〕DSP访问I/O数据存放器IODATA查看引脚上的逻辑电平,与外加LVTTL电平比拟来测试输入口是否工作正常。〔2〕输出口测试输入口测试步骤如下:1〕通过I/O方向存放器IODIR设置某一个引脚为输出方向;2〕在I/O数据存放器IODATA上设置这个引脚的逻辑电平;3〕测量引脚的电平,与设置的逻辑电平相比拟来检测输出口是否正常工作。8.DMAGCR存放器中的EHPIEXCL位设置为0或1时有何区别答:当EHPIEXCL=0,HPI和DMA通道共享DARAM、SARAM和EMIF;当EHPIEXCL=1,HPI独占DARAM和SARAM,DMA通道只能访问EMIF和外设。第六章1.CCS集成开发环境有哪些功能答:CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等功能,而且支持C和汇编混合编程,其主要功能如下。集成可视化代码编辑界面:可直接编写C、汇编、C和汇编混合、.H文件、d文件等;集成代码生成工具:包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等功能集成到一个开发环境中;根本调试工具:可以装入执行代码(.out文件),查看存放器窗口、存储器窗口、反汇编窗口和变量窗口,并且支持C源代码级调试;断点工具:能在调试程序的过程中,设置软件断点、硬件断点、数据空间读/写断点、条件断点〔使用GEL编写表达式〕等;探针调试工具〔probepoints〕:可用于算法仿真,数据监视等;性能分析工具(profilepoints):可用于评估代码执行的时钟数;实时分析和数据可视化工具:例如:数据的图形显示工具,可绘制时域/频域波形、眼图、星座图、图像等,并具有自动刷新功能〔使用Animate命令运行〕;GEL工具:用户利用GEL扩展语言可以编写自己的控制面板/菜单,设置GEL菜单项选择项,可方便直观地修改变量,配置参数等;支持实时数据交换RTDX〔RealTimeDataExchange〕技术:该技术可在不中断目标系统运行的情况下,实现DSP与其他应用程序(OLE)的数据交换;提供DSP/BIOS工具:增强对代码的实时分析能力,如分析代码执行的效率、调度程序执行的优先级、方便管理或使用系统资源〔代码/数据占用空间,中断服务程序的调用,定时器使用等〕,从而减少了开发人员对硬件资源熟悉程度的依赖性;支持多DSP的调试。2.在CCS集成开发环境中可以使用的仿真设备包括哪些答:仿真设备包括软仿真器〔Simulator〕、各种硬仿真器〔Emulator〕、TI或第三方公司提供的DSP初学者套件〔DSK〕和DSP评估板〔EVM〕等。3.CCS的所有窗口都含有一个关联菜单,如何翻开一个窗口的关联菜单答:只要在该窗口中单击右键,就可以翻开关联菜单。4.CCS为用户提供了哪几种常用的工具条答:常用工具条包括:标准工具条、编辑工具条、工程工具条和调试工具条。5.怎样创立一个新的工程工程答:工程工程的创立过程包括:〔1〕在主菜单“Project〞中选择“New〞选项,弹出以下列图所示的对话框。〔2〕在“ProjectName〞域中输入要创立的工程名,在“Location〞域输入或选择将要创立的工程工程所处的目录,对于每个新建的工程工程,最好建设不同的目录。〔3〕从“Project〞下拉列表中选择要创立的工程工程的配置〔可执行程序.out或目标库函数.lib〕。〔4〕在“Target〞下拉列表中选择将要创立的工程工程所对应的目标器件系列〔TMS320C54xx、TMS320C55xx、TMS320C62xx等〕。〔5〕单击“Finish〞按钮就完成了一个工程工程的创立。6.如果工程文件是基于C语言编写的,怎样向工程工程中添加运行时支持库答:在主菜单中选择“Project〞中的“AddFilestoProject〞选项,或在工程工程浏览窗口单击工程名,在弹出的对话框中选择“AddFiles〞选项。在弹出的对话框中选择要添加文件的目录,在CCS的安装目录“\c5500\cgtools\lib〞下,在添加文件对话框的“文件类型〞下拉列表中要选择“ObjectandLibraryFiles〔*.o*,*.l*〕〞,向工程里添加“rts55x.lib〞或“rts55.lib〞文件。7.在调试程序时,经常使用断点,它的作用是什么怎样设置和删除断点答:程序运行过程中如果遇到断点,就会暂时停顿运行,回到调试状态。用户可以通过查看变量、图形等方式,发现程序中的错误。断点可以设置在源代码行上,也设置在反汇编窗口中的指令行上。有三种方法可以快速地设置断点。在反汇编窗口或含有C/C++的源代码窗口中,将光标移动到需要设置断点的指令行上,单击右键,在弹出的菜单中选择“Togglebreakpoint〞命令,在本行左边会出现红色标记,表示此处有断点。在反汇编窗口,双击要设置断点的指令行,在源代码窗口,双击指令行左边的页边,即可完成断点的设置。可以单击工具条上的按钮来添加断点。可以以下使用任何一种方法删除断点。在反汇编窗口或含有C/C++的源代码窗口中,将光标移动到需要已经设有断点的指令行上,单击右键,在弹出的菜单中选择“Togglebreakpoint〞命令来取消断点。在反汇编窗口,双击已经设有断点的指令行,在源代码窗口,双击设有断点的指令行左边的页边,即可取消断点。可以单击工具条上的按钮来删除断点。选择“Debug〞菜单中“Breakpoints〞命令,出现如图6-38所示的“Break/ProbePoints〞对话框,在断点列表中选择要删除的断点,单击“Delete〞按钮,单击“OK〞按钮即可。8.什么是探针点它的作用是什么怎样设置和删除探针点答:探针点〔ProbePoint〕是CCS中比拟有特色的工具,程序运行到探针点会执行特定的操作,如刷新图形、文件输入/输出等。有两种方法可以很方便地设置探针点:将光标移动到需要设置探针点的位置,单击右键,在弹出的菜单中选择“ToggleProbePoint〞命令,该行最左边将出现一个蓝色菱形探针点标志;或单击工程工具条上的按钮完成探针点的设置。探针点的删除:在反汇编窗口或含有C/C++的源文件中,将光标移动到已设置探针点的位置,单击右键,在弹出的菜单中选择“ToggleProbePoint〞命令即可删除探针点;或单击工程工具条上的按钮删除探针点。单击工程工具条上的按钮可以删除所有探针点。第七章1.如果电源芯片TPS54110的输出电压为1.4V,应如何设置R1、R2的电阻阻值 答:根据公式 如果R2为3.92KΩ,将值带入公式,最后得到R1为6.86KΩ。2.请给出TMS320VC55

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论