新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > SM2965微控制器及其ISP应用技术

SM2965微控制器及其ISP应用技术

作者:时间:2012-03-06来源:网络收藏

“在系统编程”(In-SystemProgramming,简称)技术的出现是对传统编程方法的重大突破,它是指在用户设计的微系统中为配置新的系统功能而对器件进行重新编程,并在线地将程序代码(固件)下载到程序存储器中的一种编程技术,继SST公司推出具备功能的FlashFlex51系列微之后,PHILS、WINBOND、LG、 ATMEL、SynC- MOS等公司都相继推出了具有ISP/IAP(In-Appli-cation Programming)功能的51系列微,这些器件的增强性能主要表现在下面几方面:
  (1)内部ROM采用FLASH存储器,容量可达32~64k字节,内部RAM容量可达512~1024个字节;
  (2)增加了特殊功能寄存器,以增强控制功能;
  (3)内部配置有看门狗定时器复位电路;
  (4)为降低EMI,可禁止ALE输出;
  (5)具有双DPTR指针。

本文引用地址:http://www.eepw.com.cn/article/171949.htm

这些功能使得微控制器的外部扩展进一步得到简化,从而形成了真正的“单片”结构。笔者在POS收费终端机中更换了SynCMOS公司的作为主处理器,因此,不用修改其它硬件,而仅利用微控制器串行口即方便地实现了ISP功能,本文将对的ISP功能和使用方法加以介绍。

1 的主要特点

和标准80C52相比,SM2965具有以下特点:
  ●编程电压为5V;
  ●集成了64k字节片内FLASH存储器(包括实现ISP功能的下载程序空间);
  ●实现ISP功能下载程序空间可设置为N×200H(N=0~8);
  ●具有256字节的片内RAM+768字节的片内扩展RAM(ERAM);
  ●内含看门狗定时器;
  ●对PLCC和QFP封装型号增加了P4口,即:P4.0~P4.3;
  ●为降低EMI,在不需要时,可禁止ALE信号输出;
  ●复位后,如硬件检测程序存储器空间0000H地址为空,则可自动执行ISP功能程序。

2 SM2965的存储器结构

2.1 程序存储器

SM2965内部集成了64k字节的FLASH存储器作为程序存储器,其地址范围为00000H~0FFFFH,可用于存放执行用户程序的应用程序和执行ISP功能的下载程序。

执行ISP功能的下载程序空间最大可配置到4k字节,空间大小为N×200H字节,N为0时表示不配置下载程序,64k字节FLASH存储器将全部用于应用程序;N为1时表示0FE00H~0FFFFH共有200H个字节配置给下载程序空间来使用,而N=8则表示下载程序空间达到最大配置,为4k字节。具体的程序空间组成如图1所示。0FFFFH~(N×200H)为下载程序的入口地址。从0000H~FDFFH供应用程序使用;……;N的大小只能通过商用编程器来配置。一旦在编程器上配置了N≠0,那么,在系统中便无法再改变ISP空间的配置。

51.jpg

2.2 数据存储器

SM2956在标准的80C52内核的基础上增加了768字节的片内扩展数据存储器Expanded Ram(ERAM),这使得片内数据存储器的总容量达到1k字节。其数据存储器组成如图2所示。另外,还增加了8个特殊功能寄存器,以用于实现 SM2965的增加功能。表1所列为SM2965增加的特殊功能寄存器。

3 特殊功能寄存器

3.1 ISP特殊功能寄存器

与ISP功能有关的特殊功能寄存器有FAH、FAL、FDAT、SCONF和FCR,其中FAH×256+FAL为编程状态下的目标地址,FDAT为编程数据。SCONF为系统控制寄存器,SCONF中的位2与ISP功能有关,而3~6位则保留未用。SCONF的复位状态为00000010B; SCONF的各位定义如下:

52.jpg

其中,WDR为看门狗定时器溢出位;OME为片内扩展数据存储器ERAM选择位,1选择片内,0选择片外;ALEI为ALE输出禁止位;ISPE为ISP 功能总允许/禁止位,1表示允许,0表示禁止。将ISPE设置为0可屏蔽全部ISP功能,因此在执行应用程序时将ISPE设置为0可有效防止FLASH存储器的内容被非法改写。

FLASH控制寄存器FCR在编程时将起关键作用,FCR的2~6位保留未用。FCR复位状态为00000000B。其各位定义如下:

54.jpg

其中,START为ISP功能启动位。START=1,则启动ISP功能,具体功能由F1、F0决定,如表2所列。START=0时,ISP操作无效。

当START置1后,SM2965硬件将自动锁存地址和数据,并获得程序指针控制权,直到ISP功能结束,START自动复位为0为止。下载程序中无须检查START的状态。

FLASH存储器的一个页面为200H字节。执行ISP功能时,需要指定FLASH存储器地址。执行字节编程功能时,FLASH存储器地址为编程字节的目标地址;而在执行页面擦除功能时,该地址则为该页面内的任一地址;而执行整片擦除和芯片写保护的地址则为0000H~0FFFFH范围内任一地址;

执行整片擦除时,SM2965将擦除ISP下载程序空间外的所有FLASH存储器;而执行芯片写保护功能时,SM2965存储器将读出内容全部为“00H”。

3.2 ISP特殊功能寄存器使用举例

例1:编程22H到地址$1005H
MOV SCONF,#04H;开放全部ISP功能
MOV FAH,#10H;目标地址高地址10H
MOV FAL,#05H;目标地址低地址05H
MOV FDAT,#22H;写入数据:22H
MOV FCON,#80H;设置START位为1,启动字节编程功能,将22H固化到1005H,ISP功能结束后,START 自动复位为0,PC指向 下一条指令


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭