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

下载本文档

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

文档简介

本章主要内容

TMS320C55x的总体结构封装和引脚功能CPU寄存器存储空间和I/O空间堆栈操作中断和复位操作第2章TMS320C55x的硬件结构2.1TMS320C55x的总体结构C55x芯片由CPU、存储空间、片内外设组成不同芯片体系结构相同,具有相同的CPU,片上存储器和外围电路配置有所不同图2-1TMS320VC5509A框图CPU存储空间片内总线片内外设2.1.1C55xCPU结构存储器接口单元(M单元)内部数据流、指令流接口管理所有来自CPU、数据空间或I/O空间的数据和指令负责CPU和数据空间以及CPU和I/O空间的数据传输memoryinstruction指令缓冲单元(I单元)图2-3I单元结构框图组成:32×16位指令缓冲队列;

指令解码器。功能:

接收程序代码并放入指令缓冲队列;

由指令译码器解释指令,再把指令流传给其它的工作单元程序流单元(P单元)图2-4P单元结构框图组成:

程序地址发生器;

程序控制逻辑功能:

产生所有程序空间地址,并送到PAB总线program地址数据流单元(A单元)图2-5A单元结构框图address功能:

产生读/写数据空间地址,并送到BAB、CAB、DAB总线数据计算单元(D单元)图2-6D单元结构框图data组成:1个40位的筒形移位寄存器(barrelshifter);2个乘加单元(MAC);1个40位的ALU;

若干寄存器。功能:CPU中最主要的部分,是主要的数据处理部件2.1.2C55x存储器配置存储空间支持的存储器类型特点片内存储空间共有320KB(160K字);外部存储空间共有16MB(8M字)异步SRAM、EPROM;同步DRAM;同步突发SRAM采用统一的程序/数据存储空间;I/O空间与程序/数据空间分开存储器5501550255035506550755095510ROM(KB)32326464646432RAM(KB)326464128128256320表2-1C55x片内存储器配置2.1.3C55x外设配置模数转换器(ADC)可编程数字锁相环时钟发生器(DPLL)外部存储器接口(EMIF)直接存储器访问控制器(DMA)多通道串行缓冲口(McBSP)10位,用于采集电压、面板旋钮的输入值VC5509A的时钟频率可达200MHz,最小机器周期为5ns可以实现与各种存储器件无缝连接在无CPU涉入的情况下,允许数据在内部存储器和外部存储器、增强型主机接口(EHPI)之间传输为全双工串口,VC5509设有3个McBSP增强型主机接口(EHPI)2个16位的通用定时/计数器8个可配置的通用I/O引脚(GPIO)实时时钟(RealTimeClock,RTC)看门狗定时器(WatchdogTimer)

USB

为16位并行接口,用于提供主处理器对DSP的存储器的访问提供一个时间参考,并能产生基于时间的报警来中断DSP可以在软件陷入循环又没有受控退出的情况下,防止系统死锁目前VC5506、VC5507、VC5509各提供了1个USB接口表2-2C55x片内外设配置

2.2C55x的封装和引脚功能不同C55x芯片通常有不同封装为满足不同用途需求,C55x同一个芯片也往往有多种封装本节以TMS320VC5509APGE

封装为例讲述引脚配置及功能只给出VC5509APGE引脚的定义和简要描述,详细描述请参考文献图2-7TMS320VC5509A的封装(a)179脚BGA封装(底视图)(b)144脚PGE封装(顶视图)引脚信号定义与描述并行总线引脚初始化、中断和复位引脚位输入/输出信号振荡器/时钟信号实时时钟I2C总线McBSP接口USB接口A/D接口测试/仿真引脚电源引脚1.并行总线引脚A[13:0]C55x内核的并行地址总线A13~A0的外部引脚。D[15:0]C55x内核的并行双向数据总线D15~D03种功能:HPI地址线HPI.HA[13:0]EMIF地址总线EMIF.A[13:0]通用输入输出GPIO.A[13:0]2种功能:EMIF数据总线EMIF.D[15:0]HPI数据总线HPI.HD[15:0]C0:EMIF异步存储器读选通(EMIF.)

或通用输入输出口8(GPIO.8)C1:EMIF异步输出使能(EMIF.)或HPI中断输出(HPI.)C2:EMIF异步存储器写选通(EMIF.)

或HPI读/写(HPI.)C3:EMIF数据输入准备就绪(EMIF.ARDY)或HPI输出准备就绪(HPI.HRDY)C[14:0]C4:存储空间CE0的EMIF片选信号(EMIF.)

或通用输入输出口9(GPIO.9)C5:存储空间CE1的EMIF片选信号(EMIF.)

或通用输入输出口10(GPIO.10)C6:存储空间CE2的EMIF片选信号(EMIF.)

或HPI访问控制信号0(HPI.HCNTL0)C7:存储空间CE3的EMIF片选信号(EMIF.)

或通用输入输出口11(GPIO.11)

或HPI访问控制信号1(HPI.HCNTL1)C8:EMIF字节使能控制0(EMIF.)

或HPI字节辨识(HPI.)C9:EMIF字节使能控制1(EMIF.)

或HPI字节辨识(HPI.)

C11:EMIFSDRAM列选通信号(EMIF.)

或HPI片选输入信号(HPI.)C12:EMIFSDRAM写使能信号(EMIF.)

或HPI数据选通信号1(HPI.)C13:SDRAMA10地址线(EMIF.SDA10)

或通用输入输出口13(GPIO.13)C14:SDRAM存储器时钟信号(EMIF.CLKMEM)

或HPI数据选通信号2(HPI.)C10:

EMIFSDRAM行选通信号(EMIF.)

或HPI地址选通信号(HPI.)

或通用输入输出口12(GPIO.12)2.初始化、中断和复位引脚

外部中断请求信号;为可屏蔽中断,并且可由中断使能寄存器(IER)和中断方式位屏蔽;可以通过中断标志寄存器(IFR)进行查询和复位复位信号,低电平有效;3.位输入/输出信号GPIO[7:6,4:0]XF可以配置为输入口或输出口;当配置为输出引脚时,可以单独置位或者复位;在复位时,被配置为输入引脚;复位完成后,bootloader根据GPIO[3:0]电平决定启动方式。为输出信号,用于配置其它处理器的复用状态或者作为通用输出引脚;4.振荡器/时钟信号CLKOUTX2/CLKINX1TIN/TOUT0时钟输出引脚;CLKOUT周期为CPU的机器周期时钟振荡器输入引脚;若使用内部时钟,用来外接晶体电路;若使用外部时钟,该引脚接外部时钟输入。由内部系统振荡器到晶体的输出引脚定时器T0输入/输出;当作为定时器T0的输出时,计数器减少到0,TIN/TOUT0信号输出一个脉冲或者状态发生改变;当作为输入时,TIN/TOUT0为内部定时器模块提供时钟;复位时,此引脚配置为输入引脚。☼只有定时器0信号可以输出。定时器T1信号不能提供输出。5.实时时钟RTCINX1实时时钟振荡器输入。RTCINX2实时时钟振荡器输出。6.I2C总线SDAI2C(双向)数据信号复位时,此引脚处于高阻状态。SCLI2C(双向)时钟信号复位时,此引脚处于高阻状态。7.McBSP接口

VC5509A共有3个McBSP接口,其中McBSP1与McBSP2为多功能口。CLKR0DR0FSR0CLKX0DX0FSX0McBSP0串行接收器的串行接收时钟McBSP0数据接收信号McBSP0接收帧同步信号,初始化DR0的数据接收McBSP0发送时钟信号McBSP0数据发送信号。McBSP0发送帧同步信号,初始化DX0的数据发送。S10S11S12S13S14S15McBSP1接收时钟信号或者MMC/SD1的命令/响应信号;复位时被配置为McBSP1.CLKRMcBSP1数据接收信号或者SD1的数据信号1;复位时被配置为McBSP1.DRMcBSP1接收帧同步信号或者SD1的数据信号2;复位时被配置为McBSP1.FSRMcBSP1数据发送信号或者MMC/SD1串行时钟信号;复位时被配置为McBSP1.DXMcBSP1发送时钟信号或MMC/SD1数据信号0;复位时被配置为McBSP1.CLKXMcBSP1发送帧同步信号或者SD1数据信号3;复位时被配置为McBSP1.FSXS20S21S22S23S24S25McBSP2接收时钟信号或者MMC/SD2的命令/响应信号;复位时被配置为McBSP2.CLKRMcBSP2数据接收信号或者SD2的数据信号1;复位时被配置为McBSP2.DRMcBSP2接收帧同步信号或者SD2的数据信号2;复位时被配置为McBSP2.FSRMcBSP2数据发送信号或者MMC/SD2串行时钟信号;复位时被配置为McBSP2.DXMcBSP2发送时钟信号或MMC/SD2数据信号0;复位时被配置为McBSP2.CLKXMcBSP2发送帧同步信号或者SD2数据信号3;复位时被配置为McBSP2.FSX8.USB接口DP差分数据接收/发送(正向)复位时,此引脚配置为输入端DN差分数据接收/发送(负向)复位时,此引脚配置为输入端PU:上拉输出用于上拉USB模块需要的检测电阻通过一个软件控制开关(USBCTL寄存器的CONN位),此引脚在VC5509内部与USBVDD连接9.A/D接口AIN0:模拟输入通道0AIN1:模拟输入通道1☼注意:

VC5509APGE有2个10位A/D接口;VC5509ABGA有4个10位A/D接口.10.测试/仿真引脚TCK:IEEE标准1149.1测试时钟输入引脚。TDI:IEEE标准1149.1测试数据输入信号。TDO:IEEE标准1149.1测试数据输出信号。TMS:IEEE标准1149.1测试方式选择信号。/TRST:IEEE标准1149.1测试复位信号。EMU0:仿真器中断0引脚。EMU1//OFF11.电源引脚

数字电源,+1.6V,专为CPU内核提供电源。

数字电源,+3.3V,为I/O引脚提供电源。

数字电源,+3.3V,专为USB模块的I/O引脚(DP,DN和PU)提供电源。

数字电源,+1.6V。专为USBPLL提供电源。

数字电源,+3.3V。专为RTC模块的I/O引脚提供电源。

数字电源,+1.6V。专为RTC模块提供电源。

数字地。

模拟电源,专为10位A/D模块提供电源。

模拟地,10位A/D内核部分接地引脚。

模拟数字地,10位A/D模块的数字部分接地引脚。

数字地,用于USBPLL。2.3.1累加器(AC0~AC3)C55x的CPU包括4个40位的累加器AC0、AC1、AC2、AC3AC0、AC1、AC2、AC3等价。任何一条使用一个累加器的指令,都可以通过编程来使用4个累加器中的任何一个每个累加器分为低字(ACxL)、高字(ACxH)和8个保护位(ACxG),用户可以使用访问存储器映射寄存器的寻址方式,分别访问这3部分

2.3CPU寄存器2.3.2变换寄存器TRN0、TRN1C55x有2个变换寄存器TRN0、TRN1用途:在比较-选择-极值指令里使用

2.3.3T寄存器(T0-T3)用途存放乘法、乘加以及乘减运算里的一个乘数存放D单元里加法、减法和装入运算的移位数用交换指令交换辅助寄存器(AR0-AR7)和T寄存器中的内容时,跟踪多个指针值在D单元ALU里作双16位运算时,存放Viterbi蝶形的变换尺度2.3.4用作数据地址空间和I/O空间的寄存器表2-3用作数据地址空间和I/O空间的寄存器1.辅助寄存器(XAR0~XAR7/AR0~AR7)低字的作用:提供7位数据页内的16位偏移量(形成一个23位地址);

存放位地址;

作为通用寄存器或计数器。高7位用于指定要访问数据空间的数据页未映射到存储器010h011hCPU在存储器中映射了一个系数数据指针(CDP)和一个相关的扩展寄存器(CDPH):2.系数数据指针(XCDP/CDP)027h04FhCPU可以连接这个寄存器形成一个扩展系数数据指针(XCDP)高7位(CDPH)用于指定要访问数据空间的数据页低字(CDP)用来作为16位偏移量与7位数据页形成一个23位地址3.循环缓冲区首地址寄存器CPU有5个16位的循环缓冲区首地址寄存器:BSA01,BSA23,BSA45,BSA67,BSAC作用:定义循环的首地址每个循环缓冲区首地址寄存器与一个或两个特殊的指针相关联4.循环缓冲区大小寄存器三个16位的循环缓冲区大小寄存器(BK03,BK47,BKC)用途:指定循环缓冲区大小(最大为65535)每个循环缓冲区大小寄存器与一个或四个特殊的指针相关联5.数据页寄存器(XDP/DP)CPU在存储器中映射了一个数据页寄存器(DP)和一个相关的扩展寄存器(DPH)CPU连接这两个寄存器形成一个扩展数据页寄存器(XDP)DPH指定要访问数据空间的7位数据页低字(DP)用来代表一个16位偏移地址6.外设数据页指针(PDP)对于PDP直接寻址方式,9位的外设数据页指针(PDP)选择64K字I/O空间中的一个128字页面共分为512页7.堆栈指针(XSP/SP,XSSP/SSP)有关堆栈指针数据堆栈指针(SP)系统堆栈指针(SSP)相关扩展寄存器(SPH)当访问数据堆栈时,CPU连接SPH和SP形成一个扩展的堆栈指针(XSP),指向最后压入数据堆栈的数据SPH代表7位数据页SP指向页中某个具体地址当访问系统堆栈时,CPU连接SPH和SSP形成一个扩展的堆栈指针(XSSP),指向最后压入系统堆栈的数据2.3.5中断管理寄存器中断向量指针(IVPD,IVPH)DSP中断向量指针(IVPD)主机中断向量指针(IVPH)2.中断标志寄存器(IFR0,IFR1)16位的中断标志寄存器IFR0和IFR1包括所有可屏蔽中断的标志位中断被响应后将相应位清0,器件复位将所有位清0可以通过读IFR标志查询发送申请的中断,或写1到IFR

相应的位撤销中断申请,即写入1清相应位为0当一个可屏蔽中断向CPU提出申请时,IFR中相应的标志位置1,等待CPU应答中断3.中断使能寄存器(IER0,IER1)通过设置IER0、IER1的位为

1,打开相应的可屏蔽中断

0,关闭相应的可屏蔽IER0、IER1不受软件复位指令和DSP热复位的影响,在全局可屏蔽中断使能(INTM=1)之前应初始化它们。上电复位时,将所有IER位清0。2.3.6状态寄存器ST0_55控制、查询ST1_55ST2_552.4存储空间和I/O空间存储器映射程序空间数据空间I/O空间C55x的存储(数据/程序)空间统一编址CPU读取程序代码时,使用24位地址访问相关字节CPU读写数据时,使用23位地址访问相关字2.4.1存储器映射

C55x存储空间(总共为16M字节或8M字)的划分:128个主页面(0~127),每个主页面为64K字两种情况下地址总线上均为24位,只是数据寻址时地址总线上的最低位强制填充0主页面0的前192个字节或96个字(000000h~0000BFh)被MMR所占用表2-4TMS320VC5509APGE存贮器映射外部扩展存储空间由CE[3:0]分为4个部分,每部分都可以支持同步或异步存储器类型128K字RAMDARAM为32K字SARAM为96K字32K字ROM链接器命令文件(test.cmd)MEMORY{ DARAM:org=000100h,len=8000h SARAM:org=010000h,len=8000h}SECTIONS{ vars:>DARAM tale:>SARAM .text:>SARAM}DARAM(以VC5509A为例,32K字)双存取RAM,分为8个8K字节或4K字的块,每个块在每周期可以访问两次(两次读或一次读、一次写)DARAM可被内部程序总线、数据总线或DMA

访问。前4块DARAM可以被HPI访问表2-5TMS320VC5509A的DARAM块

SARAM(以VC5509A为例,96K字)单存取RAM,分为24个8K字节或4K字的块,每个块每周期只能访问一次(一次读或一次写)SARAM可被内部程序总线、数据总线或DMA

访问。表2-6TMS320VC5509A的SARAM块2.4.2程序空间CPU使用24位宽的字节寻址从程序存储器读取指令地址总线是24位的,通过程序读数据总线一次可以读取32位的指令,指令中每8位占有一个字节地址图2-8字节地址

例:若指令字节0占用地址000100h,则指令字节2占用地址000102h。程序空间的指令组织C55x支持8、16、24、32、48位的指令图2-9指令的存储情况

例:5个不同长度的指令在程序空间中的存储情况。2.4.3数据空间CPU使用字地址访问数据空间字地址为23位的,寻址16位的数据例:字地址:

00000000000 0001 0000 0010地址总线:000000000000 0010 0000 0100地址线为24位的,当CPU读/写数据空间时,

23位的字地址最低位补一个0成为总地址数据类型C55x指令集支持以下数据类型:字节(B):8位字(W):16位长字(LW):32位

CPU有专用指令对字节进行读操作,当写操作时需要作0扩展或符号扩展图2-10长字地址组织对于32位的长字,访问地址为长字的高字(MSW)地址。如果MSW是偶地址,则长字的低(LSW)地址为下一个地址如果MSW是奇地址,则长字的低(LSW)地址为前一个地址例,数据空间的数据组织。访问一个长字,必须参考它的高字(MSW),访问C需要访问000102h,访问D需要访问000105h字地址也被用于字节地址,000107h既是F的地址,也是G的地址。专用字节指令会指明访问的是低字节还是高字节。2.4.4I/O空间I/O空间和程序/数据空间是分开的,只能用来访问DSP外设上的寄存器读写时要在16位地址前补0

I/O空间里的字地址宽度是16位,可以访问64K个地址

例:

设一条指令从16位地址0102h处读取一个字,则DAB传输的24位地址为000102h。2.5中断操作中断概述中断向量与优先级可屏蔽中断不可屏蔽中断中断定义:由硬件或软件驱动的信号,使DSP将当前的程序挂起,执行另一个称为中断服务子程序(ISR)的任务。2.5.1中断概述当CPU同时收到多个硬件中断请求时,CPU会按照预先定义的优先级对它们做出响应和处理。

C55x支持32个ISR。有些ISR可以由软件或硬件触发,有些只能由软件触发。中断的分类可屏蔽中断:可以通过软件来加以屏蔽不可屏蔽中断:不能被屏蔽

所有的软件中断都是不可屏蔽中断

DSP处理中断的步骤(1)接收中断请求。软件和硬件都要求DSP将当前程序挂起。(2)响应中断请求。CPU必须响应中断。如果是可屏蔽中断,响应必须满足某些条件。如果是不可屏蔽中断,则CPU立即响应。(3)准备进入中断服务子程序。CPU要执行的主要任务有:完成当前指令的执行,并冲掉流水线上还未解码的指令从用户事先设置好的向量地址获取中断向量,该中断向量指向中断服务子程序自动将某些必要的寄存器的值保存到数据堆栈和系统堆栈(4)执行中断服务子程序。CPU执行用户编写的ISR。ISR以一条中断返回指令结束,自动恢复步骤(3)中自动保存的寄存器值。2.5.2中断向量与优先级表2-7是按ISR序号分类的中断向量。该表是C55x中断向量的一般表示式。表2-8是VC5509A中断向量表。表2-7按ISR序号分类的中断向量由16位的中断向量指针加上一个5位的中断编号后左移3位(乘8)组成一个24位的中断地址。

表2-8VC5509A中断向量表voidINTR_init(void){ IVPD=0xd0; IVPH=0xd0;

温馨提示

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

评论

0/150

提交评论