DSP原理及应用 (修订版)邹彦 知识点总结.doc

上传人:yyf 文档编号:6290612 上传时间:2020-10-18 格式:DOC 页数:16 大小:48.50KB
返回 下载 相关 举报
DSP原理及应用 (修订版)邹彦 知识点总结.doc_第1页
第1页 / 共16页
DSP原理及应用 (修订版)邹彦 知识点总结.doc_第2页
第2页 / 共16页
DSP原理及应用 (修订版)邹彦 知识点总结.doc_第3页
第3页 / 共16页
DSP原理及应用 (修订版)邹彦 知识点总结.doc_第4页
第4页 / 共16页
DSP原理及应用 (修订版)邹彦 知识点总结.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《DSP原理及应用 (修订版)邹彦 知识点总结.doc》由会员分享,可在线阅读,更多相关《DSP原理及应用 (修订版)邹彦 知识点总结.doc(16页珍藏版)》请在三一文库上搜索。

1、.填空:OVLY=(0),片内RAM仅配置到到数据存储空间。DROM=(1),片内ROM配置程序和数据存储空间。ST1的CPL=(1)表示选用对战指针SP的直接寻址方式。ST1的C16=(1)表示ALU工作在双精度算术运算式。软件中断是由(INTR)(TRAD)(RESET)产生的。时钟发生器包括一个(内部振荡电路)和一个(锁相环电路)。状态寄存器ST1中CPL=0表示(使用DP),CPL=1表示(使用SP)累加器寻址的两条指令分别是(READA Smem)(WRITA Smem)链接器对段的处理主要通过(MEMORY)和(SECTIONS)两个命令完成。所有的TMS320C54x芯片内部都包

2、含(程序)存储器和(数据)存储器。所有的COFF目标文件都包含以下三种形式的段:(.text文本段 .data数据段 .bss保留空间段)。TMS320C54x有8组16位总线(1组程序总线,3组数据总线,4组地址总线)。TMS320C54x DSP具有两个(40)位累加器。累加器A的(AG或3239)位是保护位。对于32位数寻址时,如果寻址的第一个字处在偶地址,那么第二个就处在(下一个高)地址;如果寻址的第一个字处在奇地址,那么第二个就处在(前一个低)地址。DSP芯片特点:有(改进的哈佛结构)、(低功耗设计)和(高度并行性)(多处理单元)(特殊DSP指令)等特点。DSP片内寄存器在C语言中一

3、般采用(指针)方式来访问,常常采用的方法是将DSP寄存器地址的列表定义在(头文件)。TMS320C54x有3个16位寄存器作为状态和控制寄存器(ST0)(ST1)(PMST)。TMS320C54x的三类串行口:(标准同步串行口)(缓冲串行口)(时分多路串行口)。TMS320C54x的工作方式状态寄存器PMST提供了三个控制位,包括(MP/非MC)、(OVLY)、(DROM)。MEMORY的作用(是用于描述系统实际的硬件资源,用来定义用户设计的系统中所包含的各种形式的存储器,以及他们占据的地址范围)。SECTIONS的作用(是用于描述段如何定位到家当的硬件资源上。将输出段定位到所定义的存储器中)

4、。精品.直接寻址就是在指令中包含有数据存储器地址的(低7位)用作偏移地址,并与(基地地址)组成16位的数据存储器地址。时钟发生器为TMS320C54x提供时钟信号,时钟发生器可以由(内部振荡电路)或(外部时钟电路)驱动。桶型移位寄存器能把输入的数据进行(0-31)位的左移和(0-15)位右移。即寻址方式中的立即数有两种数值形式,数值的位数为(3、5、8、9)位时为短立即数,数值的位数为(16)位时为长立即数。MP/非MC=(1),允许片内ROM配置到程序存储空间。MP/非MC=(0),禁止片内ROM配置到程序存储空间。OVLY=(1),片内RAM配置程序和数据存储空间。DROM=(0),禁止R

5、OM配置到到数据存储空间。指令:ADD #4568H,8,A,B /将4568H左移8位与A相加,赋给B。ADD A,-8,B/将A右移8位加上B,保存于B。ADD *AR3+,14,A/将AR3左移4加上AA。DST B,*AR1-/B存到长字单元AR1中,且AR减1。LDM AR1,A /存储器映像寄存器寻址方式,将映像寄存器加载累加器AR1A的低位,其余位置0。LD #10H,4,A/将10H左移4位加载到累加器A中。LDM MMR,A/MAC *AR3+,*AR4+,A,B/AR3.AR44+AB,AR3与AR3都加1。MVKD SAMPLE,*AR5/SAMPLEAR5中。MVDD

6、*AR3+,*AR5+ /数据存储器内部传送数据AR3AR5,且指令结束后AR3与AR5加1。MPYA TEMP2/BEPROM PAGE 0.bss : SPRAM PAGE 1.data : EPROM PAGE 0STACK : DARAM PAGE 1.vectors: vecs PAGE 0INT_2 : vecs1 PAGE 0阅读下列汇编源程序,在每条语句后写出注释,并叙述程序的功能。.title cjy4.asm.mmregsSTACK .usect STACK,10H.bss a,4 ;为a分配4个存储单元.bss x,4 ;为x分配4个存储单元.bss y,1 ;为结果y分

7、配1个存储单元.def start.data ;定义数据代码段table: .word 1*32768/10 ;在table开始的8个.word 2*32768/10 ;地址放数据.word -3*32768/10.word 4*32768/10.word 8*32768/10.word 6*32768/10.word -4*32768/10.word -2*32768/10.text ;定义可执行程序代码段精品.start:SSBX FRCT ;设置FRCT位,表示进行小数乘STM #x,AR1 ;将x的首地址传给AR1RPT #7 ;重复8次下条指令MVPD table,*AR1+ ;将程

8、序空间8个数传给数据存储器STM #x,AR2 ;将数据存储器第一个数x1的地址传给AR2STM #a,AR3 ;将数据存储器第五个数a1的地址传给AR3RPTZ A,#3 ;将A清零,重复4次下条指令MAC *AR2+,*AR3+,A ;执行乘法累加和,结果放在A中 STH A,y ;将A的高端字存入结果y,低端字省去end: B end ;原处循环等待.end编写一段程序,将PM中的10个数据首先传送到DM中(以地址0016H开始),再将该数据传送到地址以0058H开始的DM中。(PM:程序存储器;DM:数据存储器)。编程实现小数乘法,要求将变量temp1装入累加器高16位与temp2相乘

9、,结果存入temp3。SSBX FRCT ;置FRCT标志位,准备小数乘法LD temp1,16,A ;将变量temp1装入累加器A的高16位MPYA temp2 ;完成temp2与累加器A的高16位相乘,结果放入B累加器,并将temp2装入T寄存器STH temp3 ;将乘积结果的高16位存入变量temp3将数组x5 初始化为1,2,3,4,5。(共10分).data;定义初始化数据段起始地址TBL:.word 1,2,3,4,5 ;为标号地址TBL;开始的5个单元赋初值.sect “.vectors” ;定义自定义段,并获得该段起始地址B START ;无条件转移到标号为START的地址精

10、品.bss x,5 ;为数组x分配5个存储单元.text ;定义代码段起始地址START:STM #x,AR5 ;将x的首地址存入AR5RPT #4 ;设置重复执行5次下条指令MVPD TBL,*AR5+ end: B end.end阅读下列汇编源程序,在每条语句后写出注释,并叙述程序的功能。.title “cjy1.asm” ;为汇编源程序取名 .mmregs ;定义存储器映象寄存器STACK .usect “STACK”,30H;设置堆栈.bss x,10 ;为数组x分配10个存储单元.bss y,10 ;为数组y分配10个存储单元.datatable:.word 1,2,3,4,5,6,

11、7,8,9,10.def start ;定义标号start.textstart:STM #0,SWWSR ;复位SWWSRSTM #STACK+30H,SP;初始化堆指针STM #x,AR1 ;将目的地首地址赋给AR1RPT #19 ;设定重复传送的次数为20次MVPD table,*AR1+ ;程序存储器传送到数据存储器STM #x,AR2 ;将x的首地址存入AR2STM #y,AR3 ;将y的首地址存入AR3RPT #19 ;设置重复执行20次下条指令MVDD *AR2+,*AR3+;将地址x开始的20个值复制到地址y开始的20个单元end: B end.end程序功能:将数据存储器中的数组x10复制到数组y10。如有侵权请联系告知删除,感谢你们的配合!精品

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1