ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:24.10KB ,
资源ID:5582562      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5582562.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(哈工大DSP课程报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

哈工大DSP课程报告.docx

1、哈工大DSP课程报告2015年秋季学期DSP原理及应用课程课程设计报告院系:航天工程与力学系班号: 1218201 学号: 1122110326姓名: 高小宁_2016年1月13日审阅教师: 考核成绩: 题目一:结合学习过的DSP基本知识,试论述如果采用 DSP为核心器件 设计系统,需要考虑哪些性能指标、遵循哪些设计原则?一、运算速度:首先我们要确定数字信号处理的算法, 算法确定 以后其运算量和完成时间也就大体确定了, 根据运算量及其时间要求 就可以估算DSP芯片运算速度的下限。在选择 DSP芯片时,各个芯 片运算速度的衡量标准主要有:1、 MIPS(Millio ns of In struc

2、tio ns Per Seco nd),百万条指令 / 秒,一 般DSP为20100MIPS,使用超长指令字的TMS320B2XX 为 2400MIPS。必须指出的是这是定点DSP芯片运算速度的衡量指标, 应注意的是,厂家提供的该指标一般是指峰值指标,因此,系统设计时应留有一定的裕量。2、 MOPS(Millio ns of Operatio ns Per Seco nd),每秒执行百万操作。这个指标的问题是什么是一次操作,通常操作包括 CPU操作外,还包括地址计算、DMA访问数据传输、I/O操作等。一般说MOPS越 高意味着乘积-累加和运算速度越快。MOPS可以对DSP芯片的性能 进行综合描

3、述。3、 MFLOPS ( Million Floating Point Operations Per Second),百万次浮点操作/秒,这是衡量浮点 DSP芯片的重要指标。例如TMS320C31 在主频为 40MHz 时,处理能力为 40MFLOPS,TMS320C6701在指令周期为6ns时,单精度运算可达 1GFLOPS。浮点操作包括浮点乘法、加法、减法、存储等操作。应注意的是,厂家提供的该指标一般是指峰值指标,因此,系统设计时 应注意留有一定的裕量。4、 MBPS(Millio n Bit Per Seco nd),它是对总线和 I/O 口数据吞吐 率的度量,也就是某个总线或I/O的

4、带宽。例如对TMS320C6XXX、 200MHz时钟、32bit总线时,总线数据吞吐率则为 800Mbyte/s或 6400MBPS。5、 指令周期,即执行一条指令所需的时间,通常以 ns (纳秒) 为单位,如 TMS320LC549-80在主频为 80MHz是的指令周期为 12.5ns。MAC时间,执行一次乘法和加法运算所花费的时间:大多 数DSP芯片可以在一个指令周期内完成一次 MAC运算。6、 FFT/FIR执行时间,运行一个N点FFT或N点FIR程序的运 算时间。由于FFT运算/FIR运算是数字信号处理的一个典型算法, 因此,该指标可以作为衡量芯片性能的综合指标。二、 运算精度:一般

5、情况下,浮点 DSP芯片的运算精度要高于 定点DSP芯片的运算精度,但是功耗和价格也随之上升。三、 字长的选择:一般浮点 DSP芯片都用32位的数据字,大多 数定点DSP芯片是16位数据字。四、 存储器等片内硬件资源安排:包括存储器的大小,片内存储 器的数量,总线寻址空间等。五、 开发调试工具:完善、方便的的开发工具和相关支持软件是 开发大型、复杂DSP系统的必备条件,对缩短产品的开发周期有很 重要的作用。六、 功耗与电源管理:一般来说个人数字产品、便携设备和户外 设备等对功耗有特殊要求,因此这也是一个该考虑的问题。七、 价格及厂家的售后服务因素:价格包括 DSP芯片的价格和 开发工具的价格。

6、八、其他因素:包括 DSP芯片的封装形式、环境要求、供货周 期、生命周期等。题目二:采用DSP处理器的CPU定时器进行10000次计数,写出定时器 的设置程序代码。void ConfigCpuTimer(struct CPUTIMER_V ARS *Timer, float Freq, float Period)Ui nt32 temp;/定时器计数值Timer-CPUFre qlnMHz = Freq;Timer-PeriodI nUSec = Period; temp = (lo ng) (Freq * Period);Timer-RegsAddr-PRD.all = temp;Timer

7、-RegsAddr-TPR.all = 0; Timer-RegsAddr-TPRH.all = 0;Timer-RegsAddr-TCR.bit.POL = 0; Timer-RegsAddr-TCR.bit.TOG = 0;Timer-RegsAddr-TCR.bit.TSS = 1;Timer-RegsAddr-TCR.bit.TRB = 1; Timer-RegsAddr-TCR.bit.FRCEN = 0;Timer-RegsAddr-TCR.bit.PWIDTH = 7; Timer-RegsAddr-TCR.bit.SOFT = 1;Timer-RegsAddr-TCR.bit.

8、FREE = 1; Timer-RegsAddr-TCR.bit.TIE = 1;Timer-l nterruptCou nt = 0;Co nfigCpuTimer(&CpuTimer0,150,10000);题目二:如果采用DSP处理器的GPIO端口点亮小灯,试画出基本的电 路原理图。VDD33V|当GPIO端为低电平时,小灯被点亮。题目四:设计DSP处理器SCI串口同计算机通信,采用中断方式收发数据,间隔3秒发送一次字符The TMS320F2812-UART is fine !;要求 SCI配置为波特率19200,数据长度8Bit,无极性,2位停止位;使 用TX缓冲寄存器空触发SCI-

9、TX INT中断,CPU定时器0中断触发 第一次传输,试给出相关程序代码。#in elude DSP281x_Device.h/使用的函数原型声明void Gpio_select(void);void In itSystem(void);void SCI_I nit(void);in terrupt void cpu_timer0_isr(void); in terrupt void SCI_TX_isr(void);/全局变量char message=The F2812-UART is fine !nr; int index =0; /字符串指针void mai n(void) InitSy

10、stem(); /初始化DSP内核寄存器Gpio_select(); /配置GPIO复用功能寄存器Ini tPieCtrl(); /调用外设中断扩展初始化单元PIE-unit (代码:DSP281x_PieCtrl.c)InitPieVectTable(); / 初始化 PIE vector 向量表(代码:DSP281x_PieVect.c )重新映射PIE - Timer 0的中断EALLOW; /解除寄存器保护PieVectTable.TINTO = & cpu_timerO_isr;EDIS; /使能寄存器保护In itCpuTimers();/ 配置 CPU-Timer 0 周期 50

11、 ms:/ 150MHz CPU频率,50000微秒中断周期Con figCpuTimer(&CpuTimer0, 150, 50000);/ 使能 PIE 内的 TINT0 : Group 1 interrupt 7PieCtrlRegs.PIEIER1.bitNTx7 = 1;/使能CPU INT1 (连接到CPU-Timer 0中断)IER = 1;EALLOW; /解除寄存器保护PieVectTable.TXAINT = & SCI_TX_isr;EDIS; /使能寄存器保护/使能PIE内的SCI_A_TX_INT中断 PieCtrlRegs.PIEIER9.bitNTx2 = 1;/

12、 使能 CPU INT 9IER |= 0x100;/全局中断使能和更高优先级的实时调试事件EINT; /全局中断使能INTMERTM; /使能实时调试中断 DBGMCpuTimer0Regs.TCR.bit.TSS = 0; / 启动定时器 0SCI_I nit();while(1)while(CpuTimer0.InterruptCount 60) / 等待50ms * 60EALLOW;SysCtrIRegs.WDKE Y 二 0x55;SysCtrIRegs.WDKEY 二 0xAA; / 看门狗控制EDIS;CpuTimer0.InterruptCount = 0; / 复位计数器i

13、n dex = 0;SciaRegs.SCITXBUF二 messagei ndex+;void Gpio_select(void)EALLOW;置为I/OGpioMuxRegs.GPBMUX.all = 0x0;GpioMuxRegs.GPDMUX.all = 0x0;GpioMuxRegs.GPFMUX.all = 0x0;GpioMuxRegs.GPFMUX.bit.SCIRXDA_GPIOF5 = 1; / 配置 SCI-RXGpioMuxRegs.GPFMUX.bit.SCITXDA_GPIOF4 = 1; / 配置 SCI-TXGpioMuxRegs.GPEMUX.all = 0x

14、0;GpioMuxRegs.GPGMUX.all = 0x0;GpioMuxRegs.GPADIR.all = 0x0; / GPIO PORT 配置为输入GpioMuxRegs.GPBDIR.all = 0x0;GpioMuxRegs.GPDDIR.all = 0x0;GpioMuxRegs.GPEDIR.all = 0x0;GpioMuxRegs.GPFDIR.all = 0x00FF;GpioMuxRegs.GPGDIR.all = 0x0;GpioMuxRegs.GPAQUAL.all = 0x0; / 设置所有 GPIO输入的量化值等于0GpioMuxRegs.GPBQUAL.all

15、 = 0x0;GpioMuxRegs.GPDQUAL.all = 0x0;GpioMuxRegs.GPEQUAL.all = 0x0;EDIS;void In itSystem(void)EALLOW;SysCtrIRegs.WDCR二 0x00AF; / 配置看门狗/ 0x00E8禁止看门狗,预定标系数 Prescaler = 1/ OxOOAF 不禁止看门狗,预定标系数Prescaler = 64SysCtrIRegs.SCSR = 0; /看门狗产生复位SysCtrlRegs.PLLCR.bit.DIV = 10; / 配置处理器锁相环,倍频系数为5SysCtrIRegs.HISPCPa

16、ll = 0x1; / 配置高速外设时钟分频系数:2SysCtrlRegs丄OSPCP.all二0x2; /配置低速外设时钟分频系数:4/使用的外设时钟时钟设置:/ 一般不使用的外设的时钟禁止,降低系统功耗SysCtrlRegs.PCLKCR.bit.EVAENCLK=O;SysCtrlRegs.PCLKCR.bit.EVBENCLK=O;SysCtrlRegs.PCLKCR.bit.SCIAENCLK=1; / 使能 SCI 模块 的时钟SysCtrlRegs.PCLKCR.bit.SCIBENCLK=O;SysCtrlRegs.PCLKCR.bit.MCBSPENCLK=O;SysCtrl

17、Regs.PCLKCR.bit.SPIENCLK=0;SysCtrlRegs.PCLKCR.bit.ECANENCLK=0;SysCtrlRegs.PCLKCR.bit.ADCENCLK=0;EDIS;void SCI_I nit(void)SciaRegs.SCICCR.all =0x13; / 2bit 停止位 无循环模式无极性,字符长度:8 bits,/异步模式,空闲线协议SciaRegs.SCICTL1.all =0x0003; / 使能 TX, RX,内部SCICLK,禁止 RX ERR, SLEEP, TXWAKESciaRegs.SCIHBAUD = 0; / 波特率:19200

18、 (LSPCLK =37.5MHz);SciaRegs.SCILBAUD = 0xf3;SciaRegs.SCICTL2.bit.TXINTENA = 1; / 使能 SCI 发送中断SciaRegs.SCICTL1.all =0x0023; / 使 SCI 退出复位in terrupt void cpu_timer0_isr(void)CpuTimer0n terruptCo un t+;/每个定时器中断清除一次看门狗计数器/响应中断并允许系统接收更多的中断PieCtrIRegs.PIEACK.all = PIEACK_GROUP1;二= SCI_A发送中断服务程序/发送字符串 messag

19、e/=in terrupt void SCI_TX_isr(void)if (index 26)in dex =0; for(i=0;i15000000;i+) / 软件延时,近似 2 秒.EALLOW;SysCtrlRegs.WDKEY 二 0x55; / 看门狗控制SysCtrlRegs.WDKEY 二 0xAA; / 看门狗控制EDIS;void Gpio_select(void)EALLOW;GpioMuxRegs.GPAMUX.all = 0x0; / 所有 GPIO 端口配置为I/OGpioMuxRegs.GPBMUX.all = 0x0;GpioMuxRegs.GPDMUX.al

20、l = 0x0;GpioMuxRegs.GPFMUX.all = 0x0;GpioMuxRegs.GPFMUX.bit.SCIRXDA_GPIOF5 = 1; / 配置 SCI-RXGpioMuxRegs.GPFMUX.bit.SCITXDA_GPIOF4 = 1; / 配置SCI-TXGpioMuxRegs.GPEMUX.all = 0x0;GpioMuxRegs.GPGMUX.all = 0x0;GpioMuxRegs.GPADIR.all = 0x0; II GPIO PORT 配置为 输入GpioMuxRegs.GPBDIR.all = 0x0;GpioMuxRegs.GPDDIR.a

21、ll = 0x0;GpioMuxRegs.GPEDIR.all = 0x0;GpioMuxRegs.GPFDIR.all = 0x0;GpioMuxRegs.GPGDIR.all = 0x0;GpioMuxRegs.GPAQUAL.all = 0x0; / 设置所有 GPIO输入的量化值等于0GpioMuxRegs.GPBQUAL.all = 0x0;GpioMuxRegs.GPDQUAL.all = 0x0;GpioMuxRegs.GPEQUAL.all = 0x0;EDIS;void In itSystem(void)EALLOW;SysCtrIRegs.WDCR二 0x00AF; / 配

22、置看门狗/ 0x00E8禁止看门狗,预定 标系数 Prescaler = 1/ 0x00AF 不禁止看门狗,预 定标系数Prescaler = 64SysCtrlRegs.SCSR = 0; /看门狗产生复位SysCtrlRegs.PLLCR.bit.DIV = 10; / 配置处理器锁相环,倍频系数为5SysCtrIRegs.HISPCPall = 0x1; / 配置高速外设时钟分频系数:2SysCtrIRegs丄OSPCP.all二0x2; /配置低速外设时钟分频系数:4/使用的外设时钟时钟设置:/ 一般不使用的外设的时钟禁止,降低系统功耗SysCtrlRegs.PCLKCR.bit.EV

23、AENCLK=0;SysCtrlRegs.PCLKCR.bit.EVBENCLK=0;SysCtrlRegs.PCLKCR.bit.SCIAENCLK=1; / 使能 SCI 模块 的时钟SysCtrlRegs.PCLKCR.bit.SCIBENCLK=0;SysCtrlRegs.PCLKCR.bit.MCBSPENCLK=0;SysCtrlRegs.PCLKCR.bit.SPIENCLK=0;SysCtrlRegs.PCLKCR.bit.ECANENCLK=0;SysCtrlRegs.PCLKCR.bit.ADCENCLK=0;EDIS;void SCI_I nit(void)SciaReg

24、s.SCICCR.all =0x13; / 2bit 停止位 无循环模式无极性, 字符长度:8 bits,/异步模式, 空闲线协议SciaRegs.SCICTL1.all =0x0003; / 使能 TX, RX,内部SCICLK,禁止 RX ERR,SLEEP, TXWAKESciaRegs.SCIHBAUD = 0; / 波特率:19200( LSPCLK =37.5MHz);SciaRegs.SCILBAUD = 0xf3;SciaRegs.SCICTL1.all =0x0023; / 使 SCI 退出复位题目六:应用DSP处理器的SPI接口,以查询方式实现 低电平点亮LED循环显示16

25、进制字符“ 0F”功 能(LED定义如左图所示),SPI配置为上升沿无 延时发送,数据长度为8位,波特率最小值,试设 计给出相关程序代码。#in elude DSP28_Device.hUi nt16table15=0xc000,0xf900,0xA400,0xB000,0x9900,0x9200,0x8200,0xF800,0x8000,0x9000,0x8800,0x8300,0xc600,0xa100,0x8600,0x8e00;void spintial() / SPI初始化子程序EALLOW;SpiaRegs.SPICCR.all =0x0047; / 使 SPI 处于复位模式,下降

26、沿,8位数据SpiaRegs.SPICTL.all =0x0006; / 主控模式,一般时钟模式,使能talk,关闭SPI中断SpiaRegs.SPIBRR =0x007F; / 配置波特率SpiaRegs.SPICCR.all =SpiaRegs.SPICCR.all|0x00C7; / 退出复位状态EALLOW;GpioMuxRegs.GPFMUX.all=OxOOOF; / 设置通用引脚为SPI引脚EDIS;void gpio_i nit()EALLOW;GpioMuxRegs.GPAMUX.bit.TDIRA_GPIOA11=0; / GPIOA11设置为一般I/O端口GpioMuxR

27、egs.GPADIR.bit.GPIOA1 仁1; / 把 GPIOA11 设置为输出EDIS;GpioDataRegs.GPADAT.bit.GPIOA1 仁0; / GPIOA11端口为74HC595锁存信号void mai n(void)un sig ned int k=0;Ini tSysCtrl(); /系统初始化子程序,该程序包含在DSP28_SysCtrl.C 中DINT; /关闭总中断IER = 0x0000;IFR = 0x0000;spi_intial(); / SPI初始化子程序gpio_init(); / GPIO初始化子程序while(1)GpioDataRegs.GPADAT.bit.GPIOA1 仁0; / 给 LOCK信号一个低电平for(k=0;k8;k+)SpiaRegs.SPITXBUF = tablek+1; / 给数码管送数while(SpiaRegs.SPISTS.bitNT_FLAG !=1)SpiaRegs.SPIRXBUF = SpiaRegs.SPIRXBUF; / 空读 清中断标志GpioDataRegs.GPADAT.bit.GPIOA11=1; / 给LOCK信号一

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1