SM2965MCU及其在系统编程中的应用
发布时间:2008/6/5 0:00:00 访问次数:559
1 引言 在系统中编程(isp)技术的出现是对传统编程方法的突破,它是指在用户设计的微控制器系统中为配置新的系统功能对器件进行重新编程的技术,在线将程序代码(固件)下载到程序存储器中。继sst公司推出具备isp功能的flashflex51 [1]系列微控制器之后,philisps、winbond、lg、atmel、syncmos等公司相继推出具备isp/iap (in-application programming)功能的51系列微控制器[2]。这些器件的性能增强还表现在:(1)内部rom采用flash存储器,容量达到32~64k字节,内部ram容量达到512~1024字节;(2)增加特殊功能寄存器,控制功能进一步增强;(3)内部配置看门狗定时器复位电路;(4)为降低 emi可禁止ale输出;(5)双dptr指针等,这些功能使得微控制器外部扩展进一步简化,形成了真正的"单片"结构。在pos收费终端机中更换了syncmos公司的sm2965作为主处理器,不用修改硬件利用微控制器串行口即可方便地实现isp功能。本文主要分析sm2965的isp功能特点及在使用中的注意事项。 2 sm2965的特点 和标准的80c52相比,sm2965有以下特点: ①编程电压5v;②64k字节片内flash存储器,分为128个页,每页512字节(包括实现isp功能的下载程序空间);③实现isp功能下载程序空间大小可设置为 n×200h(n=0~8); ④256字节的片内ram+768字节的片内扩展ram(eram);⑤看门狗定时器;⑥对plcc和qfp封装型号增加了p4口:p4.0~p4.3;⑦为降低emi,无必要时可禁止ale信号输出;⑧复位后硬件检测程序存储器空间0000h地址如为空(即#0ffh),则自动跳到isp功能程序入口地址。 3 sm2965存储器结构 3.1 程序存储器 sm2965内部集成了64k字节的flash存储器作为程序存储器,地址范围为0000h~0ffffh,用于存放执行用户程序的应用程序和执行isp功能的下载程序两部分内容。 执行isp功能的下载程序空间最大可配置到4k 字节,空间大小=n×200h字节,n=0表示不配置下载程序,64k字节flash 存储器全部用于应用程序;n=1表示0fe00h~0ffffh共有200h个字节配置给下载程序空间使用,从0000h~fdffh供应用程序使用; n=8表示下载程序空间达到最大配置,为4k字节。n 的大小只能通过商用编程器配置,一旦在编程器上配置为 n≠0,在系统中无法改变isp空间的配置。sm2965程序空间组成如图1所示。 0ffffh-(n×200h)为下载程序的入口地址。 3.2 数据存储器 sm2956在标准的80c52内核的基础上,增加了8个特殊功能寄存器,用于实现sm2965增加的功能和768字节的片内扩展数据存储器expanded ram(eram),使片内数据存储器总容量达到1k字节。数据存储器组成如图2。sm2965增加的特殊功能寄存器[3]见表1。 4 与isp功能有关的特殊功能寄存器 4.1 isp特殊功能寄存器介绍 与isp功能有关的特殊功能寄存器有fah、 fal、fdat、sconf和fcr,其中fah×256+fal为编程状态下的目标地址,fdat为编程数据。 sconf为系统控制寄存器,sconf中的位2 与isp功能有关,sconf各位定义如下: wdr r r r r ispe ome ale1 msb lsb sconf的3~6位保留未用,sconf复位状态为00000010b。 wdr:看门狗定时器溢出位; ome:片内扩展数据存储器eram选择位,1 选择片内,0 选择片外; alei:ale输出禁止位; ispe:为isp功能总允许/禁止位,为1允许,为0禁止。ispe设置为0,将屏蔽全部isp功能。在执行应用程序时将ispe=0可有效防止flash存储器内容被非法改写。 flash控制寄存器fcr在编程时起关键作用,其各位定义如下: msb lsb 其中fcr的2~6位保留未用,fcr复位状态为00000000b。 start:isp功能启动位; start=1,启动isp功能,具体
|