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

发布者:温暖的拥抱最新更新时间:2012-02-18 来源: 国外电子元器件 关键字:ISP  微控制器  UART  快闪存储器  SM2965 手机看文章 扫描二维码
随时随地手机看文章

  “在系统编程”(In-SystemProgramming,简称ISP)技术的出现是对传统编程方法的重大突破,它是指在用户设计的微控制器系统中为配置新的系统功能而对器件进行重新编程,并在线地将程序代码(固件)下载到程序存储器中的一种编程技术,继SST公司推出具备ISP功能的FlashFlex51系列微控制器之后,PHILISPS、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指针。

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

1  SM2965的主要特点

  和标准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空间的配置。


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的各位定义如下:

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

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

  其中,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指向 下一条指令   [page]

  例2:擦除$253CH地址所对应的页面  

  以512字节为一页,则253CH处于页面地址范围为2400H~25FFH,执行下面程序后,该页面将全部写成#0FFH。
    MOV SCONF,#04H;开放全部ISP功能
    MOVFAH,#25H;目标地址高地址25H或24H  
    MOVFAL,#3CH;目标地址低地址3CH或任意
    MOV FDAT,#00H;写入数据:00H或任意
    MOV FCON,#82H;设置START位为1,启 动
  页面擦除功能。ISP功 能结束后,START自动复位为0,PC指向下一条指令  
  例3:整片擦除
    MOV SCONF,#04H;开放全部ISP功能
    MOVFAH,#00H;目标地址高地址00H或任意  
    MOVFAL,#00H;目标地址低地址00H或任意
    MOVFDAT,#00H;写入数据:00H或任意
    MOVFCON,#83H;设置START位为1,启动整片擦除功能。ISP功能结束后,START自动复位为0,PC指向下一条指令

4  M2965的在系统中编程方法

4.1  实现ISP功能的硬件电路  

  将主机(PC机或服务器)通过一定的通信信道与由SM2965组成的微控制器系统相连,即可将固件下载到SM2965的FLASH存储器中。 SM2965可通过并口或串口与主机相连,通常使用串口更为方便,其硬件连接如图3所示。SM2965串行口的信号时序满足RS232C要求,但电平为 TTL电平,因此,需将TTL电平转换为RS232C电平,转换芯片可使用MC1488/MC14889、MAX232、ICL232等集成电路。

4.2  实现ISP功能的编程方法  

  SM2965的FLASH程序存储器存储有两种程序,分别为执行用户程序的应用程序和执行ISP功能的下载程序。可通过两种途径进入下载程序,一种是在 SM2965上电后,由硬件自动判别FLASH程序存储器0000H地址中的数据是否为“空”(即#0FFH),如不为#0FFH,则从0000H地址处执行应用程序,否则跳转到下载程序的入口地址,其入口地址由通过编程器写入芯片的配置来确定。另一种是从应用程序直接跳转到下载程序入口地址。后者常通过中断启动ISP下载程序。在下载程序执行完毕后,可以通过硬件复位、看门狗复位或直接跳到0000H地址来启动应用程序。通过串行口中断来启动ISP操作的软件流程如图4所示,而主机控制ISP的流程如图5所示。为了防止数据在传输过程中出现误码,通常在发送数据包的过程中,还必须加入CRC校验以用于纠错。

  以上叙述的是UART通信,使用中也可以选择其它通信方式:如RF、IR、CAN、LAN以及Internet。若通过调制解调装置连接到 Internet,则可实现产品的远程升级和调试诊断。因此,在产品设计时,使用具有ISP功能的电子产品,对于缩短开发进程,提高产品适应性,延长产品的生存周期,及降低维护成本都具有及其重要的意义。

参考文献

1.http://www.syncmos.com.tw/Datasheet/MCU/ SM2965.pdf  
2.http://www.semiconductors.philips.com/pip/ P89C51RC-P89C51RD-7.pdf  
3.FlashFlex51 MCUSST89F54/SST89F58 User Manual. Silicon Storage Technology.Inc 1999.9

关键字:ISP  微控制器  UART  快闪存储器  SM2965 引用地址:SM2965微控制器及其ISP应用技术

上一篇:带ADC、PWM和比较器的单片机-EM78P458
下一篇:单片机内部模拟比较器的应用

推荐阅读最新更新时间:2024-03-16 12:53

AVR,C51和PIC八位单片机性能比较
1. 51系列   应用最广泛的八位单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史 悠久 ,有先入为主的优势。世界有许多著名的芯片公司都购买了51芯片的核心专利技术,并在其基础上进行性能上的扩充,使得芯片得到进一步的完善,形成了一个庞大的体系,直到现在仍在不断翻新,把单片机世界炒得沸沸扬扬。有人推测,51芯片可能最终形成事实上的标准MCU芯片。   51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不光能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应
[单片机]
MCS-51单片机常用的复位电路有哪些?
MCS-51单片机常用的复位电路有哪些?复位后机器的初始状态如何? 答: 复位电路有两种方式:上电自动复位电路和手动复位电路。复位后,程序计数器PC变为0000H,使单片机从程序存储器地址0000H单元开始执行。除P0~P3为FFH;SP为07H;SBUF为不确定。大部分特殊功能寄存器清零。
[单片机]
简单实用的单片机CRC快速算法
1引言 CRC (循环冗余码)检验技术广泛应用于测控及通信领域。在很多情况下,CRC计算是靠专用的硬件来实现的,但是对于小型低成本的单片机系统来说,若要在没有这些硬件的支持下实现CRC检验,首先要解决的就是如何通过软件高效快速地完成CRC计算的问题,也就是CRC算法的问题。 这里将提供两种算法,它们稍有不同,一种适用于程序空间大一些的51系列等单片机,另一种适用于程序空间的使用条件十分苛刻的PIC单片机。这些算法按字节进行计算,仅使用查表和简单的异或运算等操作,所以,计算过程相当简捷,而计算速度却很快。 下面先简述一下CRC原理,然后再以CRC-CCITT标准生成多项式为例对算法进行说明,并给出一个51系列单片机子程序
[单片机]
简单实用的<font color='red'>单片机</font>CRC快速算法
STM8S系列单片机TIM1的PWM配置与TIM2的区别
为什么STM8的PWM用TIM1不能输出,TIM2可以,下面针对TIM1的PWM输出做了下列程序代码的编写。 STM8S系列单片机 PC1管脚来控制PWM的输出,即TIM1_CH1通道 PC2管脚来控制PWM的输出,即TIM1_CH2通道 PC3管脚来控制PWM的输出,即TIM1_CH3通道 //PWM初始化 void Driver_PWMON(u8 ch,u8 Num) { //开TIM1时钟 CLK- PCKENR1 |= CLK_PCKENR1_TIM1; //设置PWM频率,Fpwm=Fmaster/TIM2_ARR //这里Fpwm = 2000000/100 = 20K
[单片机]
STM32f030c8t6单片机ADC模拟看门狗使用
根据st官方手册提供描述不难看出,ADC模拟看门狗其实就是用户可以设置一个AD值上下限值,然后打开此模拟看门狗中断开关,那么就会在检测到当IO输入转换AD值小于下限值或大于上限值时进入相应的中断函数。大致就是这么一个功能实现过程。 根据表63 可以看出,模拟看门狗可以设置为多通道和单通道模式,即可以通过设置相应的寄存器位来选择某一通道或多通道打开模拟看门狗检测。 那么明白了以上这些基础规则,那么我就要根据官方提供的库文件及里面的使用说明来配置相应函数来使用模拟看门狗。 打开此文件后下一步: 看!在这个官方提供的.c文件里面已经有介绍关于模拟看门狗使用的详细介绍的,只要理解了英文描述的意义,结合之前看数据手册关于ADC
[单片机]
基于51单片机的一键多功能识别技术
1.实验任务   如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。 2.电路原理图 图4.9.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上; (2).把“单片机系统”区域中的P1.0-P1
[单片机]
基于51<font color='red'>单片机</font>的一键多功能识别技术
详解LPC2000系列ARM微控制器的CAN验收滤波器应用
CAN(Controller Area NetWork)总线,即控制器局域网总线,是由德国Bosch公司于1982年开发和推出的最早用于汽车内部测量与执行部件之间的数据通信协议。在20多年的历史中,CAN总线在许多领域得到了应用,是到目前为止唯一有国际标准的现场总线。 CAN现场总线按照国际标准化组织ISO提出的开放系统互联(OSI)参考模式,实现其中的物理层、数据链路层和应用层。CAN控制器用来实现CAN总线协议。CAN控制器芯片分为两类:一类是独立的控制器芯片,如SJA1000;另一类是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。两类控制器都提供了报文标识过滤的验收滤波器。但独立CAN
[单片机]
详解LPC2000系列ARM<font color='red'>微控制器</font>的CAN验收滤波器应用
AT89S51单片机是什么?
AT89S51单片机是什么? AT89S51是什么? 书上和网络教程上可都是8051,89C51等 !没听说过有 89S51 ?! 这里,初学者要澄清单片机实际使用方面的一个产品概念,MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在, MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、已经停产的89C51等),各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。 有些文献
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved