单片机资料XC866存储器结构.ppt

上传人:小飞机 文档编号:6449718 上传时间:2023-11-01 格式:PPT 页数:30 大小:528KB
返回 下载 相关 举报
单片机资料XC866存储器结构.ppt_第1页
第1页 / 共30页
单片机资料XC866存储器结构.ppt_第2页
第2页 / 共30页
单片机资料XC866存储器结构.ppt_第3页
第3页 / 共30页
单片机资料XC866存储器结构.ppt_第4页
第4页 / 共30页
单片机资料XC866存储器结构.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《单片机资料XC866存储器结构.ppt》由会员分享,可在线阅读,更多相关《单片机资料XC866存储器结构.ppt(30页珍藏版)》请在三一办公上搜索。

1、XC866的存储器结构,存储器结构,XC866 的CPU 可寻址以下五个地址空间:8 K 字节启动ROM(Boot ROM)程序存储器 256 字节内部RAM数据存储器 512 字节XRAM存储器(XRAM可作为程序存储器或外部数据存储器进行读写)128 字节SFR 区 8/16K 字节Flash 程序存储器(Flash 器件);或8/16K 字节ROM程序存储器,外加4K 字节Flash(ROM器件)图1 所示为16K 字节Flash 器件的存储器地址空间分配。对于8K 字节的Flash器件,不包括阴影标出的P-Flash Bank。,程序存储器,使用一个专用接口将CPU 和程序存储器直接相

2、连(而不用任何引脚连接),CPU的性能得到了优化。这意味着在每个时钟的上升沿均能取代码。因此,这里不存在“内部”或“外部”程序存储器的概念,因为所有的代码均从同一个程序存储器接口存取。0000H是系统启动地址,一般在该单元中存放一条绝对跳转指令。0003H,000BH,0013H,001BH,0023H等分别对应各种中断源的中断服务程序的入口地址。,数据存储器,数据存储器由内部和外部存储器组成。数据存储器的“内部”和“外部”标记用来区分寄存器存储器和使用“MOVX”指令存取数据的64K 字节数据存储器。该外部标记并不是暗指外部数据存储器位于片外。,内部数据存储器,内部数据存储器被划分为物理上分

3、开的两个截然不同的区域:256 字节RAM和128 字节SFR。RAM的高128 字节和SFR 区共用相同的地址段,通过不同的寻址方式访问。RAM的低128 字节可通过直接寻址或寄存器间接寻址方式访问;RAM的高128字节只能通过寄存器间接寻址方式访问;SFR 只能通过直接寻址方式访问。RAM的地址段20H 到2FH 的16 个字节可位寻址;地址段30H 到7FH 可用作暂存寄存器或堆栈。,外部数据存储器,512 字节的XRAM被映射为外部数据存储器区和程序存储器区。可用“MOVX”和“MOVC”指令访问。访问XRAM的“MOVX”指令使用8 位或16 位间接地址。DPTR 寄存器用作16 位

4、寻址;寄存器R0 或R1 用来构成8 位地址。执行8 位访问期间,XRAM地址的高位字节由寄存器XADDRH 中的值定义。因此,设置寄存器XADDRH 中XRAM高位地址的写指令必须在“MOVX”指令之前。,存储器保护策略,XC866 存储器保护策略包括:读保护:用户能够保护Flash(对于Flash 器件)和ROM(对于ROM器件)的内容不被读取。通过BSL 模式6 设置一个有效密码(8 位非零值)来使能Flash 保护。通过ROM掩膜来使能ROM保护,必须由用户定义。Flash 编程和擦除保护:该特性仅适用于Flash 器件,和读保护一起被使能。,Flash 存储器保护,Flash 存储器

5、保护仅适用于Flash 器件,提供了2 种保护模式:模式0:只保护P-Flash;不保护D-Flash。模式1:P-Flash 和D-Flash 均被保护。每种保护模式的选择以及所加限制总结见表 3-1。,Flash 保护模式0 下,只有当寄存器MISC_CON 中的位DFLASHEN 置位为1,才能对D-Flash bank 进行擦除操作。在每次擦除操作结束时,DFLASHEN 由硬件自动清零。因此,在每次D-Flash 操作之前,必须置位DFLASHEN。D-Flash 在系统擦除过程中,由引导程序加载器(BSL)程序进行DFLASHEN 的设置;在每次启动D-Flash 在应用擦除之前,

6、必须由用户的应用程序置位DFLASHEN。额外的步骤用于防止对DFlash内容的无意破坏。,用于使能Flash 保护的BSL 模式6,也可用于禁止Flash 保护。此时,必须由用户提供密码。匹配密码时,被保护的P-Flash 和D-Flash 中的内容连同所设定的密码均被自动擦除。下一次复位后,Flash 保护失效。尽管无保护机制被认为是可靠的,XC866 存储器保护策略为通用微控制器提供了一个高级别的保护。注:如果ROM读保护被使能,只有ROM存储器中的读指令可访问ROM的内容。,特殊功能寄存器,特殊功能寄存器(SFR)占据内部数据存储器的地址段80H 到FFH。除程序计数器之外的所有寄存器

7、均位于该SFR 区。这些SFR 包括为CPU 和片内外设提供接口的指针和寄存器。内部数据存储区中共有128 个SFR,小于所需的寄存器总数,从而需要采用地址扩展机制来增加可寻址SFR 的数目。地址扩展机制包括:映射 分页,映射地址扩展,在系统级通过映射进行地址扩展。SFR 区被扩展为两部分:标准(非映射)SFR区和映射SFR 区。两个SFR 区占据相同的地址段80H 到FFH,从而使可寻址的SFR 个数扩展到256 个。选择扩展地址区不由CPU 指令直接控制,而是由位于地址8FH 上的系统控制寄存器SYSCON0 中的位RMAP 来控制。置位SYSCON0 中的RMAP,控制访问映射SFR 区

8、时;然而,对RMAP 清零,控制访问标准SFR 区。,注:RMAP 位必须由ANL 或ORL 指令清零/置位。SYSCON0 的其余各位不应修改。只要RMAP 被置位,即可访问映射SFR 区。该位不可由硬件自动清零。因此,访问标准/映射寄存器前,必须由软件对位RMAP 分别清零/置位。,SFR 区的选择如图 3-2 所示:,分页地址扩展,在模块级通过分页进一步扩展地址。映射地址扩展使XC866 的SFR 个数达到256个,但即使这样,SFR 的数目仍小于片内外设所需的SFR 总数。为了满足SFR 的数目要求,某些外设采用内嵌局部地址扩展机制,增加可寻址SFR 的数目。选择扩展地址区不由CPU

9、指令直接控制,而是由模块分页寄存器MOD_PAGE 中的位域PAGE 来控制。因此,在访问目标模块的SFR 前,必须先设置位域PAGE。根据具体要求,每个模块中可能包含的页数不同,每页上SFR 的个数不同。除了正确设置RMAP 值来选择SFR 区之外,用户必须确保选择了有效的PAGE 指向所要的SFR。页的选择如图 3-3所示。,如果在访问分页寄存器和模块寄存器之间开始执行某个中断服务程序,且中断需要访问位于另一页上的寄存器,保存当前页设置,然后设置新页,最后恢复原先页设置。可以用保存域STx(x=0-3)来保存和恢复当前页的设置。同时指出应使用哪些保存域和新页值,单独用写操作即可完成:PAG

10、E 中的内容在被新值覆盖之前保存在STx 中(在中断服务程序开始处保存当前页设置,并设置新页编号);或 用STx 中的内容覆盖PAGE 的内容,对写入PAGE 的值不予理睬(在中断服务程序结束时恢复中断发生之前上一次的页设置)通过这种分页机制,中断服务程序(或其他程序)无需读出并保存上次使用的页信息即可改变页的设置。仅用写操作使系统更加简单和高速。从而显著地改善了小中断服务程序的性能。,XC866 的以下外设支持局部地址扩展:并行端口 模数转换器(ADC)捕获比较单元(CCU6)系统控制寄存器,分页寄存器定义如下:,位寻址,以格式1XXXX000B(如:80H,88H,90H,F0H,F8H)

11、为地址的SFR 均为位可寻址寄存器。这些位可寻址寄存器将在后面章节详细介绍。,系统控制寄存器,系统控制SFR 用来控制整个系统的功能,例如中断,可变波特率的产生,时钟管理,位保护方案,振荡器(OSC)和锁相环(PLL)控制。这些SFR 位于标准存储器区(RMAP=0),组织成两页。SCU_PAGE 寄存器位于地址BFH,包含分页值和页控制信息。,位保护方案,位保护方案通过PASSWD 寄存器来阻止软件对选择位直接写入(即被保护位)。当MODE 为11B,位PASS 中写入10011B 会开放所有被保护位的访问权限;位PASS中写入10101B 会关闭所有被保护位的访问权限。注意如果未写入“关闭

12、访问权限”口令,权限最多开放32 个CCLK 时钟周期。如果在32 个CCLK 时钟周期结束前再次写入“开放访问权限”口令,将重新计数32 个CCLK 周期。被保护位包括NDIV,WDTEN,PD和SD。,Boot ROM 工作模式,复位后CPU 开始工作,始终执行程序存储器地址段0000H-1FFFH 的Boot ROM代码。Boot ROM 启动进程首先会把地址空间从Boot ROM切换到C000H-DFFFH,如图3-5 所示。结果是,原先占据地址段C000H-DFFFH 的程序存储器(Flash 或ROM)将被映射到0000H-1FFFH。地址空间切换之后,其余的Boot ROM 启动

13、进程将从C00XH继续执行。这包括检查引脚MBC,TMS 和P0.0 的锁存值以进入所选的Boot ROM 工作模式。Boot ROM不同工作模式的选择请参照后面章节。,用户模式如果(MBC,TMS,P0.0)=(1,0,x),Boot ROM 将跳转到程序存储器的地址0000H 处执行Flash 或ROM存储器中的用户代码。这是XC866 的正常工作模式。引导程序加载器模式如果(MBC,TMS,P0.0)=(0,0,x),将执行位于Boot ROM的引导程序加载器程序,允许对XRAM和Flash 存储器(若片内包括该存储器)编程、擦除和执行。不同的BSL 工作模式请后面章节。,3.5.3 O

14、CDS 模式如果(MBC,TMS,P0.0)=(0,1,0),将进入OCDS 模式进行程序代码的调试。首先初始化OCDS 硬件,接下来跳转到程序存储器的地址0000H 处,执行Flash 或ROM存储器中的用户代码,开始进行调试。在OCDS 模式期间,内部数据存储器的最低64 字节(地址00H-3FH)可选择映射为64 字节的监控RAM或内部数据RAM。3.5.4 用户JTAG 模式如果(MBC,TMS,P0.0)=(1,1,0),Boot ROM将跳转到程序存储器的地址0000H 处,执行Flash 或ROM存储器中的用户代码,和章节3.5.1 所描述的正常工作模式相似。另外,该模式下主JTAG 端口可自动配置以允许热插拔。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号