- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 汇编语言程序设计 7.1 程序流程控制 7.2 数据块传送 7.3 定点数的基本算术运算 7.4 长字运算和并行运算 7.5 FIR滤波器的DSP实现 7.6 IIR数字滤波器的DSP实现 7.7 FFT运算的DSP实现 7.1 程序流程控制 7.1.1 程序存储器地址生成 7.1.2 条件操作 7.1.3 分支转移 7.1.4 调用与返回 7.1.5 重复操作 7.1.6 TMS320C54x中断系统 7.1.7 堆栈的使用 7.1.1 程序存储器地址生成 程序存储器中存放指令代码、参数表和立即数。程序地址产生逻辑(PAGEN),为寻址存放在程序存储器中的指令代码、参数表、16位立即数或其它信息产生的地址,并加到PAB上。 包括5个寄存器: 程序计数器(PC); 重复计数器(RC); 块重复计数器(BRC); 块重复起始地址寄存器(RSA); 块重复结束地址寄存器(REA)。 7.1.2 条件操作 7.1.3 分支转移 7.1.4 调用与返回 7.1.5 重复操作 1.单条指令的重复操作 RPT(重复执行下一条指令) RPTZ(累加器清0后重复执行下一条指令) 2.块重复操作指令 RPTB块重复指令用于将一个码块重复执行N+1次,N是装入块重复计数器(BRC)的值。 重复执行单条指令 重复指令只需取指一次,进行循环比BANZ效率高 重复执行n次,指令中计数值设为n-1 重复操作使多周期指令(MAC、MVDK和MVPD等)变成单周期指令 重复执行单条指令 重复执行单条指令 2.块重复操作指令 块重复指令RPTB用于将一个码块重复执行N+1次,N是装入块重复计数器(BRC)的值。 块重复操作指令 程序块重复操作举例 7.1.6 TMS320C54x中断系统 1.中断类型 C54x支持软件中断和硬件中断。 软件中断由程序指令产生(INTR、TRAP或RESET)。 硬件中断由设备的一个信号产生,包括两种类型:①外部硬件中断由外部中断口的信号触发; ②内部硬件中断由片内外设的信号触发。 硬件中断和软件中断,都属于以下两种类型: (1)可屏蔽中断 (2)非屏蔽中断 (1)可屏蔽中断 可以用软件来屏蔽或开放的中断。C54x最多16个(SINT15-SINT0) 例C5402中: INT3-INT0(外部用户中断) BRINT0,BXINT0, BRINT1,BXINT1(缓冲串口中断) TINT0-TINT1(定时器中断) HPINT(HPI接口中断) DMAC0, DMAC4, DMAC5(DMA通道中断) (2)非屏蔽中断 不能用软件来屏蔽或开放的中断。C54x总能响应这类中断,响应中断后转去执行中断服务程序。 包括所有软件中断和两个外部硬件中断RS、NMI(可以用软件设置)。 RS对C54x所有操作方式都有影响。 NMI不影响C54x操作方式,响应中断时,所有其它中断都将被禁止。 2.中断标志寄存器(IFR)和中断屏蔽寄存器(IMR) 中断标志寄存器(IFR)是存储器映象的CPU寄存器。 一个可屏蔽中断在IFR中有相应的中断标志位,当CPU接收到可屏蔽中断请求时,IFR相应的位置1,直到中断得到处理为止。 3.中断响应过程 (1)接受中断请求。 (2)响应中断。 (3)执行中断服务程序(ISR)。 (1)接受中断请求。 当有中断请求时,在IFR相应的标志位置1. 中断响应后,这个标志自动清除。 外部硬件中断由外部接口的信号请求,有RS、NMI、INT3-INT0.内部硬件中断由片内外设的信号请求,C5402内部硬件中断有BRINT0、BXINT0、BRINT1、BXINT1、TINT、HPINT、DMA通道中断 软件中断由程序中的指令INTR、TRAP和RESET产生 INTR K,可执行任何中断服务程序,入口地址K,将INTM位置1,不可屏蔽。 TRAP K,同上,但不会将INTM位置1 RESET, 非屏蔽复位指令,将INTM位置1,影响状态寄存器ST0、ST1,不影响处理器方式寄存器PMST。 (2)响应中断。 CPU接收到硬件或软件的中断请求后,判断是否响应。软件中断和非屏蔽中断立即响应,可屏蔽中断则判断以下条件: 优先级最高的先响应。 状态寄存器ST1中的INTM位是0,表示允许可屏蔽中断,可以用RSBX INTM指令来复位。 中断屏蔽寄存器IMR中相应的位是1 (3)执行中断服务程序(ISR)。 响应中断后,CPU做如下操作: 把程序计算器(PC)的值(返回地址)压入堆栈; 把中断向量的地址装入PC 取出位于中断向量地址处的指令。若为延迟分支转移指令,取出其后两条指令。 执行分支转移指令,程序转到中断服务程序。如果分支转
文档评论(0)