课件:存储器与通用IO端口.ppt_第1页
课件:存储器与通用IO端口.ppt_第2页
课件:存储器与通用IO端口.ppt_第3页
课件:存储器与通用IO端口.ppt_第4页
课件:存储器与通用IO端口.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1,第三章 存储器与通用I/O端口,3.1 存储器 3.2 外部扩展接口 3.3 通用I/O端口,第三章 存储器与通用I/O口,第3章 存储器与通用I/O口, 内部集成了大量的SRAM、ROM以及Flash等存储器,并 且采用统一寻址方式(程序、数据和IO统一寻址) 提高了存储空间的利用率,方便程序的开发。 提供外部并行总线扩展接口 有利于开发大规模复杂系统, 片内存储器操作的优点:速度快、价格低、功耗小。 外部存储器操作的优点:可以访问更大的地址空间。,3.1 存储器,第3章 存储器与通用I/O口,TMS320F2812所有存储空间采用统一寻址: 低64KB地址存储器相当于F24xF240x处理器的数据存储空间, 高 64KB地址存储器相当于F24xF240x处理器的程序存储空间,与 F24xF240x兼容的代码只能定位在高64KB地址的存储空间运行。 XMPMC模式为低时顶部的32KBFlash和H0 SARAM模块可以用 来运行24x240x兼容的代码; XMPMC模式为高时F2812的代码则从外部存储器接口的XINTF Zone 7空间开始执行,3.1 存储器,第3章 存储器与通用I/O口,TMS320F2812存储器分布,第3章 存储器与通用I/O口, 片内双访问存储器(DARAM) 每个机器周期可被访问2次的存储器 片内单访问程序/数据RAM(SARAM) 每个存储器块都可以被单独访问。 每个存储器块都可映像到程序空间或数据空间,用以存放指令代码或存储数 据变量。 每个存储器块在读写访问时都可以全速运行,即等待状态为零等待。 掩膜型片内ROM存储器 出厂时已写好的存储器,用户只能读不能写 闪速存储器(Flash) 电可擦除与编程的非易失性存储器 一次性可编程存储器(OTP) 只能编程一次,而不能擦除,3.1 存储器,存储器的类型,第3章 存储器与通用I/O口,3.1 存储器, C28x具有32位的数据地址和22位的程序地址,总地址空间可 达4G字(每个字16位)的数据空间和4M字的程序空间。 C28x所有存储器块都统一映像到程序空间和数据空间。, 程序/数据存储器:C28x芯片具有片内单周期随机存储器SRAM、只读存 储器ROM和Flash存储器。它们被映像到程序空间或数 据空间,用以存放执行代码或存储数据变量。 保留空间:数据区的某些地址被保留作为CPU的仿真寄存器使用。 CPU的中断向量:在程序地址中保留了64个地址作为CPU的32个中断向量。 通过STl的位VMAP可以将CPU向量映像到程序空间的 顶部或底部。,存储器映射分成三部分,片上程序/数据存储器,第3章 存储器与通用I/O口,F2812程序和数据空间映射,片 上 程 序 / 数 据 存 储 器,第3章 存储器与通用I/O口,C28x包含两个单周期访问的存储器SARAM.,3.1 存储器, 存储器空间: 低64K16位地址为000000h00FFFFh,可等价于C24x240x的数据空间; 高64Kl6位地址为3F0000h3FFFFFh,可等价于C24x240x的程序空间。 片内SARAM:为单口随机读写存储器,在单个机器周期内只能被访问 一次。C28x片内共有18K16位的SARAM,它们分别是: MO和M1:每块的大小为1K16位,其中,MO映像至地址000000h0003Fh,M1映像至地址000400h-0007FFh;复位状态下,堆栈指针指向M1块的起始位置。所有M0和M1 同时映射到程序和数据空间,因此它们既可存放执行程序也可存放数据变量 LO和L1:每块的大小为4K16位,其中,LO映像至地址008000h008FFFh,L1映像至地址009000h009FFFh; HO:大小为8K16位,映像至地址3F8000h3F9FFFh。,片上程序/数据存储器,第3章 存储器与通用I/O口, C28x包含128Kxl6位的Flash存储器2Kxl6位的OTP Flash存储器被分成4个8Kxl6位单元和6个16Kxl6位的单元, 用户可以单独地擦除、编程和验证每个单元,而且并不会影 响其他Flash单元。 FlashOTP存储器可以映射到程序存储空间,存放执行的 程序;也可以映射到数据空间存储数据信息。,3.1 存储器,片上Flash存储器和OTP存储器,第3章 存储器与通用I/O口,F2812内部Flash存储器单元寻址表,3.1 存储器,片上Flash存储器和OTP存储器,第3章 存储器与通用I/O口,,,3.2 外部扩展接口 XINTF, 采用异步非复用模式总线, 外部接口(XINTF)映射到5个独立的存储空间ZONE0/1/2/6/7 当访问相应的存储空间时,就会产生一个片选信号;另外, 有的存储空间公用一个片选信号。 每个空间都可以独立地设置访问等待、选择、建立以及保持 时间,同时还可以使用XREADY信号来控制外设的访问。 外部接口的访问时钟频率由内部的XTIMCLK提供, XTIMCLK可以等于SYSCLKOUT或SYSCLKOUT/2。,第3章 存储器与通用I/O口,,,F2812外部接口框图,第3章 存储器与通用I/O口, 复位状态下,如果XMPMC1或0,XINTFZone7片 选信号选择微处理器或微计算机操作模式。 微处理器模式Zone7映射到高位置地址空间,中断向量表可以定位 在外部存储空间。该模式下,BootROM将被屏蔽。 微计算机模式Zone 7被屏蔽且中断向量表从BootROM中获取。 因此,用户可以选择从片上存储器或片外存储器启动。 上电复位时,XMPMC的状态存放在XINTCNF2寄存 器的XMPMC模式位。用户可以通过软件改变该位来控 制Boot ROM和XINTF Zone7的映射。 其他存储器并不受XMPMC的状态的影响。 F2812的外部扩展接口并不支持IO空间。,3.2 外部扩展接口 XINTF,第3章 存储器与通用I/O口,外部接口的访问,3.2 外部扩展接口 XINTF,空间0(Zone0)和空间1(Zonel)公用片选信号ZCS0ANDCS1; 空间6(Zone6)和空间7(Zone7)公用片选信号XZCS6ANDCS7。 各空间可以独立设置访问等待、选择、建立以及保持时间。 所有空间共享19位的外部地址总线,处理器根据所访问的 空间产生相应的地址。, Zone2和Zone6:Zone2和Zone6共享外部地址总线 CPU访问Zone2和Zone6空间的第一个字时,地址总线产生0x00000地址; CPU访问Zone2和Zone6空间的最后一个字时,地址总线产生0xFFFFF地址。 访问两者的唯一区别在于控制的片选信号不同,分别是XZCS2和 XZCS6ANDCS7。故可以使用片选信号来区分对两个空间的访问,使用地址线 控制具体访问的地址。,第3章 存储器与通用I/O口,外部接口的访问,3.2 外部扩展接口 XINTF, Zone0和Zonel 两者公用一个外部片选信号,但是采用不同的内部地址。 Zone0的寻址范围是0x200000x3FFFF,Zonel的是0x400000x5FFFF。 如果希望区分两个空间,需要增加其他控制逻辑 在访问Zone0时,XA13为高电平,XA14为低电平; 在访问Zonel时,XAl3为低电平,XA14为高电平。,写操作紧跟读操作流水线保护会影响Zonel空间的访问,故Zonel空间 适合用于扩展外设,而不适合用来扩展外部存储器。,第3章 存储器与通用I/O口, Zone7:Zone7是独立的地址空间,复位时,XMPMC引脚为高电平,Zone7空间映射到0x3FC000。复位后,通过改变寄存器XINTCNF2中的MPMC控制位,使能或屏蔽Zone7空间。如果XMP面引脚为低电平,则Zone7不能映射到0x3FC000存储空间,而片上的ROM将映射到该存储空间。 Zone7的映射与MCMC有关,而Zone0,Zonel,Zonc2,Zone6总是有效的存储空间,与XMPMC状态无关。 如果用户需要建立自己的引导程序,存放在外部空间,可以使用Zone7空间进行程序的引导。引导成功后,通过软件使能内部的ROM,以便可以访问存放在ROM中的数学表。BootROM映射到Zone7空间时,Zone7空间的存储器仍然可以访问。这是因为Zone7和Zone6空间公用一个片选信号XZCS6ANDCS7。访问外部Zone7空间的地址范围是0x7C0000x7FFFF,Zone6也使用这个地址空间。Zone7空间的使用只影响Zone6的高16K地址空间,,外部接口的访问,3.2 外部扩展接口 XINTF,第3章 存储器与通用I/O口,外部接口的配置,3.2 外部扩展接口 XINTF, 外部存储器接口能够配置各种参数,以便能够与众多不 同外部扩展设备无缝接口 主要由F2812器件的工作频率以及XINTF的特性进行配置 配置前后,XINTF可能会产生很大的变化,所以尽量不 要将配置程序放在XINTF扩展的存储器空间执行,第3章 存储器与通用I/O口,SYSCLKOUT和XINTF时钟之间的关系, XINTF时钟有两种时钟模块 XTIMCLK XCLOCK 所有的外部扩展访问都是以内部XINTF的时钟XTIMCLK为参考,因此配置XINTF,首先要通过XINTFCNF2寄存器配置XTIMCLK。 XTIMCLK可以配置为SYSCLKOUT,也可以配置为SYSCLKOUT2,XTIMCLK默认的值是SYSCLKOUT2。 外接口提供一个时钟输出XCLOCK,所有外部接口的访问都是在XCLOCK的上升沿开始。可以通过XINTFCNF2寄存器的CLKMODE位配置XCLOCK的频率,外部接口的配置,3.2 外部扩展接口 XINTF,第3章 存储器与通用I/O口,外部接口的配置,3.2 外部扩展接口 XINTF, 写缓冲 默认情况下写缓冲被屏蔽,为提高XINTF的性能,要使能写缓冲 模式。在不停止CPU的情况下,最多可允许3个数据通过缓冲方式 向XINTF写数据。写缓冲器的深度可以在XINTFCNF2内配置。,每个Zone访问的建立(Lead)、激活(Active)和跟踪(Trail)的时序,对XINTF空间的读或写操作的时序都可分为三个阶段:建立、激活和跟踪。 通过寄存器XTIMING可设置各阶段时等待的XTIMCLK周期数。 读写访问操作的时序可以独立进行配置。 为了能够与慢速外设接口,还可以使用X2TIMING位使访问特定空间的建立、激活和跟踪等待状态延长1倍。,第3章 存储器与通用I/O口, 为适合具体外设接口的访问,可配置空间的建立、激活和 跟踪周期长度。在配置过程中,需考虑: 最小等待状态的需要; XINTF的时序特性; 外部器件的时序特性; C28x芯片和外设间的附加延时。,外部接口的配置,3.2 外部扩展接口 XINTF, XREADY信号的使用 DSP通过检测XREADY信号,从而可以延 长DSP访问处设的激活阶段。器件上所有的XINTF空间公用一个XREADY 信号。每个空间都可以进行独立的配置检测,或不检测XREADY信号。此 外,每个空间还可以选择同步检测XREADY信号或异步检测XREADY信号。,第3章 存储器与通用I/O口,第3章 存储器与通用I/O口,外部接口的配置,3.2 外部扩展接口 XINTF, 空间切换 当从XINTF的一个空间切换到另一个空间时,为了能够及时 地释放总线给其他设备使用,慢速外设可能需要额外的周期。空间 切换允许用户指定一个特殊的空间,可以在该空间与其他空间来回 切换的过程中增加额外的周期:增加的周期数在XBANK中配置。 XMPMC信号对XINTF的影响 在复位时,对XMPMC引脚 采样,并将其值锁存到XINTF的配置寄存器XINTFCNF2中。复位时该引脚的状 态决定使能BootROM还是使能Zone7空间。 复位时,XMPMC=1(微处理器模式),使能Zone7空间,并且从外部存储器获 取中断向量。在该情况下,为了能够正确地执行代码,必须将复位向量指针指向 一个有效的存储空间。 复位时,XMPMC=0(微计算机模式),使能BootROM,屏蔽XINTFZone7空间。 在该情况下,从内部BootROM获取中断向量,XINTFZone7空间不能访问。 复位后,MPMC模式可以通过XINTFCNF2寄存器中的状态位来改变。通过这 种方式,系统可以从BootROM引导,然后通过软件设置MPMC等于1,从而 可以访问Zone7空间。,第3章 存储器与通用I/O口,XINTF寄存器,3.2 外部扩展接口 XINTF,改变这些寄存器将影响XINTF的访问时序,必须通过在XINTF之外的程序代码来实现它们的修改, XTIMING0/1/2/6/7时序寄存器,地址:0x00000B20/22/24/2C/2E,R/W-1 R/W-1 R/W-1 R/W-1,Reserved,XRDTRAIL,XWRLEAD,XWRTRAIL,XWRACTIVE,D7 D6 D5 D4 D3 D2 D1 D0,D31 D24,R-0,R-0 R/W-1 R-0 R/W-1,Reserved,X2TIMING,Rerserved,Reserved,D23 D22 D21 D18 D17 D16,R/W-1 R/W-1 R/W-1 R/W-1,READYMODE,USEREADY,XRDTRAIL,XRDACTIVE,D15 D14 D13 D12 D11 D9 D8,XRDLEAD,第3章 存储器与通用I/O口, XINTF配置寄存器地址:0x00000,Reserved,D31 D19 D18 D16,R-0,R-0 R/W-1 R-0 R/W-1,Reserved,HOLDAS,MP/MC Mode,HOLDS,D15 D12 D11 D10 D9 D8,R-0 R-0 R-1 R/W-0 R/W-1 R/W-0,WLEVEL,Reserved,CLKMODE,CLKOFF,D7 D6 D5 D4 D3 D2 D1,Reserved,XINTF寄存器,3.2 外部扩展接口 XINTF,XTIMCLK,HOLD,Write Buffer Depth,第3章 存储器与通用I/O口, XBANK寄存器地址:0x00000,XINTF寄存器,3.2 外部扩展接口 XINTF,Reserved,D15 D6 D5 D3 D2 D0,R-0,BANK,BCYC,R/W-1,R/W-1, XREVISION寄存器 地址:0x00000,识别在产品中使用的XINTF的 特殊版本,REVISION,D15 D0,R-0,第3章 存储器与通用I/O口,GPIO多路复用器,3.3 通用I/O端口,F2812提供多个通用目的数字量I/O引脚 绝大部分是多功能复用引脚,通过GPIO MUX寄存器来选 择配置具体的功能。 可以独立操作也可以作为外设I/O信号(通过GPxMUX寄存器 配置)使用。 如果引脚工作在数字量I/O模式,通过方向控制寄存器(GPxDIR)控制数字量I/O的方向,并可以通过量化寄存器(GPxQUAL)量化输入信号,消除外部噪声信号,表4.4 (3.19,3-1-6) 给出了通用I/O寄存器, 表 4.5(3.20,3-1-7)给出了通用I/O的数据寄存器,第3章 存储器与通用I/O口,3.3通用I/O端口,第3章 存储器与通用I/O口,GPIO寄存器,GPIO口通过功能控制、方向、数据、设置、清除和反转触发寄存器来控制, GPxMUX功能选择寄存器,配置I/O工作在外设操作模式或数字量I/O模 式。在复位使所有GPIO配置成I/O功能。 如果GPxMUX.bit=0,配置为I/O功能; 如果GPxMUX.bit=1,配置为外设功能。 IO的输入功能和外设的输入通道总是被使能的,输出通道是GPIO和外设公用的。因此,引脚如果配置成为IO功能,就必须屏蔽相应的外设功能,否则,将会产生随机的中断信号。,3.3 通用I/O端口, GPxDIR方向控制寄存器,用来配置IO的方向(输入/输出)。复位时,所 有GPIO为输人。 如果GPxDIR.bit= 0,引脚配置为数字量输人; 如果GPxDIR.bit= 1,引脚配置成数字量输出。,第3章 存储器与通用I/O口,GPIO寄存器,3.3 通用I/O端口,GPxDAT数据寄存器,如果IO配置为输入,反映当前经过量化后IO 输人信号的状态。如果IO配置为输出,向寄存器写值设定I O的输出。 如果GPxDAT.bit=0,且设置为输出功能,将相应的引脚拉低; 如果GPxDAT.bit= 1,且设置为

温馨提示

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

评论

0/150

提交评论