




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP复习要点第一章 绪论1、数的定标:Qn表示。例如: 16进制数 2000H=8192,用Q0表示 16进制数 2000H=0.25,用Q15表示2、C54x小数的表示方法:采用2的补码小数; word 32768 *70710003、定点算术运算:乘法:解决冗余符号位的办法是在程序中设定状态寄存器STl中的FRCT位为1,让相乘的结果自动左移1位。第二章 CPU结构和存储器设置一、思考题:1、C54x DSP的总线结构有哪些特点?答:TMS320C54x的结构是围绕8组16bit总线建立的。(1)、一组程序总线(PB):传送从程序存储器的指令代码和立即数。(2)、三组数据总线(CB,DB
2、和EB):连接各种元器件,(3)、四组地址总线(PAB,CAB,DAB和EAB)传送执行指令所需要的地址。 2、C54x DSP的CPU包括哪些单元?答:C54X 芯片的CPU包括:(1)、40bit的算术逻辑单元(2)、累加器A和B(3)、桶形移位寄存器(4)、乘法器/加法器单元(5)、比较选择和存储单元(6)、指数编码器(7)、CPU状态和控制寄存器(8)、寻址单元。1)、累加器A和B分为三部分:保护位、高位字、地位字。保护位保存多余高位,防止溢出。2)、桶形移位寄存器:将输入数据进行031bits的左移(正值)和015bits的右移(负值)3)、乘法器/加法器单元:能够在一个周期内完成一
3、次17*17bit的乘法和一次40位的加法4)、比较选择和存储单元:用维比特算法设计的进行加法/比较/选择运算。5)、CPU状态和控制寄存器:状态寄存器ST0和ST1,由置位指令SSBX和复位指令RSBX控制、处理器模式状态寄存器PMST2-3、简述C54x DSP的ST1,ST0,PMST的主要功能。答:C54x DSP的ST1,ST0,PMST的主要功能是用于设置和查看CPU的工作状态。ST0主要反映处理器的寻址要求和计算机的运行状态。ST1主要反映处理器的寻址要求、计算初始状态的设置、I/O及中断的控制等。PMST主要设定和控制处理器的工作方式和存储器的配置,反映处理器的工作状态。ST0
4、的ARP用于指示当前使用的辅助寄存器,TC为 测试/控制的状态位,C表示加减法的进借位,OVA、OVB为累加器的溢出状态,DP表示当前使用的数据页。ST1的BRAF为块重复标志,CPL表示编译方式,HM表示挂起方式,INTM用于中断屏蔽控制,OVM为溢出方式设置,SXM用于设置符号扩展,C16用于设置双16位或者双精度方式,FRCT用于设置小数计算,CMPT为兼容模式位,ASM用于设定移位数。PMST的IPTR用于配置中断向量指针,MP/MC、OVLY、DROM用于配置片内存储器的使用,AVIS用于配置地址是否可见,CLKOFF用于关断时钟输出,SMUL、SST分别用于乘法、存储的饱和处理设置
5、。4、C54x DSP存储器可采用软件配置吗?如何配置?答:C54X通过在处理器工作方式状态寄存器(PMST)中的三个状态位来设置片内存储器。MP/MC=0:片内ROM安排到程序空间;MP/MC=1:片内ROM不安排到程序空间;OVLY=0:片内RAM只安排到数据空间;OVLY=1:片内RAM安排到数据空间和程序空间;PROM=0:片内不安排到数据空间;PROM=1:片内安排到数据空间;5、C54x数据存储器前如何划分?答:1)存储器映象CPU寄存器(0000h001Fh,共26个单元) 2)外围电路寄存器(0020h005FH) 3)32字暂存器DARAM(0060h007Fh) 4)896
6、字DARAM(0080h03FFh)。6、C54x程序存储器ROM的保留部分的内容是什么?答:(1)自举加载程序。从串行口、外部存储器、I/O口、或者主机接口(如果有的话)自举加载。(2)256字U律压扩表。(3)256字A律压扩表。(4)256字正弦函数值查找表。(5)中断向量表。7、C54x DSP的IO空间有何特点?答:(1)它是一个64K字的地址空间(0000hFFFFh),都在片外。(2)可以用两条指令(PORTR和PORTW)对IO空间寻址。(3)用于与外部设备连接;(4)读写信号均为对通过外部总线实现。二、重点:1、C54x的三个独立存储器空间: (1)、64K字的程序存储空间(
7、2)、64K字的数据空间(3)、64K字的I/O空间, 片内存储器的有DARAM、SARAM和ROM三种类型第三章 指令系统一、思考题:1、C54指令有哪些数据类型?答:16位数的单精度和32位数的双精度、长字指令2、C54指令有哪些数据寻址方式?答:C54x提供了七种基本的数据寻址方式:(1)、立即数寻址指令中嵌有一个固定的数。 (2)、绝对地址寻址指令中有一个固定的地址。(3)、累加器寻址按累加器内的地址去访问程序存储器中的一个单元。(4)、直接寻址指令中的7bits是个数据页内的偏移地址,而所在的数据页由数据页指针DP或SP决定。该偏移加上DP和SP的值决定了在数据存储器中的实际地址。(
8、5)、间接寻址按照辅助寄存器中的地址访问存储器。(6)、存储器映射寄存器寻址修改存储器映射寄存器中的值,而不影响当前DP或SP的值。(7)、堆栈寻址把数据压入和弹出系统堆栈。 3、直接寻址的数据地址是如何形成的?答:(1)、CPL=0时状态寄存器ST0的9位数据页指针(DP)和指令中的操作数的低七位偏移地址合成16位有效地址(2)、CPL=1时状态寄存器ST0的16位堆栈指针(SP)和指令中的操作数的低七位偏移地址合成16位有效地址4、什么是循环寻址?如何实现?(算法可以不用记)答:使所寻址的数据存储器地址在指定的范围内循环的寻址方式成为循环寻址。循环缓冲器的有效基址是用户选定的辅助寄存器AR
9、X的低N位置0后所得的值,其尾地址是通过BK的低N位代替ARX的低N位得到的。循环寻址的算法实际上是以BK的值为模进行的取模运算。5、什么是位倒序寻址?如何实现?答:AR0存放的整数N是FFT点数的一半,个辅助寄存器指向一数据存放的物理单元。当使用位倒序寻址把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是从右向左。6、什么是循环缓冲器?如何实现?答:循环缓冲器是一个包含了最近的数据的滑动窗口,当新的数据来到时,缓冲器就会覆盖最早的数据。循环缓冲器实现的关键是循环寻址的实现。循环缓冲器大小寄存器(BK)确定了循环缓冲器的大小。大小为R的循环缓冲器必须从一个N-bit边
10、界开始(也就是说,循环缓冲器基地址的最低N位必须为0 ),N是满足2NR的最小整数。R的值必须装入BK。循环缓冲器的有效基地址(EFB)就是用户选定的辅助寄存器(ARx)的低N位置0后所得到的值。循环缓冲器的尾地址(EOB)是通过用BK的低N位代替ARx的低N位得到。1)对于N阶的FIR滤波器,在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗中存放最新的N个输入样本。2)每次输入新的样本时,以新样本改写滑窗中的最老的样本数据,而滑窗中的其他数据不需要移动。3)利用片内BK(循环缓冲区长度)寄存器对滑窗进行间接寻址。二、重点:1、C54X的汇编指令由操作符和操作数两部分组成。基本形式为2
11、、LD # 80h,A 如果漏掉了#号,指令 : LD 80h,A 3、双操作数寻址方式:只能选择4个辅助寄存器:AR2AR5。4、四条使用堆栈寻址方式访问堆栈的指令:PSHD:把一个数据存储器的值压入堆栈。PSHM:把一个存储器映射寄存器的值压入堆栈。 POPD:把一个数据存储器的值弹出堆栈。POPM:把一个存储器映射寄存器的值弹出堆栈。整数小数乘法程序、MAC、MACR指令、例27第四章 汇编语言的程序设计一、思考题:1、汇编、链接时哪些选项是必须的?答:源文件名%1是必须的,链接时目标文件是必须的。2、.lst,.cmd,.map,.out,.obj各为什么文件?有何作用?答:1).ls
12、t:输出列表文件,用于调试2).cmd:链接器命令文件,用于控制链接器连接和程序重定位3).map:存储器映像文件,用于调试4).out:输出可执行文件,用于运行5).obj:目标文件,对其链接生成.map和.out文件3、子程序如何调用?答:采用CALL:无条件调用;CALA根据累加器规定地址调用子程序;CC:有条件调用。二、重点:1、汇编语言源程序是以“.asm”为其扩展名的程序,每一行都可以由四个部分组成,用空格或TAB隔开。句法如下:标号 助记符 操作数 ;注释(1)、标号:必须从第1列写起,最多可达32个字符(AZ,az,09,_,以及$ ),但不能以数字开头,后面可以加或不加“:”
13、。标号的值就是SPC(段程序计数器)的值。(2)、助记符:助记符指令、汇编指令、宏指令和宏调用;一般用大写;汇编指令、宏指令以()开始,且为小写。(3)、操作数指令中的操作数或汇编命令中定义的内容。操作数之间必须用逗号“,”隔开。有的指令无操作数,如:NOP、RESET。(4)、注释从“;”开始,可以放在指令或汇编命令的后面,也可以放在单独的一行或数行。2、7种常数数据类型:二进制、八进制、十进制、十六进制、浮点数、字符、字符串符号仅在定义它的汇编程序有效,使用.global伪指令定义的符号为全局符号;3、伪指令:提供数据、控制汇编过程(1)段定义伪指令:己初始化段:.text .data和.
14、sect命令用于建立已初始化段;未初始化段:.bss和.usect命令建立未初始化 (2)、段程序计数器定位伪指令:.align size in bits该指令使段程序计数器SPC对准1128字的边界;不同操作数代表不同的含义:“1”SPC对准字边界“2”SPC对准长字或偶地址边界“128”SPC对准页边界 (缺省值)4、宏命令:其使用过程包括三个部分:宏定义、调用、宏展开5、DSP的软件开发方式(3种):直接编写汇编语言源程序;编写C语言程序;混合编程(既有C代码又含汇编代码)6、程序:程序一般由数据段、代码段、堆栈段组成;程序的四种基本结构:顺序结构、分支结构、循环结构、子程序结构7、常用
15、汇编命令选项:(1)、1:用 源文件名代入。(2)、-s:将所有定义的符号放在目标文件的符号表中。(3)、-1:产生一个列表文件。(4)、-x:产生一个交叉汇编表,并把它附加到列表文件的最后。8、最常用的连接命令选项为-m和-o。(1)、-m filename:生成一个filename.map映像文件。.map文件中列出了输入/输出段布局,以及外部符号重定位之后的地址等。(2)、-o fllename:指定可执行输出模块的文件名。如果缺省,则此文件名为 a.out。9、汇编语言程序的过程:(1)、编辑:生成.asm文件(2)、汇编:生成.lst列表文件和.obj目标文件(3)、链接:生成.ma
16、p和.out文件。应掌握的程序: 1、链接器命令文件2、例题2;3、例题3;4、正弦信号发生器 5、FIR滤波器第五章 C54x 的结构1、C54x有一个6 级深度的指令流水线:程序预取指、取指、指令译码、寻址、读和执行指令。 可以延迟寻址或者是调整指令顺序或者插入空操作指令加以解决流水线冲突问题。2、软件可编程等待状态发生器:在C54x与外部慢速器件相接口时,用于将外部总线周期延长最多为7个机器周期。如果要求插入7个以上的等待周期,则可利用硬件READY线来接口。3、分区转换逻辑 :允许C54x在外部存储器分区之间切换时不需要外部为存储器插等待状态。当寻址跨越程序或数据的存储器分区界线时,分
17、区转换逻辑会自动地插入一个周期。其额外周期的作用是防止总线冲突。第六章 片内外设1.54X DSP的CLKMD寄存器的作用是什么?其中的PLLCOUNT是用来设置什么? 答:时钟电路可以通过硬件和软件配置,CLKMD用于软件可编程PLL,可控制输出信号的频率。PLLCOUNT用于存放初值,每16个输入时钟到来后减一。在PLL开始工作之后,到PLL成为处理器时钟之前的一段时间内进行计数定时,PLL计数器能够确保PLL锁定之后以正确的时钟信号加到处理器。2. 54X DSP有哪几种省电模式? 有四种,IDLE1,暂停所有的CPU活动,但片内外设仍然在工作,使用IDLE1指令可进入这个模式,可使用唤
18、醒中断结束这个方式。 IDLE2,暂停CPU和片内外设的工作。使用IDLE2指令可进入这个模式,通过在DSP芯片外部中断引脚/RS、/NMI或/INTn上加上10ns的低脉冲,可以启动唤醒中断服务,结束这个模式 IDLE3,这个模式类同于IDLE2,它使片内锁相环PLL暂停工作,这样就完全使芯片停止了工作,使用IDLE3指令可进入这个模式,通过在DSP芯片外部中断引脚/RS、/NMI或/INTn上加上10ns的低脉冲,可以启动唤醒中断服务,结束这个模式 HOLD模式,它使外部总线、数据总线、和控制总线进入高阻状态,也可以使CPU暂停工作,这取决于HM位的状态,当HM=1时,CPU停止工作状态,
19、当HM=0时,CPU继续工作,这时CPU不能进行外部数据的存取,CPU只能在内部工作。这种模式不能停止片内外设的工作,只有在/HOLD信号无效是才能结束HOLD模式3. 54X DSP有几个中断管理寄存器,各有什么作用? 有两个寄存器,中断屏蔽寄存器和中断标志寄存器。IMR中的相应位和状态寄存器ST1中的中断允许控制位INTM编程来屏蔽或开放该中断。 中断标志寄存器IFR,当有一个中断出现的时候,芯片收到一个相应的中断请求(中断挂起),此时IFR中相应的中断标志位为1.4.54X DSP的中断向量如何生成? 芯片给每个中断源都分配有一个确定的中断向量偏移地址,该地址为可屏蔽中断服务程序进入各中
20、断源服务程序的偏移地址,这样就可以判断中断源的身份,并进入相应的中断源服务程序。中断向量地址=PMST中的IPTR(9位)+左移两位后的中断向量序号(7位)5.中断编程时如何开放可屏蔽中断?写出相应的指令。 当有中断请求时,IFR中相应的标志置为有效电平。无论处理器是否响应中断,这个标志都处于有效电平。在响应中断后,这个标志自动清除CPU接收到硬件或软件的申请后,要判断是否响应该中断。软件中断和非屏蔽的硬件中断可以立即被响应。而可屏蔽的硬件中断只有在以下条件下才能被响应:(1)优先级最高的中断。当同时有几个硬件请求中断时,54x根据其优先级对其进行响应。(2)INTM位是0。当执行软件中断时,
21、INTM自动置1。如果存在用RETE返回指令的中断服务程序(ISR),INTM清0。INTM也可以用硬件复位或用RSBX INTM指令(禁止中断)来置位;用RSBX INTM指令(允许中断)来对INTM复位。INTM实际上不修改IMR或IFR。(3)IMR屏蔽位是1。表示允许中断。STM #0,SWWSR RSBX INTM STM #04H,IMR6.定时器的中断速率如何计算?设DSP的时钟为100MHZ,要产生10ms的定时,请问如何初始化? TINT周期=CLOCKOUT*(TDDR+1)*(PRD+1)1、C54x的在片外围电路包括:(1)通用I/O引脚:XF和BIO; (2)定时器;
22、 (3)时钟发生器; (4)主机接口; (5)软件可编程等待状态发生器; (6)可编程分区开关; (7)串行口2、时钟发生器由内部振荡器和锁相环(PLL)电路两部分组成。3、软件可编程PLL:具有高度的灵活性。它的时钟定标器提供各种时钟乘法器系数,并能直接接通和关断PLL。PLL的锁定定时器可以用于延迟转换PLL的时钟方式,直到锁定为止。4、C54x器件有四种节电模式:通过执行IDLEl、IDLE2和IDLE3三条指令,或使HOLD信号为低电平,可使处理器进入不同的节电模式。5、中断系统:(1)、中断类型:可屏蔽中断、非屏蔽中断;(2)、中断管理寄存器:中断标志寄存器(IFR)和中断屏蔽寄存器
23、(IMR)(3)、中断矢量地址是把中断矢量号(031)左移两位再加上PMST的中断指针产生。6、在片定时器是一个软件可编程定时器,可以用来周期地产生中断。定时器主要由3个寄存器组成:(1)定时器寄存器(TIM):一个减1计数器;(2)定时器周期寄存器(PRD):存放时间常数;(3)定时器控制寄存器(TCR):定时器的控制位和状态位。定时中断的周期为:CLKOUT(TDDR+1)(PRD+1)其中,CLKOUT为时钟周期,TDDR和PRD分别为定时器的分频系数和时间常数。7、主机接口HPI主要由5部分所组成:(1)HPI存储器(DARAM):用于C54x与主机之间传送数据,也可以用作通用的双寻址
24、数据RAM或程序RAM(2)HPI地址寄存器(HPIA):由主机对其直接访问。寄存器中存放当前寻址HPI存储单元的地址。(3)HPI数据锁存器(HPID):由主机对其直接访问。存放当前进行读/写的数据(4)HPI控制寄存器(HPIC);C54x和主机都能对它直接访问,用于主处理器,与DSP相互握手,实现中断要求。(5)HFI控制逻辑。用于处理HPI与主机之间的接口信号。当C54x与主机(或主设备)交换信息时,HPI是主机的一个外围设备。HPI的外部数据线是8根,HD(70),在C54x与主机传送数据时,HPI能自动地将外部接口传来的连续的8位数组合成16位数后传送给C54x。8、C54x的四种
25、串行口:标准同步串行口、缓冲串行口(BSP)、多通道缓冲串行口(MCBSP)、和时分多路中行口(TDM)。第八章 芯片的应用一、思考题:1.54X C/C+编译器支持的数据类型有哪些?大小为多少位?(课本232表8-1)2.C语言的存储器、寄存器、IO口的访问方法有何异同?答:(1)片内寄存器采用指针方式访问。将DSP寄存器地址的列表定义在头文件.regh中,DSP寄存器地址定义为(2)存储器采用指针方式访问,通过指针操作对内部存储器单元和外部存储器党员访问。(3)、I/O端口的访问通过ioport关键字实现。定义的形式为: ioport type port hex_num3.DSP混合编程的
26、方法有哪几种?采用独立编写程序时,如何实现数据交换?答:(1)独立编写C程序和汇编程序;分开编译或汇编以形成各自目标代码模块(2)在C语言程序的相应位置直接嵌入汇编语句;较直接的方法 asm(“ 汇编语句 ”)(3)对C程序进行编译生成相应的汇编程序,然后对汇编程序进行手工优化和修改。4.中断函数定义方法有几种?如何定义?答:(1)通过给每个中断函数前面加关键字interrupt来声明一个函数为中断处理函数。(2)c中断程序采用特殊的函数名,格式为: c_intnn5、采用C语言设计时,可屏蔽中断要响应应如何处理中断向量文件和连接命令文件?答:可屏蔽中断要响应应如何处理中断向量文件和连接命令文件;中断向量文件在响应的中断处加一条跳转指令,跳转到中断端函数处,链接命令文件中,中断向量应定位到复位起始段。6、C编译器对C程序编译后生成哪几个段?各有什么作用?答:C编译器对C语言程序编译后生成6个可以进行重定位的代码和数据。已初始化段:.text、 .cinit、.cons
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修施工合同模板
- 商业大厦租用与物业管理合同协议
- 煤炭仓储合同模板
- 租赁合同管理与执行指南
- 石材采购框架合同
- 植物练习题(含参考答案)
- 合作研发合同样本
- 房地产企业劳动合同签订指南
- 羊水栓塞管道的护理措施
- 标准民间借款合同模板大全
- 毛泽东思想的形成与发展
- 智慧法院信息化系统平台建设整体解决方案
- 高考写作指导:顺其自然和逆势而为
- 基于仿人机器人视觉的智能交互和目标跟踪系统设计的开题报告
- 【完整版】中压燃气管道工程施工组织设计
- 农村鱼塘租赁合同简单版(7篇)
- 老舍《茶馆》课件
- 价值共创研究综述与展望
- GB/T 3683-2023橡胶软管及软管组合件油基或水基流体适用的钢丝编织增强液压型规范
- 海航的波特五力分析模型
- 颅内静脉窦血栓形成教学课件-颅内静脉窦血栓形成
评论
0/150
提交评论