DSP 复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSP 复习资料:
1、DSP(digital singnal processor)是一种独特的微处理器,是以数字信号
来处理大量信息的器件。
其工作原理是对数字信号进行修改、删除、
强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格
式。
它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条
复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重
要的电脑芯片。
它的强大数据处理能力和高运行速度,是最值得称道
的两大特色。
2、DSP芯片一般具有如下主要特点:在一个指令周期内可以完成一次乘
法和一次加法;可以并行执行多个操作;快速的中断处理和硬件I/O
支持;存储器采用哈佛结构;主要用于信号处理。
3、一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数
字信号处理器DSP、D/A转换器和低通滤波器等组成。
4、按数据格式分为定点DSP和浮点DSP两类。
按数据的定点格式工作
的DSP芯片称为定点DSP;按数据的浮点格式工作的DSP芯片称为
浮点DSP。
其中C2x、C24x称为C2000系列,主要用于数字控制系
统; C54x、C55x称为C5000系列,主要用于功耗低、便于携带的通
信终端; C62x、C64x和C67x称为C6000系列,主要用于高性能复
杂的通信系统,如移动通信基站。
5、链接命令文件(·cmd文件)指定存储器的结构和段的定位,有
MEMORY和SECTIONS两条指令。
MEMORY伪指令用来定义目标系
统的存储器配置空间,包括对存储器各部分命名,以及规定它们的起
始地址和长度。
SECTIONS伪指令用来指定链接器将输入段组合成输
出段方式,以及输出段在存储器中的位置,也可用于指定子段。
6、DSP系统中流水线操作是各指令以机器周期为单位相差一个时钟周期,
连续并行工作的情况。
其本质是DSP多条总线彼此独立地同时工作,
使得同一条指令在不同机器周期内占用不同总线资源。
同时,不同指
令在同一机器周期内占用不同总线资源。
7、一个完整的工程需要由库文件(.lib),头文件(.h),源文件(.c)和CMD
文件(.CMD)组成,缺一不可。
头文件的作用是定义了DSP内部寄存
器的数据结构。
头文件一般情况下不需要修改,如果需要定义一些在
整个工程内都具有作用域的全局变量的时候,可以在头文件中定义这
些变量。
CMD文件的作用是用来分配存储空间的。
由于DSP 编译器
的编译结果是未定位的,DSP 也没有操作系统来定位执行代码,DSP 系统的配置需求也不尽相同,因此需要根据实际的需求,定义代码的
存储位置。
库文件包含了编译器提供的所有功能:①初始化C语言环
境(入口地址是_c_int0),②设置堆栈,③提供标准的c语言函数库。
源文件是实现DSP系统指定功能的主要代码部分。
8、DSP系统的设计步骤分几个阶段:(1)明确设计任务,确定设计目
标(2)算法模拟,确定性能指标(3)选择DSP芯片和外围芯片(4)
设计实时的DSP应用系统(5)硬件和软件调试(6)系统集成和测
试
9、TMS320LF240x的基本结构分为中央处理单元(CPU)、存储器、片内
外设与专用硬件电路三个组成部分。
TI 的24系列DSP有两个状态寄
存器,分别为ST0、ST1。
192K字的可寻址存储器空间:64K字程序空
间、64K字数据空间和64K字的I/O空间。
10、24系列DSP支持软件和硬件两种中断。
24系列采用两级中断管理方
式。
DSP的SCI接口是串行通讯接口模块。
SPI是串行外设接口。
数字
输入输出模块都是功能复用引脚,这些引脚既可以作为通用双向IO引
脚,也可以作为特殊功能引脚。
11、存储器模型:DSP将存储器分成程序和数据两个线性块。
程序存储器:
包含可执行代码,初始化数据和开关量;数据存储器:包含外部变量、
静态变量和系统堆栈。
12、外设寄存器的定义:第一步:采用结构体、共用体、位域结构体定义
寄存器变量。
第二步:通过pragma伪指令将寄存器变量分配到数据
段。
第三步:通过MEMORY伪指令指示寄存器的实际硬件空间。
第四
步:通过SECTIONS伪指令将寄存器数据段分配到实际硬件空间。
13、有如下程序:
/*点亮一个发光二极管*/
#include "DSP281x_Device.h"
void main(void)
{
InitSysCtrl(); // 系统初始化子程序,在DSP28_sysctrl.c中
EALLOW;
GpioMuxRegs.GPBDIR.bit.GPIOB0=1;
EDIS;
GpioDataRegs.GPBDAT.bit.GPIOB0=0;
GpioDataRegs.GPBDAT.bit.GPIOB0=1;
GpioDataRegs.GPBCLEAR.bit.GPIOB0=1;
GpioDataRegs.GPBSET.bit.GPIOB0=1;
GpioDataRegs.GPBTOGGLE.bit.GPIOB0=1;
GpioDataRegs.GPBTOGGLE.bit.GPIOB0=1;
while(1);
}。