TMS320C54x的硬件结构原理.ppt
《TMS320C54x的硬件结构原理.ppt》由会员分享,可在线阅读,更多相关《TMS320C54x的硬件结构原理.ppt(178页珍藏版)》请在三一办公上搜索。
1、第二章 TMS320C54x的结构原理,本章主要介绍TMS320C54X DSP的内部结构和工作原理,包括CPU结构、总线结构、存储体结构和外围设备等。重点:CPU和外设的寄存器设置,第二章 TMS320C54x的结构原理,本章内容:TMS320系列DSP概述C54x数字信号处理器总线结构存储空间中央处理器程序存储器地址生成方式,流水线外围电路串行口外部总线C54x引脚信号说明,1.TMS320系列DSP概述,TI市场地位:1.DSP产品全球第一2.模拟产品全球第一3.无线产品全球第一4.图形计算器全球第一5.硬盘产品全球第一,TMS320系列DSP的分类和用途,(1)TMS320C2000系
2、列 集成了flash存储器、高速A/D转换器以及可靠的CAN模块及数字马达控制的外围模块,适用于运动控制领域。(2)TMS320C5000系列 包括TMS320C5X/C54X/C55X 成本低,经济性好,主要用于个人电子类产品。(3)TMS320C6000系列 TMS320C62X/C67X,C64x,在时钟频率为1.1GHz时,每秒可执行90亿条指令,适合进行复杂运算处理。,(1)TMS320C2000系列,(包括:C20X,C24X,C28三大类)2000系列,又称为DSP控制器。在一片DSP芯片上集成了FLASH存储器、高速A/D转换器以及数字马达控制模块,所以2000系列特别适用于电
3、动机、变频器等一些高速实时工控产品的数字化控制。,TMS320C20X,20X是2000系列中早期的产品主要特点:处理能力强:指令周期最短为25ns,运算速度达到 40MIPSFlash存储器:是最早使用闪存的DSP芯片低功耗:在5v电压下工作,消耗电流为1.9mA/MIPS;在3.3v电压下工作,消耗电流为1.1mA/MIPS。,TMS320C24X,24X系列在20X的基础上,增加功能:增加16路10位A/D转换器多个通用定时器,和一个监视定时器(Watchdog)16个PWM(脉宽调制)输出通道比较单元、编码电路等,TMS320C28X,28X系列是目前数字控制领域中性能最好的DSP芯片
4、。与24X相比做了如下的改进:32位的数据总线(运算速度可达400MIPS)12位的A/D存储空间增大降低功耗(DSP核工作电压为1.8v;外设工作电压为3.3v),General Purpose Input Output,多通道缓冲串行口。是在标准串行接口的基础之上对功能进行扩展,因此,具有与标准串行接口相同的基本功。,SCI是用于多处理器之间的异步串行通信,SPI则是用于CPU与外设之间的同步串行通信,(2)TMS320C5000系列,(包括:C54X,C55X两大类)这两类芯片完全兼容,所不同的是C55X具有更高的性能和更低的功耗。,TMS320C55X,C55X DSP是一款低功耗、高
5、性能处理器,主要应用领域是3G手机、PDA、MP3、数码相机等手持便携式数字设备。它具有省电、实时性高的优点,同时外部接口丰富,能满足大多数嵌入式应用的要求,TMS320C55X主要特点,16位定点DSP,处理速度为600MIPS片上外设丰富:,实时时钟RTCMcBSP接口USB2.0接口MMC/SD接口I2C接口UART接口,TMS320C55X主要特点(续),大容量RAM(128K)和ROM(32K);功耗更低,1.26v的内核工作电压,3.3v外设工作电压;价格便宜,第一款低于5美元的双核DSP;采用新型生产工艺,芯片体积小。,(3)TMS320C6000系列,(主要包括C62X,C64
6、X,C67X三类)该系列DSP采用了与上述系列DSP不同的内部 结构设计,使得DSP能够获得极高的运行速度:指令周期最小为3.3ns,运算能力为2400MIPS。,(4)TMS320C5000+ARM7,DSP芯片单独支持音视频编解码处理,优势在于编解码能力强,支持的媒体类型非常丰富,提供多种最流行的录制压缩及播放格式,包括MPEG-4、MPEG-1、MPEG-2、DivX、WMV WMA V9、QuickTime 6、H.264、AAC-LC、MP3等等。而ARM处理器负责系统处理及提供外围设备接口。这样设计的好处是,可选择输入设备较多,后期升级潜力大。,DSP+ARM RISC多应用于多媒
7、体设备,TI DSP命名方式,DSP常见封装形式,DIP(Double In-Line Package)-双列直插式封装。,DSP常见封装形式(续),PGA(Pin Grid Array Package)-插针网格阵列封装。芯片封装形式在芯片的内外有多个方阵形的插针,每个方阵形插针沿芯片的四周间隔一定距离排列。,DSP常见封装形式(续),QFP(Quad Flat Package)-扁平式封装的芯片引脚之间距离很小,管脚很细,一般大规模或超大型集成电路都采用这种封装形式。,2.TMS320C54x数字信号处理器,C54x数字信号处理器是TI公司1996年推出的 新一代定点数字信号处理器。它采用
8、先进的修 正哈佛结构,片内共有8条总线(1条程序总线、3条数据总线和4条地址总线),高度并行的算 术逻辑单元ALU,专用硬件逻辑,片内存储 器,片内外设,再加上专用的指令系统,使 C54x芯片速度更高,操作更灵活,非常适用于 远程通信等实时嵌入式应用的需要。,C54x的硬件结构框图,C54xDSP特点,改进的哈佛结构和8总线结构:使处理器的性能大大提高,实现高度并行操作。例如:可以在一条指令中,同时执行2次读操作和1次写操作。,C54xDSP特点(续),独立的DMA总线和控制器:独立的DMA总线,与CPU的程序、数据总线并行工作,在不影响CPU工作的条件下,DMA速度目前已达800Mbyte/
9、s,C54xDSP特点(续),数据地址发生器(DAG):在通用CPU中,数据地址的产生和数据的处理都由ALU来完成在DSP中,设置了专门的数据地址发生器(实际上是专门的ALU),来产生所需要的数据地址,节省公共ALU的时间,C54xDSP特点(续),PLL(phase-locked loop)锁相环定时器(Timer)软件可编程等待状态发生器JTAG(符合IEEE1149.1标准)仿真接口,电气电子工程师协会(InstituteofElectricalandElectronicsEngineers),3.总线结构,TMS320C54x DSP采用该进的哈佛结构:具有八组总线;其中独立的程序总线
10、和数据总线允许同时读取指令和操作数,实现高度的并行操作。采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内进行两次读操作数和一次写操作数。,3.总线结构,八组16-bit总线:程序总线(PB)传送从程序存储器来的指令代码和立即数。三组数据总线(CB,DB和EB)连接各种元器件,如CPU、数据地址产生逻辑、程序地址产生逻辑,片内外设和数据存储器。CB和DB总线传送从数据存储器读出的操作数。EB总线传送写入到存储器中的数据。四组地址总线(PAB,CAB,DAB和EAB)传送执行指令和读写数据所需要的地址。,3.总线结构,C54X利用数据地址发生器可在每个周期产生两个数据的存
11、储地址。PB总线可将程序空间的操作数据送至乘法器加法器,以进行乘法累加操作;或送至数据空间的目的地址以执行数据移动指令。这一特性与一个机器周期可实现寻址两次的存储器双操作存储器(DARAM)相结合,支持单周期、3操作数指令的执行。,各种读/写方式用到的总线,4.存储器与存储空间,C54x存储空间为192k,由3个独立的可选择空间组成:程序存储空间(64k)、数据存储空间(64k)和I/O空间(64k)。C54x的存储空间可以在片内也可以在片外,在片内可由片内存储器提供;片外由扩展存储器提供。片内存储器形式分为两类:ROM和RAM。片内RAM也分为两类:单寻址RAM(SARAM)、双寻址RAM(
12、DARAM),片内存储器介绍,(1)片内ROMC54x系列DSP按照款式不同,片内ROM大小也不同:对于较小的ROM(2k)一般只在ROM里面存放一个引导程序,用来将程序引导至片内或片外的快速RAM中。对于较大的ROM,既可以把ROM安排为程序存储空间,又可以安排为数据存储空间。,片内存储器介绍(续),(2)片内RAM(SARAM,DARAM)SARAM(single access RAM)单操作RAM,由若干块组成,每个块在一个机器周期只能被访问一次(读/写),常被安排为数据存储空间,也能被安排为程序存储空间。DARAM(double access RAM)双操作RAM,由若干块组成,每个块
13、在一个机器周期可以被访问两次读或者写操作。常被安排为数据存储空间,也能被安排为程序存储空间。,片内ROM空间分配,片内ROM既可以作为程序存储空间又可以作为数据存储空间,但是在ROM的高2K字空间中,厂家事先固化了相关内容,对这部分空间用户不能随意存储其他内容。,片内ROM的分块操作,为了增强处理器的性能,可以对片内ROM进行分块,这样就能在片内ROM的一个块内取指的同时又能在另一个块内取数。根据不同DSP的片内ROM容量不同,片内ROM可以分为2k字、4k字或8k的块。,片内RAM的分块操作,片内RAM也可以分为若干块,分块后,用户可以在一个周期内从一个DARAM块中取出两个操作数,同时可在
14、另一个RAM块中存数。根据不同DSP的片内RAM容量不同,片内RAM可以分为1k字、2k字或8k的块。,程序存储空间和数据存储空间,程序存储空间:存放要执行的指令和执行指令时要用的系数表。数据存储空间:存放执行指令所要用的数据。通过“处理器工作方式状态寄存器”(PMST)来设定程序/数据存储空间的分配情况(片外、ROM和RAM),PMST和存储空间分配关系,PMST中相关位:MP/MC,OVLY,DROM,数据存储空间分页管理,数据空间的分页管理:所谓分页就是把64k字的存储空间分为512页(0页511页)每页128字空间在数据存储空间的第0页上(0000H007FH)固定存放的是存储器映射寄
15、存器和暂存器的内容,程序存储空间分页管理,如果程序存储空间只需要64k的空间,则不分页。如果需要扩展程序存储空间,则采用分页扩展的方法:比如C5402可以将程序存储空间扩展至1M(1024k)字,扩展后的程序存储空间被分为16页(0页15页),每页64k字的空间。,C5402分页扩展程序存储空间图(1),当OVLY=0时(RAM不安排作为程序存储空间),程序存储空间被分为16页,每页64k空间,按页号寻址。页号由“程序计数器扩展寄存器”XPC提供:XPC=0表示选中第0页,XPC=1表示选中第1页,C5402分页扩展程序存储空间图(2),当OVLY=1时(RAM安排作为程序存储空间)每页被分为
16、两部分:公共32k字(低32k字)和独立32k字(高32k字)。对于每页的公共32k字,全部映射到片内RAM中;对于独立32k字仍然按页寻址,页号由XPC指定。,C5402分页扩展程序存储空间图(3),当MP/MC=0时(片内ROM被安排作为程序存储空间)存储空间的第0页必须被安排在片内ROM中。XPC(程序计数器扩展寄存器)映射在数据存储空间的001E单元中,每次机器复位时,XPC都初始化为0。,存储器映射CPU寄存器,把CPU寄存器映射到存储空间的好处是:在对CPU寄存器寻址时不需要插入等待周期,直接在存储器内部就可以完成,提高了运行速度。存储器映射CPU寄存器的名称及地址见书P38表2-
17、6,存储器映射CPU寄存器功能简介(1),辅助寄存器(AR0AR7):8个16位的辅助寄存器可以由中心算术逻辑单元CALU访问,也可以由辅助寄存器算术单元ARUA修改,主要功能是产生16位的数据地址,也可以作为通用寄存器和计数器使用。T寄存器(TREG):主要用于存放乘法指令的一个乘数,也可以为移位指令存放移位计数,还可以存放指数运算指令EXP的指数值等。,存储器映射CPU寄存器功能简介(2),状态转移寄存器(TRN):在执行比较指令CMPS时,可以通过该寄存器位值的变化来判断比较结果。堆栈指针寄存器(SP):用于存放栈顶的16位地址。循环缓冲区长度寄存器(BK):用来在循环寻址时确定循环缓冲
18、区的大小。,存储器映射CPU寄存器功能简介(3),块循环寄存器(BRC,RSA,REA):在执行块循环指令时由BRC确定一块代码需要循环的次数;由RSA指定需要循环块的起始地址,由REA指定循环块的结束地址。中断寄存器(IMR,IFR):中断屏蔽寄存器IMR用于屏蔽指定的中断,中断状态寄存器IFR用来表示各个中断的当前状态。,存储器映射外围电路寄存器,外围电路寄存器用于对外围电路的控制和存放数据,对它们寻址需要两个机器周期。,I/O存储空间,除程序存储器空间和数据存储器空间外,C54x系列器件还提供了I/O存储空间(64k字),这个空间在DSP外部,里面存放的是外部设备的端口地址,访问I/O存
19、储空间就是通过I/O空间中存放的端口地址去访问对应的外设。有两条指令PORTR和PORTW可以对I/O存储器空间操作。,如:PORTR PA,SMEM;PA为端口地址,SMEM为内存地址 PORTW SMEM,PA;,5.中央处理单元(CPU),通用微处理器的CPU由ALU和CU组成,其算术运算和逻辑运算通过软件来实现,如加法需要10个机器周期,乘法是一系列的移位和加法,需要数十个机器周期。DSP的CPU设置硬件乘法器,可以在单周期内完成乘法和累加,CPU的基本组成,CPU状态和控制寄存器 40位算术逻辑单元(ALU)40位累加器A和B桶形移位寄存器乘法器/加法器单元比较、选择和存储单元(CS
20、SU)指数编码器,算术逻辑单元(ALU)和累加器,TMS320C54x使用40位算术逻辑单元(ALU)和两个40位累加器(ACCA和ACCB)来完成算术运算和逻辑运算,且大多数都是单周期指令。,ALU功能框图,16位数据的符号位扩展:(1)当ST1寄存器中的SXM=0时;高位全部添0(2)当ST1寄存器中的SXM=1,进行符号位扩展,正数全部添0;负数全部添1,溢出处理,由状态寄存器ST1中的OVM位值来判断是否使能饱和逻辑OVM=0,不启动溢出处理功能,ALU的实际结果直接送累加器OVM=1,启动溢出处理功能,此时根据溢出方向来确定送入累加器的数值:(1)正向溢出:将最大的正数007FFFF
21、FFF送累加器(2)负向溢出:将最大的负数FF80000000送累加器 出现溢出后,相应的溢出标志位OVA或OVB被置1,直到复位或在溢出状态下执行条件指令后,OVA或OVB才重新被置0,累加器A和B,累加器A和B被分成三段:AG、AH、AL(BG、BH、BL)可用堆栈指令将各部分进行进栈和出栈操作,以保存或恢复累加器数据累加器A的3116位可以作为乘法器的一个输入,累加器内容保存,用户可以使用STH、STL等指令将累加器中的内容放到数据存储器中保存,在存储前有时需要对累加器中的内容进行移位操作。右移:AG(BG)AH(BH)AL(BL)AG(BG)不变 左移:AH(BH)AL(BL)低位补0
22、,例如:累加器A=FF 4321 1234H,STH A,8,T;累加器A左移8位后,高位存 在存储单元T中,T=2112HSTH A,8,T;累加器A右移8位后,高位存 在存储单元T中,T=FF43HSTL A,8,T;累加器A左移8位后,低位存 在存储单元T中,T=3400HSTL A,8,T;累加器A右移8位后,低位存 在存储单元T中,T=2112H,移位,DSP可以在一个机器周期内左移或右移多个bit,可以用来对数字定标,使之放大或缩小,以保证精度和防止溢出;还可以用来作定点数和浮点数之间的转换例:ADD A,4,B;累加器A右移4位后加到累加器BADD A,ASM,B;累加器A按AS
23、M指定的位数移位 后加到累加器B,桶形移位寄存器,桶形移位寄存器的输入可以为:从DB获得的16位操作数;从DB和CB获得的32位操作数;从累加器A或B获得的40位操作数。桶形移位寄存器的输出连到ALU或经EB总线写入指定存储单元。,桶型移位器功能框图,乘法器/加法器单元,C54x CPU有一个17x17位的硬件乘法器,与40位的专用加法器相连,可以在单周期内完成一次乘法累加运算。乘法器的输出经小数/整数乘法(FRCT/INT)输入控制后加到加法器的一个输入端,加法器的另一个输入端来自累加器A或B。加法器还包括零检测器、舍入器(二进制补码)及溢出/饱和逻辑电路。,乘法器/加法器单元功能框图,(1
24、)有符号数乘法:对16位操作数的扩展符号位至17位(2)无符号数乘法:16位数前加0,变为17位(3)无符号数数与有符号数相乘:无符号数17位添0;有符号数17位扩展符号位,乘/加单元实现XiYi运算过程,比较、选择和存储单元功能框图,比较、选择和存储单元功能框图,例如,用CMPS指令对累加器A中AH和AL的内容进行比较,并将较大的数存放到指定单元CMPS A,*AR1;(AH)(AL),则(AH)*AR1,TRN左移1位,低位补0,TC置0(AH)(AL),则(AL)*AR1,TRN左移1位,低位补1,TC置1,指数编码器,指数编码器用于支持单周期指令EXP的专用硬件。有了指数编码器就可以用
25、EXP和NORM指令对累加器内容进行归一化处理,CPU状态和控制寄存器,TMS320C54x有三个状态和控制寄存器,分别为状态寄存器ST0、状态寄存器ST1和处理器方式状态寄存器PMST。ST0和ST1包括各种工作条件和工作方式的状态,PMST包括存储器配置状态和控制信息。,状态寄存器ST0位结构,状态寄存器ST0,状态寄存器ST1的位结构,状态寄存器ST1(1),状态寄存器ST1(2),ADD*AR3,A;*AR3+A-A,处理器方式状态寄存器PMST的位结构,状态寄存器PMST,利用辅助寄存器进行间接寻址示意图,影响TC位的指令,BIT Xmem,BITC;测试指定位,由BITC指定要测
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TMS320C54x 硬件 结构 原理

链接地址:https://www.31ppt.com/p-6522018.html