第3章-存储器与通用IO口_第1页
第3章-存储器与通用IO口_第2页
第3章-存储器与通用IO口_第3页
第3章-存储器与通用IO口_第4页
第3章-存储器与通用IO口_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

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

文档简介

DSP原理与应用技术第三章存储器与通用I/O端口第三章存储器与通用I/O接口3.1存储器3.2外部扩展接口3.3通用I/O(GPIO)多路复用器F2812采用增强的哈佛结构,可以并行访问程序和数据存储器。内部集成了大量的SRAM、ROM以及Flash等存储器,并且采用统一寻址方式(程序、数据和I/O统一寻址)

—提高了存储空间的利用率,方便程序的开发。

F2812还提供外部并行总线扩展接口

—有利于开发大规模复杂系统第三章存储器与通用I/O接口F2812存储器包括片内存储器和外部存储器接口两部分。片内存储器操作的优点:速度快、价格低、功耗小。

外部存储器操作的优点:可以访问更大的地址空间。第三章存储器与通用I/O接口TMS320F2812所有存储空间采用统一寻址:低64KB地址存储器——相当于F24x/F240x处理器的数据存储空间,高64KB地址存储器——相当于F24x/F240x处理器的程序存储空间,与F24x/F240x兼容的代码只能定位在高64KB地址的存储空间运行。

XMP/MC=0:顶部的32KBFlash和H0SARAM模块可以用来运行24x/240x兼容的代码;

XMP/MC=1:F2812的代码则从外部存储器接口的(XINTF)Zone7空间开始执行

XMP/MC是ZINTF配置寄存器XINTCHF2中的D8(P70)第三章存储器与通用I/O接口基本概念片内双访问存储器(DARAM)

——每个机器周期可被访问2次的存储器

片内单访问程序/数据RAM(SARAM)

√每个存储器块都可以被单独访问。

√每个存储器块都可映像到程序空间或数据空间,用以存放指令代码或存储数据变量。

√每个存储器块在读/写访问时都可以全速运行,即等待状态为零等待。3.1存储器掩膜型片内ROM存储器

——出厂时已写好的存储器,用户只能读不能写闪速存储器(Flash)

——电可擦除与编程的非易失性存储器

一次性可编程存储器(OTP-OneTimeProgrammable)

——只能编程一次,而不能擦除3.1存储器C28x具有32位的数据地址和22位的程序地址,总地址空间可达232=4G字(每个字16位)的数据空间和222=4M字的程序空间。

C28x所有存储器块都统一映像到程序空间和数据空间。3.1存储器存储器映射分成三部分1.片内程序/数据存储器:C28x芯片具有片内单周期随机存储器SRAM、只读存储器ROM和Flash存储器。它们被映像到程序空间或数据空间,用以存放执行代码或存储数据变量。2.保留空间:数据区的某些地址被保留作为CPU的仿真寄存器使用。(用户不可使用)3.CPU的中断向量:在程序地址中保留了64个地址作为CPU的32个中断向量。通过STl(P38-40)的位VMAP可以将CPU向量映像到程序空间的顶部或底部(000000H~00003FH,3FFFC0H~3FFFFFH)。3.1存储器低64KC2xLP兼容的程序空间数据空间SP复位后0400H800H

9FFHE00HA000HFFFFFFFFHRAMM0中的向量表(VMAP=0)块M01K×16块M1

1K×16外设保留存储器或外设6000H3FFH+1=400H=4×162=22×28=210=1K程序空间0000H03FFH0400H07FFH3F0000H高64KC2xLP兼容的程序空间RAMM0中的向量表(VMAP=0)块M01K×16块M1

1K×16保留存储器或外设向量表(VMAP=1)3FFFFFH3FFFC0H程序空间4M程序空间4GTMS320F2812内存映射M0SARAM(1K)M1SARAM(1K)L0SARAM(4K)L1SARAM(4K)H0SARAM(8K)OTP(1K)FLASH(128K)reservedreservedreservedPF0(2K)reservedreservedPF1(4K)reservedPF2(4K)reservedPIEvector(256)ENPIE=1XINTZone0(8K)XINTZone1(8K)XINTZone2(0.5M)XINTZone6(0.5M)XINTZone7(16K)MP/MC=1XINTVector-RAM(32)MP/MC=1ENPIE=0reservedreservedreserved数据|程序0x0000000x0004000x0008000x000D000x0010000x0060000x0070000x0080000x0090000x00A0000x3D78000x3D80000x3F80000x3FA0000x3FF0000x3FFFC00x3FC0000x1800000x1000000x0800000x0040000x002000数据|程序128-BitPasswordreserved0x3D7C00BootROM(4K)MP/MC=0BROMvector(32)MP/MC=0ENPIE=0C28x包含两个单周期访问的存储器SARAM.存储器空间:低64K×16位地址为000000h~00FFFFh,可等价于C24x/240x的数据空间;高64K×l6位地址为3F0000h~3FFFFFh,可等价于C24x/240x的程序空间。3.1存储器3.1.1片内程序/数据存储器1.片内SARAM:为单口随机读/写存储器,在单个机器周期内只能被访问一次。C28x片内共有18K×16位的SARAM,它们分别是:M0和M1:每块的大小为1K×16位,其中,M0映像至地址000000h~0003FFh,M1映像至地址000400h~0007FFh;复位状态下,堆栈指针指向M1块的起始位置。所有M0和M1同时映射到程序和数据空间,因此它们既可存放执行程序也可存放数据变量。L0和L1:每块的大小为4K×16位,其中,L0映像至地址008000h~008FFFh,L1映像至地址009000h~009FFFh;H0:大小为8K×16位,映像至地址3F8000h~3F9FFFh0003FFH+1=000400H400H=4×162

=22×28=210

=1K0007FFH+1=000800H000800H-000400H=400H400H=4×162

=22×28=210

=1K008FFFH+1=009000H009000H-008000H=1000H1000H=1×163

=212=4K009FFFH+1=00A000H00A000H-008000H=1000H1000H=1×163

=212=4K3F9FFFH+1=3FA000H3FA000H-3F8000H=2000H2000H=2×163

=2×212=213=8K

片内SARAM的共同特点:(1)每个存储器都可以被单独访问(2)每个存储器块可以映射到程序空间或数据空间,用来存放指令代码或存储器数据(3)每个存储器块在读/写访问时都可以全速运行,即等待状态为零等待。3.1.1片内程序/数据存储器其各自的特点:(1)复位时自动将堆栈指针SP设置在M1块的顶部,即地址为400H(2)L0和L1受到代码安全模块的保护,M0、M1及H0不受保护3.1.1片内程序/数据存储器2.片上FlashF28x包含128K×l6位的Flash存储器Flash存储器被分成4个8K×16b单元和6个16K×16b的单元用户可以单独地擦除、编程和验证每个单元,而且并不会影响其他Flash单元。Flash存储器可以映射到程序存储空间,存放执行的程序;也可以映射到数据空间存储数据信息。

3.1.1片内程序/数据存储器寻址空间程序和数据空间寻址空间程序和数据空间0x3D8000~0x3D9FFFSectorJ,8K×l60x3F0000~0x3F3FFFSectorC,16K×16b0x3DA000~0x3DBFFFSectorI,8K×16

0x3F4000~0x3F5FFF

SectorB,8K×160x3DC000~

0x3DFFFFSectorH,16K×16

0x3F6000SectorA,8K×160x3E0000~0x3E3FFFSectorG,16K×16

0x3F7F80~0x3F7FF5当使用代码安全模块时,编程到0x0000

0x3E4000~0x3E7FFFSectorF,16K×160x3F7PP6~0x3F7FF7Boot-to-Flash(或ROM)人口(这里存放程序调转指令)0x3E8000~0x3EBFFFSectorE,16K×160x3F7FF8~0x3F7FFF安全密码(128位),不要将全部编程为0

0x3EC000~0x3EFFFFSectorD,16K×163.1.1片内程序/数据存储器片内Flash主要有以下几个特点:(1)整个Flash存储器被分成多个单元(2)有代码安全保护,提高程序的保密性(3)工作在低功耗模式(4)可根据CPU时钟频率调整等待周期(5)Flash流水线模式能够提高线性代码的执行效率。注意:安全密码的初始值位1111,应改为自己的密码,不要写为00003.1.1片内程序/数据存储器3.片上OTP(OneTimeProgrammable)2812芯片上有1K×16位的一次性可编程存储器,地址为3D7800H~3D7BFFH.OTP可以映射到程序空间或数据空间,能够存放程序或数据。OTP只能编程一次,不能擦除。OTP受到代码安全模块的保护。3.1.1片内程序/数据存储器4.片内BootROMF2812内含14K×16位的BootROM,地址空间为3FF000~3FFFFFH。存储器内由TI公司装载了产品版本号、发布的数据、检验求和信息、复位向量、CPU向量表以及标准的数学运算表等。3.1.1片内程序/数据存储器BootROM主要功能是实现DSP的上电自动引导(bootloader)功能。芯片内部在出厂时在BootROM的3FFC00~3FFFBFH空间已经固化了TI公司提供的引导程序,当芯片被设置位微计算机模式时(XMP/MC=0),CPU在复位后将执行这段程序,从而完成Bootloader的功能。3.1.1片内程序/数据存储器Flash的启动顺序H0SARAM(8K)0x3F7FF60x3D80000x3F80000x3FF0000x3FFFC0BootROM(4K)BROMvector(32)0x3FFC00BootCodeRESET0x3F

FC00{SCANGPIO}FLASH(128K)Passwords(8)_c_int00LBC–startroutine“rts2800_ml.lib”“user”codesections_c_int00Boot.asmmain(){……

return;}23451SP5.代码安全模块CodeSecurityModule(CSM)代码安全模块是128位密码,有用户编程写入片内Flash的8个存储单元3F7FF8H~3F7FFFH中,共计16位×8=128位。作用是防止非法用户通过JTAG接口盗取L0、L1、OTP、Flash的内容,或从外表存储器运行代码去装载某些不合法的软件,防止程序代码的外泄。L0SARAM(4K)L1SARAM(4K)OTP(1K)FLASH(128K)reserved0x0080000x0090000x3D78000x3D8000reserved0x00A0000x3D7C00受CSM保护的存储区:L0、L1、OTP、Flash3.1.1片内程序/数据存储器6.中断向量F2812支持32个CPU级的中断向量,每个中断向量就是一个中断服务程序的入口地址(32位),这些中断向量被存放在一个连续的存储空间。当状态寄存器ST1的位VMAP=0时,CPU的中断矢量映射到程序存储器000000H~00003FH;当VMAP=1,ENPIE=0时,中断矢量映射到程序存储器3FFFC0H~3FFFFFH;当VMAP=1,ENPIE=1时,中断矢量映射PIE中断向量表,地址空间000D00H~000DFFH;3.1.1片内程序/数据存储器7.寄存器映射空间F2812在片内数据存储器空间映射了3个外设帧PF0、PF1、PF2,专门用作外设寄存器的映射空间,除CPU寄存器之外,其他寄存器均为存储器映射寄存器,它们分别映射在3个外设帧空间内。PF0为2K×16位空间,地址000800H~000FFFH,直接映射到CPU的存储器总线,支持16位和32位数据访问。3.1.1片内程序/数据存储器PF1为4K×16位空间,地址006000H~006FFFH,映射到32位的外设总线,采用32位读写方式(即对偶地址访问)。PF2为4K×16位空间,地址007000H~007FFFH,映射到16位的外设总线,仅支持16位访问方式。3.1.1片内程序/数据存储器F2812的地址空间以字(16位)位基本单位当CPU采用32位格式访问存储器或外设时,分配的地址必须是偶地址。如果操作的是奇地址,则CPU操作奇地址之前的偶地址。例如:对CPU定时器0的周期寄存器执行32位写操作时,对地址0x00C03H和0x00C02H进行写操作的结构是相同,均是将32位周期值低16位写入0x00C02H地址,高16位写入0x00C03H地址。3.1.332位数据访问的地址分配F2812的绝大部分指令是采用32位格式从程序存储器空间获得,经过分配后执行。当程序存放到程序空间时,必须分配到偶地址空间。3.1.1片内程序/数据存储器3.2外部扩展接口XINTF(ExternalInterface)F2812的XINTF采用异步非复用总线结构XINTF采用16位数据总线,可提供1M字的寻址空间,用于扩展外部存储器或并行的外设接口芯片。F2812不支持I/O空间,当用户需要对片外设备进行操作时,可以使用XINTF接口,也可以使用哪个GPIO进行扩展3.2.1外设接口描述3.2.1外设接口描述外部接口(XINTF)映射到5个独立的存储空间Zone0、Zone1、Zone2、Zone6、Zone7、当访问相应的存储空间时,就会产生一个片选信号;XINTF的5个空间共有3个片选引脚。其中Zone0、Zone1共用XZCS0AND1。Zone6、Zone7共用XZCS6AND7。

Zone2单独使用片选信号XZCS2(p15)。每个空间都可以独立地设置访问等待、选择、建立以及保持时间,同时还可以使用XREADY信号来控制外设的访问。

外部接口的访问时钟频率由内部的XTIMCLK提供XTIMCLK可以等于SYSCLKOUT或SYSCLKOUT/2。

3.2.1外设接口描述,XINTFZone0(8K×16位)0x002000XINTFZone1(8K×16位)0x004000XINTFZone2(512K×16位)0x080000XINTFZone6(512K×16位)0x100000XINTFZone7(16K×16位)0x3FC000,16位数据总线19位地址总线写信号,低电平有效读信号,低电平有效读写控制信号外设准备好,高电平有效设定为微处理器模式或微计算机模式低电平有效,有效时表明外设请求XINTF释放外部总线,即将地址、数据总线和宣统信号置为高祖状态时钟输入引脚当XINTF准许XHOLD的DMA请求时,该引脚输出低电平,表明扩展的外设可以驱动外部总线执行DMA操作3.2.2外部接口的访问3.2.2外部接口的访问1.Zone2和Zone6Zone2和Zone6共享外部19条地址总线。Zone2的片选信号为XZCS2,

Zone6的片选信号为XZCS6AND7因为两个区域采用不同的片选信号,所以对这两个区域的访问可以采用不同的时序。2.Zone0和Zone1Zone0和Zone1共用一个片选信号XZCS0AND1,采用不同的内部地址。Zone0的寻址范围是0x002000~0x003FFF,Zonel的寻址范围是0x004000~0x005FFF。如果希望区分两个空间,需要增加其他控制逻辑在访问Zone0时,XA[13]=1,XA[14]=0;在访问Zonel时,XA[l3]=0,XA[14]=1。3.2.2外部接口的访问3.Zone7Zone7是独立的地址空间,复位时,XMP/MC=1,Zone7空间映射到0x3FC000。复位后,通过改变寄存器XINTCNF2中的MP/MC控制位,使能或屏蔽Zone7空间。如果XMP/MC=0,则Zone7不能映射到0x3FC000存储空间,而片上的ROM将映射到该存储空间。

Zone7的映射与MC/MC有关,而Zone0,Zonel,Zonc2,Zone6总是有效的存储空间,与XMP/MC状态无关。3.2.2外部接口的访问如果用户需要建立自己的引导程序,存放在外部空间,可以使用Zone7空间进行程序的引导。引导成功后,通过软件使能内部的ROM,以便可以访问存放在ROM中的数学表。BootROM映射到Zone7空间时,Zone7空间的存储器仍然可以访问。这是因为Zone7和Zone6空间公用一个片选信号XZCS6ANDCS7。3.2.2外部接口的访问XINTF配置寄存器组3.2.3外部接口配置寄存器组XINTF0时序寄存器XINTF1时序寄存器XINTF2时序寄存器XINTF6时序寄存器XINTF7时序寄存器XINTF配置寄存器XINTF块控制寄存器XINTF修正寄存器3.2.3外部接口配置寄存器组XTIMING——时序寄存器每个XINTF空间都有自己的时序寄存器,改变时序寄存器的值将会影响相应空间的访问时序。XTIMING——时序寄存器

R/W-1R/W-1

R/W-1

R/W-1

ReservedXRDTRAILXWRLEADXWRTRAILXWRACTIVED7D6D5D4D3D2D1D0D31D24R-0

R-0R/W-1

R-0

R/W-1

ReservedX2TIMINGRerservedReservedD23D22D21D18D17D16

R/W-1R/W-1

R/W-1

R/W-1

READYMODEUSEREADYXRDTRAILXRDACTIVED15D14D13D12D11D9D8XRDLEAD3.2.3外部接口配置寄存器组2.

XINTCNF2——配置寄存器ReservedD31D19D18D16R-0

R-0R/W-1

R-0

R/W-1

ReservedHOLDASMP/MCModeHOLDSD15D12D11D10D9D8

R-0R-0

R-1

R/W-0

R/W-1R/W-0WLEVELReservedCLKMODECLKOFFD7D6D5D4D3D2D1ReservedXTIMCLKHOLDWriteBufferDepth3.2.3外部接口配置寄存器组3.

XBANK寄存器ReservedD15D6D5D3D2D0R-0BANKBCYCR/W-1R/W-14.

XREVISION寄存器——识别在产品中使用的XINTF的特殊版本

REVISIOND15D0R-03.2.3外部接口配置寄存器组外部接口的应用(扩展知识)F2812片内提供了较大容量的Flash存储器,可以用来固化用户程序,一般用户无需再扩张非易失的程序存储器。但是由于Flash芯片的存取速度较慢,直接从Flash中运行用户程序时需要插入一定的等待周期,降低了DSP的执行速度。目前的DSP芯片均提供了上电引导功能,即上电时DSP内部固化的引导程序根据选定的引导模式,自动将用户代码从程序存储器Flash中加载到片内高速SARAM或扩展的SRAM中,然后在RAM中高速运行。由于片内RAM无需插入等待状态,因此,通常将用户程序加载到片内RAM中运行。当片内RAM容量不能满足需要时,或者需要保存较多的用户数据时,统称需要扩展外部存储器。由于DSP采用统一寻址方式,扩展的SRAM即可以用作程序存储器,上电时将部分永和代码从慢速的Flash存储器中加载到SRAM存储器中执行,也可以用于保存用户数据。例:通过XINTF扩展一片SRAM芯片CY7C1021V33,容量64KW,访问周期12ns,采用3.3V电源供电。外部接口的应用(扩展知识)CY7C1021V33真值表D8~D15D0~D7工作模式HXXXX高阻状态高阻状态后备模式LLHLL数据输出数据输出16位读LH高阻状态数据输出低8位读HL数据输出高阻状态高8位读LXLLL数据输入数据输入16位写LH高阻状态数据输入低8位写HL数据输入高阻状态高8位写DSP与SRAM的接口电路如图。3.3VAB15~AB0DB15~DB0F2812XINTFAB15~AB0DB15~DB0VCCVSSCY7C1021V33F2812采用16位数据方式访问SRAM,地址空间位于Zone6.DSP高位地址A18~A16未参加译码,通常取A18~A16=000SRAM地址范围0x000000~0x00FFFF外部接口的应用(扩展知识)3.2.4信号说明XR/W3.2.4信号说明3.2.4信号说明XMP/MC3.2.4信号说明3.2.5外部接口的配置3.2.5外部接口的配置外部存储器接口能够配置各种参数,以便能够与众多不同外部扩展设备无缝接口主要由F2812器件的工作频率以及XINTF的特性进行配置配置前后,XINTF可能会产生很大的变化,所以尽量不要将配置程序放在XINTF扩展的存储器空间执行1.XINTF配置寄存器及时序寄存器的设置过程在改变XINTF配置寄存器和时序寄存器时,为保证在改变配置过程中不访问XINTF,任何配置XINMING0/1/2/6/7、XBANK或XINRCH2寄存器的操作,都必须按照如图所示的流程来进行。3.2.5外部接口的配置2.XINTF时钟XINTF模块有两种时钟模式XTIMCLK(内部时钟),XCLKOUT

(外部时钟)(1)所有的外部扩展访问都是以内部XINTF的时钟XTIMCLK为参考,因此配置XINTF,首先要通过XINTFCNF2寄存器配置XTIMCLK。XTIMCLK可以配置为SYSCLKOUT,也可以配置为SYSCLKOUT/2,XTIMCLK默认的值是SYSCLKOUT/2。3.2.5外部接口的配置(2)外设接口还提供一个时钟输出XCLKOUT,所有外部接口的访问都是在XCLOCK的上升沿开始。可以通过XINTFCNF2寄存器的CLKMODE位配置XCLKOUT的频率3.2.5外部接口的配置XINTCNF2寄存器的XTIMCLK(D18~D16)000:XTIMCLK=SYSCLOUT/1001:XTIMCLK=SYSCLOUT/2XINTCNF2寄存器的CLKMODE(D2)0:XCLK0UT=XTIMCLK1:XCLK0UT=XTIMCLK/23.2.5外部接口的配置3.写缓冲默认情况下写缓冲被禁止,为提高XINTF的性能,要使能写缓冲模式。在不停止CPU的情况下,最多可允许3个数据通过缓冲方式向XINTF写数据。写缓冲器的深度可以在XINTFCNF2内配置。XINTFCNF2的D1D0位(WriteBufferDepth)3.2.5外部接口的配置4.访问外部空间时的时序对XINTF空间的读/写操作的时序都可分为三个阶段:建立(Lead)、激活(Active)和跟踪(Trail)。通过寄存器XTIMING可设置各阶段时等待的XTIMCLK周期数。读/写访问操作的时序可以独立进行配置。为了能够与慢速外设接口,还可以使用X2TIMING位使访问特定空间的建立、激活和跟踪等待状态延长1倍。3.2.5外部接口的配置为适合具体外设接口的访问,可配置空间的建立、激活和跟踪周期长度。在配置过程中,需考虑:√最小等待状态的需要;√XINTF的时序特性;√外部器件的时序特性;√C28x芯片和外设间的附加延时。3.2.5外部接口的配置5.XREADY信号的使用在对外部设备访问的过程中,通过检测XREADY信号,从而可以延长DSP访问处设的激活阶段。器件上所有的XINTF空间共用一个XREADY信号。每个空间都可以进行独立的配置检测,或不检测XREADY信号。此外,每个空间还可以选择同步检测或异步检测XREADY信号。

3.2.5外部接口的配置(1)同步检测如果采用同步检测XREADY,则XREADY信号在激活状态结束之前的一个XTIMCLK信号上升沿时被采样,因此XREADY信号的建立和保持时间必须跨过激活状态结束之前的一个XTIMCLK周期的上升沿。3.2.5外部接口的配置(2)异步检测如果采用异步检测XREADY,则XREADY信号在激活状态结束之前的倒数第三个XTIMCLK信号上升沿时被采样,因此XREADY信号的建立和保持时间必须跨过激活状态结束之前的三个XTIMCLK周期的上升沿。3.2.5外部接口的配置同步检测建立激活跟踪异步检测1个XTIMCLK3个XTIMCLK在异步检测和同步检测这两种方式下,如果XREADY信号采用结果是低电平,则激活阶段将被扩展一个XTIMCLK周期后再次采样XREADY信号,直到XREADY信号为高电平为止。3.2.5外部接口的配置6.空间切换——当从XINTF的一个空间切换到另一个空间时,为了能够及时地释放总线给其他设备使用,慢速外设可能需要额外的周期。空间切换允许用户指定一个特殊的空间,可以在该空间与其他空间来回切换的过程中增加额外的周期:增加的周期数在XBANK中配置。3.2.5外部接口的配置说明XINTFZone0~Zone7中的哪一个存储器转换有效。复位时,选择Zone7000:Zone0001:Zone1010:Zone2110:Zone6111:Zone73.2.5外部接口的配置指定对特定区域内或外的连续访问时增加的XTIMCLK周期数。复位时,默认值为7个XTIMCLK周期(14个SYSCLKOUT周期)000:0周期001:1个XTIMCLK周期010:2个XTIMCLK周期。。。110:6个XTIMCLK周期111:7个XTIMCLK周期3.2.5外部接口的配置7.XMP/MC信号对XINTF的影响——在复位时,对XMP/MC引脚采样,并将其值锁存到XINTF的配置寄存器XINTFCNF2中。复位时该引脚的状态决定使能BootROM还是使能Zone7空间。

(1)XMP/MC=1(微处理器模式),使能Zone7空间,并且从外部存储器获取中断向量。在该情况下,为了能够正确地执行代码,必须将复位向量指针指向一个有效的存储空间。3.2.5外部接口的配置XMP/MC=0(微计算机模式),使能BootROM,屏蔽XINTFZone7空间。在该情况下,从内部BootROM获取中断向量,XINTFZone7空间不能访问。√复位后,可以通过XINTFCNF2寄存器中的状态位来改变,通过软件设置MP/MC=1,从而可以访问Zone7空间。

3.2.5外部接口的配置3.2.6外部接口DMA访问外部接口支持对片外扩展的数据/程序空间进行直接存储器访问DMA(directmemoryaccess).DMA操作由XHOLD和XHOLDA信号控制。步骤如下1.外设产生一个低电平信号通过XHOLD引脚向CPU发出DMA请求.2.当CPU检测到有效的XHOLD信号时,若XINTCNF2寄存器中的D9位HOLD=0,表明CPU允许对外部总线的访问。CPU使信号XHOLDA=0。3.随后XINTF的数据/地址总线和读写、片选信号均处于高祖状态,外部设备可以控制对外部程序和数据存储器的访问。4.在HOLD模式下,CPU可以继续执行内部存储器中的程序。如果此时访问外部接口,将会导致暂停处理器运行,直到XHOLD变为高电平。3.2.6外部接口DMA访问3.2.7外部接口操作时序

XTIMCLK和XCLKOUT模式的时序图设寄存器XTIMING中D22位的X2TIMING=0,Lead=2,Action=2,Trail=21.XTIMCLK=SYSCLKOUT,XCLKOUT=XTIMCLK图3-2-11

XTIMCLK和XCLKOUT模式的时序图设寄存器XTIMING中D22位的X2TIMING=0,Lead=2,Action=2,Trail=22.XTIMCLK=SYSCLKOUT,XCLKOUT=XTIMCLK/2(2分频)图3-2-11

XTIMCLK和XCLKOUT模式的时序图设寄存器XTIMING中D22位的X2TIMING=0,Lead=2,Action=2,Trail=23.XTIMCLK=SYSCLKOUT/2(2分频),XCLKOUT=XTIMCLK图3-2-11

XTIMCLK和XCLKOUT模式的时序图设寄存器XTIMING中D22位的X2TIMING=0,Lead=2,Action=2,Trail=24.XTIMCLK=SYSCLKOUT/2(2分频),XCLKOUT=XTIMCLK/2(2分频)5.当XITMCLK=SYSCLKOUT时读周期波形如图3.3通用输入/输出(GPIO)多路复用器3.3.1概述数字I/O是微处理器系统和外界联系的一种典型接口。通过数字输入可以检测外部引脚的逻辑电平变化,如键盘/开关的状态、故障信号的有/无等。通过设置数字输出为高电平或低电平,可以控制外设的开关状态,如电机的启动/停止、指示灯的亮/灭等。F2812芯片提供了多大56个通用I/O引脚(GPIO),这些端口中绝大部分是功能复用的引脚,即可以用作通用I/O接口,实现一般的数字信号输入/输出,也可以专门用片内外设接口,如SCI、SPI接口等。当某个外设模块被屏蔽时,对应的引脚可以用作通用的I/O,从而提高了DSP芯片的引脚利用率。3.3通用输入/输出(GPIO)多路复用器GPIOAGPIOA0/PWM1GPIOA1/PWM2GPIOA2/PWM3GPIOA3/PWM4GPIOA4/PWM5GPIOA5/PWM6GPIOA6/T1PWM_T1CMPGPIOA7/T2PWM_T2CMPGPIOA8/CAP1_QEP1GPIOA9/CAP2_QEP2GPIOA10/CAP3_QEPI1GPIOA11/TDIRAGPIOA12/TCLKINAGPIOA13/C1TRIPGPIOA14/C2TRIPGPIOA15/C3TRIP

GPIOBGPIOB0/PWM7GPIOB1/PWM8GPIOB2/PWM9GPIOB3/PWM10GPIOB4/PWM11GPIOB5/PWM12GPIOB6/T3PWM_T3CMPGPIOB7/T4PWM_T4CMPGPIOB8/CAP4_QEP3GPIOB9/CAP5_QEP4GPIOB10/CAP6_QEPI2GPIOB11/TDIRBGPIOB12/TCLKINBGPIOB13/C4TRIPGPIOB14/C5TRIPGPIOB15/C6TRIP

C28xGPIO引脚分配

Note:GPIOarepinfunctionsatresetGPIOA,B,D,EincludeInputQualificationfeatureGPI0或PWM输出引脚GPI0或定时器输出引脚GPI0或捕获单元输入引脚GPI0或计数器方向GPI0或计数器时钟输入GPI0或比较器输出触发信号GPI0或定时器2比较输出或EVA开启外部AD转换输出GPIODGPIOD0/T1CTRIP_PDPINTAGPIOD1/T2CTRIP/EVASOCGPIOD5/T3CTRIP_PDPINTBGPIOD6/T4CTRIP/EVBSOC

GPIOEGPIOE0/XINT1_XBIOGPIOE1/XINT2_ADCSOCGPIOE2/XNMI_XINT13GPIOGGPIOG4/SCITXDBGPIOG5/SCIRXDBGPI0或定时器1比较输出GPI0或定时器3比较输出GPI0或定时器4比较输出或EVB开启外部AD转换输出GPI0或XINT1或XBIO输入GPI0或XINT2或开始AD转换GPI0或XNMI或XINT13GPI0或SCI异步串行接口发送数据GPI0或SCI异步串行接口接收数据C28xGPIO引脚分配GPIOFGPIOF0/SPISIMOAGPIOF1/SPISOMIAGPIOF2/SPICLKAGPIOF3/SPISTEAGPIOF4/SCITXDAGPIOF5/SCIRXDAGPIOF6/CANTXAGPIOF7/CANRXAGPIOF8/MCLKXAGPIOF9/MCLKRAGPIOF10/MFSXAGPIOF11/MFSRAGPIOF12/MDXAGPIOF13/MDRAGPIOF14/XFGPI0或SPI从动输入,主动输出GPI0或SPI从动输出,主动输入GPI0或SPI时钟GPI0或SPI从动传送使能GPI0或SCI异步串行接口发送数据GPI0或SCI异步串行接口接收数据GPI0或eCAN发送数据GPI0或eCAN接收数据GPI0或发送时钟GPI0或接收时钟GPI0或发送帧同步信号GPI0或接收帧同步信号GPI0或发送串行数据GPI0或接收串行数据1.通用输出引脚2.通用输入/输出引脚C28xGPIO引脚分配绝大部分是多功能复用引脚,通过GPIOMUX寄存器来选择配置具体的功能。可以独立操作也可以作为外设I/O信号(通过GPxMUX寄存器配置)使用。如果引脚工作在数字量I/O模式,通过方向控制寄存器(GPxDIR)控制数字量I/O的方向,并可以通过量化寄存器(GPxQUAL)量化输入信号,消除外部噪声信号

GPIO多路复用器的各寄存器如下:3.3通用输入/输出(GPIO)多路复用器GPIOA功能选择控制寄存器GPIOB功能选择控制寄存器GPIOD功能选择控制寄存器GPIOE功能选择控制寄存器GPIOF功能选择控制寄存器GPIOG功能选择控制寄存器GPIOA方向控制寄存器GPIOB方向控制寄存器GPIOD方向控制寄存器GPIOE方向控制寄存器GPIOF方向控制寄存器GPIOG方向控制寄存器GPIOA输入量化寄存器GPIOB输入量化寄存器GPIOD输入量化寄存器GPIOE输入量化寄存器C28xGPIO寄存器结构GPIOAMuxControlRegister(GPAMUX)GPIOADirectionControlRegister(GPADIR)GPIOAGPIOBMuxControlRegister(GPBMUX)GPIOBDirectionControlRegister(GPBDIR)GPIOBGPIODMuxControlRegister(GPDMUX)GPIODDirectionControlRegister(GPDDIR)GPIODGPIOEMuxControlRegister(GPEMUX)GPIOEDirectionControlRegister(GPEDIR)GPIOEGPIOFMuxControlRegister(GPFMUX)GPIOFDirectionControlRegister(GPFDIR)GPIOFGPIOGMuxControlRegister(GPGMUX)GPIOGDirectionControlRegister(GPGDIR)GPIOGInternalBusGPIOA,B,D,EincludeInputQualificationfeature如果多功能引脚配置成数字I/O模式,芯片将用寄存器来对相应的引脚进行操作。GPxSET寄存器设置每个I/O信号GPxCLEAR寄存器清除每个I/O信号GPxTOGGLE寄存器反转触发各个I/O信号GPxDAT寄存器读写各个I/O信号。GPIO数据寄存器如下GPIOA数据寄存器GPIOB数据寄存器GPIOD数据寄存器GPIOA置位寄存器GPIOB置位寄存器GPIOD置位寄存器GPIOA清零寄存器GPIOB清零寄存器GPIOD清零寄存器GPIOA取反寄存器GPIOB取反寄存器GPIOD取反寄存器GPIOE数据寄存器GPIOF数据寄存器GPIOG数据寄存器GPIOE置位寄存器GPIOF置位寄存器GPIOG置位寄存器GPIOE清零寄存器GPIOF清零寄存器GPIOG清零寄存器GPIOE取反寄存器GPIOF取反寄存器GPIOG取反寄存器GPIO的数据输入功能和外设输入功能的路径总是畅通的,而数字输出功能和外设输出功能要通过多路开关切换。引脚的输出缓冲器总是连回到输入缓冲器,所以

温馨提示

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

评论

0/150

提交评论