DSP复习要点讲解_第1页
DSP复习要点讲解_第2页
免费预览已结束,剩余18页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用说明:1 以下内容以老师给的为准2 由于个人能力有限,内容难免有错3 以下内容若令你成绩过低,与文件制作人无关4 仅供参考DSP 复习要点一、基础知识概念题:1、给出一个典型的 DSP 系统的组成框图。2、简述 C54x DSP 的总线结构?答:TMS320C54X 的结构是围绕 8 组 16bit 总线建立的。(1 )、一组程序总线(PB)(2 )、三组数据总线(CB,DB 和 EB)(3)、四组地址总线(PAB,CAB,DAB 和 EAB)3 简述冯?诺依曼结构、哈佛结构的特点?答:冯?诺依曼结构中不独立区分程序和数据空间,且程序和数据空间共用地址和数据线哈佛结构中程序空间和数据空间是

2、独立的,具有各自独立的地址线和数据线。y(n)D/A 转换器低通滤_波器y(t)4 、 C54x DSP 的 CPU 包括哪些单元?答:C54X 芯片的 CPU 包括:( 1 )、 40bit 的算术逻辑单元(2 )、累加器 A 和 B( 3 )、桶形移位寄存器( 4 )、乘法器 / 加法器单元(5 )、比较选择和存储单元(6 )、指数编码器(7 )、 CPU 状态和控制寄存器8 )、寻址单元。6、C54x 的三个独立存储器空间分别是什么?答:( 1)、64K 字的程序存储空间( 2)、64K 字的数据空间( 3)、64K 字的 I/O 空间,7、简述 TMS320C54xDSP 的流水线分为

3、几个操作阶段答:分为 6 个阶段 1、预取指 2、取 指3、译 码 4、寻址 5、读数 6、执行8 、简述 C54x 有哪些数据寻址方式?答: 1、立即寻址2、绝对寻址3、累加器寻址4、 直接寻址 5、 间接寻址6、存储器映像寄存器寻址 7 、堆栈寻址10 、68 页表 3.1.1 缩略语要记住。STM #0 0 10H,TCR;关闭定时器,TSS =1 定时器不工作缩略语含义Smem单数据存储器操作数Xmem双数据存储器操作数,从 DB 数据总线上读取Ymem双数据存储器操作数,从 CB 数据总线上读取dmad数据存储器地址pmad程序存储器地址PAI/O 口地址src源累加器dst目的累加

4、器1k16 位长立即数11、定时器的初始化STM #4999,PRD;定时周期寄存器为 4 9 9 9,当 TIM减至 0时重新装载STM # 0 6 6 9,TCR ;重新设置定时的工作参数,TRE= 1 允许装载,TSS =0定时器开始工作。Free / Soft = 10,定时器在中断到来后继续工作STM #0008H , IFR ;往中断寄存器中写 1,实际上为清零,在 IFR 的第四位为定时器中断器 0 即 INTO 的标志位STM #0008H , IMR ;对中断屏蔽寄存器 IMR 的第四位写 1,开放定时器中断 0,但要 注意中断方式位 INTM=0 , IMR 的第四位为定时

5、中断 0 的屏蔽位RSBX INTM;定时器的初始化后,开放总中断TCR 的位功能15121110965430保留SoftFreePSCTRBTSSTDDR直接置 0两位结合控制定时器状预定计数定时器重0 时定分频系数,态器般赋新加载位,时器启动按要求设值时与T 时可工作,1置。其决定TDDR 相加载。一般停止工作PSC 的值同置 1 定时长度计算公式STM #4999,PRD;定时周期寄存器为 4 9 9 9,当 TIM减至 0时重新装载T=tX(TDDR+1)X(PRD+1 )t 为时钟周期11、中断向量的地址如何形成。中断向量地址是由(处理器工作方式状态寄存器)PMST 寄存器的 IPT

6、R (中断向量指针,9位)和左移后的中断向量序号(中断向量序号为0 31,左移 2 位后变为 7 位)所组成,指向存储器的某一地址。注意:定时器中断 0 的序号为:16,IPTR 复位后全为 1,即 IPTR=仆 F H12、给出时钟由倍频模式切换到分频模式的设置代码。按题目为倍频模式到分频模式,可直接进行切换,只需检测到模式已经变换假设 DSP 芯片工作在 10MHz ( 1 倍频),变为 5MHz ( 2 分频)。程序如下STM#0,CLKMD;设置为 2 分频DIV: LDM CLKMD,AAND #0001H,ABC DIV,ANEQ;检测 PLLSTATUS 位,为 0 时证明已经切

7、换为分频模式。若涉及倍频数的切换模式切换思路:倍倾模式切换思路:倍倾 一一分濒分濒一一倍频倍频题目为 5MHZ 到 50MHZ,即由 1 倍频变为 10 倍频,STM #0,CLKMD;设置为 2 分频DIV:LDM CLKMD,AAND #0001H,ABC DIV,ANEQ中断向量地址是由(处理器工作方式状态寄存器)PMST 寄存器的 IPTR (中断向量指针,9STM #90E7H,CLKMDPLL10 : LDM CLKMD,AAND #0001H,ABC PLL10,AEQ检测 PLLSTATUS 位,为 1 时证明已经切换为倍频模式。CLKMD 的位功能表151211103210P

8、LLMULPLLDIVPLLCOUNTPLLON/OFFPLLNDIVPLLSTATUSPLL 乘数,PLL 除数PLL 计数值,PLL 通/关位PLL 时钟电PLL 的状态用于锁定频路选择位。位率的时间,一 0 为分频0 对应分般通过查表1 为倍频频; 1 对决定其数值应倍频PLLNDIV 与 PLLON/OFF 决定 PLL 部件是否工作PLLNDIV 与 PLLMUL 与 PLLDIV 决定 PLL 乘系数13、定点数与十进制数的转换。(Q15 转换为十进制数)Q15 为纯小数,Q 越大,可以表示的数的范围越小,但精度越高。小数在存储器中以补码的形式存放。所以要将 Q15 转换为十进制小

9、数,要转换为原码。注 意,正负的转换不一样。正数,原码补码一样,负数,反码加1 变补码。得到原码后,安不同位的权值计算。14、状态寄存器 STO、ST1、PMST 中的常用状态位要掌握必须掌握的状态位STO1180C (进位位标志)DP (数据存储器页指针)加法有进位,则 c=1与 CPL 结合可以为直接减法有借位,则 c=0寻址,CPL=O 时除了带 16 位移位的加法或减法外,加法无进位,c=0减法无借位,c=1ST1141186CPL (直接寻址编辑INTM (中断方式位)SXM (符号位扩展方FRCT (小数方式位)方式位)式位) 0 ,选用数据页指 0 ,开放所有可屏 0,禁止扩展有

10、小数运算的程序针寻址;1,选用蔽中断;1关闭1,允许扩展中,该位要置为 1 堆栈指针寻址所有可屏敝中断具体扩展方式见用的指令:置位指令P26 书本SSBX FRCTSSBX 贝 U INTM=1RSBX 贝 U INTM=OPMST1576IPTR (中断向量指针)MP/MC ( MC 上有)决定中断程序的地址,注意0 微计算机方式不要疋义在第页,因为第一页映像寄存器部分。复位后全置 1。 1微处理器方式15、数字频率与模拟频率的关系(数字频率=模拟频率*采样周期)数字频率=模拟频率*采样周期数字频率的范围 为 0 n理解见最后16、低通、带通、高通、带阻滤波器的作用要理解。17、滤波器的指标

11、要理解。滤波器的阶数,滤波器的截止频率二、指令题将*AR3 指向的内容左移 14 位后与累加器 A 相加,AR3 的值加 1。无进位位,则 C 为 0。由于 0100h 的内容不是负数,符号位扩展后仍为0。0001 0101 0000 0000B 左移 14 位 与 A相加则变为 00 0540 1200H把*AR1 指向的内容的值装载到累加器A 中,SXM=1,则扩展符号位.0200H 中为负数,扩展的符号位全为 1,即变为 FF FFFF FEDCExample 10000 0000 0000 0101 0100 0000 0000 0000 0000 0000BExample 2LD *

12、AR1, ABefore InstructionAfter InstructionADD *AR3+, 14, ABeforeBeforeInstrucbonInstrucbonAfterAfterInstructionInstructionAFF 0765 4321AFF 5765 4321DP004DP0D4Data LtemayC20Ah1234020Ah由于 DP 值为 0 0 4,贝 U STH 为将 A中的高位(3116 )存放到地址。0 2 0 A H的数变为8 7 6 5E 的值右移 8位后,将高位放进 *AR 7 所指向的内容,AR7 的值加 1存储累加器 BCC 值和装入累

13、加器 ACC 并行执行ST B *AR2- B 的内容右移 20 (ASM-16=-4-16=-20)位,存储到*AR2 指向的内容,AR2 的 值减一,所以 0 仆 Fh 为 F842.注意 ASM 是以 2 的补码存储的。同样,LD *AR4+, A *AR2 指向的内容左移 16(16与 ASM 无关)位,加载到 A 中,AR2的值加一,所以 A 为 FF 8 0 0 10 0 0 0 .三、程序设计相关题1、DSP 的存储器配置图如下图,写出其对应的链接器命令程序文件Example 1STH Af11Before InstructionAfter InstructionDP 与 dma

14、d 组成的Example 2STHSTH比rBrB( (*AR7-*AR7-AfUflnstmAfUflnstm山ononMEMORY PAGE 0:EPROM : org=OEOOOH len=200HPAGE 1:SPRAM : org=0060H len=20HDARAM : org=0080H, len=200HSECTIONS .text : EPROM PAGE 0.data : EPROM PAGE 0bss : SPRAM PAGE 1STACK : DARAM PAGE 12、计算 y =a1*x1+a2*x2+a3*x3+(a1=1,a2=2,a3=3,a4=4,x1=8,

15、x2=6,x3=4,x4=2.titleexample.asm ;设置文件标题.mmregs;为存储器映像寄存器定义符号名stack .usectSTACKlOh;定义堆栈长度.bssa,4;定义变量 a,占四个字长,未初始化.bssx,4;定义变量 X,占四个字长,未初始化.bssy,i;疋义变量 y,占一个字长,未初始化.defstart;识别定义在当前模块使用的“start ”.data;已初始化的数据table:.word1,2,3,4;该数据的首地址为“ table ”.word 8,6,4,2a4*x4 。Page 0程序存储器程序存储器数据存储器数据存储器答:程序如下:符号,.t

16、extstart:STM#stack+10h,SP ;设置堆栈指针STM#a,AR1;将 a 的地址值赋给 AR1RPT#7;下面的一条指令重复 8 次MVPDtable,*AR1+;数据搬移CALLSUM;调用子程序end:Bend;设置死循环,防止程序跑飞SUM:STM#a, AR3; a 的值已经确定,因为上面的数据搬移STM #x, AR4; x 也确定,因为 x 的地址与 a 相邻,数据移动八次, 能被赋值RPTZA, #3 ;首先对累加器 A 清零,并对下面的指令重复执行4 次MAC*AR3+,*AR4+,A ; *AR3 与*AR4 指向的内容相乘再加到累加器A 中STLA, y

17、 ;存储累加器 A 中的低位(150 位)到变量 y 中RET;子程序返回.end;程序结束3、除法程序 100 除以 6 求商说明:由于硬件除法器的成本很高 , , 所以 在一般的 DSPDSP 芯片中都没有硬件除法器 , , 也没有专门的 除法指令洞样在 TMS320C54XTMS320C54X DSPsDSPs 芯片中也没有一条单 周期的 1616 位除法指令。所以一般用减法做除法具体想理解,除法原理在该文档最后的附录 2,否则只能背下来.title .mmregs .defchufa.asmstartSTACK:.usectstack,10H.bssnum,1.bssden,1.bss

18、quot,1.datatable:.word100.word6.textstart:STM#STACK+10H,SPSTM#num,AR1RPT#1MVPDtable,*AR1+LDden,16,AMPYAnumABSASTHA,denLDnum,AABSARPT#15SUBC den,AXC 1,BLTNEG ASTL A,quot .end4、延时子程序要掌握Delay:STM #999,AR1 ; 循环次数 1000LOOP1: STM #4999, AR2 ; 循环次数 5000L00P2: BANZ LOOP2,*AR2-;如果 AR2 不等于 0, AR2 减 1,再判断BANZ

19、LOOP1,*AR1- ;如果 AR1 不等于 0, AR1 减 1,跳转到 LOOP1 RET .end注意这种延时方法并不精确,需要精确定时必须用定时器。按此法延时的近似公式为:4X(AR2+1)X(AR1+1)X时钟周期当 DSP 工作在 50MHz(时钟周期 20ns),AR 仁 999, AR2=4999 寸延时约为 400ms,贝 U LED 闪烁的周期为 800ms,频率 1.25Hz5、常用伪指令.bss保留存储空间,可用来定义变量,未初始化,通常定位在 RAM 中.data定义数据段,为已初始化的数据,如数据表,常数等,通常定位在ROM 中.usect与.bss 相同,但.u

20、sect 可进行以段的形式进行定义,未初始化.text 文本段的定义, .text 后的内容一般为代码指令,通常定位在ROM 中,已初始化.sect行以段的形式进行定义,已初始化.word 初始化一个或多个 16 为整数.def 识别定义在当前模块中,但可以被其他模块使用的符号.ref 识别在当前模块中使用的但在其他模块中定义的符号,如在中断向量标表使用.mmregs 为存储器映像寄存器定义符号名.end 程序结束标志end:B end程序的使用,自己查表6、编程时用到的指令STMRPTMVPDRPTBLDLDMADDSUBANDBBCSTLSTHSSBXRSBXCALLRPTZMACRET考

21、试题型:选择题(20 分 10 个)分析题(35 分 7 个)简答题(20 分 4 个)程序填空题(10 分 2 题 10 个空)编程题(15 分 2 个)附录 1在数字信号处理的学习中,很多刚入门朋友常常为模拟频率、数字频率及其相互 之间的关系所迷惑,甚至是一些已经对数字信号处理有所了解的朋友也为这个问 题所困惑。我们通常所说的频率,在没有特别指明的情况下,指的是模拟频率,其 单位为赫兹(Hz),或者为 1/秒(1/s),数学符号用 f 来表示。这是因为现实世界中 的信号大多为模拟信号,频率是其重要的物理特性。以赫兹表示的模拟频率表示 的是每秒时间内信号变化的周期数。如果用单位圆表示的话,如

22、图 1 所示,旋转 一圈表示信号变化一个周期,则模拟频率则指的是每秒时间内信号旋转的圈数。图 1 数字频率与模拟频率模拟频率中还有一个概念是模拟角频率,数学符号常用Q来表示,其单位为弧度/秒(rad/s)。从单位圆的角度看,模拟频率是每秒时间内信号旋转的圈 数,每一圈的角度变化数为 2pi。很显然,旋转 f 圈对应着 2pi*f 的弧度。即:Q=2pi*f(rad/s) (1)数字信号大多是从模拟信号采样而得,采样频率通常用fs 表示。数字频率更准确的叫法应该是归一化数字角频率,其单位为弧度(rad),数学符号常用3表示。即:3=2pi*f/fs(rad)(2)其物理意义是相邻两个采样点之间所

23、变化的弧度数,如图1 所示。有了公式和(2),我们就可以在模拟频率与数字频率之间随意切换。假 定有一个正弦信号 xn,其频率 f=100Hz,幅度为 A,初始相位为 0,则这个信 号用公式可以表示为:x(t) =A*si n(2*pi*100*t)用采样频率 fs=500Hz 对其进行采样,得到的数字信号xn为:x n =A*si n(2*pi*100* n/fs)=A*si n(0.4*pi* n)很明显,这个数字信号的频率为 0.4pi。由上述讨论可知,对应两个数字频率完全相同的信号,其模拟频率未必 相同,因为这里还要考虑采样频率。 这种归一化为处理带来了方便,带也给理解 带来了困惑。在数字信号中,虽然经常不显式地出现采样频率,但它却是架起模拟信号与数字信号的桥梁,对信号处理的过程有举足轻重的影响。附录 2在通用 DSP 芯片中没有硬件除法器,一般不提供单 周期的除法指令,要完成除法运算一般有两种方法:一是 用乘法实现,即要除以某个数,就可以转化为乘以该数的 倒数,该方法因计算繁琐而在程序设计中很少采用;二是 把二进制除法看作是乘法的逆运算,乘法包括一系列的 移位和加法,则除法可分解为一系列的减法和移位。下 面就在 8bit 的累加器中用有规律的减法来完成 100 除以 7 的除法运算,来说明除法的实现过程。二进制除法实质上就是用除数和被除数进行比较,看看在被除数中有多少个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论