dsp作业.docx
《dsp作业.docx》由会员分享,可在线阅读,更多相关《dsp作业.docx(25页珍藏版)》请在冰豆网上搜索。
dsp作业
TMS320C62xx
一、DSP简介
自1982年推出第一款DSP后,德州仪器公司(Texas Instrument简称TI)不断推陈出新、完善开发环境,以其雄厚的实力在业界得到50%左右的市场份额。
TI的DSP经过完善的测试出厂时,都是以 TMS320为前缀。
在众多款型DSP中,TI把市场销量好和前景看好的DSP归为三大系列而大力推广,TI也称之为三个平台(Platform)。
TMS320C2000 平台,包含16位C24xx和32位C28xx的定点DSP。
C24xx系列市场销量很好,而对C28xx系列, TI认为很有市场潜力而大力推广。
C2000针对控制领域做了优化配置,集成了了众多的外设,适合逆变器、马达、机器人、数控机床、电力等应用领域。
由于C2000定位在控制领域,其包含了大量片内外设,如IO、SCI、SPI、CAN、A/D等等。
这样C2000既能作为快速微控制器(单片机)来控制对象,也能作为DSP来完成高速数字信号处理,DSP的高性能与通用微控制器的方便性紧密结合在一起,所以C2000也常被称为DSP控制器。
这里 C2000采用的是与OMAP不同的途径简化了主从式设计。
C2000系列(定点、控制器):
C20X,F20X,F24X, F24XX,C28X,F28XX该系列芯片具有大量外设资源,如:
A/D、定时器、各种串口(同步和异步),WATCHDOG、CAN总线/PWM发生器、数字IO脚等。
是针对控制应用最佳化的DSP,在TI所有的DSP中,只有C2000有FLASH,也只有该系列有异步串口可以和PC的UART相连。
3)C6000 系列:
C62XX,C67XX,C64XX 该系列以高性能著称,最适合宽带网络和数字影像应用。
32bit,其中:
C62XX和C64XX是定点系列,C67XX 是浮点系列。
该系列提供EMIF扩展存储器接口。
该系列只提供BGA封装,只能制作多层PCB。
且功耗较大。
TMS320C5000 平台,包含代码兼容的定点C54x和C55x。
其提供性能、外围设备、小型封装和电源效率的优化组合,适合便携式上网、语音处理及对功耗有严格要求的地方。
DSP的传统设计往往是采取主从式结构:
在一块电路板上,DSP做从机,负责数字信号处理运算;外加一块嵌入式微处理器做主机,来完成输入、控制、显示等其他功能。
为此,TI专门推出了一款双核处理器OMAP,包含有一个ARM和一个C5000系列DSP,OMAP处理器把主从式设计在芯片级上合二为一,一个典型的应用实例为诺基亚手机。
C5000系列(定点、低功耗):
C54XX,C55X 相比其它系列的主要特点是低功耗,所以最适合个人与便携式上网以及无线通信应用,如手机、PDA、GPS等应用。
处理速度在80MIPS--400MIPS之间。
C54XX和C55XX一般只具有MCBSP同步串口、HPI并行接口、定时器、DMA等外设。
值得注意的是C55XX提供了EMIF外部存储器扩展接口,可以直接使用SDRAM,而C54XX则不能直接使用。
TMS320C6000平台,包含定点C62x和C64x以及浮点C67x。
其追求的是至高性能,最近新推出的芯片速度高达1GHZ,适合宽带网络、图像、影像、雷达等处理应用。
C6000系列:
C62XX,C67XX,C64X该系列以高性能著称,最适合宽带网络和数字影像应用。
32bit,其中:
C62XX和C64X是定点系列,C67XX是浮点系列。
该系列提供EMIF扩展存储器接口。
该系列只提供BGA封装,只能制作多层PCB。
且功耗较大。
同为浮点系列的C3X中的VC33现在虽非主流产品,但也仍在广泛使用,但其速度较低,最高在150MIPS。
TMS320C62xx:
PLL 可以×1,×4,×6,×7,×8,×9,×10 和×11,因此外部主频可以为11.8MHz-300MHz。
对于C6000系列(只限于非同步存储器或外设):
硬件等待信号为ARDY,高电平时不等待。
软件等待由外部存储器接口控制寄存器决定,总线访问外部存储器或设备的时序可以设置,可以方便的同异步的存储器或外设接口。
二、DSP芯片的应用
自从20世纪70年代末80年代初DSP芯片诞生以来,DSP芯片得到了飞速的发展。
DSP芯片的高速发展,一方面得益于集成电路技术的发展,另一方面也得益于巨大的市场。
在近20年时间里,DSP芯片已经在信号处理、通信、雷达等许多领域得到广泛的应用。
目前,DSP芯片的价格越来越低,性能价格比日益提高,具有巨大的应用潜力。
DSP芯片的应用主要有:
1、信号处理——如数字滤波、自适应滤波、快速傅立叶变换、相关运算、谱分析、卷积、模式匹配、加窗、波形产生等;
2、通信——如调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、传真、扩频通信、纠错编码、可视电话等;
3、语音——如语音编码、语音合成、语音识别、语音增强、说话人辨认、说话人确认、语音邮件、语音存储等;
4、图形/图像——如二维和三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等;
5、军事——如保密通信、雷达处理、声纳处理、导航、导弹制导等;
6、仪器仪表——如频谱分析、函数发生、锁相环、地震处理等;
7、自动控制——如引擎控制、声控、自动驾驶、机器人控制、磁盘控制等;
8、医疗——如助听、超声设备、诊断工具、病人监护等;
9、家用电器——如高保_真音响、音乐合成、音调控制、玩具与游戏、数字电话、电视等。
随着DSP芯片性能价格比的不断提高,可以预见DSP芯片将会在更多的领域内得到更为广泛的应用。
三、TMS320C62xx概述
3.1TMS320C62xx主要特点
(1)VelociTI结构,CPU有8个功能单元:
2个乘法器和6个算术逻辑单元,每周期可执行8条指令
(2)具有RISC类指令集有效的C编译器和汇编优化器
(3)支持8/16/32位数操作,也支持40位操作
(4)支持饱和和正常溢出运算
(5)定点和浮点DSP管脚兼容
(6)大的片内RAM空间
(7)32bit片外存储器接口支持SDRAM、SBSRAM、SRAM和其它异步存储器
(8)16位主口可以访问C62X/C67X存储器和外设
(9)多通道DMA控制器
(10)多通道串口
C62xx系统方框图如下所示:
图1C62xx系统方框图
3.2C62xxCPU结构
图2C62xxCPU结构
3.3C62xxCPU数据访问
定界:
数据或代码在存储器内的开始地址有一定要求,数据类型决定定界、存取指令。
图3数据定界原则
常数定界:
编译器会根据常数类型自动定界,为避免存储器浪费,定义时应遵循先大后小的原则。
图4常数定界
变量定界如下图所示:
图5变量定界
代码定界:
连接器自动按照256bits定界,代码的起始存放地址必须是256的整数倍,即8LSB=0。
图6代码定界
C62xx的数据通路包括:
(1)2个通用寄存器组(A和B):
寄存器组A:
A0-A15,寄存器组B:
B0-B15,其中条件寄存器:
A1、A2、B0、B1和B2,可用于循环寻址的寄存器:
A4-A7和B4-B7。
通用寄存器组支持32位和40位定点数据。
对于40位和64位数据,需跨放在两个寄存器内。
(2)8个功能单元(.L1,.L2,.S1,.S2,.M1,.M2,.D1,和D2)
(3)2个存储器读取通路(LD1和LD2)
(4)2个存储器存储通路(ST1和ST2)
(5)2个寄存器组交叉通路(1X和2X)
(6)2个数据寻址通路(DA1和DA2)
如下图为CPU的数据通路图:
图7数据通路图
数据交叉通路如下图所示:
图8数据交叉通路
地址交叉通路如下图所示:
图9地址交叉通路
3.4功能单元
8个功能单元分成A、B两组:
A组包括L1、.S1、.M1、.D1,B组包括L2、.S2、.M2、.D2
每个功能单元都有2个32bit读口和1个32位写口.L1、.L2、.S1和.S2另有8bit写口和8bit读口,支持40位操作数的读写且同一周期8个功能单元可并行使用。
下图为功能单元图示:
图10功能单元
3.4.1功能单元和寄存器
图11功能单元和寄存器
3.4.2功能单元和执行
表1功能单元和执行操作
3.5寄存器组交叉通路
CPU中有两个交叉通路1X和2X,1X允许A侧功能单元读取B组寄存器数据,2X允许B侧功能单元读取A组寄存器数据。
每侧仅有一个交叉通路,在同一周期内从另一侧寄存器组读操作数只能一次,或者同时进行使用2个交叉通路(1X和2X)的操作。
其中.D功能单元不能使用交叉通路,仅src2可以使用另一侧寄存器数据。
如下图所示:
图12寄存器组交叉通路
3.5.1C62xx的片内存储器IRAM
图13C62xx的片内存储器
3.5.2IRAM请求的来源
图14IRAM请求的来源
片内RAM是资源的一部分,CPU和DMA是最主要的两个访问者,DMC和PMC控制访问者与资源之间的通信。
IPRAM:
总容量64kbytes(甚至384kbytes),一次读取一个取指包,256-bit数据宽度,配置:
映射的程序存储器;程序cache。
IPRAM——模式:
两种工作状态(静态存储器和高速缓存cache)。
4种模式:
存储器映射、cache使能、cache冻结、cachebypass。
IPRAM——结构:
图15IPRAM——结构
IDRAM:
总容量64kbytes(甚至512kbytes),单周期双存取,CPU与DMC间2*64-bit数据总线,DMC与IDRAM间4*16-bit数据总线。
IDRAM—结构—C6201:
图16IDRAM结构—C6201
图16IDRAM结构—C6201B
cache模式:
enable,freeze,bypass三种模式。
cache机制如下图:
图17cache机制
cache——地址的解析:
5-bit作为取指包的固定偏移单位(alignment),11-bit作为块偏移地址,表明一个取指包在某个2Kframe块中的位置,10-bit作为标记。
C62xx的两级存储
第一级cache:
L1P,L2D。
第二级:
L2,五种配置。
3.5.3两级存储
两级存储框图:
图18两级存储框图
图19两级存储资源
图20两级存储结构
由27个控制寄存器完成维护和控制
3.6中断系统
中断源——同时处理14个
图21中断源
中断事件——32个
图22中断事件
图23中断事件
3.7存储器存取通路
DSP的外部存储器的选择,对于C55x 和C6000系列:
TI的DSP中只有 C55x和C6000可以与同步的存储器相连,同步存储器可以保证系统的数据交换效率更高。
ROM:
AM29LV400-55(SST39VF400):
256K×16,55ns,3.3V。
SDRAM:
HY57V651620BTC-10S:
64M,10ns。
SBSRAM:
CY7C1329-133AC,64k×32;CY7C1339-133AC,128k×32。
FIFO:
CY7C42x5V-10ASC,32k/64k×18。
DA:
32bit;两个32位数据地址通路,来自于两个功能单元.D的数据地址。
LD、ST:
32bit;
两个32位通路可把数据从存储器读到寄存器(A:
LD1,B:
LD2)或把数据从寄存器存储到存储器(A:
ST1,B:
ST2)。
ST1、ST2与功能单元.L和.S的长型数据读通路共享。
图24存储器存取通路
3.8控制寄存器
控制寄存器缩写
控制寄存器名称
描述
AMR
寻址模式寄存器
指定是否使用线性或循环寻址,也包括循环寻址的尺寸
CSR
控制状态寄存器
包括全局中断使能位、高速缓冲存储器控制位和其它各种控制和状态位
IFR
中断标志寄存器
显示中断状态
ISR
中断设置寄存器
允许软件控制挂起的中断
ICR
中断清除寄存器
允许软件清除挂起的中断
IER
中断使能寄存器
允许使能/禁止个别中断
ISTP
中断服务表指针
指向中断服务表的开始
IRP
中断返回指针
保存从可屏蔽中断返回时的地址
NRP
不可屏蔽中断返回指针
保存从不可屏蔽中断返回时的地址
PCE1
程序计数器
保存包含在E1流水线阶段执行的取指包地址
表2控制寄存器
图25控制寄存器的访问
访问控制寄存器使用:
MVC指令,MVC指令仅使用.S2功能单元。
3.8.1寻址模式寄存器(AMR)
图26寻址模式寄存器
有8个寄存器可执行线性和寻址循环寻址,A4-A7,B4-B7
寻址模式如下表:
模式(Mode)
描述
00
线性寻址(复位缺省)
01
循环寻址,使用BKO字段
10
循环寻址,使用BK1字段
11
保留
表3寻址模式
3.8.2控制状态寄存器(CSR)
图27控制状态寄存器
控制状态寄存器描述如下表:
位置
宽度
字段名
功能
31-24
8
CPUID
CPUID(识别号),定义哪个CPU
23-16
8
REVID
修订版号
15-10
6
PWRD
控制低功耗模式,该值读时总为零
9
1
SAT
饱和位,当功能单元执行一个饱和位时被设置,饱和位只能靠MVC指令清除和一个功能单元设置。
当清除和设置在同一周期内同时发生时,由功能单元的设置优先于MVC指令的清除。
饱和位在饱和发生后一个周期被设置
8
1
EN
端位:
1=小端位0=大端位
7-5
3
PCC
程序高速缓冲存储控制模式
4-2
3
DCC
数据高速缓冲存储控制模式
1
1
PGIE
前GIE(全局中断使能),当一个中断发生时,保存GIE
0
1
GIE
全局中断允许,允许
(1)和禁止(0)除复位和不可屏蔽中断之外的所有中断。
表4控制状态寄存器
3.9E1节拍程序计数器(PCE1)
图28PCE1
保存在流水线中处于E1节拍的执行包的32位地址
3.10指令集概述
操作码映射(.L/.M):
图29操作码映射(.L/.M)
操作码映射(.D):
图30操作码映射(.D)
操作码映射(NOP):
图31操作码映射(NOP)
并行操作:
取指包中的每条指令的执行部分由并行执行位p位控制,P位决定本条指令是否与取指包中的其他指令并行执行。
CPU对p位从左至右(从低地址到高地址)进行扫描;如果指令i的p位是1,则第i+1指令与第i条指令在同一周期内执行,否则指令i的p位是0,则第i+1指令在第i条指令的下一周期执行。
执行包的最后一条指令的p位设为0。
一个取指包的八条指令的执行顺序有几种形式:
完全串行;完全并行;部分串行。
图32取指包中的每条指令的执行
取指包
图33取指包
取指包的基本格式:
(1)取指包:
八条32bit指令
(2)执行包:
并行执行的所有指令。
执行包中的每一条指令使用的功能单元必须各不相同。
每条指令的并行执行位(p位)控制本条指令是否与取指包中的其他指令并行执行:
p=1与下条指令并行,p=0下条指令在当前指令的下个周期执行。
C62xx所有指令仅需要1个周期执行,但有些指令的结果被延迟。
表5
指令集按操作类型分类:
算术指令、逻辑指令、存取指令,程序控制指令,位操作,其他指令(nop空指令)。
如下图:
图34指令集按操作类型分类
按功能单元分类:
.S单元,.L单元,.M单元,.D单元,其他。
图35指令集按功能单元分类
按执行周期分类:
单周期指令,多周期指令,存取指令(load:
5;Store:
3),跳转指令,其他。
如下图:
图36指令集按执行周期分类
3.11C62xx内部数据总线
图37内部数据总线
C6201/C6202有两种映射方式:
map0和map1。
map1:
片内程序存储器位于0地址。
map0:
片外存储器位于0地址。
C6211仅有一种映射方式。
映射方式通过管脚设置:
C6201:
BOOTMODE[4:
0]。
C6202:
扩展数据总线XD[4:
0]
C6201/C6202存储器映射如下图:
图38C6201/C6202存储器映射
C6201/C6202存储器映射(map0)如下图:
图39C6201/C6202存储器映射(map0)
C6211存储器映射如下图:
图40C6211存储器映射
3.12C62xx外设
如下图:
图41C62xx外设
EMIF:
访问4M/16M/32M块,EPROM、SRAM、SDRAM、SBSRAM。
DMA:
4个通道,后台操作。
BOOT:
管脚设置引导方式,DMA完成,对片外存储器4M空间引导。
SP:
高速同步串行通信,T1/E1/MVIP接口
HPIF:
16bit访问片内数据RAM
Timer/PwrDown:
定时器,功耗模式。
4.1DSP技术展望
1、系统级集成DSP是潮流
缩小DSP芯片尺寸始终是DSP的技术发展方向。
当前的DSP多数基于RISC(精简指令集计算)结构,这种结构的优点是尺寸小、功耗低、性能高。
各DSP厂商纷纷采用新工艺,改进DSP芯核,并将几个DSP芯核、MPU芯核、专用处理单元、外围电路单元、存储单元统统集成在一个芯片上,成为DSP系统级集成电路。
TI公司的TMS320C80代表当今DSP领域中的最高水平,它在一块芯片上集成了4个DSP、1个RISC处理器、1个传输控制器、2个视频控制器。
这样的芯片通常称之为MVP(多媒体视频处理器)。
它可支持各种图像规格和各种算法,功能相当强。
2、可编程DSP是主导产品
可编程DSP给生产厂商提供了很大的灵活性。
生产厂商可在同一个DSP平台上开发出各种不同型号的系列产品,以满足不同用户的需求。
同时,可编程DSP也为广大用户提供了易于升级的良好途径。
人们已经发现,许多微控制器能做的事情,使用可编程DSP将做得更好更便宜。
例如冰箱、洗衣机,这些原来装有微控制器的家电如今已换成可编程DSP来进行大功率电机控制。
据统计,去年的可编程DSP销售额占了整个DSP市场的40%份额,预计今后的比重将逐年增大,到2001年可望占据整个DSP销售额的半边江山。
3、追求更高的运算速度
目前一般的DSP运算速度为100MIPS,即每秒钟可运算1亿条指令。
但仍嫌不够快。
由于电子设备的个人化和客户化趋势,DSP必须追求更高更快的运算速度,才能跟上电子设备的更新步伐。
DSP运算速度的提高,主要依靠新工艺改进芯片结构。
目前,TI的TM320C6X芯片由于采用VLIW(Very Long Instruction Word超长指令字)结构设计,其处理速度已高达2000MIPS,计划今年年中批量生产,这是迄今为止的最高速度。
当前DSP器件大都采用0.5μm--0.35μmCMOS工艺,按照CMOS的发展趋势,DSP的运算速度再提高100倍(达到1600GIPS)是完全有可能的。
4、定点DSP是主流
从理论上讲,虽然浮点DSP的动态范围比定点DSP大,且更适合于DSP的应用场合,但定点运算的DSP器件的成本较低,对存储器的要求也较低,而且耗电较省。
因此,定点运算的可编程DSP器件仍是市场上的主流产品。
据统计,目前销售的DSP器件中的80%以上属于16位定点可编程DSP器件,预计今后的比重将逐渐增大。