第二章C5000DSP硬件结构_第1页
第二章C5000DSP硬件结构_第2页
第二章C5000DSP硬件结构_第3页
第二章C5000DSP硬件结构_第4页
第二章C5000DSP硬件结构_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章:‘C54XDSP硬件结构TMS320C54XX硬件结构特点★在这一章中,我们介绍:2026/7/292026/7/29移动电话芯片组的结构模式为"DSP+CPU+多频(GSM和CDMA等)RF前端2026/7/29在欧洲的GSM制式的数字移动电话手机中,其基带处理采用了以DSP为核心的CDSP专用芯片(包括DSP和模拟处理)。国内的研发者也用C54芯片完成了语音编解码和信道编解码的功能,并把它们用于CDMA(IS-95)制式中。DSP在数字移动通信中的应用,主要是进行数字基带信号处理,

包括:

1.信源编码和解码(语音编解码)

2.信道编解码:卷积编码、块交织、维特比译码等

3.调制解调:QDPSK,GMSK,BPSK/QPSK等

4.其它:均衡、误差校正、加解密、校验等。

2026/7/292.1’C54xDSP的主要特点采用修正哈佛结构,片内共有8条总线;高度并行和带有专用硬件逻辑硬件设计;高度专业化的指令系统;模块化结构设计;先进的IC工艺;功耗低、抗核辐射能力的静电设计方法。2026/7/29一.TMS32OC54X的主要特性CPU多总线结构(1条程序总线、3条数据总线和4条地址总线)40位ALU,包括一个40位桶形移位寄存器和2个独立的40位累加器;17×17位的并行乘法器比较、选择、存储单元(CSSU)指数编码器双地址生成器2026/7/29片内外设(片内外围电路)

On-ChipPeripherals

片内外设是集成在芯片内部的与外部设备进行信息交换的功能模块,一般包含I/O,A/D,串行通信等功能模块软件可编程等待状态发生器可编程分区转换逻辑电路时钟发生器全双工串口、时分多路串口、缓冲串口8位并行接口(HPI)总线保持器、外部总线关断控制2026/7/29TMS320C542功能框图2026/7/29TMS320C54X的内部硬件组成框图2026/7/29各种读/写访问总线使用一览表2026/7/292.2中央处理单元对所用的C54X器件,中央处理单元(CPU)是通用的。基本组成如下:40位的算术逻辑单元(ALU)2个40位的累加器移位-16~30位的桶形移位器比较、选择和存储单元(CSSU)指数编码器CPU状态和控制寄存器2026/7/291.‘C54x的算术逻辑单元(ALU):

‘C54x/’LC54x使用40-bit的算术逻辑单元(ALU)和两个40-bit的累加器(ACCA和ACCB)来完成二进制补码的算术运算。同时ALU也能完成布尔运算。ALU可使用以下输入:16-bit的立即即数从数据存储器读出的16-bit字暂存器T中的16-bit值从数据存储器读出的两个16-bit字从数据存储器读出的一个32-bit字从其中一个累加器输出的40-bit值ALU能起两个16-bitALUs的作用,且在状态寄存器ST1中的C16位置1时,可同时完成两个16-bit运算2026/7/29ALU框图:2026/7/292.累加器:累加器ACCA和ACCB存放从ALU或乘法器/加法器单元输出的数据,累加器也能输出到ALU或乘法器/加法器中。执行MIN和MAX指令或并行指令LD||MAC时,一个累加器加载数据,另一个完成运算保护位作为计算时的头区(Headmargin),用作数据位余量,以防止自相关等迭代运算时溢出A和B不同之处:A的高16位可作为乘/加单元的一个输入2026/7/293.桶形移位器40位的桶形移位器是对一些操作进行定标和标准化‘C54x的桶形移位器有一个与累加器或数据存储器(CB,DB)相连接的40-bit输入,和一个与ALU或数据存储器(EB)相连接的40-bit输出。桶形移位器能把输入的数据进行0到31bits的左移和0到16bits的右移。所移的位数由ST1中的移位数域(ASM)或被指定作为移位数寄存器的暂存器(TREG)决定。2026/7/293.桶形移位器2026/7/294.辅助寄存器算术单元

‘C54x通过使用两个辅助寄存器算术单元(ARAU0和ARAU1),每周期能产生两个数据存储器地址。PB总线能把存储在程序空间的数据操作数(如系数表)传送到乘法器和加法器中进行乘/累加运算,或者在数据移动指令(MVPD和READA)中传送到数据空间。这种能力再加上双操作数读的特性,支持单周期3操作数指令的执行,如FIRS指令。‘C54x还有一组寻址片内外设的片内双向总线,通过CPU接口中的总线交换器与DB和EB相连接。对这组总线的访问,需要两个或更多的机器周期来进行读和写,具体所需周期数由片内外设的结构决定。2026/7/29辅助寄存器算术单元2026/7/295.乘法器/加法器单元乘法器/加法器与一个40-bit的累加器在一个单指令周期里完成17x17-bit的二进制补码运算。乘法器/加法器单元由以下部分组成:乘法器,加法器,带符号/无符号输入控制,小数控制,零检测器,舍入器(二进制补码),溢出/饱和逻辑和暂存器(TREG)。乘法器有两个输入:一个是从TREG,数据存储器操作数,或一个累加器中选择;另一个则从程序存储器,数据存储器,一个累加器或立即数中选择。另外,乘法器和ALU在一个指令周期里共同执行乘/累加(MAC)运算且并行ALU运算。这个功能可用来确定欧几里德距离,以及完成复杂的DSP算法所需要的LMS滤波2026/7/29乘法器/加法器单元2026/7/29比较、选择和存储单元(CSSU)完成累加器的高位字和低位字之间的最大值比较,即选择累加器中较大的字并存储在数据存储器中,不改变状态寄存器ST0中的测试/控制位和传送寄存器(TRN)的值。同时,CSSU利用优化的片内硬件促进Viterbi型蝶形运算。6.比较,选择和存储单元(CSSU)2026/7/297.指数编码器

指数编码器用于支持单周期指令EXP的专用硬件。在EXP指令中累加器中的指数值能以二进制补码的形式存储在T寄存器中,范围为bit-8至31。指数值定义为前面的冗余位数减8的差值,即累加器中为消除非有效符号位所需移动的位数。当累加器中的值超过了32bits,该操作将产生负值。2026/7/298.CPU状态和控制寄存器‘C54x有三个状态和控制寄存器,它们分别为:状态寄存器ST0,状态寄存器ST1和处理器方式状态寄存器PMST。ST0和ST1包括了各种条件和方式的状态,PMST包括了存储器配置状态和控制信息。

ST0ST1PMST2026/7/29C54X主要围绕8组16-bit总线而建立的:程序总线(PB)传送从程序存储器来的指令代码和立即数。三组数据总线(CB,DB和EB)连接各种元器件,如CPU、数据地址产生逻辑、程序地址产生逻辑,片内外设和数据存储器。CB和DB总线传送从数据存储器读出的操作数。EB总线传送写入到存储器中的数据。四组数据总线(PAB,CAB,DAB和EAB)传送执行指令所需要的地址。

2.3‘C54x的总线结构2026/7/292.3‘C54x的总线结构C54X的总线结构为指令并行执行提供硬件支持。利用ARAUO和ARAU1(辅助寄存器算术单元)在单周期内最多产生两个数据存储器地址,同时读取两个操作数。PB能把存储在程序空间的数据操作数,传送到乘/加单元进行乘/加操作,或通过数据传送指令(MVPD和READA)传送到数据空间的目的地。使得C54X器件可支持三操作数指令的执行(FIR)C54X还有一条访问片内外设的总线。该总线通过CPU接口的总线变换器连接到DB和EB,使用该总线读和写需要2个和多个周期。2026/7/292.4存储器空间:‘C54x存储器由三个独立的可选择空间组成:程序,数据和I/O空间。192K×16bit的存储空间64K字的程序存储空间、64K字的数据存储空间、64K字的I/O空间所有的’C54x片内都包括随机访问存储器(RAM)和只读存储器(ROM)。RAM又分两种:双访问RAM(DARAM)和单访问RAM(SARAM)。2026/7/29存储器分配:上表列出了各种C54X片内各种存储器的容量与片外存储器相比,片内存储器具有不需插入等待状态、成本和功耗低等优点。2026/7/291.片内RAM片内ROM一般是映射到程序存储空间的一部分,某些情况下,也可以同时映射到数据存储器空间的一部分。较小时(2K)的器件,通常包含一个引导装入程序,可以对更快的RAM或片外RAM进行引导。较大的ROM,称为定制ROM,可对其编程,将用户的目标文件写入ROM中2026/7/292.片内双重RAM(DARAM)片内DARAM是通过分快来进行组织的。在每个机器周期内可以被访问两次,因此CPU在每个机器周期内可以对同一DARAM块进行读和写。一般总是映射到数据空间,主要用来存储数据。有时也可以映射到程序空间,用来存储程序编码。C54X的并行结构和片内RAM的双寻址能力,使它能够在一个给定的周期内同时执行4次存储器操作:1次取指、读两个操作数和写一个操作数。2026/7/293.片内单次访问RAM(SARAM)片内SARAM通过分快来进行组织的,每一块在单周期内只能进行一次访问。一般映射到数据空间,主要用来存储数据。也可以映射程序空间,存储程序编码。2026/7/294.存储器空间程序存储器空间主要存放要执行的指令和执行中所用的系数表。数据存储器存放指令执行时所要用到的数据。I/O存储空间主要与存储器映象外围设备相接口,也可作为附加的数据存储空间使用2026/7/292.5程序存储器C54X器件外部可访问存储器为64K字当片内存储器映射到程序空间是,只要访问地址在它们范围之内,器件可以自动访问片内存储器。当程序地址产生单元生成的地址超出了片内存储器的范围,器件自动产生一个外部访问。PMST寄存器中MP/C位和OVLY位决定了那些存储器在程序空间内有效。为了增强处理器的性能,对片内ROM在细分若干块,可以在片内ROM的一个块内取指的同时,有在别的块中读取数据。2026/7/29MemoryMapsforthe’5422026/7/29片内ROM程序程序器图(高2K地址)自举加载程序;256字μ律压扩表256字A律压扩表256字正弦函数值查找表中断向量表2026/7/29C54X器件ROM的分快组织方式2026/7/292.6数据存储器数据存储器的容量为64K字。除了DARAM和SARAM可映射到数据空间以外,片内ROM页可以通过设置PMST寄存器中的DROM位将部分ROM映射到数据空间当片内存储器映射到数据空间时,只要访问地址在它们范围之内,器件可以自动访问片内存储器。当数据地址产生逻辑(DAGEN)单元生成的地址超出了片内存储器的范围,器件自动产生一个外部访问。2026/7/292.7数据存储器对数据ROM的单操作寻址,包括32位长字操作数寻址,单个周期就可以完成。若双操作数寻址时,如果操作数驻留在同一块内,则需要2个周期;若在不同块内,则需1个周期。为提高处理器性能,片内RAM也细分成若干快。可在同一个周期内从同一块DARAM中取出两个操作数,并将操作数写入另一块DARAM中。数据存储器64K数据空间可以通过16位的物理地址进行访问(例如:间接寻址方式),也可以按页进行访问。(直接寻址方式)。2026/7/29片内RAM分块图2026/7/29分页管理数据存储空间64K数据存储空间分成512个数据页(占用9位高地址),每个数据页有128个字(占用7位低地址),状态寄存器ST0中的9位数据页指针DP的值确定当前使用那个数据页。当前数据页中的每一个字则由7位偏移量来指定(含在指令中)。在采用直接寻址方式访问数据存储器时,不但要指定数据页(确定DP的值),还要指定偏移量(由指令确定)。为了加快数据的访问速度,最好把同类的数据放在同一数据页中。2026/7/29分页管理数据存储器2026/7/29

存储器映射寄存器C54X有26个CPU寄存器,片内外设寄存器映射到数据存储器空间,这些存储器驻留在数据0页(数据地址0000h-007Fh)存储器映射的访问方式可以简化对它们的访问,便于上下文转换时存取寄存器,便于在累加器和其它寄存器中传送信息。CPU寄存器:26个,访问时不需等待状态。外设寄存器:用于外围电路的控制和存放数据,寻址需至少需两个周期(0020h-005Fh)便笺式RAM:包括32字DARAM,用于各种存储。均映射到DARAM前1K数据存储器。2026/7/29CPU中存储器映射寄存器2026/7/292026/7/292.8I/O存储空间I/O端口和存储器一样,都可以看作数据源,从逻辑上讲,二者没有本质的差异。I/O空间有64K的寻址范围,且只存在于片外。由于C54X器件外部只有一组地址总线和数据总线,因此片外3个存储空间的访问是通过存储器选择信号PS,DS和IS进行的。I/O空间的访问可通过PORTR和PORTW指令进行。2026/7/292.9CPU寄存器的简单总结1.中断寄存器(IMR,IFR):中断屏蔽寄存器在需要时可以屏蔽掉某些中断中断标志寄存器指出当前中断的状态2.状态寄存器(ST0,ST1):ST0和ST1包含C54X器件各种条件和模式的状态。ST0包括算术操作和位操作产生的各种标志(OVA,OVB,C和TC).ST0还包括DP和ARP字段,ST1反映处理器运行的模式和指令状态。见书P27页2026/7/29CPU寄存器的简单总结3累加器(A,B):两个40位的累加器,每个累加器都是存储器映射方式,分成累加器低位,累加器高位和累加器保护位。4暂存器(T):暂存器有许多用处:乘法指令和乘/累加指令的一个操作数带有移位操作指令的动态移位值BITT的一个动态位地址DADST和DSADT指令中用的转移尺度。用于Viterbi算法ACS操作EXP指令算出的指数值NORM指令使用T完成数据归一化工作2026/7/29CPU寄存器的简单总结5状态转移寄存器(TRN):TRN用在Viterbi解码算法中记录转移路径。6辅助寄存器(AR0-AR7):8个16位的辅助寄存器可以被CPU访问,可以用(ARAU)进行修改。辅助寄存器的主要功能时产生数据空间的16位地址(间接寻址)可以作为通用寄存器或计数器。7堆栈指针寄存器(SP):存有系统堆栈栈顶地址。SP总是指向最后一个压入堆栈的元素。在中断、调用、返回中要使用堆栈2026/7/29CPU寄存器的简单总结8循环缓冲器大小寄存器(BK):在循环寻址中,ARAU利用16位循环缓冲器大小寄存器来之名数据块的大小9块重复寄存器(BRC,RSA和REA):当一个代码端要重复执行时,用16位的块重复寄存器(BRC)来指明代码段重复的次数块重复地址开始寄存器(RSA)存放要重复执行的程序程序器的首地址块重复地址结束寄存器(REA)存放末地址2026/7/29CPU寄存器的简单总结10处理器模式状态寄存器(PMST):控制C54X的存储器配置情况,它的内部存放存储器建立始的状态和控制信息。11程序计数器扩张寄存器(XPC):2026/7/29两个通用I/O引脚,/BIO和XF。软件可编程等待状态发生器。可编程块切换开关模块。硬件定时器;时钟发生器6.主机接口(HPI):

8bit标准型主机接口8bit增强型主机接口16bit增强型主机接口串口:(同步、缓冲McBSP和时分多路(TDM)

外部总线接口。IEEE1149.1标准扫描逻辑。2.10片内外设:2026/7/291.通用I/O接口引脚每种C54X器件都有两个通用I/O引脚:分支转移控制输入引脚BIO外部标志输入引脚XFBIO用来监控外围电路和外部器件的状态在时间要求苛刻的循环中,实时处理不能被打断时,可以用BIO信号代替中断根据该引脚状态来决定是否执行条件转移XF是一个软件控制的输出引脚可用来对外部器件发信号。通过对ST1中XF字段置位或清零,使XF引脚输出高电位或低电平XC2,BIOSSBXXFRSBXXF2026/7/292.软件可编程等待状态产生器软件可编程等待状态产生器是便于与慢速的片外存储器和I/O接口。可将外部总线周期延长到7个周期。由16位的软件等待状态寄存器(SWWSR)控制不需任何外部硬件SWWSR有5个3位字段对应则5个存储块。存储空间和数据空间都被分成2个32KB的存储块I/O空间为1个64KB的块5个块可分别在SWWSR中设置0-7个等待状态2026/7/293.可编程分区开关防止总线竞争,使得存储器在其它器件驱动之前,先释放掉总线。在程序存储器或数据存储器中,当访问越过存储器边界时,可编程块开关可以自动插入一个周期。从程序存储器到数据存储器时,也会插入一个周期块开关控制的存储块大小是由存储开关控制寄存器BSCR确定的2026/7/292.11定时器片内定时器是一个软件可编程定时器用于产生周期性中断和周期输出最大分辨能力为一个时钟周期部分芯片如5402、5420中有两个定时器,其它芯片中有一个。它的组成框图如图:2026/7/29定时器组成框图2026/7/29定时器主要有3个寄存器所组成:定时器寄存器(TIM):减1计数器定时器周期寄存器(PRD):存放时间常数定时器控制寄存器(TCR):包含定时器的控制位和状态位地址寄存器说明Timer0Timer10024h0030hTIMTimerRegister0025h0031hPRDTimerPeriod0026h0032hTCRTimerControl2026/7/29定时器中断周期为:定时器中断频率为:其中:CLKOUT为CPU时钟周期TDDR为定时器的分频系数PRD为定时器的时间常数2026/7/29TCR定时器控制寄存器15-1211109-6543-0保留SoftFreePSCTRBTSSTDDRSoft与Free共同决定在调试器中碰到断点时定时器如何工作SoftFree描述X1定时器不受影响00定时器立即停止工作11计数器减到0后停止工作2026/7/29定时器控制寄存器TRB为定时器复位,当向TRB写入1时,CPU将PRD装入TIM,将TDDR装入PSCTSS为定时器停止状态位,向TSS写入1停止定时器,向TSS写入0启动定时器2026/7/29定时器编程TSS=1,停止定时器设置PRD打开定时器中断设置TCR,包括TDDR,同时TSS=0,TRB=1,启动定时器2026/7/29装入程序代码-BOOTLOADERBOOTLOADER是一段芯片出厂时固化在ROM中的程序代码,其主要功能是将用户的程序代码从外部装入到片内RAM或扩展的RAM中,以便高速运行。BOOTLOADER一般支持多种程序传递方式,如并行EPROM,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论