Chapter 2 C54硬件结构.ppt_第1页
Chapter 2 C54硬件结构.ppt_第2页
Chapter 2 C54硬件结构.ppt_第3页
Chapter 2 C54硬件结构.ppt_第4页
Chapter 2 C54硬件结构.ppt_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

1、D S P 原理 与 应 用The principle and application of DSP,第二章 C54硬件结构,本章知识概要: C54x系列DSP引脚功能 内外部总线结构 CPU结构 内部存储器结构 片内外设电路 系统控制 要求全面了解C54系列芯片的硬件资源。,2.1 TMS320C54x硬件结构框图,1. 内部结构 (1) CPU 包括算术逻辑运算单元(ALU)、乘法器、累加器、移位寄存器、各种专门用途的寄存器、地址生成器及内部总线。 (2) 存储器系统 包括片内程序ROM、片内单访问的数据RAM和双访问的数据RAM、外接存储器接口。 (3) 片内外设与专用硬件电路 包括片内

2、定时器、各种类型的串口、主机接口、片内锁相环(PLL)、时钟发生器及各种控制电路。,2.1 TMS320C54x硬件结构框图,2. TMS320C54x主要特性 低功耗、高性能的16位定点DSP芯片 (1)CPU部分 多总线结构:1条程序总线、3条数据总线和4条地址总线 40位ALU:包括1个40位桶形移位寄存器和2个独立的40位累加器 17位并行乘法器,与40位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算 CSSU:用于加法/比较选择 指数编码器:单个周期内计算40位累加器中数值的指数 双地址生成器:包括8个辅助寄存器(AR)和2个辅助寄存器算术运算单元(ARAU),2.1

3、TMS320C54x硬件结构框图,2. TMS320C54x主要特性 低功耗、高性能的16位定点DSP芯片 (2)存储器系统 192K字可寻址存储空间: 程序存储空间、数据存储空间及I/O空间,并可进行适当扩展。 片内双寻址 RAM(DARAM): 在每个机器周期内,CPU可以对同一个DARAM块寻址2次,即CPU可以在一个机器周期内对同一个DARAM块读出1次和写入1次。DARAM可以映射到程序空间和数据空间。但一般情况下,DARAM总是映射到数据空间,用于存放数据。 片内单寻址RAM(SARAM): 如C548、C5402、C5416等。,2.1 TMS320C54x硬件结构框图,2. T

4、MS320C54x主要特性 低功耗、高性能的16位定点DSP芯片 (3)片内外设 软件可编程等待状态发生器(SWWSR) 可编程分区转换逻辑电路 片内锁相环(PLL)和时钟发生器 可编程串行接口(4种) 可编程定时器16位(1-2个) 8位或16位主机接口(HPI) (4)指令系统 单指令重复和块指令重复操作 用于程序和数据管理的块存储器传送指令 32位长操作数指令,2.1 TMS320C54x硬件结构框图,32位长操作数指令 多操作数指令:读入2或3个操作数的指令 并行存储和并行加载的算术指令 条件存储指令 中断快速返回指令 (5)片内仿真接口:IEEE1149.1 (6)多种节电模式:软件

5、控制片外总线、CLKOUT、器件电压等 (7)不同内核电压以获取不同的芯片运行速度:5.0v-40MIPS,3.3v-80MIPS,2.5v-100MIPS,1.8v-200MIPS。,2.1 TMS320VC5402管脚,2.1 TMS320VC5402管脚,TMS320VC5402引脚说明,2.2 总线结构,一组程序总线PB 传送从程序存储器读取的指令代码和立即数; 三组数据总线(CB、DB、EB) CB,DB: 传送从数据存储器读出的操作数; EB: 传送写入到数据存储器中的数据; 四组地址总线(PAB、CAB、DAB、EAB) 传送执行指令所需的地址;,2.2 总线结构,2.3.1 存

6、储器空间,TMS320C54x存储器由3个独立的可选择空间组成:程序空间、数据空间和I/O空间。 程序存储器空间包括程序指令和程序中所需的常数表格;数据存储器空间用于存储需要程序处理的数据或程序处理后的结果;I/O空间用于与外部存储器映象的外设接口,也可以用于扩展外部数据存储空间。,图2-2 TMS320VC5402存储器分配图,微型计算机模式,微处理器模式,DROM控制的数据存储空间,程序存储空间,数据存储空间,2.3.2 程序存储器,通过MP/和OVLY位的设置,可以实现对片内存储器(ROM、RAM)的配置,即哪些片内存储器映象在程序存储器空间。 器件复位时,复位、中断和陷阱中断的向量映象

7、在地址FF80H开始的程序存储器空间。然而,复位后这些向量可以被重新映象在程序存储器空间任何128字页的开始。这样,可以把向量表移出引导ROM,并重新配置其地址。,2.3.3 数据存储器,通过对处理器方式状态寄存器PMST的DROM位的设置,将片内ROM配置在数据存储器空间(DROM=1),这样,可以用指令将片内ROM作为数据存储器中的数据ROM来读取。复位时,DROM位被清0。 64K字的数据存储器空间包括数据存储器映象寄存器,0000H001FH是常用的CPU寄存器地址,0020H005FH是片内外设寄存器的地址。表2-1,表2-1 存储器映象寄存器,2.3 I/O存储器,除程序存储器空间

8、和数据存储器空间外,C54x系列器件还提供了I/O存储器空间,利用I/O空间可以扩展外部存储器。 I/O存储器空间为64K字(0000hFFFFh),有两条指令PORTR和PORTW可以对I/O存储器空间操作,读写时序与程序存储器空间和数据存储器空间有很大不同。,2.4 片内外设,通用IO引脚 每一种54x芯片都为用户提供两个通用的IO引脚:/BIO和XF /BIO:分支转移控制输入引脚,用来监控外部设备的运行状态 可替代中断引脚,程序中通过查询该管脚的状态来控制程 序的流向,以避免中断引起的失控现象。 XF:外部标志输出引脚,用于程序向外设传输标志信息。通过状态寄存器ST1中的XF位来置位或

9、复位,即输出高电平或低电平。,2.4 片内外设,定时器 带4预分频的16位减法计数器。 特点:每个时钟周期自动减一,当计数器为0产生中断。 通过软件编程来设定定时器的停止、恢复运行、复位和禁止 包括下列3个存储器映像寄存器:定时器设定寄存器TIM: 16位减法计数器,复位或定时中断后装入初值(PRD寄存器),进行自动减一 定时周期寄存器PRD:存放定时时间常数(即初值) 定时控制寄存器TCR。控制分频系数TDDR、预标定计数器PSC、控制位TRB、TSS等。 定时中断周期:CLKOUT*(TDDR+1)*(PRD+1) 关闭定时器,将TCR中的TSS置位为1即可,2.4 片内外设,时钟发生器

10、构成:由内部振荡器和锁相环(PLL)电路构成。 作用:为CPU提供时钟信号,2.4 片内外设,主机接口HPI 是54X具有的一种8位或16位并行接口。 用途:与其他总线或主处理机通信。如通过HPI接口与51系列单片机、8086CPU进行通信。 构成:HPI控制寄存器(HPIC)、地址寄存器(HPIA)、数据锁存器(HPID) 特点:P46 (1)主机和DSP可疑独立的对HPI接口操作 (2) 主机与DSP握手通过中断方式完成 (3)主机可通过HPI接口直接访问DSP内部CPU的存储空间,包括存储器映像寄存器 (4)主机可通过HPI接口装载DSP应用程序,接收DSP运行结果以及诊断DSP运行状态

11、,2.4 片内外设,串口通信:不同芯片配有不同的串口 标准串口:Standard Serial Port 缓冲串口:Buffer Synchronization Port 时分多路同步串口:Time Division Multiplexing Port 多通道缓冲串口:Multi-channel Buffer Synchronization Port 相关寄存器: DXR、XSR、DRR、RSR、RINT、XINT、SPC 自动缓冲:ABU and ABU-EAG 利用专用总线,直接与内部存储器交换数据 帧宽:8-,10-,12- or 16-bit TDM 允许数据时分多路 同步方式或TDM

12、方式(8通道) McBSP 最多128通道 既可由CPU控制运行,也可脱机工作,2.5 中央处理单元(CPU),1.CPU组成 40位ALU 2个40位ACCA ACCB 一个支持1631位移位的桶形移位寄存器 乘法器-加法器单元 比较、选择和存储单元 指数编码器 CPU状态和控制寄存器,2.5 中央处理单元(CPU),2.运算部件 (1)算术逻辑单元(ALU) 功能: C54X使用40bit的ALU和2个40bit累加器(A、B)完成二进制补码的算术运算: ALU可完成布尔运算; 同时完成两个16bit运算(具有两个16位的ALU),算术逻辑运算单元结构,2.3 中央处理单元(CPU),2.

13、运算部件 (1)算术逻辑单元(ALU) 功能: C54X使用40bit的ALU和2个40bit累加器(A、B)完成二进制补码的算术运算: ALU可完成布尔运算; 同时完成两个16bit运算(具有两个16位的ALU) (2)Accumulator 功能:存放参加运算的数据或存放运算的结果(ALU或MAC) 组成:三个部分(保护位作用:数据位余量,防止溢出,迭代运算)。,ACCA与ACCB区别: ACCA的3216位可以用作乘法-累加单元中的乘法器输入 ACCB则不能,ACC结构:保护位、高阶位、低阶位,2.3 中央处理单元(CPU),2.运算部件 (3)Barrel Shifter 功能:能把输

14、入的数据进行031bit左移和016bit右移。 移位数定义: 用一个立即数(-1615)表示。 用状态寄存器ST1的累加器移位方式(ASM)位表示,共5位,移位数为-1615。 用T寄存器中最低6位的数值(移位数为-1631)表示 用途:位提取、数据定标、扩展算术和溢出保护等,如:桶形移位器和指数译码器,可把A/B中的值在一个周期内进行归一化,桶形移位寄存器结构,2.3 中央处理单元(CPU),2.运算部件 (4)乘/加单元 组成:1717bit乘法器、40bit加法器、符号控制、小数控制、零检测器、舍入器、溢出/饱和逻辑、暂存器; 功能:一个单指令周期内完成1717bit的二进制补码运算;

15、 用途:卷积、相关、滤波(LMS)、欧氏距离等运算;,乘/累加单元,2.3 中央处理单元(CPU),2.运算部件 (5)Compare、Select and Store Unit (CSSU) 功能:从累加器(32bit)选择出较大的字(16bit)并存储在数据M; 用途:在数据通信、模式识别等领域,经常要用到Viterbi(维特比)算法。C54x DSP的CPU的比较、选择和存储单元(CSSU) 专为Viterbi算法设计的进行加法/比较/选择(ACS)运算的硬件单元,2.3 中央处理单元(CPU),2.运算部件 (6)指数编码器 组成:完成EXP单周期指令的专用硬件; 功能:将累加器中的指

16、数值能以二进制补码的形式存储在T中;(-831) 用途:累加器内容归一化;,2.5 中央处理单元(CPU),状态和控制部件、运算部件和各种寄存器 1.CPU状态和控制(3个16位存储器映像寄存器) (1) 状态寄存器0(ST0); (2) 状态寄存器1(ST1); (3) 处理器工作模式状态寄存器(PMST)。 各种工作条件和工作方式的状态;存储器的设置状态及其他控制信息。,ST0, 详见:Table 2.4.1,ST1, 详见:Table 2.4.2,PMST, 详见:Table 2.4.3,2.6 C54x系统控制,系统控制由程序计数器(PC)、堆栈(stack)、中断(INT)、状态寄存

17、器(STREG)和循环计数器(RC)等组成。 1、程序地址生成,程序地址生成器,2.6 C54x系统控制,程序计数器 PC为一个16位计数器,保存某个内部或外部程序存储器的地址(指令、16位立即数或系数表等),2.6 C54x系统控制,2. 流水线操作 DSP区别于其他类型MCU的最主要的特征之一。 以机器周期为单位,前后指令相差一个周期而连续并行执行。 原理:将指令执行分成若干个(6个)子操作,每个子操作在不同的操作阶段完成,每个阶段长度为一个机器周期。,流水线操作,Question: (1)上述各阶段所利用的总线是什么? (2)将会发生几种可能的数据读操作? (3)如果有写操作发生,将会需

18、要多少机器周期?数据和地址是何时加载和写入的?,几种可能情况,几种可能情况,几种可能情况,分支转移的流水线操作,无延迟分支转移:,无延迟分支转移指令流水线,分支转移的流水线操作,延迟分支转移:,延迟分支转移指令流水线,For example:,存储器的流水线操作,双寻址存储器 C54内部的DARAM采用分块存取,允许CPU在一个机器周期内对其访问两次。 在单个机器周期内,允许同时访问不同的DARAM块; CPU同时处理两条指令访问不同的DARAM块; 处于流水线上不同阶段的两条指令,可以同时访问同一个块。 不会发生时序冲突:两次访问分别发生在机器周期的前半个周期和后半个周期,存储器的流水线操作

19、,存储器的流水线操作,存储器的流水线操作,i4发生流水线冲突,解决之道1:CPU通过延迟或插入一个周期自动解决!,流水线冲突(未保护性),以下硬件会发生流水线冲突 辅助寄存器(ARx) 重复块长度寄存器(BK) 堆栈指针(SP) 暂存器(T) 处理器工作方式状态寄存器(PMST) 状态寄存器(ST0和ST1) 块重复计数器(BRC) 存储器映像累加器(AG,AH,AL,BG,BH,BL),流水线冲突情况,For example:,More,等待周期表: 给出了对映像寄存器以及控制字段进行写操作的各种指令所需插入的等待周期数。 为了避免流水冲突,可以根据等待周期表来选择插入的NOP指令的数量。,

20、For example,系统复位,C54x设有复位输入引脚RS,通过RS可对芯片进行复位,使程序从FF80H单元开始执行。 复位期间,处理器将进行如下操作 将PMST中的IPTR位置为1FFH,MP/MC位与MP/MC引脚状态相同; 状态寄存器ST0=1800H; 将ST1中的INTM位置1,关闭所有可屏蔽中断 使程序计数器PC=FF80H; 使扩展程序计数器XPC=0000H; 使中断标志寄存器IFR=0000H; 使数据总线处于高阻状态;,系统复位,C54x设有复位输入引脚RS,通过RS可对芯片进行复位,使程序从FF80H单元开始执行。 复位期间,处理器将进行如下操作 控制线均处于无效状态

21、; 将地址总线置为FF80H; 使IACK引脚产生中断响应信号; 产生同步复位信号,对外围电路初始化; 下列状态位置初值:ARP=0 ASM=0 AVIS=0 BRAF=0 C=1 C16=0 CLKOFF=0 CMPT=0 CPL=0 DP=0 DROM=0 FRCT=0 HM=0 INTM=1 OVA=0 OVB=0 OVLY=0 OVM=0 SXM=1 TC=1 XF=1 注意: 复位期间,不对其余的状态位和堆栈指针SP初始化; 若MP/MC=0,则CPU从内部程序存储器开始执行,否则将从外部程序存储器开始执行程序。,中断系统,中断系统是为计算机系统提供实时操作、多任务和多进程操作的关键

22、部件 中断信号 : 由外设向CPU传送数据的硬件设备产生 由外设向CPU提取数据的硬件设备产生 由定时器产生 中断分类: 软中断由程序指令产生的中断: INTR,TRAP,RESET等;(相关寄存器:IFR、IMR) 硬中断由外部设备信号产生的中断(外部中断信号、片内外设电路信号)。 可屏蔽中断和非可屏蔽中断,外部总线,数据总线:D15D0 16位 用于外部程序存储器、数据存储器和I/O口的数据总线。 控制总线: PS-外部程序存储器片选信号,用来选通程序存储器,作为外部程序存储器的第1选通信号,与存储器CS1连接; DS-外部数据存储器片选信号,用来选通数据存储器,作为外部数据存储器的第1选

23、通信号,与存储器CS1连接; IS-I/O选择信号,用来选通外部I/O设备,作为I/O的第1选通信号,与I/O的CS1连接; MSTRB-外部存储器选通信号,用来选通程序存储器和数据存储器,分别作为两存储器的第2选通信号,与存储器CS2连接;,外部总线,控制总线(续) IOSTRB-I/O设备选通信号,用来选通外部I/O设备,作为I/O的第2选通信号,与I/O的CS2连接; R/W -读/写信号,用来实现数据存储器和I/O设备的读写操作,控制数据流的方向; READY -数据准备好信号,用来实现CPU与不同速度的存储器或I/O进行数据交换; HOLD -保持请求信号,用来控制C54x的保持工作模式,即:正常模式和并发DMA模式;,54系列外部总线情况,考察指令: STT, *AR3;Smem写 LD*AR2+, A;Xmem和Ymem读 | MAC*AR5+, B 一条写单操作数指令紧跟一条双操作数读指令,而程序存储器和数据存储器都在片外,CPU对外部总线在一个机器周期内只能访问一次。故会发生流水线冲突! 对于这种情况,CPU依据优先级别自动解决!,外部总线的优先级别,外部总线的等待状态控制,CPU内部等待状态控制部件: 软件可编程等待状态发生器 可编程分区转换逻辑 控制寄

温馨提示

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

评论

0/150

提交评论