DSP作业-2015秋-副本_第1页
DSP作业-2015秋-副本_第2页
DSP作业-2015秋-副本_第3页
DSP作业-2015秋-副本_第4页
DSP作业-2015秋-副本_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章 绪 论1 什么是DSP?答:DSP是数字信号处理器(Digital Signal Processor ),是特别适合于实现各种数字信号处理运算的微处理器。主要应用场合:(1)数字信号处理运算,(2)通信,(3)网络控制及传输设备,(4)语音处理,(5)电机和机器人控制,(6)激光打印机、扫描仪和复印机,(7)自动测试诊断设备及智能仪器仪表、虚拟仪器,(8)图像处理,(9)军事,(10)自动控制等。2. DSP芯片的特点有哪些? 答: (1) 采用改进的哈佛结构;(2) 采用流水线技术;(4) 配有专用的硬件乘法-累加器;(5) 具有特殊的DSP指令;(6) 快速的指令周期;(7) 硬件

2、配置强;(8).支持多处理器结构;(9) 省电管理和低功耗。3. DSP采用改进的哈佛总线结构,画出改进的哈佛总线结构示意图。答:改进的哈佛结构如下:4. DSP中由哪些地址和数据总线组成多总线结构?答:存储器接口有三条地址总线:(1) PAB(Program Address Bus (22))程序地址总线,用来传送来自程序空间的读写地址。PAB是一个22位的总线。(2) DRAB(Data-read Address Bus (32))数据读地址总线。32位的DRAB用来传送来自数据空间的读地址。(3) DWAB( Data-write Address Bus (32))数据写地址总线。32位

3、的DWAB用来传送来自数据空间的写地址。存储器接口还有三条数据总线:(1) PRDB(Program-read Data Bus (32))程序读数据总线, PRDB 在读取程序空间时用来传送指令或数据。(2) DRDB( Data-read Data Bus (32) )数据读数据总线。32位的DRDB在读取数据空间时用来传送数据。(3) DWDB( Data/Program-write Data Bus (32))数据/程序写数据总线。 32位的DWDB在对数据空间写数据时用来传送数据。5. DSP芯片的选型一般是从哪几个方面进行考虑?答:并不存在最好的DSP,正确的DSP选择取决于具体的

4、应用场合。没有任何DSP能够满足所有的,或者大多数应用的需要。对于一种应用来说是好的选择,对另外的应用则可能是很差的选择。 一般从数据格式、数据宽度、速度、存储器的安排、开发的难易程度、功耗和电源管理、器件的封装等方面考虑选择DSP。6. 简述TI公司的DSP三大平台和它们各自的应用场合。答:(1) 最佳控制:TMS320C2000 DSP平台TMS320C2000 DSP平台将各种高级数字控制功能集成于一颗IC上。强大的数据处理和控制能力可大幅提高应用效率和降低功耗。(2) 最低功耗:TMS320C5000 DSP平台TMS320C5000 DSP专门针对消费类数字市场而设计。(3) 最佳处

5、理能力:TMS320C6000 DSP平台 TMS320C6000 DSP是处理能力最强,易于采用高级语言编程的DSP。定点及浮点DSP市场定位在网络交换,图像处理,雷达信号处理等高端应用领域。7. DSP芯片发展趋势应该朝着哪些方面发展?答:(1) 系统级集成DSP是潮流 (2) DSP和微处理器的融合 (3) DSP和FPGA的融合(4) 可编程DSP是主导产品 (5) 追求更高的运算速度 (6)定点DSP是主流 第二章 CCS软件应用基础1 如何对CCS3.3的单处理器目标系统进行配置?答:(1) 运行桌面上的Code Composer Studio Setup应用程序,出现系统配置窗口

6、。(2) 在配置前可以通过选择File->Remove all清除以前的设置。(3) 在Available Factory Boards栏中选择需要调试的目标板或仿真器。为了方便找到相应的硬件配置,可以在右上侧的过滤栏中根据需用的处理器所属系列(Family)、处理器平台类型(Platform)、字节模式(Endian)等进行过滤。确定相应的配置后直接拖到左侧的System Configuration栏中,或者选中需要的目标配置文件后单击下面的Add按钮添加,如果Available Factory Boards栏中不存在用户需要的标准配置,可以自己创建配置文件进行配置。(4)选择Syst

7、em Configuration栏中的系统硬件,单击右键并选择属性,可以查看和编辑相关属性,根据需要可以针对不同的选型作适当的调整。(5)选择系统平台下的CPU,单击右键并选择属性,可以查看和编辑CPU的属性文件。主要包括的GEL文件、主/从设置、启动模式(实时或停止模式)等。(6)单击Save衣(luit按钮保存配置并退出配置程序,下次选用相同的平台开发时不需要重新配置。(7)退出配置程序后弹出Code Composer Studio IDE启动的判断按钮,选择Yes即可运行CCS。如果配置的是硬件平台,在运行CCS IDE之前,应该检查硬件系统的莽接状况和目标系统的供电情况。2 简单程序的

8、开发步骤有哪些?答:(1)如果已经在C: CCStudio_v3. 1目录下安装了CCS开发环境,则在C: CCStudio_v3. 1MyProjects目录下创建开发文件夹sinewave 。(2) C: CCStudio_v3. 1tutorialdsk2812sinewave目录下的.c,. cmd以及.h文件复制到创建的目录,然后运行CCS。(3) 依据工程的创建方法,创建新的工程(参考2.4.1小节)(4) 选择Project->Add Files to Proiect,添加.C、cmd以及rt_2800m1. lib文件。(5) 双击项目管理窗口下的sine.c一文件浏览程

9、序源代码,单击Rebuild All编译程序。(6) 编译、链接通过后,CCS下面的状态输出窗口将显示相应的状态。(7) 选择File-Load Program装载应用程序。(8) 运行程序。3 DSP探针的作用有哪些?答:探针主要用来从PC机的数据文件中读取数据,提供给算法或其他程序使用,从而有利于DSP的算法开发或参考数据的生成。可以使用探针完成下列任务:(1) 从主机的数据文件中读取数据,然后传送到目标处理器的存储缓冲,以便算法程序使用主机的数据;(2) 从目标处理器的存储缓冲中读取数据并存放到PC机的指定文件中,以便进一步分析;(3) 刷新带有数据的图形窗口。第三章 C/C+程序编写基

10、础1. TMS320X28xx采用C/C+编程时,采用位定义和寄存器文件结构方法有什么好处?答:(1) TI公司为用户提供写好的文件结构体和位区定义,可以在其网站下载。C281x C/C+ Header Files and Peripheral Examples (SPRC097)C280x, C2801x C/C+ Header Files and Peripheral Examples (SPRCl91C2804x C/C+ Header Files and Peripheral Examples (SPRC324)(2) 使用位区方便编写代码,可读性强,易升级。(3) 位区定义可以充分利

11、用Code Composer Studio编辑器的自动代码输入功能,方便用户输入代码。当使用寄存器文件结构和位区时,很多变量名很长,难于记忆而且输入非常困难。当输入代码时,Code Composer Studio编辑器提供可能的结构体或位区列表,这样用户可以很容易地使用输入编辑程序代码。CPU定时器的TCR寄存器自动输入。(4) 方便Code Composer Studio的Watch窗口观察变量。用户可以在Code Composer Studio的Watch窗口增加扩展寄存器文件结构体,直接观察相应的位区定义的参数值,2. 什么是定点数据,什么是浮点数据?TMS320X28xx是定点还是浮点

12、处理器?它是如何实现浮点数据处理的?答:小数点固定的数据称为定点数据,小数点浮动的数据称为浮点数据,TMS320X28xx是定点处理器,它通过TMS320X28xx Iqmath库实现浮点处理。3.以_iq24为例解释课本表3.4中的Q格式数据的范围和精度。答:本题不做要求。第6章 TMS320F2812的时钟和看门狗1.如果要使系统时钟为输入时钟的5倍频,同时使能所有的外设时钟,将高速外设的时钟设置为系统时钟的1/10,低速外设的时钟设置为系统时钟的1/12,应该如何设置相关的寄存器?答:PLLCR=0x000A;PCLKCR=0xFFFF,HISPCP=0x0005,LOSPCP=0x00

13、062.画出程序监视器内部结构图,对照图简要说明它的工作原理。答:当8位程序监视器增计数器计数到最大值时,程序监视器模块产生一个输出脉冲,脉宽为512个晶体振荡器时钟宽度(OSCCLK)。为了阻止程序监视器复位,用户必须禁止计数器或程序周期性地向程序监视器密钥寄存器写入0x55+0xAA序列,否则将复位程序监视器计数器。3. 试编写一段程序使程序监视器的计数器未溢出前,使程序监视器的计数器复位。void KickDog(void) EALLOW; SysCtrlRegs.WDKEY=0x0055; SysCtrlRegs.WDKEY=0x00AA; EDIS;第7章 可编程数字量通用I/O1.

14、 八个帖片LED由GPIOA0-GPIOA7驱动,画出电路图,编写C语言源程序,实现如下功能:(1) 使八个二极管全亮。(2) 使八个二极管一半亮(GPIOA0-GPIOA3所接二极管亮),一半暗(GPIOA4-GPIOA7所接二极管暗) 。答:电路图如下:(1) 使八个二极管全亮,程序如下:#include "DSP28_Device.h"void IOinit()EALLOW; 对保护空间的访问使能GpioMuxRegs.GPAMUX.all = 0xFF00; 将GPIOA0GPIOA7配置为一般I/O端口,GpioMuxRegs.GPADIR.all = 0x00F

15、F; 将GPIOA0GPIOA7配置为输出EDIS;禁止对保护空间的访问void main(void)InitSysCtrl(); / 系统初始化子程序,在DSP28_sysctrl.c中DINT; / 关闭总中断IER = 0x0000; / 关闭外设中断IFR = 0x0000; / 清中断标志IOinit(); / I/O初始化子程序while (1)GpioDataRegs.GPADAT.all = 0xFF00; 将GPIOA0GPIOA7输出为全0 (2) 使八个二极管一半亮(GPIOA0-GPIOA3所接二极管亮),一半暗(GPIOA4-GPIOA7所接二极管暗),程序如下:#i

16、nclude "DSP28_Device.h"void IOinit()EALLOW; 对保护空间的访问使能GpioMuxRegs.GPAMUX.all = 0xFF00; 将GPIOA0GPIOA8配置为一般I/O端口,GpioMuxRegs.GPADIR.all = 0x00FF; 将GPIOA0GPIOA8配置为输出EDIS;禁止对保护空间的访问void main(void)InitSysCtrl(); / 系统初始化子程序,在DSP28_sysctrl.c中DINT; / 关闭总中断IER = 0x0000; / 关闭外设中断IFR = 0x0000; / 清中断标

17、志IOinit(); / I/O初始化子程序while (1)GpioDataRegs.GPADAT.all = 0xFFF0; 第八章中断系统及其应用1. F28x器件有大量的外设模块,由此会产生大量的中断,F28x是如何管理这些中断的?用图示说明。答:F28x器件有大量的外设模块,每一个外设模块都可以产生一个或多个对应于外设模块事件的外设模块级中断。由于CPU没有能力在CPU级处理所有的外设中断请求,因此需要外设中断扩展(PIE)控制器去集中和仲裁不同来源的中断请求。 PIE向量表用来存储各个中断服务程序的入口地址。所有复用和非复用在内的每个中断都有一个向量。F28x器件的PIE中断管理原

18、理图如下:2. 若要禁止所有的外设中断,IER 的值设置为多少?答:IER=0x0000。3.若要清除所有的中断标志,IFR 的值设置为多少?答:IFR=0x0000。4 画出PIE外设中断扩展模块结构图,并简单说明它的功能。答:PIE外设中断扩展模块结构图如下图:功能同第1题。5 用CPU定时器0实现100ms的定时,晶振频率30MHz,锁相环PLL是5倍频,编写ConfigCpuTimer(struct CPUTIMFR_VARS *Timer, float Freq, float Period)函数,并写出ConfigCpuTimer()函数的实际参数值。答:void ConfigCpu

19、Timer(struct CPUTIMFR_VARS *Timer, float Freq, float Period) Uint32 temp; /初始化周期 Timer->CPUFreqInMHz=Freq; Timer->PeriodInUSec=Period; temp=(long) (Freq*Period); Timer->RegsAddr->PRD. all=temp; /设置预定标参数(SYSCLKOUT): Timer->RegsAddr->TPR. all=0;Timer->RegsAddr->TPRH. all = 0 ;/

20、初始化定时器控制寄存器 Timer->RegsAddr->TCR.bit.TSS=1; /1=Stop timer, 0=Start/Restart TimerTimer->RegsAddr->TCR. bit.TRB=1; / 1=reload timerTimer->RegsAddr->TCR. bit. SOFT =1; Timer->RegsAddr->TCR.bit.FREE = 1; /Timer Free RunTimer->RegsAddr->TCR.bit.TIE=1; /0=Disable/ 1=Enable Ti

21、mer Interrupt /复位中断计数Timer->InterruptCount=0;实际参数值ConfigCpuTimer(&CpuTimer0,150,100000);第九章 事件管理器及其应用1.利用GP定时器1在GPIOF8引脚上产生0.2s的方波,用一个贴片LED闪烁来表示。系统时钟150MHz,高速外设时钟25MHz,定时器1预分频因子W为128分频,试编写相关程序。答:系统时钟150MHz,通过高速外设时钟预定标器(HISPCP)得到25MHz的高速外设时钟,再通过定时器1预分频因子的128分频,得到定时周期为5.12us。定时周期= 0.2s/2=0.1s;0

22、.1/(5.12×10-6)=0x4C4B周期寄存器T1PR=0x4C4B -1=0x4C4A。程序如下:#include "DSP28_Device.h"interrupt void eva_timer1_isr(void);void EVA_Timer1() EvaRegs.GPTCONA.all = 0; / 初始化 EVA Timer 1 EvaRegs.T1PR = 0x4C4A; / 定时周期为5.12us*(T1PR+1)=0.1s EvaRegs.EVAIMRA.bit.T1PINT = 1; /使能定时器1的周期中断 EvaRegs.EVAIFR

23、A.bit.T1PINT = 1; /写1清除定时器1的周期中断标志 EvaRegs.T1CNT = 0x0000; EvaRegs.T1CON.all = 0x1740; /连续增计数,128分频,打开定时器void main(void)InitSysCtrl(); /初始化系统控制寄存器, 时钟频率150MEALLOW;SysCtrlRegs.HISPCP.all = 0x0003;/高速时钟的工作频率25MEDIS;DINT; /关闭总中断,清除中断标志IER = 0x0000; /关闭外围中断IFR = 0x0000; /清中断标志InitPieCtrl(); /初始化PIE控制寄存器

24、InitPieVectTable();EVA_Timer1();EALLOW;GpioMuxRegs.GPFMUX.bit.MCLKXA_GPIOF8=0; /把GPIOF8设置为一般I/O口,输出GpioMuxRegs.GPFDIR.bit.GPIOF8=1;PieVectTable.T1PINT = &eva_timer1_isr; /中断服务程序入口地址放入中断向量表EDIS; /依次使能各级中断:外设中相应中断位->PIE控制器->CPU PieCtrlRegs.PIEIER2.all = M_INT4; /GP定时器1使能位于PIE第2组第4个,将其使能IER |

25、= M_INT2; /PIE第2组对应于CPU的可屏蔽中断2(INT2),将其使能EINT; /开总中断for(;); interrupt void eva_timer1_isr(void) GpioDataRegs.GPFDAT.bit.GPIOF8=GpioDataRegs.GPFDAT.bit.GPIOF81; /产生方波EvaRegs.EVAIMRA.bit.T1PINT = 1 /使能定时器1的周期中断 EvaRegs.EVAIFRA.bit.T1PINT = 1 /写1清除定时器1的周期中断标志PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; /清零

26、PIEACK中的第2组中断对应位 2通用定时器应用举例P193.第十四章 A/D转换单元1 已知XCLKIN=30MHz,要使ADC模块的时钟ADC CLK为3.125MHz,应该对哪些寄存器中的哪些段进行设置,设置的数值分别为多少?(P409表14.8)答:应该对PCLKCR中的ADCENCLK、PLLCR中的DIV、HISPCP中的HSPCLK、ADCTRL3中的ADCCLKPS、ADCTRL1中的CPS进行设置。 设置的数值分别是:PCLKCR中的ADCENCLK设置为1(或PCLKCR=0x0008),PLLCR中的DIV设置为1010(PLLCR=0x000A),HISPCP中的HSPCLK设置为011(HISPCP=0x0003),ADCTRL3中的ADCCLKPS设置为0010,ADCTRL1中的CPS设置为1。2 假设用SEQ1完成5个通道的自动连续转换。ADCINA2和ADCINA1转换两次;ADCINA6转换一次,请编程序配置ADC。答:/ 配置 ADC AdcRegs.ADCMAXCONV.all = 0x0004; / 设置SEQ1的2个转化通道AdcRegs.ADCCHSELSEQ1.bit.CO

温馨提示

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

评论

0/150

提交评论