CN112199321A - 一种利用单片机内部xram和flash处理电源故障数据的方法 - Google Patents

一种利用单片机内部xram和flash处理电源故障数据的方法 Download PDF

Info

Publication number
CN112199321A
CN112199321A CN202011044232.9A CN202011044232A CN112199321A CN 112199321 A CN112199321 A CN 112199321A CN 202011044232 A CN202011044232 A CN 202011044232A CN 112199321 A CN112199321 A CN 112199321A
Authority
CN
China
Prior art keywords
flash
data
power supply
xram
chip microcomputer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011044232.9A
Other languages
English (en)
Inventor
王萌
刘志平
蒋晓峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leihua Electronic Technology Research Institute Aviation Industry Corp of China
Original Assignee
Leihua Electronic Technology Research Institute Aviation Industry Corp of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leihua Electronic Technology Research Institute Aviation Industry Corp of China filed Critical Leihua Electronic Technology Research Institute Aviation Industry Corp of China
Priority to CN202011044232.9A priority Critical patent/CN112199321A/zh
Publication of CN112199321A publication Critical patent/CN112199321A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请提供了一种利用单片机内部XRAM和FLASH处理电源数据的方法,所述方法包括:使单片机内的XRAM至少包含第一存储块和第二存储块;将电源数据持续的写入至第一存储块内;判断电源是否发生故障,当电源发生故障时,将电源数据持续的写入至第二存储块内,同时,擦除单片机内FLASH指定区域的数据,并将第一存储块内的电源数据写入至FLASH擦除后的指定区域内;根据外部读取指令,读取FLASH内存储的电源数据。本申请提供的利用单片机内部XRAM和FLASH存储电源故障数据的方法相比于外挂FLASH存储芯片来存储电源故障的方法,可以简化电路设计、提高电路的可靠性、节省单片机的I/O口资源,降低电路的成本。

Description

一种利用单片机内部XRAM和FLASH处理电源故障数据的方法
技术领域
本申请属于数字电源技术领域,特别涉及一种利用单片机内部XRAM和FLASH处理电源故障数据的方法。
背景技术
在电源管理领域多使用单片机作为核心控制单元,为了对电源的运行状态或故障进行分析,通常在发生故障的时候会对故障数据进行存储,方便后续分析。
目前常用的方法是在单片机外围挂接一个独立的FLASH芯片用来存储电源故障数据,但这样的方法会使得电路设计变得复杂,降低了系统的可靠性,且额外占用了单片机宝贵的I/O资源,限制了系统功能,此外还增加了电路成本。
发明内容
本申请的目的是提供了一种利用单片机内部XRAM和FLASH处理电源故障数据的方法,以解决或减轻背景技术中的至少一个问题。
本申请的技术方案是:一种利用单片机内部XRAM和FLASH处理电源数据的方法,所述方法包括:
在单片机内的XRAM至少开辟出第一存储块和第二存储块;
将电源数据持续的写入至第一存储块内;
判断电源是否发生故障,当电源发生故障时,将电源数据持续的写入至第二存储块内,同时,擦除单片机内FLASH指定区域的数据,并将第一存储块内的电源数据写入至FLASH擦除后的指定区域内;
根据外部读取指令,读取FLASH内存储的电源数据。
在本申请中,所述第一存储块和第二存储块包含多个存储空间,每个存储空间存储一条包含时间标志的电源数据。
在本申请中,所述擦除单片机内FLASH指定区域的数据的过程包括:
根据擦除指令完成禁止中断;
根据擦除地址选择相应的BANK;
设置PSEE位允许FLASH擦除操作,以及设置PSWE位允许FLASH写操作;
向寄存器写入关键码解锁FLASH;
向待擦除页任意地址写入一个字节完成整页擦除;
随后清除PSEE和PSWE位;
重新使能中断,完成一整页FLASH的擦除。
在本申请中,所述电源数据写入至FLASH擦除后的指定区域内的过程包括:
根据写入指令完成禁止中断;
根据写入的地址选择相应的BANK;
设置PSWE位允许对FLASH写操作;
清除PSEE位,禁止对FLASH擦除操作;
写入关键码解锁FLASH;
完成字节写入后清除PSWE位禁止FLASH写入操作;
重新使能中断,完成一个字节数据的写入。
在本申请中,所述读取FLASH内存储的电源数据的过程包括:
根据读取指令完成禁止中断;
根据读取地址选择相应的BANK;
读取指针指向所要读取的数据;
重新使能中断;
将需要读取的数据返回,完成一个字节数据的读取。
在另一方面,本申请提供的技术方案是:一种数字电源,其包括一具有XRAM和FLASH单片机,所述单片机通过如上任一所述的方法进行电源故障数据的处理。
本申请提供的利用单片机内部XRAM和FLASH存储电源故障数据的方法相比于外挂FLASH存储芯片来存储电源故障的方法,可以简化电路设计、提高电路的可靠性、节省单片机的I/O口资源,降低电路的成本。
附图说明
为了更清楚地说明本申请提供的技术方案,下面将对附图作简单地介绍。显而易见地,下面描述的附图仅仅是本申请的一些实施例。
图1为本申请的基于单片机XRAM和FLASH存储电源故障数据的方法流程图。
图2为本申请中XRAM存储结构示意图。
图3为本申请中FLASH擦除过程流程图。
图4为本申请中FLASH写入过程流程图。
图5为本申请中FLASH读出过程流程图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。
为了解决现有技术中采用单片机外挂FALSH芯片处理电源故障数据的方法中所暴露的电路设计复杂、可靠性低、单片机I/O资源浪费和电路成本过高的问题,本申请提出一种利用单片机内部XRAM和FLASH处理电源故障数据的方法和装置。
本申请所提供的利用单片机内部XRAM和FLASH处理电源故障数据的方法,包括如下步骤:
首先,在电源系统上电后控制程序开始工作,在单片机的XRAM内开辟两个存储块,定时把电源的关键数据和当时的时间标志合为一个数据帧存储到任一存储块内。存储块的大小可以根据XRAM资源动态调整,每个存储块又分为多个存储空间,每个存储空间存储一帧数据。正常情况下,电源数据会依次循环的存入某一个存储块中的各个存储空间,当电源发生故障时,控制程序会电源数据继续的存储到另一存储块内,同时将存储有数据的XRAM存储块内信息存储到单片机片内的FLASH中,至此完成了故障数据的存储。当电源系统接收到外界读取指令后,按存储的先后顺序将电源故障数据读出。
需要说明的是,由于FLASH擦除耗时较长,所以不宜将FLASH用于频繁的、实时的数据存储,但是可以使用单片机内部XRAM频繁的、实时的存储数据,当发生故障的时候,再把XRAM中的数据存储到FLASH当中。
本申请提供的利用单片机内部XRAM和FLASH存储电源故障数据,和现有使用单片机外挂FLASH芯片处理电源故障数据的方法相比,简化了电路的设计,提高了电路的可靠性,节省了单片机的I/O口资源,降低了电路的成本。本发明应用前景广泛,可以用于以单片机为核心的工业控制领域内的故障数据存储。
下面以Silicon Labs公司的C8051F580型单片机为例,对本发明的技术方案作进一步更加详细的说明。
C8051F580型单片机内部具有XRAM(外部随机存储器)和FLASH(闪存),FLASH大小为128KB,存储资源较为丰富。
如图1所示为利用C8051F580型单片机内部XRAM和FLASH存储电源故障数据的方法流程图,其包括如下流程:
S1、首先系统进行上电及初始化;
S2、在系统正常工作后,每隔固定时间存储一次电源的关键数据到单片机内的XRAM中;
S3、当电源发生故障时,控制程序发送指令对FLASH的指定区域进行擦除;
S4、擦除完毕后将XRAM内的电源故障数据写入到FLASH中;
S5、后续如果收到读取指令,读取电源故障数据用于分析。
如图2所示为XRAM存储结构示意图,控制程序在单片机的XRAM内部开辟了两个存储块K1和K2,每个存储块内又划分为多个存储空间。当程序运行后,定时把带有时间标志的电源数据依次写入至第一个存储块的各个存储空间内。当有故障发生时,电源数据会依次写入到第二个存储块的各个存储空间内,之前存储在第一个存储块内的电源数据会按先后顺序依次写入单片机的FLASH中。
图3所示为FALSH擦除过程流程图,FLASH的擦除流程具体包括:
S31、当进入擦除流程后,首先禁止中断;
S32、根据擦除的地址选择不同的BANK;
S33、接着设置PSEE位允许FLASH擦除操作;
S34、之后设置PSWE位允许FLASH写操作;
S35、紧接着向寄存器写入关键码解锁FLASH;
S36、向待擦除页任意地址写入一个字节完成整页擦除;
S37、随后清除PSEE和PSWE位;
S38、最终重新使能中断,完成一整页FLASH的擦除。
如图4所示为FLASH写入过程流程图,FLASH的写入流程具体包括:
S41、当开始写入数据时,首先禁止中断;
S42、根据写入的地址选择不同的BANK;
S43、设置PSWE位允许对FLASH写操作;
S44、接着清除PSEE位,禁止对FLASH擦除操作;
S45、之后写入关键码解锁FLASH;
S46、完成字节写入后清除PSWE位禁止FLASH写入操作;
S47、最后重新使能中断,完成一个字节数据的写入。
如图5所示为FLASH读取过程流程图,FLASH的读取流程具体包括:
S51、系统收到读取指令后首先禁止中断;
S52、根据读取的地址选择不同的BANK;
S53、接着读取指针指向所要读取的数据;
S54、之后重新使能中断;
S55、最后将需要读取的数据返回,完成一个字节数据的读取。
本申请中主要包括了XRAM存储模块、FLASH擦除模块、FLASH写入模块和FLASH读取模块。其中XRAM存储模块负责定时将电源关键数据存储到单片机片内XRAM中。FLASH擦除模块主要根据擦除指令擦除单片机FLASH内指定区域的数据。FLASH写入模块主要作用是根据写入指令将保存在XRAM中的电源故障数据写入到单片机FLASH内指定区域。FLASH读取模块主要是根据读取指令将存储在FLASH内某一区域的电源故障数据读取出来。
本申请所提供的利用单片机内部XRAM和FLASH处理电源故障数据的方法,通过利用单片机控制程序在单片机内部的XRAM开辟存储空间,定时存储电源关键数据,当有故障发生时,产生故障标志位,控制程序检测到故障标志位后首先擦除单片机内部FLASH指定地址区间的数据,紧接着将存储在XRAM内的关键数据写入到擦除好的FLASH地址区间内,最后根据读出指令将存储好的故障数据读出用于后续分析。其相比于外挂FLASH存储芯片来存储电源故障的方法,可以简化电路设计、提高电路的可靠性、节省单片机的I/O口资源,降低电路的成本。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (6)

1.一种利用单片机内部XRAM和FLASH处理电源数据的方法,其特征在于,所述方法包括:
在单片机内的XRAM至少开辟出第一存储块和第二存储块;
将电源数据持续的写入至第一存储块内;
判断电源是否发生故障,当电源发生故障时,将电源数据持续的写入至第二存储块内,同时,擦除单片机内FLASH指定区域的数据,并将第一存储块内的电源数据写入至FLASH擦除后的指定区域内;
根据外部读取指令,读取FLASH内存储的电源数据。
2.如权利要求1所述的利用单片机内部XRAM和FLASH处理电源数据的方法,其特征在于,所述第一存储块和第二存储块包含多个存储空间,每个存储空间存储一条包含时间标志的电源数据。
3.如权利要求1所述的利用单片机内部XRAM和FLASH处理电源数据的方法,其特征在于,所述擦除单片机内FLASH指定区域的数据的过程包括:
根据擦除指令完成禁止中断;
根据擦除地址选择相应的BANK;
设置PSEE位允许FLASH擦除操作,以及设置PSWE位允许FLASH写操作;
向寄存器写入关键码解锁FLASH;
向待擦除页任意地址写入一个字节完成整页擦除;
随后清除PSEE和PSWE位;
重新使能中断,完成一整页FLASH的擦除。
4.如权利要求1所述的利用单片机内部XRAM和FLASH处理电源数据的方法,其特征在于,所述电源数据写入至FLASH擦除后的指定区域内的过程包括:
根据写入指令完成禁止中断;
根据写入的地址选择相应的BANK;
设置PSWE位允许对FLASH写操作;
清除PSEE位,禁止对FLASH擦除操作;
写入关键码解锁FLASH;
完成字节写入后清除PSWE位禁止FLASH写入操作;
重新使能中断,完成一个字节数据的写入。
5.如权利要求1所述的利用单片机内部XRAM和FLASH处理电源数据的方法,其特征在于,所述读取FLASH内存储的电源数据的过程包括:
根据读取指令完成禁止中断;
根据读取地址选择相应的BANK;
读取指针指向所要读取的数据;
重新使能中断;
将需要读取的数据返回,完成一个字节数据的读取。
6.一种数字电源,其特征在于,所述数字电源包括一具有XRAM和FLASH单片机,所述单片机通过权利要求1至5任一所述的方法进行电源故障数据的处理。
CN202011044232.9A 2020-09-28 2020-09-28 一种利用单片机内部xram和flash处理电源故障数据的方法 Pending CN112199321A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011044232.9A CN112199321A (zh) 2020-09-28 2020-09-28 一种利用单片机内部xram和flash处理电源故障数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011044232.9A CN112199321A (zh) 2020-09-28 2020-09-28 一种利用单片机内部xram和flash处理电源故障数据的方法

Publications (1)

Publication Number Publication Date
CN112199321A true CN112199321A (zh) 2021-01-08

Family

ID=74006771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011044232.9A Pending CN112199321A (zh) 2020-09-28 2020-09-28 一种利用单片机内部xram和flash处理电源故障数据的方法

Country Status (1)

Country Link
CN (1) CN112199321A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833482A (zh) * 2002-10-28 2010-09-15 三因迪斯克公司 用于非易失存储系统的电源管理数据块
CN102541684A (zh) * 2010-12-20 2012-07-04 Lsi公司 电源故障的数据操作
CN203276004U (zh) * 2013-05-30 2013-11-06 武汉钢铁(集团)公司 一种机房ups电源实时监控报警装置
CN204595489U (zh) * 2015-04-29 2015-08-26 辽宁宝顺金邡科技有限责任公司 基于can总线的通航用机载电源人机交换装置
CN107168889A (zh) * 2017-06-09 2017-09-15 山东超越数控电子有限公司 一种利用MCU内部Flash存储KVM通道信息的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833482A (zh) * 2002-10-28 2010-09-15 三因迪斯克公司 用于非易失存储系统的电源管理数据块
CN102541684A (zh) * 2010-12-20 2012-07-04 Lsi公司 电源故障的数据操作
CN203276004U (zh) * 2013-05-30 2013-11-06 武汉钢铁(集团)公司 一种机房ups电源实时监控报警装置
CN204595489U (zh) * 2015-04-29 2015-08-26 辽宁宝顺金邡科技有限责任公司 基于can总线的通航用机载电源人机交换装置
CN107168889A (zh) * 2017-06-09 2017-09-15 山东超越数控电子有限公司 一种利用MCU内部Flash存储KVM通道信息的方法

Similar Documents

Publication Publication Date Title
JP4948793B2 (ja) バッドブロック管理部を含むフラッシュメモリシステム
JP3692313B2 (ja) 不揮発性メモリの制御方法
CN102184365B (zh) 基于SoC芯片外部数据安全存储系统及存取控制方法
CN102819496B (zh) 闪存ftl的地址转换方法
EP3936996A1 (en) Read-write method and memory device
CN103116551B (zh) 应用于CLB总线的NorFLASH存储接口模块
US20150039820A1 (en) Flash memory storage system and controller and data writing method thereof
CN103235760B (zh) 基于CLB总线的高利用率NorFLASH存储接口芯片
KR960039006A (ko) 디램버스에 접속가능한 불휘발성 반도체 메모리장치
CN102521146B (zh) 一种flash存储器块细分的数据寻址存储方法
CN102376348B (zh) 一种低功耗的动态随机存储器
CN1952917A (zh) 存储器控制器及具有存储器控制器的数据处理系统
CN101567220A (zh) 闪存的损坏区块辨识方法、储存系统及其控制器
US20020194521A1 (en) Memory exchange
CN101625661A (zh) 用于闪存的数据管理方法、储存系统与控制器
CN112199321A (zh) 一种利用单片机内部xram和flash处理电源故障数据的方法
US8275934B2 (en) Nonvolatile memory device and cache read method using the same
CN112199308B (zh) 一种用于电力专用芯片的低功耗存储控制器及控制方法
TW201122810A (en) Block management and data writing method, flash memory storage system and controller
CN202473263U (zh) 支持高擦写次数的flash存储器电路
US20050262291A1 (en) Method to write in a non-volatile memory and system to implement such method
JP2007094921A (ja) メモリカードとその制御方法
CN105843360B (zh) 一种降低指令高速缓冲存储器功耗的装置及方法
US8045374B2 (en) Erase verification method of flash memory by selectively assigning deselected sectors
CN100428200C (zh) 一种片上指令cache的实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210108