1.Dsp的应用领域:
移动通信领域(抗多普勒效应滤波器组、手机)
数字图像领域(DC、DV、photoshop图像优化)
密码学(高级密度密码、数字化虹膜和指纹)
军事装备(机载雷达、深海声纳、精确制导系统)
数字新媒体(PSP、MP4、PDA、高清数字电视、高级音响)
语音识别(智能语音识别、盲信号)
医疗设备(深圳迈瑞:CT、彩色B超、ICU综合监视系统)
化学分析仪器(智能光谱筛分仪)
办公自动化(扫描仪、彩喷、一体化设备)
2.数字信号处理的实现方法:
1)在计算机上用软件实现:C语言、内联汇编-- 速度慢、不可移动、用于模拟
2)计算机外连的专用硬件,比如电视卡--硬件固化、不可更改
3)单片机–适于简单的信号处理,如智能控制
4)可编程DSP芯片
5)专用DSP芯片ASCI –硬件固化、不可更改
3、数字信号处理器指的是实现我们所需要的数字信号处理功能的硬件载体(专用微处理器)。
4、单片机和TI系列DSP芯片的区别两者区别主要在于数值处理和高速控制
单片机:乘加功能很差,不适合密集型运算场合,适合事务控制场合,如智能控制;
DSP芯片:乘加功能很强,适合密集运算、高精度、高速处理场合,内置和外围的电路和接口非常丰富,扩展功能强大。
5、TMS320C54x主要组成部分有:
中央处理器CPU 内部总线特殊功能寄存器数据存储器RAM
程序存储器ROM(内/外)外部总线接口
6、JTAG接口-- 基于PC机的仿真和测试
7、8条16位总线
PB -- 程序总线从程序存储器转载指令代码和立即操作数
CB、DB、EB -- 将内部各单元相互连接CB、DB负责读数据,EB负责写入数据
PAB、CAB、DAB、EAB -- 装载指令和数据的地址PAB是程序读写通道
CAB和DAB是数据读入通道EAB是数据写入通道
8、ALU的运算结果送至累加器A、B,如果有溢出发生,则OV A、OVB(溢出标志位)自动置为1。
9、保护位:AG、BG 39~32,作为算术计算时的数据位余量,以防止迭代运算中的溢出。
10、乘法加法器MAC
能够在一个时钟周期内,完成一次17位×17位的乘法和一次40位的加法操作。
11、C54x共有3个16位寄存器作为控制部件:
PMST(Processor Mode Status)
-- 处理器工作模式状态寄存器
用来设定并控制处理器的工作方式
ST0(status 0)
-- 状态寄存器反映寻址要求、运算的中间运行状态
ST1(status 1)
-- 状态寄存器反映寻址要求、设置计算的初始状态、中断控制、
及输入输出I/O
12、TMS320C54x的片内存储空间分为3个独立部分:
64K字程序存储空间
64K字数据存储空间
64K字I/O空间
13、通过PMST的三个位控信息:MP/MC、OVL Y、DROM可以对片内RAM分配为程序/数据存储器。
14、程序存储空间的分页扩展
采用分页扩展的方法,使程序空间扩展到1M~8M字。
C5410扩展到8M字,划分为128页(64K字/页)
15、片内ROM 组织方式-- 对片内ROM按块组织
16、数据存储空间的配置
-- DROM位决定片内ROM是否配置到数据存储空间
片内RAM配置以分块的方式,允许用户在一个时钟周期内从同一DARAM中提取两个数据。
17、32位数的寻址原则:
先处理高字、后处理低字
高字在偶地址,则高上低下
高字在奇地址,则低上高下
18、直接寻址:①数据页指针DP(9位);
②堆栈指针SP。
当CPL=0时,数据存储器16位地址由DP和偏移地址dmad构成;
当CPL=1时,数据存储器16位地址由SP加偏移地址dmad构成。
DP地址的范围是从0~511(29-1),将存储器分成512页。7位dmad范围是从0~127,每页有128个可以访问的单元以DP为基准的直接寻址是由DP值确定是512页中的哪一页,由dmad确定是该页中的哪一个单元。
SP可以指向存储器中的任意一个地址。dmad可以指向当前页中具体的单元,从而允许访问存储器任意基地址中的连续的128个单元
19、位倒序寻址用于快速傅氏变换算法FFT。
20、存储器映像寄存器寻址间接寻址:高9位数据存储器地址置0,按照当前辅助寄存器ARx的低7位地址访问MMR。
21、LDM MMR,dst ;将MMR加载到累加器
MVMD MMR,dmad ;MMR向指定地址传送数据
MVMM MMRx,MMRy ;MMRx向MMRy传送数据
STM #lk,MMR ;长立即数lk存入MMR
22、指令系统按指令的功能可分成:
算术运算指令逻辑运算指令程序控制指令加载和存储指令
23、双操作数指令:若C16 = 0,则完成双精度加法
dst = Lmem +src ;
若C16 = 1,则双16位数加法
dst(39-16)= Lmem(31-16)+src(31-16)
dst(15-0)= Lmem(15-0)+src(15-0)
24、C54x的程序控制指令用于控制程序的执行顺序包括:
分支转移指令(B、BC)
子程序调用指令(CALL)
中断指令(INTR、TRAP)
返回指令(RET)
重复操作指令(RPT)
堆栈操作指令(POPM
25、分支转移指令的缺点:使程序的可读性变差,影响主程序执行中的安全性。
26、重复指令在执行RPT或RPTZ过程中,对所有可屏蔽中断都不相应。
27、数字信号处理系统的设计过程:系统要求的描述→信号分析→信号处理算法设计
→资源分析→硬件结构分析与设计→软件设计与调试→系统集成与测试
28、数字信号处理的两层工作:算法研究,系统实现
29、DSP汇编语言源程序包括:指令性语句,伪指令语句,宏命令语句
30、段定义伪指令
未初始化段 .bss 定义变量区、数组等 .usect 定义堆栈区
已初始化段 .text . data . Sect
31、所有COFF 文件都包括三种形式的段:
.text 文本段(指令代码)
.data 已初始化数据段
.bss (为未初始化变量)保留空间段
32、程序的三种定位方式:
单片机 (MCU ) -- 编译时定位(手工配置硬件资源)
DSP -- 链接时定位(软硬件开发可分离)
PC 机 -- 加载时定位(依赖操作系统)
33、MEMORY 伪指令 —— 用来划分空间
SECTIONS 伪指令 —— 用来分配各段进入空间。
34、C54x 的流水线操作是由6个操作阶段或操作周期组成。
六级流水线操作:预取指 P 取指 F 译码 D 寻址 A 读数 R 执行 E
流水线在程序产生调用、跳转和中断时会产生清除,通过延迟操作可以将浪费掉的周期利用起来。
35、双寻址存储器(DARAM )与流水线:
-- 在单周期内,允许CPU 对DARAM 访问两次,第一次在前半周期,第二次在后半周期。
36、在同半个周期内做两个操作,容易引发时序冲突。解决方法有:
CPU 重新排定访问次序
写操作延迟一个周期
插入空周期
37、当一个CPU 资源同时被一个以上流水线访问时,就会发生冲突:
可防止的冲突 -- 由CPU 通过延迟寻址的方法自动消除
有些冲突是不能防止的 -- 重新安排指令顺序或插入NOP 空操作消除
38、中断标志寄存器IFR 用做中断的映像 中断屏蔽寄存器IMR 用于屏蔽硬件中断 汇编器 调试程序 链接器
文本编辑器 .asm 源文件 .obj 目标文件 .out
输出文件
. cmd 链接命 令文件
. lst 列表文件 . map 存储器 映像文件 十六进制 转换程序 HEX500 - o - m - l
39、中断流程的三个阶段:
1.接受中断请求
2.响应中断
3.执行中断服务程序
40、CCS有两种工作模式,即:
●软件仿真器模式:
可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。
●硬件在线编程模式:
可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。
41、文件扩展名:
.prj 工程文件
.c C语言源程序
.asm 汇编源程序
.h 头文件
.lib 库文件
.cmd 链接命令文件
42、虚拟数字正弦信号发生器
4丶传统处理器:冯.诺依曼结构,程序空间和数据空间共用时分复用–单存储空间
哈佛结构:各自单独的程序空间和数据空间–双存储空间
5丶TMS320系列中同属一代的芯片具有相同的CPU结构,但片内存储器和片外设备的配置不同。
主要组成部分有:中央处理器CPU丶内部总线丶特殊功能寄存器丶数据存储器RAM丶程序存储器ROM(内/外)丶外部总线接口
7丶C54x的主要特点:
1)围绕8条总线构成的增强型哈佛结构2)高度并行的、带有专用逻辑单元的CPU设计
3)高度专业化的指令系统4)模块化的结构设计5)IDLE1~3指令控制功耗6)JTAG接口-- 基于PC机的仿真和测试
9丶TMS320C54x的CPU包括:
40位ALU丶桶形移位器丶40位累加器A、B丶乘法加法器MAC丶比较选择单元CMPS/CSSU丶指数编码器EXP 丶CPU状态和控制寄存器(ST0、ST1和PMST)丶寻址单元(Adressing Unit)
11丶存储器分为两类:
RAM(Random Access Memory)-- 程序
ROM(Read Only Memory)-- 数据、程序
RAM又分为两类:
SARAM -- 每个时钟内一次寻址
DARAM -- 每个时钟内两次寻址
DSP片内存储器包括:
DARAM SARAM ROM
12丶TMS320C54x所有片内、片外的数据和程序存储器统一编址。通过PMST的三个位控信息:MP/MC、OVL Y、DROM可以对片内RAM分配为程序/数据存储器。
程序存储空间分配在片内还是片外由MP/MC、OVLY决定
MP/MC决定4000H~FFFFH程序空间的片内外分配
MP/MC=1,4000H~FFFFH定义为片外存储器
MP/MC=0,4000H~EFFFH定义为片外存储器
其余划分为片内、保留、中断矢量表
13丶OVLY -- 决定0000H~3FFFH程序空间的片内外分配
OVL Y=1,0000H~007FH保留(程序无法占用)
0080H~3FFFH为片内DARAM
OVL Y=0,0000H~3FFFH全部为片外程序空间
数据存储空间分配在片内还是片外由DROM 控制
DROM -- 决定F000H~FFFFH 数据空间的片内外分配
DROM=1,F000H~FEFFH 为片内ROM
FF00H~FFFFH 保留
DROM=0,F000H~FFFFH 为片外数据空间
14丶
16丶[1] 数据存储空间的配置
-- DROM 位决定片内ROM 是否配置到数据存储空间
[2] 片内RAM 配置
以分块的方式,允许用户在一个时钟周期内从同一DARAM 中提取两个数据。
划分方法:从0080H 开始每80H (128)个数据单元为一个数据块。
17
18丶C54x 的指令系统有两种形式:助记符指令和代数指令 保留(OVLY =1)外部(OVLY =0)0000H 007FH 0080H 片内DRAM :16K (OVLY =1)外部(OVLY =0)3FFFH 4000H 保留(OVLY =1)外部(OVLY =0)0000H 007FH 0080H 片内DRAM :16K (OVLY =1)外部(OVLY =0)3FFFH 4000H 程序空间:页0程序空间:页0FF7FH FF80H FFFFH FF7FH FF80H FFFFH
EFFFH F000H FEFFH FF00H 片外中断矢量(外部)中断矢量(片内)片外片内ROM :4K 保留存储器映象寄存器0000H 005FH 0080H 片内DRAM :16K 3FFFH 4000H 数据空间FF7FH FF80H FFFFH 片外EFFFH F000H FEFFH FF00H 片内ROM (DROM=1)外部(DROM
=0) 保留(DROM =1)外部(DROM =0)
0060H 007FH 暂存器SPRAM
MP/MC=1(微处理器模式)MP/MC=0
(微型计算机模式)
助记符指令的基本形式:(标号)操作符操作数1,操作数2,操作数3标号一般不用,操作数可多可少,操作数代表了立即数、地址及存储单元。
19丶C54x的大部分指令能够寻址16位数只有双精度和长字指令才能寻址32位的双字数据。
20丶存储器映像寄存器(MMR)寻址:是用来修改存储器映像寄存器的内容,但不影响当前数据页指针DP和堆栈指针SP的值
MMR地址的产生有两种方法:(1)采用直接寻址:高9位数据存储器地址置0,利用指令中的低7位地址直接访问MMR。(2)采用间接寻址方式:高9位数据存储器地址置0,按照当前辅助寄存器ARx的低7位地址访问MMR。
21丶C54x的助记符指令是由操作码和操作数两部分组成。在进行汇编以前,操作码和操作数都是用助记符表示。
34丶链接器对段的处理具有两个功能:(1)将输入段组合生成输出端,即将多个.obj文件中的同名段合并成一个输出段;也可将不同名的段合并产生一个输出端。(2)将输出段定位到实际的存储空间中
35丶C54x汇编程序的基本结构:顺序结构分支结构循环结构子程序结构
36丶Disassemble窗口:显示源程序以及存储器地址
CPU窗口:显示CPU中累加器A/B的内容以及CPU寄存器(MMR)的内容
Memory窗口:检查或修改存储器中的内容
Command窗口:手动键入各种仿真命令
37丶一些仿真命令:
1)进入:SIM54XW 2)退出:QUIT 3)加载:load <文件名.out> 4)运行:run
5)步进:step 6)复位:reset restart 7)退出:ESC键
8)检查程序时间开销:?CLK 9)清除过往命令:CLS
38丶C54x的流水线操作是由6个操作阶段或操作周期组成。
各操作阶段的功能:
预取指(Prefetch):在T1机器周期内,CPU将PC中的内容加载到程序地址总线PAB,找到指令代码的存储单元。
取指(Fetch):取在T2机器周期内,CPU从选中的程序存储单元中,读取指令代码加载到程序总线PB 。
译码(Decode):在T3机器周期内,CPU将PB中的指令代码加载到指令译码器IR进行译码,产生执行指令所需要的一系列控制信号。
寻址(Access):在T4周期内,CPU将数据1或数据2的读地址或同时将两个读地址分别加载到数据地址总
线DAB和CAB中,并对辅助寄存器或堆栈指针进行修正
读数(Read):CPU在T5周期内,将读出的数据1和数据2分别加载到数据总线DB和CB中。若是并行操作指令,可同时将数据3的写地址加载到数据地址总线EAB中
执行(eXecute):在T6机器周期内,CPU根据操作码的要求执行指令,并将写数据3通过EB总线写入指定的存储单元中。
39丶流水线在程序产生调用、跳转和中断时会产生清除,通过延迟操作可以将浪费掉的周期利用起来
40丶双寻址存储器(DARAM)与流水线:在单周期内,允许CPU对DARAM访问两次,第一次在前半周期,第二次在后半周期。
利用PAB/PB取指——前半周期
利用DAB/DB读第一操作数——前半周期
利用CAB/CB读第二操作数——后半周期
利用EAB/EB写操作数——后半周期
44丶CCS开发环境:编辑源程序创建应用程序调试应用程序