DSP原理与开发应用.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP原理与开发应用

DSP 0 1 DSP 芯片基本概念及编程应用 DSP(Digital Signal Processing) 模型 DSP 市场占有情况 16-bit 定点DSP C54x(TI) vs. ADSP218x (ADI) OMAP1510基本结构 OMAP1510框图 OMAP1510 简介 OMAP1510 应用 ARM925TI ARM925TI 内核结构 ARM925TI 编程模式 数据类型 处理器模式 状态寄存器 异常处理 地址空间 ARM925TI 指令模式 正常指令(32-bit) 简化指令(16-bit) 协处理器CP15 控制和CACH 增强功能 TI 增强功能 Megastar 3(C5510) C55x 内核结构 C55x 指令 I-CACH C55x DMA模块 C55x 周边模块 CPU及总线结构 C55x 流水线结构 流水线包含取指和执行,一共7个过程 预取指令 取指令 指令译码 地址译码 访问数据 读取数据 执行并回写数据 C55x 流水线自动保护和延时 在可能引起冲突的指令之间自动增加不活动的周期,以避免冲突的发生 C55x 流水线示意图 充分利用高效流水线结构 对寄存器访问的竞争是影响流水线保护和延迟的主要原因 仔细安排指令的顺序,避免对寄存器访问的竞争; 必要时可以采用加mmap()的方式,改变对相应的寄存器的读取和修改的流水线阶段; 对存储器访问的竞争也是影响流水线保护和延迟的重要原因 合理分配程序及数据空间; 充分利用SARAM、DARAM的块结构。 指令缓冲队列也有可能造成流水线保护和延迟 在长指令间插入一些短指令,以维持IBQ; 尽可能地减少子程序调用、跳转、块重复和循环等,从而避免IBQ被清空; 要尽可能地用条件执行指令来代替条件跳转指令; 要尽可能地用单指令重复repeat(CSR)和本地循环(localrepeat)来代替块循环(blockrepeat); DSP 开发工具 eXpressDSP 开发方案 eXpressDSP 软件结构图 A example for RF5 DSP实际软件结构图 DSP与主机的通信和数据交换 ARM925TI’s OS – Nucleus + Nucleus + 的异常处理 ARM925TI有8个异常模式 复位入口(0 指令错误(0 软件中断(0 取指出错(0x0000000C) 取数出错(0 正常中断(0 快速中断(0 Nucleus + 的异常处理 Nucleus + 初始化流程 Nucleus + 复位处理流程 Nucleus + IRQ中断处理 DSP/BIOS DSP/BIOS 初始化流程 DSP 片内 ROM DSP bootloader program 流程 DSP BOOT方式选择 从FLASH 加载 DSP代码 定点DSP – 数的定标1 定点DSP – 数的定标2 定点DSP – 浮点数与定点数之间的转换 定点DSP – Q值的确定 COFF – 文件格式 COFF – 块概念 COFF – 自定义块 COFF – MEMORY 与 SECTIONS 1 COFF – MEMORY 与 SECTIONS 2 COFF – MEMORY 与 SECTIONS 3 DSP编程 – DMA DSP编程 – McBSP DSP编程 – 流水线冲突 DSP编程 – 堆栈溢出 DSP编程 – 程序跑飞 !感谢! DSP ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 调用函数: _BIOS_start 启动线程调度 调用函数:_main 初始化状态寄存器:ST0_55, ST3_55 根据用户配置的参数来初始化堆栈(SP)和系统堆栈(SSP) 禁止所有可屏蔽中断: ST1_55.INTM = 1; IER0 = IER1 = 0x0000; _c_init00 调用函数: _auto_init 初始化 CPU 寄存器 进入 IDLE 任务 , 循环等待 根据.pinit区,初始化各个静态初始化函数 根据.cinit区初始化.bss区 初始化CACH寄存器 关闭看门狗 CLK_F_wdogdisable 调用函数:_BIOS_init 初始化 BIOS 各个模块 DSP 在DSP片内,固化有一段ROM,其内驻留有 bootloader 程序。 版本编码 FFFFFCh 中断向量表 FFFF00h factory test code FFFC00h 正弦表 FFFA00h bootloader program FF8000h 内容 地址 DSP

您可能关注的文档

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档