数字信号处理 2.ppt

  1. 1、本文档共195页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.6 堆栈操作 数据堆栈和系统堆栈 堆栈配置 快返回与慢返回 C55x支持两个16位堆栈,即数据堆栈和系统堆栈 访问数据堆栈时,CPU将SPH和SP连接成XSP XSP包含了一个最后推入数据堆栈的23位地址,其中SPH里是7位的主数据页,SP指向该页上的一个字。 CPU在每推入一个值入堆栈前,减小SP值;从堆栈弹出一个值以后,增加SP值。在堆栈操作中,SPH的值不变。 2.6.1 数据堆栈和系统堆栈 图2-34 XSP和XSSP 访问系统堆栈时CPU将SPH和SSP连接成XSSP。 XSSP包含了一个最后推入系统堆栈的值的地址 CPU在每推入一个值进堆栈前,减小SSP值;从堆栈弹出一个值以后,增加SSP值。在堆栈操作中,SPH的值不变 表2-29 堆栈指针寄存器 SSP可以与SP关联,也可以独立于SP 如果选择32位堆栈配置,则修改SSP与SP的方法一样 如果选择双16位堆栈配置,则SSP与SP独立,SSP只有在自动环境切换时才能被修改 2.6.2 堆栈配置 C55x提供了3种可能的堆栈配置 一种配置使用快返回过程 另外两种使用慢返回过程 通过给32位复位向量的第29、28位填入适当值,可以选择一种堆栈配置方式 复位向量的低24位就是复位中断服务子程序(ISR)的起始地址 表2-30 堆栈配置 快返回与慢返回过程的区别在于CPU怎样保存和恢复两个内部存储器(即程序计数器PC和一个循环现场寄存器)的值 PC装的是I单元里1~6个字节代码的24位地址 一个8位的循环现场(loop context)寄存器存放激活循环记录 CPU执行中断或调用时,保存当前的循环现场,然后清零该寄存器,为新的子程序创建循环现场。当CPU从子程序返回时,再在该寄存器恢复原来的循环现场。 在快返回过程里 返回地址保存在寄存器RETA中 循环现场保存在寄存器CFCT中 用专门的32位装入和存储指令可同时读/写RETA 和CFCT 在慢返回过程里,返回地址和循环现场保存在堆栈里(在存储器里),当CPU从子程序返回时,这些数据的恢复速度取决于访问存储器的速度 图2-35 返回地址和循环现场的慢返回过程 Routine 0是最高层子程序,Routine 1嵌套在Routine 0里,Routine 2嵌套在Routine 1里 图2-36 快返回过程中RETA 和CFCT的使用 2.7 中断和复位操作 中断概述 中断向量与优先级 可屏蔽中断 不可屏蔽中断 硬件复位 软件复位 中断定义:由硬件或软件驱动的信号,使DSP将当前的程序挂起,执行另一个称为中断服务子程序(ISR)的任务。 C55x支持32个ISR。有些ISR可以由软件或硬件触发,有些只能由软件触发。 当CPU同时收到多个硬件中断请求时,CPU会按照预先定义的优先级对它们做出响应和处理。 2.7.1 中断概述 中断的分类 可屏蔽中断:可以通过软件来加以屏蔽 不可屏蔽中断:不能被屏蔽 所有的软件中断都是不可屏蔽中断 DSP处理中断的步骤 (1)接收中断请求。软件和硬件都要求DSP将当前程序挂起。 (2)响应中断请求。CPU必须响应中断。如果是可屏蔽中断,响应必须满足某些条件。如果是不可屏蔽中断,则CPU立即响应。 (3)准备进入中断服务子程序。 CPU要执行的主要任务有: 完成当前指令的执行,并冲掉流水线上还未解码的指令 自动将某些必要的寄存器的值保存到数据堆栈和系统堆栈 从用户实现设置好的向量地址获取中断向量,该中断向量指向中断服务子程序 (4)执行中断服务子程序。 CPU执行用户编写的ISR。ISR以一条中断返回指令结束,自动恢复步骤(3)中自动保存的寄存器值。 ? 注意: 外部中断只能发生在CPU退出复位后的至少3个周期后,否则无效; 在硬件复位后,不论INTM位的设置和寄存器IER0、IER1的值如何,所有的中断都被禁止,直到通过软件初始化堆栈后才开放中断。 2.7.2 中断向量与优先级 表2-31是按ISR序号分类的中断向量。 该表是C55x中断向量的一般表示式。 表2-32是VC5509A中断向量表。 表2-31 按ISR序号分类的中断向量 表2-32 VC5509A中断向量表 2.7.3 可屏蔽中断 可屏蔽中断 所有的可屏蔽中断都是硬件中断。 无论硬件何时请求一个可屏蔽中断,在一个中断标志寄存器里就有相应的中断标志置位。该标志一旦置位,相应的中断还必须使能,否则不会得到处理。 表2-33 可屏蔽中断 用来开放可屏蔽中断的位和寄存器(表2-34 ) 处理可屏蔽中断标准过程的基本模型(图2-37、表2-35 ) 当CPU在实时硬件仿真模式下暂停时,只能处理时间临界中断。处理时间临界中断的基本模型见图2-38 表2-34 用来开放可屏蔽中断的位和寄存器 图2-37 可

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档