μpsd中存储器系统的配置

μpsd中存储器系统的配置

ID:10721278

大小:56.50 KB

页数:5页

时间:2018-07-07

μpsd中存储器系统的配置_第1页
μpsd中存储器系统的配置_第2页
μpsd中存储器系统的配置_第3页
μpsd中存储器系统的配置_第4页
μpsd中存储器系统的配置_第5页
资源描述:

《μpsd中存储器系统的配置》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、μPSD中存储器系统的配置

2、第1...介绍μPSD的存储器系统内部结构和配置方法,讨论了相关PSDSOFT软件的使用方法。背景如果对ST公司的μPSD器件有一定了解,熟悉MCS-51系列单片机的内部结构及原理,使用过PSDSOFTEXPRESS和KEIL开发设计,将对理解本文有很大的帮助。MCS-51单片机采用哈佛结构的系统结构,即数据存储器空间与程序存储器空间互相独立。它有16根地址总线,最大寻址能力为64K,这决定程序或数据空间不能超过64K。以上两点是本文所有讨论的前提基础。μPSD的存储器系统结构μPSD由标准803

3、2核和ST公司的PSD(可编程系统器件)构成,存储器系统包含两个主要部分,一是8032的内部存储器资源:256B内部RAM和128B内部特殊功能寄存器SFR;二是PSD中的存储器模块:主/次FLASH存储器,扩展的SRAM及控制PSD的CSIOP(Chip-SelectI/OPort,类似于8051的SFR)。μPSD的主/次FLASH是完全相同的存储介质(早期的PSD813F1中的次存储器是EEPROM结构的),是两个独立的存储器。主FLASH通常分4~8块,每块16~32kb;次FLASH通常分2~4块,一般每块为8kb

4、。μPSD中使用译码可编程译码逻辑阵列(DPLD),页寄存器PAGE,存储器控制寄存器VM,联合实现对存储器系统的配置。关于IAP和分页技术为什么μPSD中要有两个FLASH?简单地说,这是为了实现IAP而设计的。IAP就是“在应用中编程或升级代码”,其原理是:单片机中装有一套用户程序和一套代码更新程序。正常情况下,单片机运行的是用户程序;在需要程序升级时,系统会切换到代码更新程序,通过串口或其他通信口下载新的用户程序代码,并写入到原来的用户程序存储器中,更新完成后,再切换回至用户程序。基于MCS-51系统结构特点,在同一个

5、存储器中运行主程序和改写程序是不可能实现的。所有用MCS-51来实现IAP功能的系统都必须有两个独立的存储器。实现IAP的难点在于存储器的切换控制,体现在μPSD中主要就是如何使用VM寄存器以及如何对存储器的片选控制。此外,随着应用要求越来越高,代码长度不断增加,64K的限制已经成为设计中的瓶颈。许多软/硬件供应商都竭力推出自己的方案以实现MCS-51对大于64K的支持,分页技术应运而生。分页设计中最重要的就是公共区和分页区的设置,所谓公共区就是在所有的页面中均为有效的一块存储器区。在程序空间中,64K范围(1页)内的程序是

6、连续的,一旦超过此范围,只保留低16位,最高位将被丢弃,程序会跳回开始处运行。保证程序在页面切换时不会“跑飞”就是通过公共区实现的。分页技术的实现方法是:当程序在调用位于分页区的程序时,首先保存返回地址,然后转跳到公共区执行,再修改页寄存器到新的页号实现页面的切换,调用程序,返回到公共区,恢复原来页号,最后从保存的返回地址返回。公共区的大小由用户自行设定,在μPSD中通常使用主/次FLASH中的一块或多块作为公共区,如使用1块次FLASH即8KB,2块次FLSAH即16KB,1块主FLASH则是32KB,若只想使用主FLAS

7、H中的20KB作公共区也是可行的,只要将主FLASH的地址范围只定义为20K的范围就可以了。当然,公共区的大小不能超过64K。公共区必须设在64K范围的低端,这是因为MCS-51中断入口地址的原因。公共区中保存所有的公用子程序,中断服务程序,全局常数表以及系统的初始化部分及页面切换程序。μPSD存储器的空间配置μPSD中存储器系统配置主要是对程序空间的设置,相对而言数据空间的配置稍微简单一点。μPSD中主/次FLASH可设置为程序或数据空间,这是由VM寄存器决定的,VM寄存器的作用如表1所示。VM的内容可在运行时由MCU进行

8、修改,这是实现IAP的关键。在PSDSOFT软件流程中可设置主/次FLASH为程序、数据存储器或程序/数据混合存储器,实际上就是对VM寄存器上电时的默认值进行设置,换句话说,就是确定上电时主/次FLASH分别位于什么空间。表1VM寄存器各位作用500)this.style.ouseg(this)">表中,“#RD可以/不能访问”是指此存储器是否位于数据空间,“#PSEN可以/不能访问”是指此存储器是否位于数据空间,因为在MCS-51系统中对外部数据/程序空间的访问就是通过#RD和#PSEN进行区分的。举例说明:VM=0CH,

9、表示主FLASH位于程序空间,次FLASH位于数据空间;VM=16H,表示主FLASH位于数据和程序空间,次FLASH位于程序间。位0用来指定SRAM是否位于程序空间,因为SRAM只在数据空间有效。位7用来指示外设IO模式的允许与禁止,具体将在后面介绍。图1可帮助对VM寄存器作用的理解。图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。