TMS320F28XX存储器.docx

上传人:b****5 文档编号:5361932 上传时间:2022-12-15 格式:DOCX 页数:16 大小:135.66KB
下载 相关 举报
TMS320F28XX存储器.docx_第1页
第1页 / 共16页
TMS320F28XX存储器.docx_第2页
第2页 / 共16页
TMS320F28XX存储器.docx_第3页
第3页 / 共16页
TMS320F28XX存储器.docx_第4页
第4页 / 共16页
TMS320F28XX存储器.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

TMS320F28XX存储器.docx

《TMS320F28XX存储器.docx》由会员分享,可在线阅读,更多相关《TMS320F28XX存储器.docx(16页珍藏版)》请在冰豆网上搜索。

TMS320F28XX存储器.docx

TMS320F28XX存储器

第四章存储器

4.1TMS320F28XX系列DSP存储器映射图

存储器的低64k地址映射为240x的数据空间;高64k映射为24x/240x的程序空间。

与24x/240x兼容的代码只能从高64K的地址空间开始执行。

因此,Flash的高32k和SARAM的H0区可以运行24x/240x兼容的代码(MC=0),而且对于F2812,如果MC=1,程序可以从外部扩展存储器的ZONE7块开始执行。

外部扩展存储器由5个独立的ZONE(区段)组成。

其中的一块ZONE有自己的片选信号,其余的4个ZONE区段使用2条信号线进行片选。

每个ZONE区段可以使用自己的时序(等待状态)进行编程,也可以查询或忽略外部READY信号。

这样使DSP与外部存储器更容易、更快速的连接。

注意:

XINTFZone0Zone1使用同一根片选信号

;Zone6Zone7使用

PeripheralFrame1(外设帧1)、PeripheralFrame2外设帧2和XINTFZONE1构成一组“被保护的读写外设块”。

“保护”模式确保这些块在写操作时也可以访问。

因为28x的流水线写操作之后紧跟着一个读操作,对于不同的存储空间,CPU的存储总线将会出现相反的顺序。

当用户想要写优先时,这就会引起问题。

C28x的CPU支持块保护模式,这样当写操作之后的其他操作时,存储器的那段区域可以被保护起来,这时需要增加额外的时钟来调整操作。

模式的选择可以编程获得,也可以选择默认方式,这样可以保护被选择的区域。

对于F2812,重启时如果XMP/

=1则访问XINTFZone7。

XMP/

用来选择微处理器和微控制器方式。

微处理器方式下,Zone7被映射到存储空间高地址,这样中断向量表指向外部。

这种模式下BOOTROM无效。

微控制器方式Zone7无效,这样中断向量表映射到BOOTROM。

这样可以选择从片内或片外存储空间引导程序。

复位时的XMP/

状态被保存在XINTCNF2寄存器的XMP/

标志位。

用户可以在软件中设置这些位来改变BOOTROM和XINTFZone7的映射。

XMP/

不影响其他的存储器区段。

F2812的XINTF不支持I/O空间的扩展。

 

表F2812Flash段地址分配

地址范围

程序和数据空间

0x3D8000

0x3D9FFF

SectorJ,8Kx16

0x3DA000

0x3DBFFF

SectorI,8Kx16

0x3DC000

0x3DFFFF

SectorH,16Kx16

0x3E0000

0x3E3FFF

SectorG,16Kx16

0x3E4000

0x3E7FFF

SectorF,16Kx16

0x3E8000

0x3EBFFF

SectorE,16Kx16

0x3EC000

0x3EFFFF

SectorD,16Kx16

0x3F0000

0x3F3FFF

SectorC,16Kx16

0x3F4000

0x3F5FFF

SectorB,8Kx16

0x3F6000

SectorA,8Kx16

0x3F7FF6

0x3F7FF7

Boot-to-Flash入口地址

0x3F7FF8

0x3F7FFF

保密位(128-bit)

 

表F2810Flash段地址分配

地址范围

程序和数据空间

0x3E8000

0x3EBFFF

SectorE,16Kx16

0x3EC000

0x3EFFFF

SectorD,16Kx16

0x3F0000

0x3F3FFF

SectorC,16Kx16

0x3F4000

0x3F5FFF

SectorB,8Kx16

0x3F6000

SectorA,8Kx16

0x3F7FF6

0x3F7FF7

Boot-to-Flash入口地址

0x3F7FF8

0x3F7FFF

保密位(128-bit)

 

4.2片内存储器

存储器总线(哈佛总线结构)

许多DSP芯片使用多种总线处理存储器、外设和CPU之间的数据。

C28x存储器总线包括程序读总线、数据读总线和数据写总线。

程序读总线由22位地址线和32位数据线构成。

数据读和写总线由32位地址线和32位数据线构成。

32位的数据总线使32位的单周期操作成为可能。

这种称为“哈佛结构总线”的多总线的结构使得C28x在单周期实现取址、读写数据。

当所有的外设和存储器访问存储器总线时,优先考虑存储器。

访问存储器总线的优先级列表如下;

最高级:

DataWrites

ProgramWrites

DataReads

ProgramReads

最低级:

Fetches

(仿真时的数据和程序写不会发生在存储器总线上)

(仿真时的程序读和取址不会发生在存储器总线上)

外设总线

为了能在TIDSP系列中移植外设,F2810和F2812采用了外设总线标准来使能外设的连接。

外设总线桥将各种总线及处理器“存储器总线”整合成单一的总线,此总线由16位地址、16/32位数据和一些控制信号构成。

F2810和F2812支持2种外设总线,一种为PeripheralFrame2,只支持16位访问,此类与C240X相兼容;另外一种支持16/32称为PeripheralFrame1。

4.2.1RAM

M0,M1(SARAM)

所有的C28X器件都包含这2块1kx16的SARAM(单口RAM)。

复位时,堆栈指针指向M1的起始处。

M0与240x系列器件的B0、B1、B2RAM相重叠,因此240x器件映射的数据变量可以保存在C28x器件的相同物理空间。

像所有的c28x存储器一样,M0M1既可以映射为数据存储器,也可以映射为程序存储器。

因此可以用M1M0存储程序代码,也可以存放数据变量。

这种分割是在连接器(LINKER)中实现的。

C28x器件提供了未定义的存储器映射。

这样使用高级语言编程更方便。

L0L1H0(SARAM)

F2810和F2812包含额外的16Kx16的SARAM(分为4k+4k+8k)。

每块都可以单独访问因此使管道延时最小化。

同时,每块都可以被映射为程序空间和数据空间。

4.2.2FLASH

F2812包含128kx16的片内flash存储器和2kx16片内OTP存储器。

其中Flash分为4个8kx16段和6个16kx16段。

用户可以单独的对其中任意一段进行擦写、编程和验证,而不必更改其他的段。

特殊的存储管道技术使Flash模块发挥更大的性能。

这些Flash/OTP映射到程序空间和数据空间,所以可以用来存放应用程序或数据。

而F2810包含64kx16的片内flash存储器和2kx16片内OTP存储器。

NOTE:

因为OTP存储器的一部分保留为TI测试使用,所以用户使用的OTP不应超过1kwords。

4.2.3BOOTROM

BootROM是出厂时的引导程序。

引导模式信号使引导软件知道上电时使用的是何种引导模式。

通常用户可以从外部扩展引导或下载新程序,也可以选择片内FLASH引导程序。

BootROM也包含标准的表,如数学算法中的SIN/COS函数。

4.2.4Security(保密性)

F2812F2810提供较高性能的保密性以确保用户的程序被非法读出。

用户可以烧写128-bit的密码到片内flash。

Csm模块用来保护FLASH/OTPL0/L1SARAM等,保密特性防止非法用户经由JTAG口查看存储器内容,从外部运行代码或尝试运行输出保密内容的非法软件。

为了是使能保密模块,用户必须写入正确的128-bit密码值,这些密码值必须与FLASH内存储的密码相一致。

4.3外部存储器接口

XINTF(扩展接口仅F2812)(P24)

扩展异步接口由19位地址信号、16位数据信号和3位片选信号构成。

这些片选信号可以映射5段扩展Zones,分别为Zone0、Zone1、Zone2、Zone6、Zone7。

Zone0和Zone1共使用一条片选信号线,Zone6和Zone7也共使用一条片选信号线。

可以通过编程设定每个Zone的等待状态、选通信号建立和维持时间,?

这些功能使DSP可以实现和扩展存储器和扩展外设的接口。

(P34)

外部接口不是复用异步总线。

与C240x的相似。

外部接口映射为下图五个部分。

notes:

1XINTFZone7由XMP/

和MP/MC模式位(XINTCNF2寄存器)决定。

而Zones0,1,2,6总有效。

2每个zone可以单独编程等待、建立和维持时限,每个zone可以单独的选择(),这样使DSP与外部存储器更容易、更快速的连接。

3zone0和zone1的片选由一个信号,连接任何外部存储器被同时映射为Zone0和Zone1

4zone6和zone7的片选由一个信号,连接任何外部存储器被同时映射为Zone0和Zone1

就是说若MP/MC=0,Zone7被屏蔽,但Zone6仍有效。

5F2810也有XCLKOUT信号输出

外部接口的控制和定时操作由下表的寄存器控制:

 

名字

地址

大小(x16)

祥解

XTIMING0

0X000B20

2

XINTFTiming寄存器,可以用2个16位或1个32位寄存器访问Zone0

XTIMING1

0X000B22

2

XINTFTiming寄存器,可以用2个16位或1个32位寄存器访问Zone1

XTIMING2

0X000B24

2

XINTFTiming寄存器,可以用2个16位或1个32位寄存器访问Zone2

XTIMING6

0X000B2C

2

XINTFTiming寄存器,可以用2个16位或1个32位寄存器访问Zone6

XTIMING7

0X000B2E

2

XINTFTiming寄存器,可以用2个16位或1个32位寄存器访问Zone7

XINTCNF2

0X000B34

2

XINTFConfiguration(配置)寄存器,可以用2个16位或1个32位寄存器访问Zone0

XBANK

0X000B38

1

XINTFBANK控制寄存器

XREVISION

0X000B3A

1

XINTF修订寄存器

定时寄存器

XINTF信号时序可以配合特殊的外部设备需要,例如建立、维持选通信号的时间来避免竞争及最优化总线效率。

每个Zone的定时参数都可以设定。

这样编程者可以根据所要访问的存储器或外设类型最优化总线效率。

所有的XINTF定时值都是以XTIMCLK为基准,XTIMCLK的频率是SYSCLKOUT的一半,如下图所示:

XTIMCLK与SYSCLKOUT的关系图

 

XTIMING寄存器的参数定义如下:

BIT

名字

操作

复位

描述

1:

0

XWRTRAIL

R/W

1,1

此2位定义在XTIMCLK中的写操作滞后周期,若X2TIMING=0表示从0,1,2,3;若X2TIMING=1表示从0,2,4,6;

4:

2

XWRACTIVE

R/W

1,1,1

此3位定义XTIMCLK中写操作有效的等待周期,X2TIMING=0表示从0,1,2,3,4,5,6,7;若X2TIMING=1表示从0,2,4,6,8,10,12,14;

注:

1如果USEREADY=0(使用XREADY),则XWRACTIVE必须>=1

2若有效周期默认为1个周期,则总的有效周期则为1+XWRACTIVE

6:

5

XWRLEAD

R/W

1,1

此2位定义在XTIMCLK中的写操作超前周期,若X2TIMING=0表示从1,2,3;若X2TIMING=1表示从2,4,6;

8:

7

XRDTRAIL

R/W

1,1

此2位定义在XTIMCLK中的读操作滞后周期,若X2TIMING=0表示从0,1,2,3;若X2TIMING=1表示从0,2,4,6;

11:

9

XRDACTIVE

R/W

1,1,1

此3位定义XTIMCLK中读操作有效的等待周期,X2TIMING=0表示从0,1,2,3,4,5,6,7;若X2TIMING=1表示从0,2,4,6,8,10,12,14;

注:

1如果USEREADY=1(使用XREADY),则XWRACTIVE必须>=1

2若有效周期默认为1个周期,则总的有效周期则为1+XWRACTIVE

13:

12

XRDLEAD

R/W

1,1

此2位定义在XTIMCLK中的读操作超前周期,若X2TIMING=0表示从1,2,3;若X2TIMING=1表示从2,4,6;

14

USEREADY

R/W

1

=1时,XREADY被用来更进一步拓展XRDACTIVE和XWRACTIVE定义的最小操作的有效周期

=0时,XREADY无效

15

READYMODE

R/W

1

=1XREADY输入信号为异步;=0时输入信号为同步

17:

16

XSIZE

R/W

1,1

外部总线宽度:

Bit17Bit16

1116-Bit

10保留

11保留

00保留

这些位必须设定为1,1。

其他状态为保留,若使用啃引起XINTF的错误操作

21:

18

Reserved

R

0

保留

22

X2TIMING

R/W

1

此位是timing寄存器的超前,有效,滞后值的比例因子,=0,比例值为1:

1,=0,比例值为2:

1。

上电和重启的默认值为2:

1模式。

31:

23

Reserved

R

0

访问XINTF的最小时间设定如下:

1当没有使用XREADY

最小的选通信号为Lead=1,Active=0,trail=0

因此不允许设L=0,A=0,T=0

(可以设定L=1,A=0,T=0;L=1,A=1,T=0;L=1,A=0,T=1等)

2当使用XREADY

最小的选通信号为Lead=1,Active=1,trail=0

因此不允许设L=0,A=0,T=0

(可以设定L=1,A=1,T=0;L=1,A=1,T=1等)

对于非法的设定没有电路可以检测。

XINTCNF2寄存器位定义

类别

名字

复位

描述

1:

0

R/W

WriteBuffer

Depth

0,0

2

R/W

CLKMODE

Mode

1

3

R/W

CLKOFF

0

4

R

Reserved

1

5

R

Reserved

0

7:

6

R

WLEVEL

0,0

8

R/W

MP/MCMode

9

R/W

HOLD

0

10

R

HOLDS

输入信号

11

R

HOLDAS

输入信号

15:

12

X

Reserved

0

18:

16

R/W

XTIMCLK

0,0,1

XBANK寄存器位定义

类别

名字

复位

描述

2:

0

R/W

BANK

5:

3

R/W

BCYC

14:

6

X

保留

15

R/W

保留

XREVISION寄存器

XREVISION寄存器包含一组特殊的数来识别产品中XINTF的版本。

对F2812而言,此寄存器的配置如下:

名字

类别

复位

描述

15-0

REVISION

R

0x0004

当前的XINTF版本。

内部使用。

测试用。

待于改进。

4.4等待状态发生器

存储器空间各区段的等待状态表

区域

等待状态

描述

M0&M1(SARAM)

0-等待

PeripheralFrame0

0-等待

包括Flash寄存器

PeripheralFrame1

0-等待(Write)

2-等待(Read)

如果外设输入产生ready信号则时钟周期增加等待

PeripheralFrame2

0-等待(Write)

2-等待(Read)

外设不能增加浮点的时钟周期

L0&L1(SARAM)

0-等待

OTP

编程时最小0-等待

经由Flash寄存器编程

Flash

编程时最小0-等待

经由Flash寄存器编程

H0(SARAM)

0-等待

Boot-ROM

0-等待

XINTF

编程时最小1-等待

经由XINTF寄存器编程

外部存储器可以增加时钟周期

不可能为0-等待

机会来临抹头就跑

  典型症状:

因为害怕失败,所以不敢尝试新的、更高一层的工作。

  病理分析:

这是何惠最为懊悔的一件事了。

当"兵"当出彩来的她,年底面临一个好机会。

总经理找她谈话,告诉她将有机会竞争一个部门主任的职位,而且总经理亲口告诉她,有资格竞争的人不超过4个,而那3个人谁也没有何惠更了解这个部门的工作,总经理说:

"如果你上,还是有很大机会的。

"话都说到这份上了,换了谁都能明白,总经理对她寄予厚望,这个职位就应该是她的了。

可何惠思前想后,到最后居然回绝了总经理,因为她认为自己还是做具体的业务比较合适,做管理工作没有经验,怕干不好让领导失望。

就这么个理由,阿惠把加薪晋级的大好机会拱手送给了别人。

  实用处方:

当仁不让客气什么

  没有人天生就会做一个新的工作,经验都是在做的过程当中学习和积累出来的,因为害怕失败就放弃机会,没有比这更没出息的了。

你的上级领导也会失望的,不是因为你没做好工作,而是因为你连尝试的意愿都没有。

假如你真的努力做了,即使没有达到领导的预定目标都没什么关系,至少你努力过了。

而拒绝机会意味着什么?

意味着你胆怯、没有勇气,这是不是职场大忌?

人生是一条连续的线条,也是从出生到死亡走过的一条轨迹。

其中可能掀起过巨大的波澜,也可能沉入过低谷。

决定这一切的关键因素,是各人的心态。

主要包括以下几个方面:

  1、好奇心

  从新生命的降临到18周岁成年之前,一般人的好奇心是比较高的。

也有一些人因为父母给的爱不够,初期教育的失败,导致心灵被阻滞,好奇心比常人弱。

成年之后,保持好奇心需要靠自己,只有这样才能有强烈的求知欲,为人生成功奠定基础。

保持好奇心只需要看淡挫折,看透挫折,不怕挫折,及时忘记挫折......想开了,再大的痛苦,睡一个好觉,第二天一切可以重新开始。

  2、激情

  保持好奇心,树立合理的人生目标,就会产生激情。

可惜,大部分成年人都激情不够。

原因也就是好奇心减弱、没有明确目标,本着及时行乐的态度过日子。

  3、诚实

  很多人都喜欢和诚实的人打交道,却常常忘记检讨自己是否诚实。

说话躲躲闪闪,做人畏畏缩缩,内心阴暗,不敢面对自己,斜着眼睛面对他人。

希望别人欣赏自己,却违心地不欣赏他人,就是内心不诚实的体现。

  4、友善

  如果不能很好地理解每一个人不过是地球上60亿个生命之一,不能保持一种与他人和平共处的理念,基本上从日常言行中可以表现出各种各样的不友善。

每个人都可以观察到周围人的这种心态,却常常不易看见自己的内心,可悲的是,从没有人会来告诉你,哪怕是你的父母不也会。

  5、合作

  对于好奇心、激情、诚实、友善这四个方面打分不高的人,别人常常是不太喜欢和他(她)合作的。

而如果缺乏合作的心态,人生想获得成功,唯一的办法可能就是“出家”,去独善其身。

所以,真正健康的心态应该包含合作的心态。

  

  无论过去的生活造就了怎样的心态,不过,从今天开始,如果认识透了,就可以重新开始塑造一种健康的心态。

根据本人的经验,一到两年时间就足矣。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1