DSP

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、填空
1. DSP的基本结构是采用____________结构,即程序和数据是分开的。

2.直流电机的控制主要采用的控制方式是____________。

3. DSP芯片的前缀“LF”说明片内有___________存储器;而以“LC”为前缀的芯片,片内有____________工艺的程序存储器。

4.寄存器ST1的CNF位决定B0的作用,当CNF=________时,映射到程序存储空间,CNF=__________时映射到数据存储空间。

5.当工作于______________计数模式时,通用定时器会产生一个非对称波形。

6.若系统时钟频率为40MHz,SCI的BRR值设置为4,则SCI的异步波特率为_________。

7.WD复位关键字寄存器(WDKEY),向WDKEY写入55h后紧接着写入_________则清楚WDCNTR寄存器。

8.自动排序器的两种工作模式分别是____ ____和_____ ____。

9.同传统的单片机中断处理方式类似,DSP中断的处理也有两种方法,分别是__________和____________。

10. DSP对外部存储器和外部功能器件的片选方法有两种:___________和____________。

答案:1、哈佛 2、电枢控制法 3、Flash、CMOS
4、1、0
5、连续递增
6、106
7、AAh
8、不中断的排序模式、启动/停止模式 9. 查询法、回调法
10、片选法、译码选通法
1.DSP与单片机、嵌入式微处理器的最大区别是能够________、_________地进行数字信号处理运算。

2. DSP的基本结构是采用____________结构,即程序和数据是分开的。

3. DSP的应用非常广泛,试举一个应用的例子_____ ___。

4. 数模转换过程可分为两个时段_____ ___和_____ ____
5.如果m是一个特定的读写操作的所要求的时钟周期(CLKOUT)的数目,w是附件的等待状态的数目,那么操作将会花费___________个周期。

6.当工作于______________计数模式时,通用定时器会产生一个对称波形。

7.若系统时钟频率为40MHz,SPIBRR值设置为3,则SPI的波特率为_________。

8.自动排序器的两种工作模式分别是____ ____和_____ ____。

9.SCI接受数据时是在中间进行三次采样来判定其位值的,采用原则。

10.同传统的单片机中断处理方式类似,DSP中断的处理也有两种方法,分别是
__________和____________。

答案:1、高速、实时 2、哈佛 3、手机等 4、采样保持时段、转换时段
5、m+w
6、连续增/减
7、107
8、不中断自动排序模式、启动/停止模
式 9、.text、.data 10、查询法、回调法
1.DSP与单片机、嵌入式微处理器的最大区别是能够_____ __ _、_________
地进行数字信号处理运算。

2. DSP的基本结构是采用____________结构,即程序和数据是分开的。

3.锁相环(PLL)使用外部滤波器电路主要作用是抑制________ 、_________。

4. 中央算术逻辑单元(CALU)的功能是实现大部分的________ 和_________
运算。

5.唤醒低功耗的模式除了复位之外,还可以采用________ 和________ 。

6.当工作于______________计数模式时,通用定时器会产生一个非对称波形。

7.若系统时钟频率为40MHz,SCI的BRR值设置为4,则SCI的异步波特率为
_________。

8.全局中断使能位(INTM),关全局中断的命令是______ __ ,开全局中
断的命令是_____ ___ 。

9.LF2407 DSP器件的复位源主要有两个,分别是______ __ 的电平变化
引起的复位和______ __ 溢出引起的复位。

10.同传统的单片机中断处理方式类似,DSP中断的处理也有两种方法,分别是
__________和____________。

答案:1、高速、实时 2、哈佛 3、信号抖动、电磁干扰 4、算术、逻辑
5、外部中断、唤醒中断
6、连续递增
7、106
8、SECT INTM、CLRC INTM
9、外部复位引脚、看门狗定时器 10、查询法、回调法
1.TI公司的定点DSP产品主要有TMS320C2000 系列、TMS320C5000系列
和TMS320C6000 系列。

2.’C54x DSP中传送执行指令所需的地址需要用到PAB 、CAB、DAB和
EAB 4条地址总线。

3.DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。

其中RAM又可以分为两种类型:单寻址RAM(SARAM)和双寻址RAM (DARAM)。

4.’C54x DSP的内部总存储空间为192K字,分成3个可选择的存储空间:64K
字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。

5.从功能结构上,’C54X DSP的CPU可以划分成运算部件和控制部件两大
部分。

6.’C54x DSP的寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、
直接寻址、间接寻址、存储器映象寄存器寻址、堆栈寻址。

7.在’C54x DSP寻址和指令系统中,Xmem和Ymem表示16位双寻址操作
数,Dmad为16位立即数,表示数据存储器地址,Pmad为16位立即数,表示程序存储器地址。

8.程序计数器的值可以通过复位操作、顺序执行指令、分支转移,
累加器转移,块重复,子程序调用,从累加器调用子程序,中断等操作改变。

9.’C54x DSP芯片采用了6级流水线的工作方式,即一条指令分为预取指、
取指、译码、寻址、读数和执行6个阶段。

10.解决MMR写操作的流水线冲突时,一般可用采用推荐指令和插入空操作
指令的方法。

11.’C54x DSP定时器由3个16位存储器映射寄存器组成:定时器寄存器(TIM)、
定时器周期寄存器(PRD)和定时器控制寄存器(TCR)。

12.主机接口(HPI,Host Port Interface)是TMS320C54x 系列定点芯片内部
具有的一种接口部件,主要用于DSP与其他总线或CPU进行通信。

13.’C54x DSP的指令系统有助记符指令和代数指令两种形式。

14.COFF目标文件中.text段通常包含可执行代码,.data段通常包含己初始
化的数据,.bss段中通常为未初始化的数据保留空间。

15.DSP芯片的开发工具可以分为代码生成工具和代码调试工具两类。

二、选择题
1.目前市场上最大的DSP生产厂商是 ( )
A、Motorola
B、TI
C、Zilog
D、ADI
2.TMS320C6000系列的主要应用领域为()A、测控领域 B、无线通信设备
C、有线通信设备
D、无线基站
3.DSP与单片机、嵌入式微处理器的最大区别是()A、主要应用于中、低成本控制 B、高速实时的数字信号处理
C、可配置多任务操作系统
D、高度灵活性
4.下列说法正确的是()A、MP/MC=0时使用FLASH B、MP/MC=0时使用片外存储器
C、MP/MC=1时使用FLASH
D、MP/MC=1时使用B0
5.下列可产生不可屏蔽中断(NMI)的选项是()A、通用定时器 B、SCI模块 C、事件管理器 D、无效的地址6.DSP系统开发的硬件实现中,元件选择属于()A、系统分析 B、系统综合 C、技术指标 D、确定方案
7.仿真系统中,主机通过仿真器与目标系统的()接口相连。

A、JTAG
B、PCI
C、并口
D、USB接口
8.下列段不属于COFF目标文件的是()A、.text B、.data C、.bss D、.prj
9.目标文件的.bss段对应的虚拟的目标存储器是()A、RAM B、EEPROM C、ROM D、FLASH
10.指令SECT INTM的作用是()A、开全局中断 B、关全局中断 C、清除中断标志 D、置中断标志
答案:1、B 2、D 3、B 4、A 5、D 6、A 7、A 8、D 9、C 10、C
1.目前市场上DSP市场占有率为60%左右的是 ( ) A、Motorola B、ADI C、TI D、Zilog
2.TMS320C5000系列的主要应用领域为()A、测控领域 B、无线通信和有线通信设备中
C、无线基站
D、图像处理
3.寄存器ST1的CNF位决定B0的作用,当CNF=1时,B0映射()A、程序存储空间 B、数据存储空间
C、I/O空间
D、以上答案均不正确
4.看门狗定时器时钟频率是CPU时钟频率的()A、1/128倍 B、1/256倍 C、1/512倍 D、1/1024倍
5.假设IOP0-IOP7配置为I/0引脚,那么引脚I0P7-IOP4配置为输入,IOP3-IOP0配置为输出的语句是()A、SPLK #0F00H,PBDATDIR B、SPLK #F000H,PBDATDIR
C、SPLK #0000H,PBDATDIR
D、SPLK #FF00H,PBDATDIR
6.如果已设置通用定时器1的周期寄存器值为100,并且输出信号高电平有效,要产生一个占空比为40℅的PWM波,响应的比较周期寄存器的值应设置为()A、40 B、50 C、60 D、70
7.仿真系统中,主机通过仿真器与目标系统的()接口相连。

A、JTAG
B、PCI
C、并口
D、USB接口
8.下列段不属于COFF目标文件的是()A、.text B、.data C、.bss D、.prj
9.目标文件的.data段对应的虚拟的目标存储器是()A、RAM B、EEPROM C、ROM D、FLASH
10.下列表达式中不正确的是()A、10/-3=-3 B、-10/3=-3 C、10%-3=-1 D、-10%3=-1
答案:1、C 2、B 3、B 4、B 5、A 6、C 7、A 8、D 9、B 10、C
1.目前市场上DSP生产厂商位居榜首的是 ( ) A、Motorola B、ADI C、Zilog D、TI
2.TMS320C2000系列的主要应用领域为()A、测控领域 B、无线通信和有线通信设备中
C、无线基站
D、图像处理
3.系统控制状态寄存器1(SCSR1)的地址是7018h,其DP值为()A、E0h B、E1h
C、E2h
D、E3h
4.如果要清除中断标志位,应该向IFR的相应位写入()A、1 B、0 C、自动清除 D、0或1
5.ADC转换模块中,MAXCONV可以设置的最大值是()
A、16
B、15
C、8
D、7
6.SCI的发送端可以产生的中断标志位是()A、RXRADY B、BRKDT C、TXRADY D、RX ERROR
7.仿真系统中,主机通过仿真器与目标系统的()接口相连。

A、JTAG
B、PCI
C、并口
D、USB接口
8.下列段不属于COFF目标文件的是()A、.text B、.data C、.bss D、.prj
9.目标文件的.text段对应的虚拟的目标存储器是()A、RAM B、EEPROM C、ROM D、FLASH
10.汇编器的作用是()
A、将C语言源代码编译成DSP汇编语言源代码
B、将汇编语言源代码汇编成机器语言COFF目标文件
C、把汇编生成的可重定位的COFF目标模块组合成一个可执行的COFF目标模块
D、以上答案均不对
答案:1、D 2、A 3、A 4、A5、B 6、C 7、A 8、D 9、C 10、B
三、简答题(每题5分,共20分)
1.什么是定点DSP芯片和浮点DSP芯片?各有什么优缺点?
解:按数据的定点格式工作的DSP芯片称为定点DSP;
按数据的浮点格式工作的DSP芯片称为浮点DSP;
定点DSP的价格便宜,功耗低,但运算精度低;
浮点DSP的价格较高,C语言编程调试方便,运算精度高。

2. 简述流水线操作的基本原理。

解:流水线操作是各指令以机器周期为单位相差一个时钟周期,连续并行工作的情况。

其本质是DSP多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源。

同时,不同指令在同一机器周期内占用不同总线资源。

3. ’C54x DSP有哪些重复操作?各有什么优点?
解:有单条指令重复执行和程序块重复执行两种重复操作。

单条指令重复操作功能,可以使乘法/累加和数据块传送那样的多周期指令在执行一次之后变成单周期指令,大大提高了这些指令的执行速度。

利用块重复操作进行循环,是一种零开销循环。

4. 软件可编程等待状态发生器的功能是什么?
解:软件可编程等待状态产生器可以将外部总线周期扩展到7个机器周期(C549、C5402、C5410和C5420为14个机器周期),这样’C54x DSP可以方便地与慢速的片内存储器和I/O器件接口。

5.简述DSP系统的构成和工作过程。

答:DSP系统的构成:一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D 转换器、数字信号处理器DSP、D/A转换器和低通滤波器等。

DSP系统的工作过程:
①将输入信号x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。

②经过采样和A/D转换器,将滤波后的信号转换为数字信号x(n)。

③数字信号处理器对x(n)进行处理,得数字信号y(n)。

④经D/A转换器,将y(n)转换成模拟信号;
⑤经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。

6.简述DSP系统的设计步骤
①明确设计任务,确定设计目标。

②算法模拟,确定性能指令。

③选择DSP芯片和外围芯片。

④设计实时的DSP芯片系统。

⑤硬件和软件调试。

⑥系统集成和测试。

7.中断响应的等待时间有那些?
(1)外设同步接口时间。

(2分) (2)CPU响应时间。

(2分) (3)ISR转移时间。

(2分) 8.定时器事件管理器的核心模块,它可以提供的独立的时间基准有哪些?
(1)控制系统中的采样周期的产生。

(2分) (2)为QEP电路和捕捉单元的操作提供时间基准。

(2分) (3)为比较单元和相应的PWM电路操作提供时间基准。

(2分) 9.简述PWM调速方法?
(1)定宽调频法,这种方法是保持t1不变,只改变t2,这样使周期T(或频率)也随之改变(2分)(2)调宽调频法,这种方法使保持t2不变,只改变t1,这样使周期T(或频率)也随之改变(2分)(3)定频调宽法,这种方法是使中期T(或频率)保持不变,而改变t1和t2 (2分)10.简述DSP系统开发主要包含的步骤。

(1)明确开发任务,确定计数指标(1分)(2)根据技术指标要求确定总体方案(1分)(3)硬件实现(1分)(4)软件实现(1分)(5)系统集成(2分)11.请列出通用定时器的4中可选计数模式。

(1)停止/保持模式(1.5分)(2)连续递增计数模式(1.5分)
(3)定向的增/减计数模式(1.5分)(4)连续增/减计数模式(1.5分)12. 定时器是事件管理器的核心模块,每个事件管理模块中有两个通用定时器,
简述这些定时器可为哪些应用提供独立的时间基准?
(1)控制系统中的采样周期的产生。

(2分) (2)为QEP电路和捕捉单元的操作提供时间基准。

(2分) (3)为比较单元和相应的PWM电路操作提供时间基准。

(2分)
13.列出事件管理器通用定时器计数操作的4种模式?
(1)停止/保持模式(1.5分)(2)连续递增计数模式(1.5分)(3)定向的增/减计数模式(1.5分)(4)连续增/减计数模式(1.5分)
14.简述CAN控制器操作三大步骤?
(1)初始化CAN控制器:初始化或重新设置位配置寄存器;初始化邮箱(2分) (2)信息的发送(2分) (3)信息的接收(2分)
15.简述DSP系统开发主要包含的步骤。

(1)明确开发任务,确定计数指标(1分)(2)根据技术指标要求确定总体方案(1分)(3)硬件实现(1分)(4)软件实现(1分)(5)系统集成(2分)
16.软件开发平台主要包括哪几部分,并简要说明其作用。

(1)编译器。

将C源程序编译成DSP的汇编程序(2分)(2)汇编器。

将汇编源文件汇编成机器语言COFF目标文件(2分)(3)链接器。

把汇编生成的可重定位的COFF目标模块组合成一个可执行的COFF目标模块。

(2分)17. 简述CAN控制器的操作步骤。

(1)初始化CAN控制器(2分)(2)信息的发送。

(2分)(3)信息的接受。

(2分)18.列出事件管理器通用定时器计数操作的4种模式?
(1)停止/保持模式(1.5分)(2)连续递增计数模式(1.5分)(3)定向的增/减计数模式(1.5分)(4)连续增/减计数模式(1.5分)19.简述PWM调速方法?
(1)定宽调频法,这种方法是保持t1不变,只改变t2,这样使周期T(或频率)也随之改
变(2分)(2)调宽调频法,这种方法使保持t2不变,只改变t1,这样使周期T(或频率)也随之改变(2分)(3)定频调宽法,这种方法是使中期T(或频率)保持不变,而改变t1和t2 (2分)20.简述DSP硬件系统设计的一般步骤。

(1)明确开发任务,确定计数指标(1分)(2)根据技术指标要求确定总体方案(1分)(3)硬件实现(1分)(4)软件实现(1分)(5)系统集成(2分)21.中断响应的等待时间有那些?
(1)外设同步接口时间。

(2分) (2)CPU响应时间。

(2分) (3)ISR转移时间。

(2分)
7、 TMS320C54X芯片的基本结构都包括哪些部分?
①中央处理器
②内部总线结构
③特殊功能寄存器
④数据存储器RAM
⑤程序存储器ROM
⑥I/O口
⑦串行口
⑧主机接口HPI
⑨定时器
⑩中断系统
8、TMS320C54X芯片的CPU主要由哪几部分组成?
答:①40位的算术运算逻辑单元(ALU)。

②2个40位的累加器(ACCA、ACCB)。

③1 个运行-16至31位的桶形移位寄存器。

④17×17位的乘法器和40位加法器构成的乘法器-加法器单元(MAC)。

⑤比较、选择、存储单元(CSSU)。

⑥指令编码器。

⑦CPU状态和控制寄存器。

9、TMS320VC5402共有多少可屏蔽中断?它们分别是什么?RS和NMI属于哪一类中断源?
答:TMS320VC5402有13个可屏蔽中断,RS和NMI属于外部硬件中断。

三、问答题(10分)
1、软件开发环境有哪几种?在非集成开发环境中,软件开发常采用哪些部分? 答:可以在两种开发环境中进行C54X的开发:非集成的开发环境和集成的开发环境。

在非集成开发环境中,软件开发常采用:编辑、汇编、链接、调试等部分。

2、链接器对段是如何处理的?
答:链接器将一个或多个COFF目标文件中的各种段作为链接器的输入段,经过链接后在一个可执行的COFF输出模块中建立各个输出段,通过情况下是将不同目标文件中的同名段进行合并,并为各个输出段分配进具体的存储器中。

3、链接器能完成什么工作?链接器命令文件中,MEMORY命令和SECTIONS命令的任务是什么?
答:链接器将各个目标文件合并起来,并完成如下工作:
(1)将各个段配置到目标系统的存储器。

(2)对各个符号和段进行重新定位,并给它们指定一个最终的地址。

(3)解决输入文件之间的未定义的外部引用。

MEMORY命令的作用:MEMORY命令用来建立DSP应用系统中的存储器模型。

通过这条命令,可以定义系统中所包含的各种形式的存储器,以及它们占用的地址范围。

SECTION命令的作用:说明如何将输入段结合成输出段;在可执行程序中定义输出段;规定输出段在存储器中的存储位置;允许重新命名输出段。

4. C54x DSP的串行口有哪些类型?各有什么特点?
解:有标准同步串口SP、缓冲同步串口BSP、多路缓冲串口McBSP、时分多路同步串口TMD 四种。

缓冲串口(BSP)是一个增强型的标准串口,它由一个全双工双缓冲串口和一个自动缓冲单元(ABU)组成。

由于其中的串行口与标准串口的功能相同,因此在标准模式下,缓冲串口的操作与标准串口的工作方式是一样的。

不过无论是标准模式还是自动缓冲模式,BSP都提供了一些增强功能。

主要包括了可编程控制的串口时钟、可选择时钟和帧同步信号的正负极性,能够以每帧8位、10位、12位和16位传输数据。

通过配置BSP的控制寄存器,BSP还能实现
忽略帧同步信号的数据传输。

时分复用串行口TDM 采用时分复用技术,将多个外部器件复用与’C54x 进行串行通信,每一个时隙对应于其中的1路通信。

TDM 可以和外部的多个应用接口实现方便灵活的数据交换。

’C54x 最多可以和8个外部器件接口通信。

多通道缓冲串口(McBSP )是在缓冲串口的基础上发展起来的增强版。

McBSP 具有高速、全双工、可与各种总线标准的器件直接接口等特点,它为DSP 使用者在不同方面的应用提供了方便,尤其适合在通信领域的应用。

5、伪指令和注释有什么差别?它们在程序中的作用一样吗? 答:伪指令用于为程序提供数据并指示汇编程序如何汇编程序,是汇编语言程序的一个重要内容。

汇编伪指令主要完成以下工作: (1)将代码和数据汇编进指定的段
(2)为未初始化的变量在存储器中保留空间 (3)控制清单文件是否产生 (4)初始化存储器 (5)汇编条件代码块 (6)定义全局变量
(7)为汇编器指定可以获得宏的库 (8)考察符号调试信号 注释是程序的任选项。

注释可以由ASCII 码和空格组成。

注释在汇编源清单中要显示,但不能影响汇编。

注释在程序中的作用是说明程序语句的含义,以便对软件进行维护。

四、阅读指令并填空(每题5分,共25分) 1.
BANZ 2000h, *AR3-
AR3
指令执行前
指令执行后
PC
AR3
PC 2.
CMPR GT, AR3
AR0指令执行前
指令执行后
TC
AR0
TC
AR3
AR3
3.ADD *AR3+, 14, A
C 指令执行前
指令执行后
A
A
AR3
AR3
SXM
0100h
Data Memory
C
SXM
0100h
4.
SUB A, -8, B
B 指令执行前
指令执行后
A
A
C C
B
SXM
SXM
5.
MPY *AR3+, A
T 指令执行前
指令执行后
A
A
AR3
AR3
0100h
Data Memory
T 0100h
五、程序题(15分)
1、写出计算20
1i i y x ==∑的主要汇编程序,并给程序添加注释,画出程序的流程图。

解:程序及注释:
.bss x, 20
;给变量x 分配20个字单元 .bss y, 1 ;给变量y 分配1个字单元 STM #x, AR1 ;取x 地址 STM #19, AR2
;设置循环次数
LD #0, A
;累加器清零 loop: ADD *AR1+, A ;累加x 分量
BANZ loop, *AR2- ;循环是否结束,没有结束则继续累加 STL A, @y ;把结果存入y
流程图:
2、试分析下列程序的流水线冲突,画出流水线操作图。

如何解决流水冲突? STLM A ,AR0 STM #10,AR1 LD *AR1,B 解:流水线图如下图:
1 2 3 4 5 6 7 8 9 预取
取指 译码 寻址 读数 执行
STLM A,AR0
执行
STM
#10,AR1 (1st Word)
执行
STM #10,AR1 (2nd Word)

执行
LD *AR1,B
解决流水线冲突:
最后一条指令(LD *AR1,B)将会产生流水线冲突,在它前面加入一条NOP指令可以解决流水线冲突。

一、填空题(每空2分,共20分)
1、在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到
C55x的寄存器中。

在函数“long func(int *p1, int i2, int i3, int i4)”
中,*p1传递到 AR0 寄存器,i2传递到 T0 寄存器,i4传递到 AR1 寄存器,返回值由 AC0 寄存器传递。

2、汇编语言“mov *AR0,AC0”使用的寻址方式是间接寻址模式,“mov #0x3,
DPH”使用的寻址方式是直接寻址模式,“mov *(#0x011234),T2”使用的寻址方式是绝对寻址模式。

3、指令执行前AC0的值是0012345678,那么汇编语句“AND #0x7f, AC0”,
执行之后,AC0的值是 0000000078 。

4、C55x 的链接器命令文件中,SECTIONS命令的主要作用是告诉链接器如何将输
入段组合成输出段,以及在存储器何处存放输出。

MEMORY命令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度。

二、简述题(共40分)
1、根据你的理解,试列举 DSP 芯片的特点?(5分)
答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP 指令;快速的指令周期;丰富的外设
2、TMS320C55x 芯片的总线结构有何特点,主要包括哪些总线?它们的功能是什
么?(6分)
答:TMS320C55x DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。

采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内
进行两次读操作数和一次写操作数。

独立的程序总线和数据总线允许CPU同时访问
程序指令和数据。

包括12条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。

功能:
3、DSP 为了降低功耗采取了哪些措施?(6分)
答:双电压供电;多种工作模式
4、TMS320C55x 的总存储空间为多少?可分为哪 3 类,它们的大小是多少?存
储器空间的各自作用是什么?(6分)
答:程序空间16M Byte;I/O空间64K Words;数据空间8M Words
5、TMS320C55x 有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令(6分)
答:直接寻址模式,mov #K16,DP ;
间接寻址模式,mov *AR0,AC0;
绝对寻址模式,mov *(#0x011234),T2; MMR 寻址模式,mov *abs16(#AR2), T2; 寄存器位寻址模式,btstp @30, AC1; 圆形寻址模式。

6、将C 源程序转换成可执行文件需要经过哪些步骤?(6分)
答:创建C 源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;
生成可执行文件
7、常用的TMS320C55x 汇编命令有哪些,它们的作用是什么?(5分)
三、程序设计题(共40分)
1、用C55x 汇编语言实现计算 ∑==4
1i i i x a y 的程序。

(10分)
答:mpym *AR0+, *AR1+, AC0
mpym *AR0+, *AR1+, AC1 add AC1, AC0
mpym *AR0+, *AR1+, AC1 add AC1, AC0
mpym *AR0+, *AR1+, AC1 add AC1, AC0 或者:
mpym *AR0+, *AR1+, AC0
||rpt #2
macm *AR0+, *AR1+, AC0
2、用C55x 汇编语言实现计算 22111**a x a x y -=的10分)
答:mpym *AR0+, *AR1+, AC3
masm *AR0+, *AR1+, AC3
3、以8点的FFT 为例,用C55x 的汇编语言实现FFT 的算法,并且解释该算法的实现方法。

(20分)
答: .sect "fft_code"
_fft:
aadd #(ARGS-Size+1),SP ; Adjust stack for local vars
mov mmap(ST1_55),AR2 ; Save ST1,ST3 mov mmap(ST3_55),AR3 mov AR2,fft.d_ST1 mov AR3,fft.d_ST3
btst @#0,T1,TC1 ; Check SCALE flag set
mov #0x6340,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM,FRCT (SCALE=1) mov #0x1f22,mmap(ST3_55) ; Set: HINT,SATA,SMUL xcc do_scale,TC1
mov #0x6300,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM (SCALE=2) do_scale
mov T2,fft.d_T2 ; Save T2 || mov #1,AC0
mov AC0,fft.d_L ; Initialize L=1 || sfts AC0,T0 ; T0=EXP mov AC0,fft.d_N ; N=1<<EXP
mov XAR1,XCDP ; CDP = pointer to U[] mov XSP,XAR4
add #fft.d_temp,AR4 ; AR4 = pointer to temp
mov XAR0,XAR1 ; AR1 points to sample buffer mov T0,T1
mov XAR0,XAR5 ; Copy externd bits to XAR5
outer_loop ; for (L=1; L<=EXP; L++) mov fft.d_L,T0 ; note: Since the buffer is || mov #2,AC0 ; arranged in re,im pairs sfts AC0,T0 ; the index to the buffer neg T0 ; is doubled
|| mov fft.d_N,AC1 ; But the repeat coutners sftl AC1,T0 ; are not doubled mov AC0,T0 ; LE=2<<L
|| sfts AC0,#-1
mov AC0,AR0 ; LE1=LE>>1
|| sfts AC0,#-1
sub #1,AC0 ; Init mid_loop counter
mov mmap(AC0L),BRC0 ; BRC0=LE1-1
sub #1,AC1 ; Init inner loop counter
mov mmap(AC1L),BRC1 ; BRC1=(N>>L)-1
add AR1,AR0
mov #0,T2 ; j=0
|| rptblocal mid_loop-1 ; for (j=0; j<LE1;j++)
mov T2,AR5 ; AR5=id=i+LE1
mov T2,AR3
add AR0,AR5 ; AR5 = pointer to X[id].re
add #1,AR5,AR2 ; AR2 = pointer to X[id].im
add AR1,AR3 ; AR3 = pointer to X[i].re
|| rptblocal inner_loop-1 ; for(i=j; i<N; i+=LE)
mpy *AR5+,*CDP+,AC0 ; AC0=(X[id].re*U.re
:: mpy *AR2-,*CDP+,AC1 ; -X[id].im*U.im)/SCALE
masr *AR5-,*CDP-,AC0 ; AC1=(X[id].im*U.re :: macr *AR2+,*CDP-,AC1 ; +X[id].re*U.im)/SCALE
mov pair(hi(AC0)),dbl(*AR4); AC0H=temp.re AC1H=temp.im
|| mov dbl(*AR3),AC2
xcc scale,TC1
|| mov AC2>>#1,dual(*AR3) ; Scale X[i] by 1/SCALE
mov dbl(*AR3),AC2
scale
add T0,AR2
|| sub dual(*AR4),AC2,AC1 ; X[id].re=X[i].re/SCALE-temp.re
mov AC1,dbl(*(AR5+T0)) ; X[id].im=X[i].im/SCALE-temp.im
|| add dual(*AR4),AC2 ; X[i].re=X[i].re/SCALE+temp.re
mov AC2,dbl(*(AR3+T0)) ; X[i].im=X[i].im/SCALE+temp.im
inner_loop ; End of inner loop
amar *CDP+
amar *CDP+ ; Update k for pointer to U[k]
|| add #2,T2 ; Update j
mid_loop ; End of mid-loop
sub #1,T1
add #1,fft.d_L ; Update L
bcc outer_loop,T1>0 ; End of outer-loop
mov fft.d_ST1,AR2 ; Restore ST1,ST3,T2
mov fft.d_ST3,AR3
mov AR2,mmap(ST1_55)
mov AR3,mmap(ST3_55)
mov fft.d_T2,T2
aadd #(Size-ARGS-1),SP ; Reset SP ret
.end。

相关文档
最新文档