中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 存储设计 >>电子行业新闻正文

μPSD中存储器系统的配置

时间:2006/1/9 9:50:00  作者:  来源:ic72  浏览人数:1545
 
 
介绍μPSD的存储器系统内部结构和配置方法,讨论了相关PSDSOFT软件的使用方法。

背景
    如果对ST公司的μPSD器件有一定了解,熟悉MCS-51系列单片机的内部结构及原理,使用过PSDSOFT EXPRESS和KEIL开发设计,将对理解本文有很大的帮助。

    MCS-51单片机采用哈佛结构的系统结构,即数据存储器空间与程序存储器空间互相独立。它有16根地址总线,最大寻址能力为64K,这决定程序或数据空间不能超过64K。以上两点是本文所有讨论的前提基础。

μPSD的存储器系统结构
    μPSD由标准8032核和ST公司的PSD(可编程系统器件)构成,存储器系统包含两个主要部分,一是8032的内部存储器资源:256B内部RAM和128B内部特殊功能寄存器SFR;二是PSD中的存储器模块:主/次FLASH存储器,扩展的SRAM及控制PSD的CSIOP(Chip-Select I/O Port,类似于8051的SFR)。μPSD的主/次FLASH是完全相同的存储介质(早期的PSD813F1中的次存储器是EEPROM结构的),是两个独立的存储器。主FLASH通常分4~8块,每块16~32kb;次FLASH通常分2~4块,一般每块为8kb。μPSD中使用译码可编程译码逻辑阵列(DPLD),页寄存器PAGE,存储器控制寄存器VM,联合实现对存储器系统的配置。

关于IAP和分页技术
    为什么μPSD中要有两个FLASH?简单地说,这是为了实现IAP而设计的。IAP就是 “在应用中编程或升级代码”,其原理是:单片机中装有一套用户程序和一套代码更新程序。正常情况下,单片机运行的是用户程序;在需要程序升级时,系统会切换到代码更新程序,通过串口或其他通信口下载新的用户程序代码,并写入到原来的用户程序存储器中,更新完成后,再切换回至用户程序。基于MCS-51系统结构特点,在同一个存储器中运行主程序和改写程序是不可能实现的。所有用MCS-51来实现IAP功能的系统都必须有两个独立的存储器。实现IAP的难点在于存储器的切换控制,体现在μPSD中主要就是如何使用VM寄存器以及如何对存储器的片选控制。

    此外,随着应用要求越来越高,代码长度不断增加,64K的限制已经成为设计中的瓶颈。许多软/硬件供应商都竭力推出自己的方案以实现MCS-51对大于64K的支持,分页技术应运而生。

    分页设计中最重要的就是公共区和分页区的设置,所谓公共区就是在所有的页面中均为有效的一块存储器区。在程序空间中,64K范围(1页)内的程序是连续的,一旦超过此范围,只保留低16位,最高位将被丢弃,程序会跳回开始处运行。保证程序在页面切换时不会“跑飞”就是通过公共区实现的。分页技术的实现方法是:当程序在调用位于分页区的程序时,首先保存返回地址,然后转跳到公共区执行,再修改页寄存器到新的页号实现页面的切换,调用程序,返回到公共区,恢复原来页号,最后从保存的返回地址返回。

    公共区的大小由用户自行设定,在μPSD中通常使用主/次FLASH中的一块或多块作为公共区,如使用1块次FLASH即8KB,2块次FLSAH即16KB,1块主FLASH则是32KB,若只想使用主FLASH中的20KB作公共区也是可行的,只要将主FLASH的地址范围只定义为20K的范围就可以了。当然,公共区的大小不能超过64K。公共区必须设在64K范围的低端,这是因为MCS-51中断入口地址的原因。公共区中保存所有的公用子程序,中断服务程序,全局常数表以及系统的初始化部分及页面切换程序。

μPSD存储器的空间配置
    μPSD中存储器系统配置主要是对程序空间的设置,相对而言数据空间的配置稍微简单一点。μPSD中主/次FLASH可设置为程序或数据空间,这是由VM寄存器决定的,VM寄存器的作用如表1所示。VM的内容可在运行时由MCU进行修改,这是实现IAP的关键。在PSDSOFT软件流程中可设置主/次FLASH为程序、数据存储器或程序/数据混合存储器,实际上就是对VM寄存器上电时的默认值进行设置,换句话说,就是确定上电时主/次FLASH分别位于什么空间。

            表1  VM寄存器各位作用

    表中,“#RD可以/不能访问”是指此存储器是否位于数据空间,“#PSEN可以/不能访问”是指此存储器是否位于数据空间,因为在MCS-51系统中对外部数据/程序空间的访问就是通过#RD和#PSEN进行区分的。举例说明:

  VM=0CH,表示主FLASH位于程序空间,次FLASH位于数据空间;

  VM=16H,表示主FLASH位于数据和程序空间,次FLASH位于程序间。

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

图1 μPSD中存储器系统结构

    如图1所示,VM位0~4与#RD、#PSEN联合实现对主/次FLASH及SRAM的选择。这里是通过输出允许#OE信号进行控制的,也就是说即使存储器的地址有效(CS有效),如果#OE无效,也不能访问到此存储器的内容。主/次FLASH的#OE有两个有效输入项,由VM位3/4控制#RD是否起作用,VM的1/2位来控制#PSEN是否起作用。在VM的各位确定后,可依图1画出简化的配置结构。这里的#OE信号是对主/次FLASH的每一块同时有效的。

    在实现IAP时,通过VM来实现对主/次FLASH的空间进行换,例如,主FLASH作用户程序,次FLASH用作升级程序;正常工作时,主FLASH作程序空间,运行用户代码,在进行程序升级时,将次FLASH切换作程序空间,并运行次FLASH中的升级程序,再把主FLASH换到数据空间,对主FLASH中的用户代码进行更新。

μPSD存储器的地址配置
    μPSD中对存储器地址分配需遵守以下规则:
  规则1.主/次FLASH块FS0~FS7,CSBOOT0~CSBOOT3的地址范围不能大于其物理尺寸;

  规则2.主FLASH块FS0~FS7之间地址不能重叠;

  规则3.次FLASH块CSBOOT0~CSBOOT3之间地址不能重叠;

  规则4.SRAM、I/O、外设I/O地址不能重叠;

  规则5.主FLASH,次FLASH和SRAM,I/O,外设I/O,若地址重叠,存储器有效优先级为SRAM、I/O、外设I/O最高,次FLASH次之,主FLASH最低。

    在PSDSOFT设计中,若违反规则2、3、4会出现错误,必须修改才能进行下一步;而违反规则1只会发出警告,如果忽略一定要小心。规则5属于解释型规则,不会提出任何提示,注意地址重叠情况下优先级低的存储器不能被访问。
    μPSD中通过DPLD对每个存储器的地址进行分配,DPLD的结构如图2所示。

图2 DPLD的结构

    DPLD包括“与”阵列和“或”阵列,“与”阵中有输入项共57项,“或”阵中有输出项共16项。输入项表示可参于地址译码的信号,输出项即每个存储器的CS信号。

    DPLD的输入项中最常用的是A0~A15,页寄存器PGR0~PGR7,#RD、#PSEN、#WR、ALE。PDN是在功率管理时使用,如果在地址中加入PDN,表示只有在电源有效时地址译码才有效,通常这项是自动加入的,使用者可不用管。

    DPLD的输入项和输出项不是必须全部配置的。在对μPSD的存储器进行地址配置时,一个最重要的原则是“不超过64KB就不要分页,没有使用到的块就不必配置”。对于小的项目中没有使用到所有存储器,不用去配置,这样既简单,减少出错,又方便调试和检查。除CSIOP是必须配置的外,其他项均可根据需要进行配置。

    PSEL由外设I/O模式控制,在PIO模式下,PA口的所有I/O被设置为三态、双向MCU数据缓冲器方式,与MCU的P0口有些类似。DPLD中必须声明PSEL0和/或PSEL1的有效地址范围,在访问此地址时,PA口进入PIO方式。前面所述的VM寄存器中第7位是PIO模式允许/禁止控制,PIO模式的内部控制结构如图3所示。为避免PSEL0和PSEL1所指定的范围在程序/数据空间都有效,应在PSEL0和PSEL1中加入“!#PSEN”信号,以保证PIO模式仅在访问数据空间时有效。
       图3 PIO模式内部控制结构

使用PSDSOFT对μPSD进行配置和编程
    μPSD中PAGE是一个8位寄存器,最多可实现256个页面,PAGE寄存器与地址范围的配置是同时起作用的。如果你的系统中不论是程序还是数据存储器的设计超出了64k,必须要分页。   μPSD的PAGE寄存器的8位可以独立使用,在PSDSOFT中可定义为两种方式,即PAGING和LOGIC。PAGING就是作为分页使用,LOGIC是作为一般逻辑输入功能,类似于PLD中的节点NODE,或者CPLD中的宏MACRO。作为PAGING时,必须从最低位开始,使用N位作为PAGING,可实现2N个页面的分配,即存储器的地址配置中有2N个页面可选择。使用作为LOGIG时必须从高位开始使用,可以为之定义一个名字,可用作DPLD的输入项。MCU在运行时可以对PAGE的进行读/写操作,但是不能按位操作,也就是说必须先屏蔽再修改。

    在程序和数据均不超过64K时,不必分页,PGR0~PGR7不参加译码。现在的PSDSOFT软件中不要求用户再写地址方程式,只需要填写地址范围可以了。不使用分页时,片选的PGAE NUMBER就不能填任何值,如果填“0”则表示位于页0。在PSDSOFT中对公共区的设置方法很简单,只要不填作为公共区的存储器的片选中的“PAGE NUMBE”就可以了。

μPSD存储器配置实例
    作为本文的结束,举一个典型的 μPSD应用实例,读者可参考其存储器的配置方案。

    使用μPSD3234A-40U6器件,将FS0~FS7用作程序/数据存储器,地址在8000H~0FFFFH,分别位于页0至页7;CSBOOT0~CSBOOT3作为程序存储器,作为公共区,地址是0000H~7FFFFH。扩展SRAM位于0000H~1FFFH,CSIOP位于7F00H~7FFFH,用户I/O空间定义为7E00H~7EFFH。

    这样的存储器配置能够满足大多数分页项目的设计要求,使用了μPSD的所有存储器,不仅最大化了程序空间和数据空间,也能实现IAP功能。此方案中程序空间可达256K+32K,数据空间是256K(FLASH)+8K(SRAM)。用户可根据实际应用项目对配置进行简单修改,去掉没有使用的存储器配置。

    如果用户项目中要求实现IAP或者对主FLASH数据存储器进行擦除/修改,请一定要注意,升级代码或对FLASH进行擦除/修改操作的程序必须放于公共区,即次FLASH中。

 
【相关文章】
·常忆针对供应程序与数据储存应用推出高速SPI闪存
·μPSD中存储器系统的配置
·数据保护 连续进行----解析CDP的技术及应用
·日立携手瑞萨开发MOS相位转换存储器单元 1.5V电压条件下可编程
·同有结合NetApp产品助科技部卫星统一存储架构
·存储区域网络(SAN)如何应对风险和威胁的防御
·飞利浦推出新型DDR2寄存器,优化DIMM负载
·最新MOS相位转换存储器单元只需100μA的编程电流
·硬盘未来增容的动力与磁录密度的历史发展趋势
·LSI逻辑推Engenio 6498系列存储解决方案新品
·安捷伦推出新型数字存储示波器和混合信号示波器
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9