115-16-1DSP控制器原理复习大纲答案2016-1-4一、DSP控制器基本概念题1.DSP控制器与其他微处理器的主要区别是什么?答:外设硬件丰富、CPU字长32位,适用数字信号处理高速运算和PWM高精度控制。2.DSP控制器的主要优势是什么?答:运算速度快、数字处理精度高。3.DSP控制器的CPU字长采用32位的主要目的是什么?答:提高数字处理精度,即减少数字信号处理截断误差。4.DSP控制器的主要应用领域有什么特点?答:对控制精度要求高的场合。5.DSP控制器的存储器多总线结构用于内存储器还是外存储器?答:用于内存储器。6.DSP控制器的片上外设资源包括哪些种类?答:模拟输入电路(如A/D转换器)、开关量输入电路、开关量输出电路、通信接口电路、存储器电路、事件管理器电路、看门狗电路。7.DSP控制器编程语言通常采用什么语言?答:C语言8.DSP控制器的软件系统采用分段技术来定位代码和数据的主要优点是什么?答:便于采用软件模块化设计。9.DSP控制器的复位向量有什么特点?(一是复位向量不再定位在地址0上,二是复位向量也不再是ROM存储器,也可以定位在外部RAM空间。这是为什么?答:一是复位向量不再定位在地址0上,二是复位向量也不再是ROM存储器,也可以定位在外部RAM空间。定位在外部RAM空间的目的是可以使仿真代码下载到RAM不仅快速、而且下载无限次。(ROM要烧写,不仅慢,而且烧写次数为有限次)10.DSP控制器的复位向量定位在不同存储空间靠什么控制?答:用DSP的MCMP/输入引脚控制。11.DSP上电复位后,不是直接跳转到main()函数入口,而是执行一段引导程序(BootROM代码)后,再跳转到main()函数入口,DSP的引导程序有什么作用?答:DSP的引导程序的主要作用是检测DSP的指定4个引脚,决定是执行跳转模式(当4个引脚悬空时,就是默认跳转模式,跳转到Flash存储器入口),还是执行加载模式(有串口、并口等通信接口加载模式,通信接收其他计算机传送代码到DSP的RAM后执行)。212.DSP的中断系统采用多级中断管理系统。与单片机中断系统的单级中断管理系统相比,多级中断管理系统有什么好处?答:分级管理,逻辑关系清晰,软件编程阅读性好。13.事件管理器包括哪些外设,核心外设是什么?答:包括通用定时器、比较单元、PWM单元、捕获单元、正交编码单元。核心外设是通用定时器。二、DSP硬件开发基础题1.TMS320F2812片上存储器电路和片外存储器电路有什么存取上的区别?答:片上存储器采用多总线存取,片外存储器采用单总线存取。2.存储器地址总线与存储器容量的计算式,存储器容量的单位是什么?答:存储器容量=2地址总线位数存储器容量的单位是KW,1KW=1024W(W-字)3.字节(Byte)与字(Word)之间的换算式答:1W=2Byte4.数字I/O引脚与外设功能引脚复用是DSP引脚的一大特色,为什么要复用呢?上电复位后,复用引脚呈现为何种引脚?答:减小芯片封装面积。复位后,复用引脚呈现为数字I/O引脚。5.DSP具有低功耗模式也是DSP硬件的一大特色。低功耗模式如何进入?有几种低功耗模式?低功耗模式如何退出(又称为唤醒)答:(1)进入低功耗模式,采用执行软件指令“IDEL”,即汇编行C语句:asm(“IDEL”);(2)分为空闲、备用、停止三种低功耗模式。(3)利用规定的引脚信号变有效即可退出低功耗模式。6.TMS320F2812最小硬件系统由哪几个电路组成?其中JTAG接口电路为什么是DSP最小系统的组成部分?JTAG接口电路主要功能是什么?答:(1)最小硬件系统由DSP芯片、电源电路、时钟电路、复位电路、JTAG接口电路组成。(2)因为DSP芯片上有JTAG接口相关的信号引脚,需要通过JTAG接口引出,便于连接硬件仿真器。(3)JTAG接口电路主要功能是仿真调试与烧写代码。7.PWM波形发生器电路要用到比较电路,比较电路的作用是什么?PWM与I/O引脚有什么区别?答:(1)比较电路的作用将计数器的计数值与比较寄存器的值进行比较,若相等,触发PWM引脚的电平进行翻转(即PWM引脚的电平原来为1,翻转为0;原来为0,翻转为1。)(2)PWM是I/O引脚中的OUT引脚,与I/O引脚本质上没有区别。38.A/D转换器的主要性能有哪些?其中,分辨率计算公式是什么?分辨率含义是什么?答:(1)转换位数、采样速率(或转换时间)、输入电压量程(或参考电压)(2)分辨率=输入电压量程/(2转换位数-1)(3)分辨率含义是转换一位数字量所对应的最小电压值。9.最常用的单极性A/D转换器,输入电压量程(即输入电压范围)由什么电压决定?答:A/D转换器的参考电压。10.A/D转换器的量化误差计算式是什么?如何根据数字处理系统的总体处理误差来确定A/D转换器位数?答:(1)A/D转换器的量化误差=1/2A/D转换器位数(2)A/D转换器的量化误差≦数字处理系统的总体处理误差即,1/2A/D转换器位数≦数字处理系统的总体处理误差,然后求出A/D转换器位数。11.捕获单元捕获输入脉冲脉宽和周期的原理是什么?脉宽时间是如何计算的?答:(1)捕获单元捕获输入脉冲脉宽的一个上升沿和一个下降沿的通用定时器当前计数值,然后相减得计数差值,就是脉冲脉宽对应定时器计数值,再把该计数差值转换成时间值。(2)捕获单元捕获输入脉冲周期的2个上升沿或2个下降沿的通用定时器当前计数值,然后相减得计数差值,就是脉冲周期对应定时器计数值,再把该计数差值转换成时间值。三、DSP中断机制题1.TMS320F2812有几种中断向量表?哪个是过渡中断向量表?哪个是最终使用中断向量表?答:(1)有BROM中断向量、XINTF中断向量、PIE中断向量。(2)BROM中断向量、XINTF中断向量是过渡中断向量,由上电复位时,DSP的MCMP/输入引脚控制。(3)PIE中断向量是最终使用中断向量。2.PIE中断向量表位于什么存储器空间?PIE中断向量表的内容需要编程填写,是用多少填写多少?还是全部要填写?答:(1)PIE中断向量表位于数据存储器空间。(2)PIE中断向量表的内容是根据开放多少中断源,用多少填写多少。3.中断允许寄存器和中断标志寄存器各自起什么作用?为什么要设置这两种寄存器?答:(1)中断允许寄存器用于屏蔽或开放可屏蔽中断源,中断标志寄存器用于中断源的中断请求进行登记。(2)中断允许寄存器可以实现软件屏蔽或开放可屏蔽中断源,中断标志寄存器可以实现多个外设中断源同时向一个DSP内核中断输入线申请中断时,先登记,只要开放这些中断源,就能保证分时根据优先权从高到低,依次向一个DSP内核中断输入线申请中断,就不会出现丢失中断请求,永远不会响应中断的现象发生。4.TMS320F2812的中断函数的特征是什么?为什么中断函数结尾要清除INTM和PIEACK寄存器的指定应答位?4答:(1)函数名前面用关键字前缀”interrupt”修饰,就是中断函数。(2)INTM是DSP的总中断控制标志,一旦CPU响应中断,进入中断函数,DSP中断硬件系统就自动将INTM置为“1”,意味着禁止所有中断请求。因此,中断函数结尾要清除INTM,即将INTM清为“0”,这样当中断返回到主程序后,CPU才能继续响应中断请求。(3)PIEACK寄存器的指定应答位在CPU响应中断后,进入中断函数,DSP中断硬件系统就自动将IPIEACK指定应答位置为“1”,意味着禁止PIE模块登记的其他所有中断请求,因此,中断函数结尾要清除IPIEACK指定应答位,即将IPIEACK指定应答位置为“0”,这样当中断返回到主程序后,CPU才能继续PIE模块登记的其他所有响应中断请求。四、DSP软件开发基础题1.DSP控制器软件开发单位是工程文件,工程文件由什么文件共同组成?其中哪些文件是必不可少的?答:工程文件由代码源文件、头文件、链接器命令文件、库文件组成。其中代码源文件和链接器命令文件是必不可少的。2.链接器命令文件是什么文件?产生代码吗?答:链接器命令文件以.cmd后缀命名,是一种包含MEMORY和SECTIONS伪指令的文本文件。链接器命令文件编译后不产生代码。3.CCS是DSP的软件开发工具,调试代码的方法是什么?答:单步运行调试和设断点全速运行调试,并利用观察命令,打开寄存器显示窗口、或者内存单元显示窗口、或变量观察窗口,显示观察对象在单步运行点或全速运行到断点的显示值。4.DSP控制器的软件开发模板为用户提供哪些模板?这些模板包括哪些内容?答:DSP各种外设寄存器位定义的结构体变量头文件模板、采用pragma预编译器指令为外设寄存器结构体分配数据段的源文件模板、外设扩展模块(PIE)的控制寄存器初始化程序源文件模板、PIE向量表的初始化程序源文件模板、时钟与系统控制外设的初始化程序源文件模板、用户自定义的源文件(包含主函数main)的框架模板、运行时支持函数库模板、链接器命令文件模板。5.外设驱动程序是外设寄存器定义、控制外设寄存器使用的程序,2812采用结构体来定义外设寄存器的最大优点是什么?为什么不用#define语句来定义?答:可以单独访问和显示外设寄存器的位域值,也可以访问和显示外设寄存器的16位整体值,给代码调试带来很大便利。而#define语句定义的外设寄存器宏常量只能对16位整体值访问和显示,若想对外设寄存器的某个位域值进行访问C语言编程就很繁琐,外设寄存器的某个位域值显示不直观。6.DSP的C编译器生成各种段名,用户必须了解系统初始化段名和用户命名段名等概念,否则就无法编写和修改链接器命令文件内容。答:因为链接器命令文件是文本文件,用户可以编辑修改。在应用程序设计中,有些用户用pragma预编译器指令定义了用户命名代码段和用户命名数据段,这时,用户必须在链5接器命令文件中添加这些用户命名代码段和数据段的定位信息,否则编译出错!五、分析计算题1.CPU定时器计数常数计算题答:因为CPU定时器包含一个32位减1计数器,而且是在减1有借位是才产生定时中断,因此,CPU定时器计数常数计算公式=定时时间/输入时钟周期)-1(5-1)思考题1:为什么要减1?(因为减1有借位才产生定时中断,所以(定时时间/时钟周期)还要减1。2.通用定时器计数时间常数计算题通用定时器包含一个16位计数器(TCNT),可以设置成一个16位加1计数器或加1/减1计数器(即先加1计数,当计数值加到等于周期寄存器TPR初值后,再减1计数到零),故计数时间常数计算分两种情况:(1)当通用定时器计数模式设置成“连续增计数模式”时,TCNT随时钟周期加1,加到等于周期寄存器预先设定非零值后,再来一个时钟周期,TCNT才自动回零。因此,周期寄存器TPR初值计算公式为:TPR=(定时时间/输入时钟周期)-1(5-2)思考题:为什么要减1?请看下面的连续增计数模式TCNT波形.,如图1所示,其中x表示通用定时器的编号,x=1,2,3,4。因为TCNT从0开始随每个时钟周期加1,当计数值等于TPR+1后,TCNT才回0,并产生周期中断,故(定时时间/时钟周期)还要减1。图1通用定时器连续增计数模式下的周期中断(2)当通用定时器计数模式设置成“连续增/减计数模式”时,TCNT加到等于周期寄存器TPR初值后,不是立即自动回零,而是变为减1计数器,随时钟输入连续减到零。故TPR=(定时时间/输入时钟周期)/2(5-3)6为什么TPR不要减1,看下面的连续增/减计数模式TCNT波形图,如图2所示。因为TCNT值加1计数值等于TPR后,下一个时钟来临时,TCNT就减1,直到减到0为止,才产生周期中断。图2通用定时器连续增/减计数模式下的周期中断3.非对称PWM波形计算题通用定时器连续增计数模式下的比较、非对称PWM波形输出如图3所示。图3通用定时器连续增计数模式下的非对称PWM波形周期寄存器TPR=(非对称PWM周期/输入时钟周期)-1(5-4)有效低电平翻转比较寄存器CMPR=占空比×(TPR+1)(5-5)有效高电平翻转比较寄存器C