dsp精间学习资料.docx
- 文档编号:12864799
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:34
- 大小:236.76KB
dsp精间学习资料.docx
《dsp精间学习资料.docx》由会员分享,可在线阅读,更多相关《dsp精间学习资料.docx(34页珍藏版)》请在冰豆网上搜索。
dsp精间学习资料
第一章数字信号处理器DSPs简介
实时信号处理系统要求必须具有处理大数据量的能力,以保证系统的实时性;其次对系统的体积、功耗、稳定性等也有较严格的要求。
实时信号处理算法中经常用到对图象的求和、求差运算,二维梯度运算,图象分割及区域特征提取等不同层次、不同种类的处理。
其中有的运算本身结构比较简单,但是数据量大,计算速度要求高;有些处理对速度并没有特殊的要求,但计算方式和控制结构比较复杂,难以用纯硬件实现。
因此,实时信号处理系统是对运算速度要求高,运算种类多的综合性信息处理系统。
实时信号处理系统中,低层的信号预处理算法处理的数据量大,对处理速度的要求高,但运算结构相对比较简单,适于用FPGA进行硬件实现,这样能同时兼顾速度及灵活性。
高层处理算法的特点是所处理的数据量较低层算法少,但算法的控制结构复杂,适于用运算速度高,寻址方式灵活,通信机制强大的DSP芯片来实现。
由此就应运而生了各种DSP数字信号处理芯片。
DSP和诸如IntelPentium或MotorolaPowerPC的通用处理器(GPPS)有很大的区别,这些区别产生于PSS的结构和指令是专门针对信号处理而设计和开发的,具有以下特点。
·硬件乘法累加操作(MACs)
把DSPs同早期的GPPs区别开来的第一个重大技术改进,就是添加了能够进行单周期乘法操作的专门硬件和明确的MAC指令。
·哈佛结构
传统的GPPs使用冯.诺曼存储结构,在这种结构中,有一个存储空间通过两条总线(一条地址总线和一条数据总线)连接到处理器内核,这种结构不能满足MAC必须在一个指令周期中对存储器进行四次访问的要求。
DSPs一般使用哈佛结构,在哈佛结构中,有两个存储空间:
程序存储空间和数据存储空间。
处理器内核通过两套总线与这些存储空间相连,允许对存储器同时进行两访问,这种安排使处理器的带宽加倍。
在哈佛结构中,有时通过增加第二个数据存储空间和总线来实现更大的存储带宽。
现代高性能GPPs通常具有两个片上超高速缓冲存储器,一个存放数据,一个存放指令。
从理论的角度上讲,这种双重片上高速缓存与总线连接等同于哈佛结构,但是,GPPs使用控制逻辑来确定哪些数据和指令字驻留在片上高速缓存里,这个过程通常不为程序设计者所见,而在DSPs里,程序设计者能明确的控制哪些数据和指令被存储在片上的存储单元或缓存中。
·零消耗循环控制
DSP算法的共同特征在于大部分处理时间花在执行包含在相对小循环内的少量指令。
因此,大部分DSP处理器具有零消耗循环控制的专门硬件。
零消耗循环是指处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。
有些DSP还通过一条指令的超高速缓存实现高速的单指令循环。
·特殊寻址模式
DSPs经常包含有专门的地址产生器,它能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。
循环寻址对应于流水FIR滤波算法,位翻转寻址对应于FFT算法。
·执行时间的可预测性
大多数DSP应用都具有硬性实时要求,在每种情况下所有处理工作都必须在指定时间内完成。
这种实时限制要求程序设计者确定每个样本究竟需要多少时间或者在最坏情况下至少用去多少时间。
DSP执行程序的进程对程序员来说是透明的,因此很容易预测处理每项工作的执行时间。
但是,对于高性能GPPs来说,由于大量超高速数据和程序缓存的使用,动态分配程序,因此执行时间的预测变得复杂和困难。
·具有丰富的外设
DSPs具有DMA,串口,PLL,定时器等外设。
第二章TMS320VC5402概述
当前业界中应用得最广泛的是TI的TMS320系列DSPs,TMS320C5402是TI于1999年10月推出的性价比极高的定点数字信号处理器DSPs。
其主要特点如下:
·144PINBGA,操作速率达100MIPS;
·具有先进的多总线结构,三条16位数据存储器总线和一条程序存储器总线;
·40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器;
·一个17*17乘法器和一个40位专用加法器,允许16位带/不带符号的乘法;
·整合维特比加速器,用于提高维特比编译码的速度;
·单周期正规化及指数译码;
·8个辅助寄存器及一个软件栈,允许使用业界最先进的定点DSPC语言编译器;
·数据/程序寻址空间1M*16bit,内置4K*16bitP/DROM和16K*16bitDARAM;
·内置可编程等待状态发生器,锁相环(PLL)时钟产生器,两个多通道缓冲串行口,一
个8位并行与外部处理器通信的HPI口,2个16位定时器以及6通道DMA控制器;
·低功耗,工作电源为3V(I/O)和1.8V(CORE),0.32MW/MIPS,特别适合电池供电
设备。
与TMS320C54X系列的其它芯片相比,C5402以其独有的高性能,低功耗和低价格特性,使得一推出就受到业内用户的欢迎。
TMS320VC5402适用于无线调制解调器,机顶盒(STB),下一代个人数字助理(PDA),集群电话,局域网电话和各种话音应用等单信道通信客户终端和数字无线通信等嵌入式系统,以100MIPS,$5提供极优性价比的通用解决方案。
第三章TMS320VC5402原理和应用
.TMS320C5402的主要特征;
1:
CPU结构;
1)先进的多总线结构,一个程序总线,三个数据总线,四个地址总线。
2)40-BIT的算术逻辑单元(ALU),包括一个40-BIT的桶形移位器和两个独立的40-BIT累加器(ACC)。
3)17×17-BIT并行乘法器,耦合至一个专用的加法器,作非流水的单周期乘法/累加运算(MAC)。
4)比较,选择,存储单元(CSSU),供Viterbi运算作加法/比较选择。
5)指数编码器,在单周期内计算一个40-BIT累加器值的指数。
6)两个地址发生器,包括8个辅助寄存器和两个辅助寄存器算术单元。
2:
指令集;
1)单指令循环和块循环操作;
2)块存储器搬移指令,更便于程序和数据管理;
3)32-BIT长操作数指令;
4)同时读取2操作数和3操作数指令;
5)算术指令带并行存储和并行装入;
6)条件存储指令;
7)快速中断返回;
3:
片内外设;
1)软件可编程等待状态发生器;
2)软件可编程存储体切换;
3)片内锁相环(PLL)时钟发生器,内部振荡器或外部时钟;
4)外部总线断开控制,以禁止外部数据总线,地址总线和控制总线;
5)数据总线可以挂起;
6)可程控定时器;
4:
存储器;
192K字×16-bit可寻址空间(64K字程序,64K字数据,64字I/O)。
加上外部存储器,数据程序存储空间扩充到1M*16bit,片内置4K*16bitP/DROM和16K*16bitDARAM。
5:
电源;
1)用节电模式的IDLE1,IDLE2,IDLE3作功耗控制。
2)可以禁止CLKOUT信号。
6:
仿真;
IEEE1149.1边界扫描逻辑与片内扫描逻辑接口。
7:
速度;
单周期10ns执行时间,定点指令(5/10/20/40/100MIPS)可选择。
.总线结构;
C5402的总线结构由8条主要的16位总线组成(4条程序/数据线,4条地址线):
∙程序总线(PB)从程序存储区传输指令代码和立即操作数。
∙三条数据总线(CB,DB,EB)连接内部的不同部分,诸如CPU,数据地址发生逻辑单元,程序地址发生逻辑单元,片内外围设备。
∙四条地址线(PAB,CAB,DAB,EAB),传送执行指令所需的地址。
利用两个辅助寄存器算术单元(ARAU0,ARAU1),C5402能够在一个时钟周期内产生两个数据存储器地址。
PB能够将数据操作数存储至程序空间(例如系数表),以提供乘法器和加法器作乘法和累加运算,或者存储至数据空间的目标寄存器,以提供作数据移位指令(例如MVPD和READA)。
这种能力,结合读双操作数的特征,支持单周期三操作数指令(如FIRS)的执行。
C5402DSP同时具有片内的双向总线,以访问片内外围设备,该总线通过CPU界面内的总线交换器与DB和EB连接起来。
通过该总线的访问需要二至三个读或写的周期,具体时间取决于外设的结构。
.中央处理单元(CPU);
40位的算术逻辑单元ALU,C54X以40位的算术逻辑单元和两个40位的累加器(A和B)执行算术指令,ALU同时也能够执行布尔操作。
两个40位的累加器,累加器A和B存储ALU和乘法/加法模块的输出。
它们可以给ALU提供第二次的输入,累加器A可以作为乘法/加法器的输入。
串行移位器:
C5402的串行移位器具有40位的输入,与累加器或者是数据存储区(通过CB或DB)连接在一起,它由40位的输出,连至ALU或数据存储区(通过EB)。
串行移位器可以对输入数据进行0到31位的左移和0到16位的右移。
17×17位的乘法器:
快速的片内乘法器允许C5402高效执行诸如卷积,相关和滤波操作。
另外,乘法器和ALU一起可以在一个指令周期中执行乘法累加(MAC)运算及并行ALU运算。
比较,选择,和存储单元(CSSU):
比较,选择,和存储单元(CSSU)执行比较累加器高位和低位的大小的操作,允许状态寄存器ST0中的检测/控制位TC和传输寄存器(TRN)保持它们的传输记录,并且选择累加器中较大的字存入数据存储区。
.存储器结构;
其存储器为哈佛型,分为三个独立的寻址空间;程序,数据,I/O口。
它总共提供了
192Kword的地址范围,并可通过增强外设接口扩充。
C5402的芯片上有16K的DARAM和
4K的P/DROM。
所有的存储空间又分为多个8K大小的块,支持分页寻址处理,这使得在对其中一个块操作时,可同时对另一个块进行操作,增加了处理速度。
1.片内存储器;
片内ROM的结构(地址为:
F800h--FFFFh):
引导装入程序、256-word的μ律扩展表,256-word的A律扩展表,256-word的sin查找表和中断矢量表。
片内DARAM的结构(地址为:
0060h—3FFFh):
分为两个8K的块。
以下的CPU和外设存储映射在第0页(0000h–007Fh)。
∙CPU存储器存储映射(0000h--000Fh)
该部分包括:
中断屏蔽寄存器,中断标量寄存器,状态寄存器ST0和ST1,累加器A和B,暂存器T,辅助寄存器AR0-AR7,堆栈指针SP,块循环的地址和计数器寄存器,处理器模式寄存器PMST等有关CPU操作和状态的寄存器,不需要等待状态法生,就可以读写以上26个寄存器。
∙外设存储器存储映射(0060h--003Fh)
该部分控制外设的工作,通过映射表的寄存器与外设间发送和接收数据,可以设置控制寄存器的bit位能灵活的配置外设,对之进行使能,初始化等操作。
程序和数据存储空间(0060h—3FFFh)
由PMST中OVLY来控制片内RAM被设置为程序或数据空间。
OVLY=0时,片内RAM为数据空间。
OVLY=1时,RAM可设为数据和程序空间,具体的数据和程序空间的分配由.cmd文件指定,可以在.map文件中看出。
软件可编程等待状态发生器:
使外部总线周期延伸至7个机器周期,以便与片外的慢速存储器或I/O设备接口。
当无任何外部硬件时,等待状态发生器不工作。
对于片外存储器的存取,软件可编程等待状态发生器(SWWSR)可指定0—7个等待状态,这既适用于每个程序/数字存储器,也适用于I/O空间。
可编程存储器转换逻辑:
当访问过程跨越程序或数据存储器边界时,可编程存储器转换逻辑会自动插入一个周期。
当存储过程由程序存储器转向数据存储器时,也会插入一个周期。
这一附加周期通过在其他器件开始驱动总线之前允许存储器释放总线,以避免总线竞争。
转换的存储体的大小由存储体转换寄存器(BSCR)确定。
2.寻址模式
∙单操作数寻址,单操作数地址修改;
∙ARAU和地址产生操作;
两个辅助寄存器运算单元ARAU0和ARAU1对辅助寄存器的内容(16比特无符号数)进行操作,通过预先改变辅助寄存器的值,可得到所需的地址。
C5402DSP有七种基本的寻址方式:
1:
立即数寻址:
1)短立即数寻址长度可以是3、5、8、9比特。
2)16比特立即数寻址,使用哪种结构取决于使用哪种指令。
2:
绝对寻址:
1)dmad(数据存储区寻址),在数据空间定义寄存器标号,就可进行对该标号指向的存储器进行读写操作。
2)pmad(程序存储区寻址)。
3)PA(端口寻址)寻址,直接读写端口。
4)*(lk)寻址,是无须改变DP或SP,就可以对数据空间的任何地址进行寻址,但不能用于RPT和RPTZ指令。
3:
直接寻址:
对指令编码时,低7位用于地址;结合数据指针DP和堆栈指针SP可以确定存储地址。
在C5402中,用一个数据页寄存器(DP)来指定正在使用的存储区。
在任何时候,在512个可选页的任意一页上,有128个存储单元可以用来做直接寻址。
这128个存储单元只需要7位来寻址,这就使单周期操作成为可能。
由于DP是可编程寄存器,因此在整个存储映射区内,一次有128个地址可以被访问。
在直接寻址中,指令的低7比特是数据存储器地址(dma),Dma是相对于DP所指的地址页,或SP所指的地址的偏移量(1-127)。
特别地CPL=0,dma是相对于DP的偏移。
DP将数据存储器分为512页(0-511),每一页有128字,实际的地址由DP和dma结合而成。
4.:
间接寻址:
间接寻址对于访问在存储区内的表,数组或其它有序集合来说是一种高效的,功能极强的方式。
间接寻址的指令不是在指令中表达,而是位于辅助寄存器AR中。
AR的使用具有不少优点。
首先,AR是16位的寄存器,这样无需借助于数据页寄存器便可以定位整个数据存储映射区的任意单元。
另外,在读过操作数后,AR可自动增加或减少,这就为以后的操作有指定了一个新的起点。
这个特点使循环操作可更快速,更容易执行。
在直接用*ARX1=*ARX2指令时,要使用同样挂在总线上的两个ARX。
5:
存储映象寄存器寻址:
由于MMR(存储映象寄存器)是数据存储区的一部分,因此能够用访问其它数据存储区,相同的访问方法,借助直接或间接寻址,对它们写或读。
还存在另外一种访问MMR的方法,称为存储-映射寻址。
由于MMR都位于0页面,MMR寻址指令仅对第0页操作,因此若用直接寻址,将忽略(并不改变)DP的值。
若用间接寻址,则仅用当前AR的低7位即可。
6.:
堆栈寻址:
从系统堆栈中增加和删除元素。
在执行直接,间接,存储器映象寄存器的寻址指令时,数据地址发生逻辑(DAGEN)计算数据存储区操作数的地址。
7:
累加器寻址:
累加器寻址将累加器作为地址来使用(通常是低16位)。
这种寻址方式是将程序存储器作为数据来寻址。
有两种指令使用这种模式寻址:
READASmem和WRITASmem。
.流水线操作:
一条指令的流水结构由执行指令的一系列顺序操作组成。
C5402具有6级深度流水线:
预取指,解码,访问,读写,执行。
每一级均有一个独立的操作发生。
由于这些操作都是独立的,在任一给定的周期中都可能有6指令处于激活状态,每条指令处于执行的不同阶段。
典型情况下,流水线被一系列的指令集填充,每一条指令处于6个阶段中的一个。
当程序计数器PC发生不连续的情况时,比如分支,调用,返回等等,一个或更多的流水线的阶段暂时不被使用。
对于较高阶段的设计者,要考虑流水线中的冲突和时延,靠插入一定的NOP指令来解决。
在C6000的开发过程中,采用新的线性汇编指令集可以不用考虑流水线的竞争。
.C5402的片内外设及HPI端口:
1.可编程段转换逻辑
可编程段转换逻辑能够在跨段访问程序或数据存储器是自动插入一个周期。
当访问从程序存储区跨越到数据存储区时也要插入一个周期。
这个多余的周期通过允许存储设备在它们的设备驱动总线之前释放,来解决总线的冲突。
段转换中的段的大小由段转换控制寄存器(BSCR)来决定。
2.主机端口界面(HPI)
HPI是主机与C5402进行数据交换的8-bit并行数据口。
该接口在C5402芯片上,内部有HPI数据寄存器,控制寄存器。
HPI是用8-bit的数据线传输16-bit的数据,可通过设置控制寄存器的相关位控制高8位(signifiecant)和低8位的传输。
HPI有两种工作方式:
一种是主机独占模式(HOM);另一种是主机和C5402共享模式(SAM)。
SAM是通用的方式,二者都可访问HPI数据存储器。
在二者产生冲突时,主机有较高的优先权,而5402插入一个等周期。
HPI传输数据率是每5个CLKOUT周期传输1byte。
C5402的HPI是改良的增强型。
3.硬件时钟
C5402具有一个有4路的16位的时间发生电路。
在每一个CLKOUT周期,定时器计数器减1。
每当计数器减至0,定时器中断产生了。
定时器可以被中止,重起,复位,或者置为失效,这些都取决于具体的状态位。
时钟发生器由一个外部的振荡器和一个锁相环(PLL)电路组成。
时钟发生器可以被一个用内部振荡器的钻石共鸣器来内部驱动,也可以用时钟源来外部驱动。
PLL电路可以通过将时钟源与具体的因数相乘来产生一个内部CPU时钟,体现在DSK上是运算速度可通过dip选择5/10/40/100MIPS。
4.串行口
C5402支持两个多通道缓冲串行口,用自动缓冲单元增强并用完全的CLKOUT速率计时的同步的串行口。
它完全双向及双缓冲以提供灵活的数据流长度。
自动缓冲单元支持高速传输,减少了中断服务的耗费。
引脚FSX和FSR上的帧同步脉冲分别初始化标准串行口的发送和接收操作。
串行口通过3个存储器映象寄存器(SPC、DXR、DRR)和两个其它寄存器(RSR、XSR)进行操作。
5.中断:
C5402的中断分为硬件中断和软件中断两种:
1)软件中断:
需要程序指令(INTR,TRAP,或RESET):
2)硬件中断:
需要物理器件发出外部请求,分为两种情况:
∙外部中断端口引发外部中断。
∙芯片内外围设备信号引发外部中断。
当不同硬件中断同时引发时,按其优先级先后响应。
.IEEE标准1149。
1检测逻辑;
IEEE标准1149.1检测逻辑电路仅用于模拟和检测目的。
该逻辑为界面器件提供边界检查。
同时,它也可以象执行器件内的操作一样用于检测管脚的连续性。
IEEE标准1149.1检测逻辑区别于访问所有片内资源的内部逻辑检测电路,通过JTAG接口提供于XDS50XEVM板的连接。
第四章TMS320VC5402DSK开发板
TMSC320C5402入门者套件DSK是低成本,但内容齐全的开发工具,能让DSP初学者了解C5000系列DSP的结构,以便开展基于C5000系列DSP的应用开发,其综合了硬件和软件的多方面特征。
它的特征有:
●100MHZVC5402DSP芯片
●64K的外部SRAM,256K的FLASH存储器DSK专用CCSIDEV1.22调试工具
●相当于32K应用程序空间的C编译器,汇编编译器,链接器等代码产生工具
●JTAG测试总线控制器和一个连到主机并口的接口
●电话接口(DAA)
●MIC/SPEAKER音频接口
●RS-232异步数据接口
●扩展子板的接口
此DSK板仅需+5V的直流电压,用一个配套的外部电源来提供.板上的线性电压调整器提供1.8VDC的DSP核心电压,3.3VDC的数字电压和5VDC模拟电压。
它还提供与CODECOMPOSER调试器相兼容的嵌入的IEEE1149.1(JTAG)标准仿真。
另外,它可经由它的外部JTAG连接器被PC及外部XDS510使用.DSK内置了由测试总线控制器(TBC)提供的JATG仿真逻辑,主机接口(HPI)可以由符合IEEE-1248标准的并口使用。
对外部的静态随机存取存储器,闪光存储器和扩展存储器,DSP通过其16位的外部存储接口界面(EMIF)来使用。
板上有一条可运行在100MHZ下的64Kx16bit的SDRAM(可以扩展到256K)。
还有一条256Kx16bit的FLASH存储器。
另外,EMIF可以用作一个接口连接器来使用子板上的扩展内存。
模拟网络接口DAA和AD50,AIC可以使DSP经多通道的缓冲串口(MCBSP0)来访问单路的电话接口.。
McBSP0在软件控制下面可以随意性地路由到给扩展连接器。
麦克风和喇叭接口(3.5mm的音频插座)经由另一块AD50,AIC连到DSP的另一个MCBSP(MCBSP1)。
MCBSP1用它的两个定时器和一个外部中断,同样可以连到一个外部联结器来使用一个目标板。
此板还为外部用户控制提供了一个八段的DIP开关。
一个可以手工复位DSK的按钮。
一个电压监视器来监视内部的电压,如果电源达不到运行要求,就使目标板处于复位状态。
另外还有四个LED,其中一个指示电源,另外三个由用户来控制。
关于并口的操作;
DSK的并口可以:
●作为接口到DSP的HPI口
●提供复位控制
●控制TBC(为JTAG的控制)
●访问CPLD的一些内部寄存器
●对CPLD进行编程
主机可以访问HPI或TBC,但不能同时进行。
DSK的引导模式;
DSK板上的DSP能用几种方式来引导,不同的引导模式可以适应DSK使用的不同场合。
可以用板上的16位的FLASH存储器,或只利用外部存储接口,使用8,16,32位的ROM或FLASH存储器来引导DSK。
当内部的程序或外部的SRAM已经被装载,DSK可以被设置为非引导的模式,当时用JTAG调试器的时候,这作为缺省模式。
当主机的软件或驱动器将经由并口来装载内存的时候,DSK可以设置成HPI模式。
DSP被主机复位时,内部程序或外部的SRAM存储器的操作将从0地址开始,在这种模式下,主机软件或驱动器必须正确的配置EMIF寄存器。
DSK的这种能直接让主机软件控制引导模式的能力非常重要,因为它可以让软件应用的不同来动态的配置引导模式。
比如,DSK默认用非引导模式,但对于COFF文件的装载时,应用程序则使用HPI来引导,便可以设置成HPI模式来引导。
下面总结了DSK的不同引导方法:
●用板上的FLASH存储器
●扩展存储子板的ROM(ROM引导)
●内嵌的JTAGTBC(非引导模式)
●外部的JTAGXDS510(非引导模式)
●经由主机并口和HPI(HPI模式)
DSKI/O连接器;
DSK板上有很多IO连接器,经常用的有:
●扩展存储连接器管脚
●扩展外设连接器官脚
●并口接口管脚
●RS—232口
●电话线接口(DAA)
●+5V输入接口
●DSPJTAG联接头
关于DAA的应用;
DAA提供了一个低功耗的,到POTS中心局线的接口,它允许C54X开发平台应答或启动一个标准的电话呼叫,DAA指示提供了一个接口,具体的语音,数字和DTMF信号必须由DSP用CODEC的方式来处理。
它具有以下的特点:
●挂机摘机控制
●铃声监测
●挂机音频路径监测
●摘机音频发送接收
DSP时钟;
C5402DSK由DSP内置的晶振提供给DSP20MHZ的时钟信号,DSP的时钟模式可以由DIP开关来配置,达到不同的操作频率,在重新设置了DSP的操作频率以后,CLKMOD寄存器才可以被配置。
TMS320VC5402DSP;
DSK板支持的TMS320VC5402DSP最高可以达到100MHZ的频率,其核心电压1.8V,IO电压3.3伏。
它还支持所有的DSP接口和控制信号。
这对于硬件参考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsp 学习 资料