云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > [最新版]基于DSP5416的语音信号采集与保密传输的实现毕业设计 - 图文

[最新版]基于DSP5416的语音信号采集与保密传输的实现毕业设计 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 8:18:47

2.2.1 总线结构

VC5416 DSP的总线是由8条16位总线(4条程序/数据总线和4条地址总线)构成的。后期的C5416 DSP地址总线的位数会有所增加。

(1)程序总线PB:传送来自程序存储器的指令和立即数。

(2)数据总线CB、DB、EB:连接各个功能单元,如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器。CB、DB传送来自数据存储器被读取的立即数,EB传送被写到存储器中的数据。

(3)地址总线PAB、CAB、DAB、EAB传送执行指令所需要的地址。

VC5416 DSP能利用两个辅助算术(ARAU0、ARAU1)在每个周期内产生两个数据存储器地址。PB总线能把程序空间的操作数(如系数表)传送到乘法/累加器进行乘法/累加操作,或者通过数据转移指令(MVPD、READA)传送到数据空间。包括双操作数读的PB总线可以在一个周期内完成3个指令,如FIRS指令。

VC5416 DSP还有一条访问片内外设的在片双向总线。这个总线通过CPU接口中的交换器连接到DB和EB。由外部设备的结构决定,利用这个总线进行读/写需要两个或更多的周期。 2.2.2 中央处理单元

VC5416 DSP的运算核心就在CPU中,主要包含以下几部分。 (1)40位算术逻辑单元ALU

40位算术逻辑单元ALU(Arithmetic Logic Unit)配合累加器A和B,执行算术运算、逻辑运算、布尔运算等功能,绝大多数算术逻辑运算都在一个指令周期内完成。运算的结果一般被送到累加器A或B中(存储操作指令ADDM、ANDM、ORM、XORM除外)。

(2)40位累加器A和B

累加器(Accumulater)A和B都可以配置成乘法器/加法器或ALU的目的寄存器。在执行MIN和MAX指令或者并行指令LD‖MAC时,一个累加器执行数据加载,另一个累加器执行运算。

累加器A和B存储来自ALU或乘法/加法单元的输出;同时,它们也可以为ALU提供另一个输入;累加器A还可以为乘法器/加法器单元提供输入。每个累加器可以分为保护位(位39~位32)、高位字(位31~位16)和低位字(位15~位0)。

保护位用来放置计算时的数据位余量,以防止如自相关那样的迭代运算的溢出。保护位的寄存器是存储器映射寄存器,可用PSHM或POPM指令把这些寄存器压入或弹出堆栈来保护或恢复一些内容。这些寄存器还在其他指令使用存储器映射寄存器MMR对0页数据存储器寻址时被使用。累加器A和B的区别主要在于A的31~16位可以作为乘法器的一个输入。还有一个需要注意的是,有些针对累加器的指令是区分累加器A和B的,比如WRITA、READA指令。 (3)桶形移位寄存器,支持-16~31移动范围 桶形移位寄存器是用来定标数据的,所以又叫定标移位器。桶形移位寄存器的40位的输入来自累加器或数据存储器(通过DB或CB),40位的输出则通过EB传至ALU或数据存储器。桶形移位寄存器可以对输入的数据进行0到31位的左移和0到16位的

右移,具体移位数由指令中的移位字段、状态寄存器STI中的移位数字段ASM或暂存寄存器T来提供。

桶形移位寄存器和指数编码器可以在单周期内对累加器中的数进行归一化操作。输出的低位用零填充,高位则要看状态寄存器STI中的符号扩展模式位SXM,来决定是用零填充还是进行符号扩展。另外,桶形移位寄存器还有一些功能可以使理器执行数字定标、位提取、扩展算术运算和防溢出操作等。 (4)乘法/累加器

VC5416 DSP的乘法/累加器单元包含一个17x17的硬件乘法器,一个40位的加法器,有符号输入/无符号输入控制逻辑,小数控制逻辑,一个零检测器,一个圆整器,溢出/饱和逻辑和一个16位的暂存寄存器T。乘法器有两个输入:一个输入来自暂存寄存器T,或一个数据存储器操作数,或者是累加器A:另一个输入来自程序存储器,或数据存储器,或累加器A,或者是一个立即数。

这个乘法器可以使得VC5416 DSP器件进行高效的卷积、相关和滤波操作等。此外,乘法器还可以和ALU一起在单个指令周期内执行乘法/累加(MAC)计算,而对ALU的操作是并行的。

乘法/累加器中的加法器包含一个零检测器(Zero Detector),一个舍入器(二进制补码)和溢出/饱和逻辑电路。舍入器加215到结果中,而后清除目的累加器的低16位。在一些操作中,如乘法、乘法/累加(MAC)、乘法/减法(MAS)等指令中若包含后缀R,会执行舍入处理。LMS指令也会进行舍入处理,并最小化更新系数的量化误差。

(5)比较、选择和存储单元CSSU

比较、选择和存储单元CSSU( Compare、Select and Store Unit)是专门用于维特比(Viterbi)算法进行加/比较/选择运算的硬件单元。比较、选择和存储单元可以对累加器的高位字和低位字进行比较,使状态寄存器STO中的测试/控制标志位(TC)和转换寄存器TRN保持转换记录状态,并将累加器中的最大的数传送至数据存储器。当选择了合适的片内硬件后,CSSU还可以加速维特比(Vterbi)蝶形运算。 (6)指数编码器

指数编码器是一个在单周期内完成EXP指令的专用硬件,其功能结构如图2-4所示。该指令获得累加器中的指数值并以二进制补码的形式(-8~31)把它存储到T中。为消除多余符号位而将累加器中的数值左移,其左移的位数和累加器指数值冗余符号位-8有关,当累加器的值超过32位时,这个结果为负数。EXP、NORM指令还可以利用指数编码器高效地对累加器内容归一化。

来自累加器 A来自累加器 B指数编码器(EXP encoder)6

到T寄存器

图2-4 指数编码器的功能结构图

(7)CPU状态和控制寄存器

VC5416 DSP共有3个控制和状态寄存器,对CPU的控制是通过CPU状态和控制寄存器来完成的。分别为状态寄存器0(STO)、状态寄存器1(STI)和处理器模式状态寄存器(PMST)。

DSP不同条件和模式下的状态都包含STO和STI;PMST包含存储器设置状态和控制信息。由于这些寄存器是存储器映像,所以可以像对数据存储器操作那样对它们进行读出和写入。在调用子程序或中断服务子程序时,可以将它们保存下来,返回时再恢复。 2.2.3 内部存储器

VC5416 DSP具有总共192K×16bit的寻址空间。这些空间被分为3个特定的存储

段:64K×16bit的程序存储空间,64K×16bit的数据存储空间,64K×16bit的I/O空间。在任何一个空间内,RAM、ROM、EPROM、EEPROM或存储器映像外设既可以驻留在片内,也可以驻留在片外。

VC5416 DSP具有较大的程序存储空间,它的程序空间可达8M字节,主要是通过附加的7根地址线来实现分页访问的;可以通过修改DSP的XPC(程序指针扩展寄存器)来指定需要访问的程序存储空间的页。一共可以访问128页,每页64K×16bit。

程序存储空间包含待执行的指令和执行中需要使用的数据表格;数据存储空间包含程序指令所用到的数据;I/O空间主要用来接外围芯片,这些外围芯片和DSP一起完成特定的功能。可以在系统中给这些外围芯片分配不同的地址,然后DSP可以根据不同的地址来访问这些外设。当然,内部存储器不够用时,I/O空间还可以作为DSP的外部数据存储器来用。

VC5416 DSP其片内存储器的种类主要有以下几种:双访问RAM(DARAM)、单访问RAM(SARAM)和ROM。RAM(包括DARAM和SARAM)一般映射在数据空间,但也可以映射在程序空间;ROM映射在程序空间,但也可以部分地映射在数据空间。DARAM一般由若干块构成,由于每块DARAM在一个机器周期内可以被访问两次,中央处理单元和片内外设在一个周期内可以同时对其进行一次读和一次写操作。

根据需要,通过改变处理器状态标志寄存器(PMST)的三个位MP/MC、OVLY和DROM来灵活地改变存储器的配置。如,可以将ROM映射在程序存储空间或不映射在程序存储空间;将某段存储器映射在片内或片外;将RAM只映射在数据存储空间或既

映射在数据存储空间又映射在程序存储空间等等。对于不同型号的DSP来说,这几个位所起的作用不完全相同。

数据存储空间还有一块特殊的区域,从00H~80H。这块区域包含的是存储器映像寄存器,即DSP它包含的内容是DSP中所有的寄存器,可以通过读这块存储器来了解各个寄存器的值,或者通过写这块存储器来改变寄存器的值。所以必须注意的是,在编程时不要随便往这个区域存储数据,除非根据需要来改变相应寄存器的值,否则会导致程序运行的结果不正确。 2.2.4 片内外设与外部引脚

TMS320C54x DSP片内外设特指在芯片内部的独立功能单元。C54x DSP 系列的片内外设大同小异,如VC5416型号DSP的片内外设有以下几部分。 (1)软件可编程等待状态发生器

软件可编程等待状态发生器可以延长外部总线访问时间到14个机器周期。如果器件需要的总线延长时间超过14个机器周期,则可通过硬件外部接口的READY管脚来处理。当所有的外部访问被设置成0等待状态时,连接到等待状态发生器的时钟被自动禁止。禁止等待状态发生的时钟可减少功耗。

软件等待状态寄存器SWWSR控制软件等待状态发生器的运行。SWWSR的低14位指定器件访问外部存储器5个不同地址范围的插入等待时间。对于5个地址可以设置不同的等待时间。软件等待状态控制寄存器SWCR的软件等待乘法位SWSM控制等待时间的乘法因子1或者2。复位时,软件等待状态发生器被初始化,对所有外部存储器访问设置成7个等待时间。 (2)可编程分区转换逻辑

当访问过程跨越程序存储器或数据存储器存储体的边界时,可编程存储器组切换逻辑会自动插入一个周期;当在存储操作过程中,由程序存储器转向数据存储器时,也会插入一个周期。这个额外的周期通过在其他器件开始驱动总线前允许存储器释放总线来避免总线竞争。转换的存储体的大小由分区转换控制寄存器(BSCR)来确定。

(3)1个主机接口HPI

HPI是一个并行接口,它提供DSP和外部主处理器的接口。DSP和主处理器通过DSP的片内存储器交换信息,这块片内存储器既可以被DSP访问,也可以被主处理器访问。VC5416 DSP具有8位增强型的主机接口。 (4)3个多通道缓冲串行口McBSPs

C54x系列DSP都有串行口,C54x系列串行口分成4种:标准同步串行口SP、带缓冲的串行口BSP、时分复用串行口TDM、多通道缓冲串行口McBSP,不同型号的C54x DSP有不同的串行口。VC5416 DSP有3个McBSP。 (5)1个硬件定时器

硬件定时器是一个带4位预定标的16位定时电路。每过一个CLKOUT周期,定时器做减1操作。当计数减到O时,产生一个定时器中断。可以通过设置特定的位对定时器进行停止、重启、复位和禁止操作。 (6)带锁相环的时钟发生器PLL

VC5416 DSP时钟发生器由内部振荡器和锁相环电路构成,可通过晶振或外部时

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2.2.1 总线结构 VC5416 DSP的总线是由8条16位总线(4条程序/数据总线和4条地址总线)构成的。后期的C5416 DSP地址总线的位数会有所增加。 (1)程序总线PB:传送来自程序存储器的指令和立即数。 (2)数据总线CB、DB、EB:连接各个功能单元,如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器。CB、DB传送来自数据存储器被读取的立即数,EB传送被写到存储器中的数据。 (3)地址总线PAB、CAB、DAB、EAB传送执行指令所需要的地址。 VC5416 DSP能利用两个辅助算术(ARAU0、ARAU1)在每个周期内产生两个数据存储器地址。PB总线能把程序空间的操作数(如系数表)传送到乘法/累加器进行乘法/累加操作,或者通过数据转移指令(MVPD、RE

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com