一种单片机在线升级方法和装置制造方法及图纸

技术编号:2865486 阅读:188 留言:0更新日期:2012-04-11 18:40
一种单片机在线升级方法,其特征在于,该方法包含以下步骤:    a、将该单片机的存储器分成:用于存储基本程序模块的第一程序存储器、用于存储功能程序模块的第二程序存储器;    b、该单片机中的CPU执行所述第一程序存储器的基本程序模块;    c、所述CPU将新的程序模块写入所述第二程序存储器中,完成程序模块的更新升级。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及信息处理技术,尤指一种单片机在线升级方法和装置
技术介绍
MCS51系列的单片机在国内外有着广泛的应用基础,大量应用在各行业的电子设备中。MCS51系列单片机与X86系列微处理器相比较而言,在寻址方式上有很大区别,前者是数据区、程序区分开寻址,而后者是统一寻址。因MCS51系列单片机具有分开寻址特点,其将存储器分为两类数据存储器和程序存储器。对该数据存储器而言,MCS51系列单片机可以以读、写两种方式访问。对该程序存储器而言,MCS51系列单片机也有两种方式可以访问一种是取指令操作的方式从程序存储器中读取数据;另一种是应用″MOVC″指令的方式从程序存储器中读取数据。因为MCS51单片机没有提供对程序存储器的写操作功能,因此无法实现对自身存储器内容的更新(写入新程序代码)。但是,在现代的电子设备中经常需要更新程序存储器中的控制软件,以消除在应用过程中发现的软件缺陷或增加新的功能。“程序在线升级”这一特性已成为众多电子设备的一项基本功能。可是由于MCS51系列的单片机没有提供对程序存储器的写操作功能,如何实现MCS51系列单片机的“程序在线升级”功能成为困扰业界的一大难题。在现有技术中,个别MCS51单片机生产厂家设计了一种具有自编程功能的MCS51系列单片机。方法是预先提供一段对单片机自身的存储器进行编程的特殊代码(即特殊程序),出厂前将该特殊代码存放于该单片机程序存储器的特定位置;用户程序通过调用此特殊代码实现对自身程序存储器的写功能。显然,上述现有技术存在如下缺点 1、通用性差该特殊代码必须应用于特定厂家、特定型号的单片机,无法满足广泛需求,且对使用者来说,由于无法找到替代器件,商务性能差、风险大。2、技术风险高由于上述现有技术是通过程序存储器内的″特殊代码″来更新程序存储器的内容,即″自己更新自己″,如在程序更新期间出现问题(如干扰、断电等),则会损坏功能程序,甚至导致整个设备无法运行。
技术实现思路
本专利技术提供一种单片机在线升级方法和装置,以克服现有技术存在的通用性差、技术风险高的缺点。为解决上述问题,本专利技术提供如下技术方案一种单片机在线升级方法,其包含以下步骤a、将该单片机的存储器分成用于存储基本程序模块的第一程序存储器、用于存储功能程序模块的第二程序存储器;b、该单片机中的CPU执行所述第一程序存储器的基本程序模块;c、所述CPU将新的程序模块写入所述第二程序存储器中,完成程序模块的更新升级。其中,所述步骤b单片机中的CPU执行所述第一程序存储器的基本程序模块具体包含步骤b1、进行系统自检、初始化;b2、检查所述第二程序存储器的功能程序模块是否存在且是否完整;b3、将检查结果上报给上位机;b4、判断是否需要进行在线升级,如果否,那么所述CPU执行所述第二程序存储器的功能程序模块,否则进行步骤c。所述步骤c具体包括c1、所述CPU将所述第二程序存储器设定为可读写状态;c2、将新的程序模块写入所述第二程序存储器中,完成程序模块的更新升级;c3、所述CPU将所述第二程序存储器设定为只读状态。一种单片机在线升级装置,包含数据存储器模块,此外,该装置还包含有第一程序存储器模块,用于存储完成基本操作的程序模块;第二程序存储器模块,用于存储完成设备功能操作的程序模块;可编程逻辑器件模块,用于控制所述第一程序存储器模块和第二程序存储器模块;该单片机的总线与所述可编程逻辑器件模块、第一程序存储器模块、第二程序存储器模块和数据存储器模块的总线相连,并通过所述可编程逻辑器件模块分别控制所述的第一程序存储器模块、第二程序存储器模块和数据存储器模块。本专利技术提供的一种单片机在线升级方法和装置,将单片机的程序存储器按所实现功能的不同分为两个子块,分别应用两个不同的存储器件实现,即用于存储完成基本操作功能的程序代码的第一程序存储器和用于存储完成功能操作程序代码的第二程序存储器,其中可编程逻辑器件模块通过″软件控制切换的方法″将第二程序存储器模块映射为单片机的程序存储器或数据存储器。还可以通过调用第一程序存储器BIOS中子程序的方法实现″功能程序″对第二程序存储器模块全部空间的读、写访问功能。具体来讲,本专利技术主要有以下优点1)、实现了以MCS51系列单片机为主控的电子设备的程序自动更新功能;2)、通用性强,适用于所有MCS51系列的单片机;3)、安全可靠性高,不怕干扰、断电等影响。下面结合附图说明及具体实施方式详细介绍本专利技术。附图说明图1为本专利技术实施例所述的装置结构示意图;图2为本专利技术实施例所述的方法流程图; 图3为本专利技术实施例所述步骤b的方法流程图;图4为本专利技术实施例所述步骤c的方法流程图;图5为本专利技术实施例的地址空间分配示意图。具体实施例方式如图1所示为本实施例所述实现单片机程序在线升级的装置,其包括有单片机、第一程序存储器、第二程序存储器、数据存储器、可编程逻辑器件和看门狗,其中单片机为MCS51系列的单片机。MCS51系列单片机RAM寻址范围为64K字节、ROM寻址范围为64K字节,采用不同的指令访问RAM和ROM。第一程序存储器采用FLASH器件或EPROM器件或单片机内部集成的程序存储器来实现,用于存放″基本操作程序″的功能代码,其中包含对下述的第二程序存储器进行读、写操作的子程序,可称之为″BIOS存储器″。第二程序存储器采用可以在线编程的FLASH器件,用于存放″功能操作程序″代码,此部分代码实现单板/设备的各项功能,可称之为″功能程序存储器″。数据存储器采用普通的SRAM即可。可编程逻辑器件,其为可由使用人员设定其内部逻辑功能的器件,如EPLD(Erasable Programmable Logic Device可擦除可编程逻辑器件)等,用于控制所述第一程序存储器模块和第二程序存储器模块。看门狗,其用于监控单片机CPU是否正常运行的器件,具体型号采用MAX1232等,可实现对CPU是否正常运行的监控,在异常情况下控制CPU恢复正常运行。当然对于某些型号的单片机来说,其不仅包含有几K的程序存储器,还包含有看门狗,如图1所示中虚线框内的部分。该单片机的地址总线、数据总线和控制线与所述可编程逻辑器件、第一程序存储器、第二程序存储器和数据存储器的地址总线、数据总线和控制线,并通过所述可编程逻辑器件分别控制所述的第一程序存储器、第二程序存储器和数据存储器。另外,本实施例还设有一台上位机(图中未示),用于发出用户指令,该上位机可为普通微机或其它单板/设备,其通过串口或其他通信方式与本单片机通信。下面介绍一下各存储器的空间分配,如图2所示第一程序存储器、第二程序存储器、数据存储器对应的程序、数据空间分配情况,两个程序存储器各对应一段程序存储空间,大小为16K,不同的是第二程序存储器还对应一段数据存储空间,大小为4K,这样,该单片机的程序存储器已经分为用于存储基本程序代码的第一程序存储器、用于存储功能程序代码的第二程序存储器。本实施例的单板上电/复位后系统的运行过程如下,如图3所示第一、单片机中的CPU执行所述第一程序存储器的基本程序。如图4所示,首先,该CPU运行第一程序存储器的基本程序,即BIOS程序代码实现系统(如单板)自检和初始化等操作;其次,检查所述第二程序存储器的功能程序是否存在本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:付发田
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利