第5章TMS320C54x的引脚功能、流水线结构和外部总线结构_第1页
第5章TMS320C54x的引脚功能、流水线结构和外部总线结构_第2页
第5章TMS320C54x的引脚功能、流水线结构和外部总线结构_第3页
第5章TMS320C54x的引脚功能、流水线结构和外部总线结构_第4页
第5章TMS320C54x的引脚功能、流水线结构和外部总线结构_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

第5章TMS320C54x的引脚功能、流水线结构和外部总线结构5.1TMS320C54x的引脚和信号说明5.2流水线结构5.3外部总线结构5.1TMS320C54x的引脚和信号说明TMS320C54xDSP基本上都采用超薄的塑料或陶瓷四方扁平封装(TQFP),也有其他封装形式。图5-1所示是TMS320C541的引脚图。本节重点描述TMS320C541芯片的引脚功能。图5-1TMS320C541的引脚图

TMS320C5402引脚:电源引脚时钟引脚

控制引脚地址和数据引脚串行口引脚主机接口引脚通用I/O引脚测试引脚4.振荡器及定时信号CLKOUT、TOUT:主时钟输出信号、定时器输出信号。CLKMD1~CLKMD3:3个外部/内部时钟工作方式输入信号,可以预置DSP的时钟比。X2/CLKIN、X1:晶振到内部振荡器的输入引脚、内部振荡器到外部晶振的输出引脚。5.主机接口(HPI)信号(TMS320C542/545/548等具有)HD0~HD7:HPI双向并行数据总线。HCNTL0、HCNTL1:HPI控制信号。HBIL:HPI字节确认输入。6.串口信号CLKR0、CLKR1:接收时钟。CLKX0、CLKX1:发送时钟。DR0、DR1:串行口数据接收端。DX0、DX1:串行口数据发送端。FSR0、FSR1:用于接收输入的帧同步脉冲。FSX0、FSX1:用于发送的帧同步脉冲。7.电源信号CVDD、DVDD、VSS:CPU内核电源电压、I/O引脚的电源电压和器件地。8.IEEE1149.1测试引脚5.2流水线结构1.流水线概述指令流水线包括执行指令时发生的一系列总线操作。TMS320C54x的流水线有6个独立的阶段:程序预取指、取指、指令译码、寻址、读和执行指令。由于这6个阶段是独立的,因此这些操作有可能重叠。在任意给定的周期里,可能有1~6条不同的指令是激活的,每一条指令都处于不同的阶段。图5-2说明了对于单字、单周期指令,在没有等待状态情况下6级流水线的操作。图5-26级流水线的操作图5-26级流水线的操作这6级流水线的功能如下:预取指(Prefetch):将所要取指的地址放在程序地址总线(PAB)上。取指(Fetch):从程序总线(PB)上取指令字,并装入指令寄存器(IR)。译码(Decode):对IR中的内容译码,产生执行指令所需要的一系列控制信号。寻址(Access):数据地址产生单元(DAGEN)在数据地址总线(DAB)上输出读操作数的地址。如果还需要第二个操作数,则在另一个数据地址总线(CAB)上也装入适当的地址,同时更新间接寻址方式中的辅助寄存器和堆栈指针(SP)。读(Read):从数据总线(DB)和控制总线(CB)上读操作数。执行(Execute):从数据总线(EB)上写数据。6条单字、单周期指令的流水线操作如图5-3所示。图5-36条指令的流水线的操作’C54x存储器操作情况:①执行读单操作数指令

例如:LD*AR1,A;单周期指令,读单操作数

通过DB读出数据读地址加载DAB通过IR

指令译码通过PB读取指令加载PAB执行/写数读数R寻址A译码D取指F预取指P②执行读双操作数指令

例如:MAC*AR2+,*AR3,A;单周期指令,

读双操作数

通过DB和CB读出数据读地址加载DAB和CAB通过IR

指令译码通过PB读取指令加载PAB执行/写数读数R寻址A译码D取指F预取指P*存储器的流水线操作

内部存储器双寻址存储器DARAM单寻址存储器读写存储器SARAM只读存储器ROM

存储器的流水线操作:

①双寻址存储器的流水线操作

单寻址存储器的流水线操作

2.双寻址存储器的流水线操作

DARAM分成若干个独立的存储器块,CPU可以在单个周期内对其访问2次。

①在单个周期内允许同时访问不同的DARAM块;

②CPU同时处理两条指令访问不同的存储块;

③处于流水线不同阶段的两条指令,可以同时访问同一个存储块。

表5-1访问DARAM块操作类型访问时间利用PAB/PB取指前半周期利用DAB/DB读取第一个数据前半周期利用CAB/CB读取第二个数据后半周期利用EAB/EB写数据后半周期DARAM的半周期寻址图①取指令操作

预取指P取指F译码D寻址A读数R执行E读PB

在T2的前半周期,利用PB线进行读指令操作。②读单操作数操作

预取指P取指F译码D寻址A读数R执行E读DB

在T5的前半周期,利用DB线进行读存储器操作。DARAM的半周期寻址图③读双操作数操作

预取指P取指F译码D寻址A读数R执行E读DB读CB

T5的前半周期,利用DB线读第一操作数;

T5的后半周期,利用CB线读第二操作数。④写单操作数操作

预取指P取指F译码D寻址A读数R执行E写EB在T6的后半周期,利用EB线写操作数。CPU访问DARAM会发生流水冲突的情况:

①同时从同一存储块中取指令和读操作数;

②同时对同一存储块进行写操作和读第二操作数。

当发生流水冲突时,CPU可通过写操作延迟一个周期,或通过插入一个空操作来解决流水线冲突。

例如:当执行下列程序发生时序冲突时,CPU能对取指自动延迟一个周期。

LD*AR2+,A;AR2指向相同的DARAM块

i2

;假定i2指令不访问DARAM

i3;假定i3指令不访问DARAM

i4PFDARELD*AR2+,A读DBPFDAREi2读PBPFDAREi3读PBPFDAREi4读PB第1条指令读操作数i4指令取指操作发生时序冲突

LD*AR2+,Ai2

i3i4PFDARELD*AR2+,A读DBPFDAREi2读PBPFDAREi3读PBPFDAREi4读PB

LD*AR2+,Ai2

i3i4PFDARE空操作PFDAREi4读PB3.单寻址存储器和流水线TMS320C54x片内有两种形式的单寻址存储器:●单寻址读/写存储器(SARAM)。●单寻址只读存储器(ROM或DROM)。4.流水线延时TMS320C54x流水线允许CPU多条指令同时访问CPU资源。由于CPU的资源是有限的,因此当一个CPU资源同时被一个以上流水线级访问时,就会发生冲突。有些冲突可以由CPU通过延迟寻址的方法自动消除,但有些冲突是不能防止的,需要由程序重新安排指令顺序,或者插入NOP(空操作)指令加以解决。对于下列存储器映像寄存器,如果在流水线中同时对它们寻址,就有可能发生不能消除的冲突:●辅助寄存器(AR0~AR7);●重复块长度寄存器(BK);●堆栈指针(SP);●暂存器(T);●处理器工作方式状态寄存器(PMST);●状态寄存器(ST0和ST1);●块重复计数器(BRC);●存储器映像累加器(AG、AH、AL、BG、BH和BL)。5.3外部总线结构5.3.1外部总线接口信号TMS320C54x具有很强的系统接口能力,其总线分为内部总线和外部总线。TMS320C54x的内部总线有1条PB,3条CB、DB和EB及4条PAB、CAB、DAB和EAB。片内总线采用流水线结构,可以允许CPU同时寻址这些总线。TMS320C54xDSP在片内可实现一个周期内6次操作。TMS320C54x的外部总线由数据总线(D0~D15)、地址总线(A0~A15)和控制总线(11条)组成(参见5.1节)。其中,TMS320C548、TMS320C549具有23条地址总线。外部总线对外部存储器的访问最快只能达到每周期进行一次寻址。下面介绍控制信号的功能。5.3.2外部总线控制性能1.等待状态发生器当希望TMS320C54x与外部慢速器件相互接口时,必须要有等待状态。在CPU读/写外部存储器或端口时,通过增加等待状态,可以加长CPU等待响应的时间。具体地说,对每个等待状态,CPU等待一个附加的周期(一个CLKOUT周期)。TMS320C54x有两种可选择的等待状态:●软件可编程等待状态发生器。利用它能够产生0~7个等待状态。●READY信号。利用该信号能够由外部控制产生任何数量的等待状态。1)软件可编程等待状态发生器软件可编程等待状态发生器能够延迟外部总线最多至7个周期与外部存储器或I/O设备接口。软件可编程等待状态发生器不需要任何外部硬件设备。软件可编程等待状态发生器的工作受到软件等待状态寄存器(SWWSR)的控制,它是一个16位的存储器映像寄存器,在数据空间的地址为0028H。将程序空间和数据空间分成两个32K字块,I/O空间由一个64K字块组成。这5个字块空间在SWWSR中都相应地有一个3位字段,用来定义各个空间插入等待状态的数目。SWWSR的结构如图5-4所示。图5-4SWWSR的结构151412119865320保留XPA(仅TMS320C548)I/OHiDataLowDataHiProgLowProgRR/WR/WR/WR/WR/W上述SWWSR的各3位字段规定的插入等待状态的最小数为0(不插入等待周期),最大数为7(111B)。其中:LowProg:定义对0000H~7FFFH的程序空间访问时插入的等待状态数。HiProg:定义对8000H~FFFFH的程序空间访问时插入的等待状态数。

LowData:定义对0000H~7FFFH的数据空间访问时插入的等待状态数。HiData:定义对8000H~FFFFH的数据空间访问时插入的等待状态数。I/O:定义对0000H~FFFFH的I/O空间访问时插入的等待状态数。

2)利用READY信号产生等待状态TMS320C54x的系统有各种各样,仅有软件等待状态是不够的。如果外部器件要求插入7个以上的等待周期,则可以利用硬件READY线来接口。READY信号由外部慢速设备驱动控制,对DSP来说是输入信号。当READY信号为低电平时,表明外部设备尚未准备好,TMS320C54x将等待一个CLKOUT周期,并再次校验READY信号;在READY信号变为高电平之前,TMS320C54x将不能连续运行,一直处于等待状态。因此,如果不用READY信号,应在外部访问期间将其上拉到高电平。2.分区转换逻辑 可编程分区转换逻辑允许TMS320C54x在外部存储器分区之间切换时,不需要外部为存储器插入等待状态。当跨越程序或数据空间内部存储器分区界线时,可编程分区转换逻辑会自动地插入一个周期,这个额外周期的作用是防止总线冲突,保证在其他设备驱动总线之前,存储器设备可以结束对总线的占用。存储器块的大小在块切换控制存储器(BSCR)中定义。

图5-5BSCR的结NKCMPPS–DS保留位BHEXIOR/WR/W

R/WR/W分区转换逻辑由分区转换控制寄存器(BSCR)定义,它是一个16位的存储器映像寄存器,在数据空间的地址为0029H。BSCR的结构如图5-5所示。 表5-2(略)列出了TMS320C54x分区转换控制寄存器各字段功能的详细说明。5.3.3外部总线接口时序图1.存储器寻址定时图图5-6是存储器读—读—写操作定时图。在此图中,虽然外部存储器写操作要花两个机器周期,但每次在同一分区中来回读(保持低电平)都是单周期寻址。

图5-6存储器读—读—写操作定时图图5-7给出了存储器写—写—读操作定时图。注意,图中由低变高后,写操作的地址线和数据线继续保持约一个半周期有效。每次存储器写操作要花两个机器周期,而紧跟其后的读操作也要两个机器周期。图5-7存储器写—写—读操作定时图2.I/O寻址定时图对I/O设备读/写操作要持续两个机器周期,在此期间,地址线变化一般都发生在CLKOUT的下降沿(若

温馨提示

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

评论

0/150

提交评论