您好,欢迎访问三七文档
1 / 15 思考题1.DSP有哪些特点? 哈佛总线结构、流水线结构、硬件乘加单元、优化的指令集。2.哈佛总线结构与冯·诺依曼总线结构的区别? 哈佛:程序存储区与数据存储区分开、程序总线与数据总线分开。优点:取指和读写数据可同时进行,加速指令执行速度。3.数字信号处理系统的基本组成包含哪几个部分? 模拟信号采集、数字信号处理、模拟信号输出(画出基本组成框图)。4.DSP的分类?定点型与浮点型DSP各有什么特点? 按数据格式划分:定点、浮点按用途划分:通用、专用定点DSP:定点运算速度快,定点数动态范围小,定点运算亦发生溢出(需要软件确保不发生溢出),浮点运算时间长,价格相对便宜;浮点DSP:浮点运算速度快,浮点数动态范围大,浮点运算一般不会发生溢出,价格相对昂贵。5.TI C2000 DSP的应用范围? 新能源、电机控制、数字电源、工业驱动、智能电网、传感检测等。6.F2812 CPU的字长是多少?定点/浮点型?主频能达到多高? 32位、定点型、150MHz7.简述F2812 CPU的哈佛总线结构。 程序地址总线(22bit)、程序读数据总线(32bit)、数据读地址总线(32位)、数据读数据总线(32bit)、数据/程序写数据总线(32bit)、数据写地址总线(32位)。8.F2812 CPU的流水线有多少级?每级流水线包含哪些阶段?各阶段的作用是什么? 8级,取指1、取指2、译码1、译码2、读1、读2、执行、写(各阶段作用参考PPT)。 9.F2812内部存储空间的Flash和SARAM有多大?Flash划分为多个扇区的优点是什么? 2 / 15 128KW、18KW。可对各个扇区进行独立擦写、减少对未使用扇区的不必要的擦写,可延长相应扇区的寿命。10.F2812的外部总线的地址总线与数据总线分别是多少位? 地址:19位。数据:16位。11.F2812包含哪些外设模块? Watchdog、CPUTimer、GPIO、PIE、EV、ADC、SPI、SCI、eCAN、McBSP12.F2812的片上时钟种类及其作用? XCLKIN/OSCCLK、CLKIN、SYSCLKOUT、LSPCLK/HSPCLK(各自用于哪些模块请参考PPT)。13.F2812时钟源种类?片上振荡器(OSC)的作用是什么? 外部时钟、无源晶体+OSCOSC为片上振荡器,为无源晶体提供振荡电路,产生系统工作所需要的时钟信号。14.PLL锁相环的工作模式有哪几种?如何选择?各模式下系统时钟频率为多少?PLL倍频系数范围为多少?PLL模块最高能将输入时钟频率提高多少倍? 禁用、旁路、使能(各模式下的系统时钟频率以及如何选择请参考PPT)PLL倍频系数范围:(1~10)/2。5倍。 15.请举例说明一种时钟方案向F2812提供最高主频。 外部提供30MHz时钟,经PLL先倍频10倍,再进行2分频,得F2812做允许的最高主频150MHz。16.F2812的高速外设时钟与低速外设时钟各自提供给哪些外设模块?各自频率范围及其默认值分别为多少? HSPCLK:EVA/B、ADC;LSPCLK:SCIA/B、SPI、McBSP。频率范围及其默认值为相对于SYSCLKOUT的频率,请参考PPT。17.简述F2812看门狗的作用及其基本工作原理。 参考PPT。18.F2812看门狗的工作时基是什么?(OSCCLK/CLKIN/SYSCLKOUT?)总的分频系数范围是多少? OSCCLK,1/512*(1/1~1/64)。19.F2812看门狗启用时,正确的“喂狗”指令是如何写寄存器WDKEY[7:0]?若 3 / 15 喂狗指令不正确,会导致什么结果? 先写0x55,再写0xAA。立刻产生复位信号,导致系统复位。 20.若F2812的外部输入时钟突然丢失,F2812的CPU是否继续工作?看门狗是否继续工作?请说明理由。 CPU由内部PLL提供跛行时钟继续工作,看么够停止计数,因为看门狗的工作时钟为OSCCLK。21.F2812片上有几个CPU定时器?各自用途是什么? 3个。用途请参考PPT。22.按图简述CPU定时器的基本工作原理? 由SYSCLKOUT提供基本时基给预分频计数器进行计数,预分频计数器减计数到0时产生一个计数脉冲给CPU定时器的计数器,CPU定时器即进行减计数。CPU定时器减计数到0时,重新加载周期寄存器的值并继续进行减计数。23.CPU定时器为多少位?计数方式是什么?计数时基是什么?何时触发定时器中断标志? 32位。减计数。SYSCLKOUT经16位预分频计数器减计数产生32位计数器的计数时基。CPU定时器减计数到0时触发定时器中断标志置1。24.CPU定时器的周期寄存器重新装载的条件有哪些? 参考PPT。25.若SYSCLKOUT=150MHz,如何配置寄存器TDDRH:TDDR和PRDH:PRD使得CPU定时器的计数周期为1s? 参考PPT。26.CPU定时器在遇到仿真断点时,有哪几种工作模式? 参考PPT。27.F2812有哪几种低功耗模式?简述各模式下F2812的工作状态。 IDLE、STANDBY、HALT(各模式下工作状态请参考PPT)。28.降低F2812的功耗的途径有哪些? 空闲时进入上述低功耗模式、降低工作频率、关闭未使用的外设时钟。29.F2812工程程序主要由哪些文件组成?各有什么作用? 源程序文件、头文件、命令文件、运行支持库。作用请参考PPT。30.H0或Flash中引导入口的存储空间需要存放什么功能的指令?为什么? 跳转指令,跳到_c_int00。 4 / 15 _c_int00是C语言运行环境初始化函数所在的段。由于此段的起始地址不一定为H0或Flash的引导入口地址,因此必须在H0或Flash的引导入口地址处插入跳转指令使程序跳转到_c_int00处开始执行,待运行环境初始化完成后会从_c_int00中跳转到main函数中开始执行用户代码。31.F2812程序的main()函数中一般需要包含哪些初始化内容? 一般都会包含系统初始化(InitSysCtrl——看门狗、PLL和外设时钟)、PIE初始化(InitPieCtrl——中断使能、标志寄存器)、PIE中断向量表初始化(InitPieVectTable)。其它外设初始化仅在使用的情况下才需要。参考PPT。32.命令文件(cmd)文件中的MEMORY和SECTIONS这两条伪指令的作用是什么? 参考PPT。33.简述SECTIONS中常用到的伪指令及其作用。 参考PPT。34.简述外设寄存器变量的定义与地址分配过程。 头文件中定义寄存器变量的结构体类型,GlobalVariableDefs.c文件中定义寄存器变量并将其分配到相应的寄存器段中,cmd文件中将寄存器段分配到相应的寄存器物理地址空间中。35.简述如何检查程序的存储空间分配是否合理?若不合理,如何修改? 程序编译后可以查看工程文件夹内Debug文件夹下生成的对应的.map文件,该文件中给出了存储空间的使用情况。为确保程序能够正常运行,需确保各程序段或数据段所分配的程序空间留有一定的裕量。若各段所要求的存储空间超出分配的存储空间,则编译出错,且.map下显示所分配的空间未使用。若各段所要求的存储空间接近分配的存储空间,则编译不会出错,但.map文件中显示所分配的空间的未使用部分已很少。若发生这两种情况,均需在cmd文件中对存储空间进行重新划分,确保给各所分配的空间足够且留有一定的裕量。36.F2812有多少个GPIO口?有什么特点?驱动能力为多少?复位默认为什么状态? 56个可编程功能复用GPIO。可独立控制I/O功能、方向和输入限制窗时间(消抖)。4mA。复位默认为通用I/O功能,且为输入引脚。除少数GPIO口(参考PPT)内部 5 / 15 无上拉之外,大多GPIO口内部有上拉电阻,因此悬空的引脚电平默认为高电平状态。37.为什么将GPIO配置为通用I/O口时,需确保该I/O对应的外设中断功能为禁止状态? F2812上所有GPIO口为I/O和外设功能复用的,但其只有输出功能是可选择作为I/O输出还是外设输出,输入功能是始终使能且是始终同时输入到I/O模块和外设模块的。因此,若将GPIO口配置为通用I/O,那么无论其是输出引脚还是输入引脚,其引脚上的电平状态都会直接输入到外设模块中,所以必须将该引脚所对应的外设中断屏蔽,否则会引起中断触发。38.简述GPxMUX、GPxDIR、GPxQUAL、GPxDAT、GPxSET、GPxCLEAR、GPxTOGGLE寄存器的作用。 参考PPT。39.F2812 有多少个CPU级中断?可分为哪些类?各类有哪些中断资源? 32个。硬件中断、软件中断。具体中断资源请参考PPT(重点掌握18个硬件中断资源)。40.简述CPU级中断控制寄存器或寄存器位及其作用。 IFR、IER、INTM(ST1.0)。作用参考PPT。41.简述F2812上PIE模块的作用及中断管理结构。 F2812只有18个CPU级硬件中断资源,不足以处理其45个外设级硬件中断。PIE模块用于中断扩展。45个外设级中断请求向PIE模块产生中断请求,再由PIE模块向CPU产生中断请求。CPU响应PIE请求来处理外设中断请求。PIE总计可管理96个中断资源,将其分为12组,每组8个。PIE模块的每组中断资源对应CPU级的一个硬件中断资源。PIE1~PIE12组分别对应CPU级的INT1~INT12。42.简述PIE模块中断控制寄存器及其作用。 PIEIFR(每组1个)、PIEIER(每组1个)、PIEACK(一个寄存器,每组1位)。作用参考PPT。43.简述外设中断请求与中断处理流程。 中断请求:外设中断事件会触发外设中断标志置位。外设级中断使能时,外设向PIE模块发送中断请求,使相应组的PIEIFRx中的相应位y置位。若对应组的PIEIERx 6 / 15 中的相应位y为1(即中断使能),且PIEACK寄存器中相应组的ACKx位为0(允许响应该组中断),则PIEACK中的ACKx位被置1,同时PIE模块向CPU级发送中断请求INTx,使CPU级中断标志寄存器IFR中的第x位置1。若CPU级的中断使能寄存器IER中的第x位为1,即使能INTx中断,且全局中断使能(INTM=0),则CPU响应外设中断请求。CPU响应中断:CPU开始响应中断后,IFR和IER寄存器中相应位被清0,INTM位被置1(中断被全局禁止)。然后,从PIE模块获取中断向量表,并将PIEIFRx.y清0,再转去执行中断服务子程序。在出中断服务子程序之前,需手动清楚PIEACK中的ACKx位,以允许PIEx组中断能够继续被CPU响应。出中断服务子程序之后,IER和INTM又被自动重新使能。参考PPT中的流程图。44.在CPU响应中断时,哪些中断标志位被自动清零? PIE级和CPU级相应的中断标志位被自动清零,外设级中断标志位需要软件清零。45.简述PIE模块的中断优先级以及如何实现中断嵌套。 包括PIE模块的中断优先级顺序、作用;要实现中断嵌套,需要在中断服务子程序中如何操作,中断嵌套与中断优先级是否有关。参考PPT。46.简述什么是中断向量?什么是中断向量表? 参考PPT。47.F2812外部中断资源有哪些?外部中断触发事件有哪些? XINT1、XINT2、XNMI。中断触发事件可选择外部中断引脚上升沿或下降沿。48.要编程实现一个外设中断处理,需要做哪些基本配置? a.使能PIE,初始化PIEIFR、PIEIER、PIEACK以及PIE中断向量表;b.初始化外设,使能外设级中断;c.定义中断服务子程序,并将中断服务子程序的函数地址赋到中断向量表中相应的中断向量;d.将PIEIERx.y(第x组第y个中断资源)置1使能中断,将PIEACK寄存器中的ACKx清0以允许CPU响应PIEx组中断请求;e.将IER中的第x位置1以使能CPU级的INTx中断;f.将INTM清0以使能全局中断。 7 / 15 49.F2812事
本文标题:DSP思考题
链接地址:https://www.777doc.com/doc-5285141 .html