您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > DSP原理与技术期末测试--汪老师
1、哈佛结构:该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。2、改进的哈佛结构:采用双存储空间和数条总线,即一条程序总线和多条数据总线。特点:①允许在程序空间和数据空间之间相互传送数据,使这些数据可以由算术运算指令直接调用,增强了芯片的灵活性。②提供了存储指令的高速缓冲器(Cache)和相应的指令,当重复执行这些指令时,只需读入一次就可以连续使用,不需要再次从程序存储器中读出,从而减少了指令执行所需要的时间。3、DSP系统的构成:典型的DSP系统包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器、低通滤波器。4、‘C54x是TI公司为实现低功耗、高速实时信号处理专门设计的16位定点数字信号处理器。8组16位总线:1组程序总线、3组数据总线和4组地址总线;26个特殊功能寄存器,用来对芯片内各功能模块进行管理、控制、监视。5、状态寄存器包括:状态寄存器0(ST0)、状态寄存器1(ST1)、处理器工作方式寄存器(PMST)6、程序存储空间可分页扩展到1兆字~8兆字,5402可扩展到1兆字。DSP芯片上增加额外的映像寄存器——程序计数器扩展寄存器XPC。7、主机接口HPI是C54芯片具有的一种8位或16位的并行接口部件,主要用于DSP与其他总线或主处理机进行通信。通过HPI控制寄存器(HPIC)、地址寄存器(HPIA)、数据寄存器(HPID)和HPI内存块实现与主机通信。8、程序存储器地址生成器PAGEN通常是由程序计数器PC、重复计数器RC、块重复计数器BRC、块重复起始地址寄存器RSA、块重复结束寄存器REA等5个寄存器组成。x(t)x(n)y(n)y(t)9、流水线操作是指各条指令以及其周期为单位,相差一个时间周期而连续并行工作的情况。流水线操作可以减少指令的执行时间,提高DSP的运行速度,增强DSP的处理能力。(C54流水线操作由6个操作阶段或操作周期组成,6个操作阶段:1,预取址2,取址3,译码4,寻址5,读数6,执行)10、系统的复位:若RS保持低电平,则芯片始终处于复位状态,只有当此引脚变为高电平后,芯片内部的程序才可以从FF80H单元开始执行。11、C5402有13个可屏蔽中断,INT3~INT0(外部中断),BRINT0、BXINT0、BRINT1、BXINT1(串行口中断),TINT0、TINT1(定时器中断),DMAC4、DMAC5(DMA中断),HPINT(HPI中断)。12、省电方式:闲置方式1(IDLE1)、闲置方式2(IDLE2)、闲置方式3(IDLE3)、保持方式。另:外部总线关断和CLKOUT关断。13、寻址方式:立即、绝对(数据存储器地址dmad、程序存储器地址pmad、端口PA、lk)、累加器(READASmem、WRITASmem)、间接(单操作数、双操作数、循环、位倒序)、存储器映像寄存器、堆栈。14、汇编语言程序的编辑、汇编和链接过程示意图15、COFF文件的段:.text段(文本段),通常包含可执行代码.data段(数据段),通常包含初始化数据.bss段(保留空间段),通常为未初始化变量保留存储空间16、宏指令和子程序都可以被多次调用;子程序汇编成目标代码的过程只进行一次;用到宏指令的地方,都要对宏指令进行汇编;子程序无参数,调用前应事先设置好寄存器等;宏指令可以使用带参数调用;宏定义的格式如下:macname.macro[Parameter1][,…,parametern]modelstatementsormacrodirectioves[.mexit].endm宏调用的格式如下:[label][:]macname[parameter1][,…,param17、定时长度计算公式:Tt=T*(TDDR+1)*(PRD+1)18、伪指令.sect:定义初始化了的带名称的段;.usect:在一个未初始化的段中保留空间19、除法程序:RPT#15;16次减法重复操作,完成除法SUBC@den,A20、循环操作程序y=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10.bssx,10.bssy,1STM#x,AR1STM#9,AR2LD#0,Aloop:ADD*AR1+,ABANZloop,*AR2—STLA,@y21、循环操作程序y=a1*x1+a2*x2+a3*x3+a4*x4.Title“example.asm”.mmregsstack:.usectstack,10h.bssa,4.bssx,4.bssy,1.datatable:.word1,2,4,3.word8,6,4,2.textstart:STM#stack+10h,spSTM#a,AR1RPT#7MVPDtable,*AR1+CALLsumend:Bendsum:STM#a,AR3STM#x,AR4RPTZA,#3MAC*AR3+,*AR4+,ASTLA,@yret.end22、FFT程序***第1级蝶形运算stage1***STM#0,BK;循环缓冲大小BK=0LD#—1,ASM;每级输出除以2,防止溢出STM#fft_data,PX;指向第1级蝶形运算输入LD*PX,16,ASTM#fft_data+K_DATA_IDX_1,QX;指向第2级蝶形运算输入STM#K_FFT_SIZE/2—1,BRCRPTBDstage1_end—1;块重复STM#K_DATA_IDX_1+1,AR0SUB*QX,16,A,BADD*QX,16,ASTHA,ASM,*PX+STB,*QX+||LD*PX,ASUB*QX,16,A,BADD*QX,16,ASTHA,ASM,*PX+0%STHB,*QX+0%||LD*PX,AStage1_end:23、FFT程序***功率谱计算子程序power***.sect“rfft_prg”power:STM#fft_data,AR2STM#fft_out,AR4STM#K_FFT_SIZE*2—1,BRCRPTBpower_end—1SQUR*AR2+,ASQURA*AR2+,ASTHA,*AR4+power_end:RET.end;返回主程序rfft_task24、FFT程序***位码倒置子程序bit_rev***.asgAR2,REORDERED.asgAR3,ORIGINAL_INPUT.asgAR7,DATA_PROC_BUF.sectrfft_prg;bit_rev:STM#d_input,ORIGINAL_INPUT;指向输入数据的首地址STM#fft_data,DATA_PROC_BUF;指向数据处理缓冲区首地址MVMMDATA_PROC_BUF,REORDERED;指向位码倒置后数据首地址STM#K_FFT_SIZE-1,BRCRPTBDbit_rev_end-1STM#K_FFT_SIZE,AR0;AR0=缓冲区大小的一半MVDD*ORIGINAL_INPUT+,*REORDERED+MVDD*ORIGINAL_INPUT-,*REORDERED+MAR*ORIGINAL_INPUT+0B;位翻转寻址;bit_rev_end:RET;返回主程序rfft_task25、周期为8ms(定时器中断周期为4ms)的方波发生器程序;根据定时长度计算公式Tt=T*(TDDR+1)*(PRD+1);给定TDDR=9,PRD=1559,CLKOUT主频f=4MHz,T=250ns;Tt=250*(9+1)*(1559+1)=4000000(ns)=4(ms)STM#0010H,TCR0;关闭定时器0STM#1599,TIM0;装载TIM寄存器STM#1599,PRD0;装载PRD寄存器STM#K_TCR0,TCR0;启动定时器0STM#0080H,IFR;关闭尚未处理完的定时器中断STM#0080H,IMR;开放定时器中断RSBXINTM;开放中断RET;定时器0的中断服务子程序:通过引脚XF给出周期为8ms的占空比为50%的方波波形
本文标题:DSP原理与技术期末测试--汪老师
链接地址:https://www.777doc.com/doc-2910474 .html