- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP原理及应用2-2.ppt
TMS320C54x DSP 结构、原理及应用 孔莹莹 yayako_zy@ §1.7 程序存储器地址的形成 程序地址生成器(PAGEN)的组成 程序计数器(PC) 重复计数器(RC) 块重复计数器(BRC) 块重复起始地址寄存器(RSA) 块重复结束地址寄存器(REA) PC:16位,寻址64K程序空间(‘C5402、‘C5416还有一个XPC, ‘C5402多的4根地址线可寻址16个64K字页程序空间扩展到1M, ‘C5416多的7根地址线寻址128个64K字页程序,扩展到8M) §1.7.1 程序计数器PC 定义:16位计数器 作用:保存内部或外部程序存储器的地址 例: 即将取值的某条指令 即将访问的某个16位立即操作数 即将访问的系数表在程序存储器中地址 §1.7.1 程序计数器PC 表1-16 加载地址到PC的几种途径 §1.7.2 分支转移操作 对指令而言: 无条件分支转移:表1-19 条件分支转移:表1-20 两者分延迟操作(指令助记符带D)和不带延迟操作 延迟:可以先执行分支转移指令后面一条双字指令或两条单字指令; 不带延迟:将已读入的一条双字指令或两条单字指令从流水线清除(未执行),然后进行转移。 区别 表1-19 无条件分支转移指令 表1-20 条件分支转移指令 §1.7.3 调用与返回操作 对程序或函数而言: 中断原先程序,转移到程序存储的其他地址执行,并将原地址压入堆栈,以便返回时继续执行 无条件调用与返回:表1-21 条件调用与返回: 表1-22 两者分延迟操作(指令助记符带D)和不带延迟操作 表1-21 无条件调用和返回指令 表1-22 条件调用和返回指令 §1.7.4 条件操作 ‘C54x有一些指令只有当一个条件或多个条件得到满足时才能执行。 表1-21 条件指令中的各种条件 表1-24 多重条件指令中的条件组合 多重条件 分组选择原则: 同一组内,可以在A、B或C类中各选择一个条件 不能在同一类中选择两个条件 不同组内只能或不能与 被测试的必须是同一个累加器 条件执行指令XC 如果条件分支转移只有1-2字的程序段,可以用一条但周期条件执行指令XC完成。 XC n,cond [,cond[,cond]] 若条件满足,就执行紧随此命令后的n个字的指令 (n只能取1或2两个值,n=1时,执行1个单字指令,n=2时,执行1个双字指令或2个单字指令),否则就执行1条或2条NOP指令。 表1-25 条件存储指令 §1.7.5 重复操作 重复执行单条指令 重复执行一段程序 重复执行单条指令 指令:RPT和RPTZ 由重复计数器(RC)管理 重复执行次数=(RC)+1 优点:使一些多周期指令变成单周期指令,提高指令执行速度。 操作数:n最大值65535 表1-26 重复操作时变成单周期的多周期指令 重复执行单条指令 有些指令不能与RPT/RPTZ一起使用 B\CC\INTR\RET 一旦重复指令被取值译码,直到重复循环完成对所有中断不响应(NMI,不包括RS)。 若响应hold信号,重复操作是否执行取决于状态寄存器ST1的HM位,HM=0继续否则暂停。 PMST 引脚 ST1 程序块重复操作 由块重复计数器(BRC)、块重复起始地址寄存器(RSA)和块重复结束地址寄存器(REA)管理与块重复指令RPTB进行块重复操作。 重复执行次数=(BRC)+1 举例: STM #99,BRC RPTB NEXT-1;下一条到NEXT之前为块重复 …... NEXT: …... 执行结果:RPTB的下条指令至NEXT的上一条指令之间的程序块重复执行100次 程序块重复操作 重复执行BRC+1=100 RPTB: PC+2→RSA NEXT-1→REA 1 →BRAF 当BRC →0时0 → BRAF 利用块重复零开销循环,块重复不能嵌套,要使重复操作嵌套:只能再最里层采用块重复,外层采用BANZ指令。 §1.7.6 复位操作 复位RS是一个不可屏蔽的外部中断, 任何时候复位,都会使‘C54x进入一已知状态(Watchdog问题)。 RS至少5个时钟周期的低电平。 复位后,处理器从FF80h开始执行程序。 模拟-数字-模拟信号的过程 Watchdog 看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU,是MCU复位. 防止MCU死机. 看门
文档评论(0)