CN102004696A - 微控制器使用的存储器存取方法 - Google Patents
微控制器使用的存储器存取方法 Download PDFInfo
- Publication number
- CN102004696A CN102004696A CN2009101715250A CN200910171525A CN102004696A CN 102004696 A CN102004696 A CN 102004696A CN 2009101715250 A CN2009101715250 A CN 2009101715250A CN 200910171525 A CN200910171525 A CN 200910171525A CN 102004696 A CN102004696 A CN 102004696A
- Authority
- CN
- China
- Prior art keywords
- data
- carrier store
- address
- pointed
- microcontroller
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种微控制器使用的存储器存取方法,于微控制器动作时,持续将数据写入一非挥发性存储器中,以便于断电之后,微控制器所需保留的数据仍能继续存在,而于读取时,将数据储存于非挥发性存储器中的地址储存至微控制器中的一暂存存储器,借以令微控制器可以随时读取所储存的任一笔数据。
Description
技术领域
本发明涉及存储器,尤其涉及微控制器所使用的存储器。
背景技术
微控制器单元(Micro Control Unit,MCU)是一种将中央处理器、存储器、计数器及输出/入接口等元件通通汇集在同一块集成电路芯片上的微型计算机。而目前常见的嵌入式系统(Embedded System),例如收音机、电冰箱、冷气机等家电,都是使用微控制器单元来实现。
传统的微控制器单元,是使用一只读存储器(Read Only Memory,ROM)来储存固件(Firmware)及系统程序,并通过一随机存取存储器(Random AccessMemory,RAM)来暂存微控制器单元使用过程中所产生的数据。唯,随着消费者需求的改变,各式系统慢慢复杂化,原本用以暂存数据的RAM的空间早已不敷使用。再者,因RAM为一种挥发性(Volatile)的存储器,于微控制器单元断电后,所暂存的数据即会消失,因此,这种使用模式虽然较为节省成本,但因难以满足消费者的需求,故已渐渐的被市场所淘汰。
如上所述,例如一使用者通过一收音机收听广播电台时,可使用收音机内部微控制器单元所设置的RAM来储存喜欢的电台频率。但如果将该收音机的插头拔除,或者卸除该收音机的电池后,所储存的电台频率即随着消失。如此一来,使用者必须于重新开启收音机后,再次设置所有电台频率,并一一重新储存,实为不便。也因此,目前已慢慢淘汰此种做法,而另外设置一非挥发性(non-volatile)的存储器,来储存需持续保存的数据。
而使用非挥发性存储器来储存数据,目前一般的做法,为通过一断电检测系统及一断电延迟系统来与微控制器单元互相配合。更详细而言,目前做法是利用该断电检测系统来检测断电状况的发生(例如检测电子装置拔除电源的瞬间),并于断电后,由该断电延迟系统提供该微控制器单元持续动作一短暂时间。如此一来,该微控制器单元即可于此段时间内,将断电前欲储存的数据储存至该非挥发性的存储器中。借以令该微控制器单元重新启动后,可读取断电前储存的数据,保存使用者所需的信息。
唯,上述作法虽然可成功于断电后储存数据,但使用此一做法的系统,需额外配置该断电检测系统及该断电延迟系统,对产品开发厂商来说,需付出相当程度的额外成本。再者,该断电延迟系统仅可于断电后维持该微控制器单元动作非常短暂的时间(原则上为一至两秒钟),于该段时间内该微控制器单元可完成储存的数据实相当有限。因此,该种作法实际上是一种成本高,但达成功效低的作法,实有改良的必要。
例如,由于本发明的相同发明人所提出的另一申请案,中国台湾申请案号为098125118的智能型灯光控制模块与方法。可于灯具的开关电源完全关闭后(不持续耗费电源),保留开关的启闭次数及灯具的亮度等数据,借以依该些数据进行灯具的智能型控制。例如,依开关的开启次数数据,自动判断此次开关开启后,要进行灯光亮度的调整,或是要设定灯具的自动开启/关闭时间等等。然而,灯具本身的制造即需一定的生产成本,因此,若以上述使用断电检测系统及断电延迟系统的方法来实现,可能会使得产品的生产成本过于昂贵。再者,若能提供一种新颖的技术,令微控制器单元于断电前能够储存的数据数量增加,则也能使该申请案中的灯具,具有更多延伸的功能与应用。
发明内容
本发明的主要目的在于提供一种微控制器使用的存储器存取方法,可于微控制器动作时持续将数据写入存储器,令数据于完全断电后仍然持续存在,并于微控制器重新启动后,得以随时读取所需的任一笔数据。
为达上述目的,本发明提供一种微控制器使用的存储器存取方法,于一微控制器动作时持续将数据写入一数据存储器中,借以令该微控制器于断电并重新开启后,数据仍然存在并可随时读取使用,该方法包括:
a)于读取数据时,通过一中央处理单元指向该数据存储器的一起始地址;
b)读取所指向的该数据存储器地址的内容;
c)承b,判断所指向的该数据存储器地址中是否被写入数据;
d)承c,若是,将所指向的该数据存储器地址写入一暂存存储器内的一指定地址;
e)承d,将所指向的该数据存储器地址加一,并重复执行步骤b至步骤c;
f)承c,若否,将所指向的该数据存储器的地址设为该暂存存储器内的该指定地址的内容;
g)承f,读取所指向的该数据存储器地址的内容。
如上所述,其中,该步骤a之前,更包括:
a1)清除该数据存储器内容;
a2)将数据写入该数据存储器。
如上所述,其中,该步骤a2,包括:
a21)于写入数据时,通过该中央处理单元指向该数据存储器的一空白地址;
a22)将数据写入该数据存储器中,所指向的该空白地址;
a23)将所指向该数据存储器的该空白地址加一;
a24)判断该写入的数据是否为最后需写入数据;
a25)承a24,若否,重新执行步骤a22至步骤a24。
如上所述,其中,该步骤a1,包括:
a11)于写入数据前,通过该中央处理单元指向该数据存储器的该起始地址;
a12)由所指向的该起始地址开始抹除该数据存储器的内容。
如上所述,其中,该数据存储器为一非挥发性存储器(Non-volatilememory)。
如上所述,其中,该数据存储器为一电子可抹除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)。
如上所述,其中,该暂存存储器为一随机存取存储器(Random AccessMemory,RAM)。
为更精准达成上述目的,本发明提供一种微控制器使用的存储器存取方法,于一微控制器动作时持续将数据写入一数据存储器中,借以令该微控制器于断电并重新开启后,数据仍然存在并可随时读取使用,该方法包括:
a)于写入数据时,通过一中央处理单元指向该数据存储器的一空白地址;
b)将数据写入该数据存储器中,所指向的该空白地址;
c)将所指向该数据存储器的该空白地址加一;
d)判断该写入的数据是否为最后需写入数据;
e)承d,若否,重新执行步骤b至步骤d;
f)于读取数据时,通过该中央处理单元指向该数据存储器的一起始地址;
g)读取所指向的该数据存储器地址的内容;
h)承g,判断所指向的该数据存储器地址中是否被写入数据;
i)承h,若是,将所指向的该数据存储器地址写入一暂存存储器内的一指定地址;
j)承i,将所指向的该数据存储器地址加一,并重复执行步骤g至步骤h;
k)承h,若否,将所指向的该数据存储器的地址设为该暂存存储器内的该指定地址的内容;
l)承k,读取所指向的该数据存储器地址的内容。
如上所述,其中,该步骤a之前,更包括:
a0)于写入数据前,通过该中央处理单元指向该数据存储器的该起始地址;
a1)由所指向的该起始地址开始抹除该数据存储器的内容。
如上所述,其中,该数据存储器为一电子可抹除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)。
对照现有技术,本发明所能达成的功效在于,不需额外设置断电检测系统与断电延迟系统来配合微控制器,而是于使用时即持续将数据写入非挥发性存储器,借此以低成本的手段,达成令微控制器断电后,数据仍然存在的目的,且因数据为持续写入存储器,而非于检测到断电后才写入部分数据,因此,可储存的数据量也可大幅增加。
附图说明
图1A为本发明的一较佳具体实施例的方块图;
图1B为本发明的另一较佳具体实施例的方块图;
图2为本发明的一较佳具体实施例的数据储存流程图;
图3为本发明的一较佳具体实施例的数据读取流程图。
其中,附图标记:
10、10’:微控制器
11:中央处理单元 12:系统存储器
13:暂存存储器 14:数据存储器
b1:地址总线 b2:数据总线 b3:控制总线
S21、S22、S210~S228、S310~S324:步骤
具体实施方式
兹就本发明的一较佳实施例,配合附图,详细说明如后。
首请参阅图1A及图1B,分别为本发明的二具体实施例的方块图。如图所示,本发明的微控制器,主要包括一中央处理单元11、一系统存储器12及一暂存存储器13,并且包括一用以储存数据的数据存储器14。而视该数据存储器14为内建或外部连接而定,该微控制器的芯片可分为图1A中的微控制器10(内建)或图1B中的微控制器10’(外部连接)。而为方便说明,下面将统一使用图1A中,内建该数据存储器14的该微控制器10芯片来举例说明。
该系统存储器12主要用以储存该微控制器10动作所需的固件及系统程序,因此为使固件与系统程序永远存在,且为保护其不被任意更动而造成系统执行的错误,主要是使用只读存储器(Read Only Memory,ROM)来实现。该暂存存储器13则用以储存该微控制器10运作过程中所产生的不需持续保存的数据,该些数据于该微控制器10断电再开启后并不会再度被使用,因此,该暂存存储器13主要是以随机存取存储器(Random Access Memory,RAM)来实现。唯此仅为本发明的一较佳实施例,不可以此为限。
该数据存储器14可为该微控制器10芯片所内建或由外部连接,主要用以储存该微控制器10会持续使用,或有价值的数据,且需于该微控制器10断电后仍然存在,以便该微控制器10重新启动后能随时读取使用。因此,以一非挥发性(non-volatile)的存储器来实现,且较佳者可为一电子可抹除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM),或一闪存(Flash Memory),但不以此为限。而上述的该三存储器12、13、14,是由该微控制器10中的该中央处理单元11,通过一地址总线(AddressBus)b1、一数据总线(Data Bus)b2及一控制总线(Control Bus)b3来进行存储器的控制,以及数据的搜寻与存取。
接着请参阅图2,为本发明的一较佳具体实施例的数据储存流程图,如图所示,本发明的数据储存流程,可分为数据储存前的抹除步骤S21,及抹除后的数据储存步骤S22。为节省开发成本,并控制整个集成电路的面积不会过大,因此,一般微控制器10所内建或外部连接的存储器容量,并不会随着技术的进步而无止尽的增大。如此一来,用以储存数据的该数据存储器14的储存空间,并不一定足够该微控制器10持续写入数据。因此,于数据储存前,该微控制器10中的该中央处理单元11,可先控制该数据存储器14进行步骤S21的抹除动作。首先,设定该数据存储器14的一第一起始地址(步骤S210),借以令该中央处理单元11得到该数据存储器14中所储存数据的源头。接着,再自该第一起始地址开始抹除该数据存储器14中所储存的部分或全部数据(步骤S212)。
而于该步骤S21中抹除该数据存储器14后,随即进行储存数据的该步骤S22。该微控制器10欲写入数据时,先设定该数据存储器14写入数据的一第二起始地址(步骤S220),令该中央处理单元11得以指向该数据存储器14中可写入数据的第一个空白地址。而因已事先抹除该数据存储器14的内容,因此,通常该第二起始地址即为该数据存储器14的源头地址,但不以此为限。接着,通过该中央处理单元11,将数据写入所指向的该数据存储器14中的地址(步骤S222),并于将数据写入后,将所指向的地址加一(步骤S224),待下一笔数据写入该数据存储器14的下一个空白地址。
接着,该中央处理单元11判断于该步骤S222中写入的数据,是否为所需储存的最后一笔数据(步骤S226)。若是,即完成储存动作,开始执行其它待执行的程序(步骤S228),同时等待下一个数据储存命令。而若于该步骤S226中,判断该所写入的数据并非最后一笔需储存的数据,则回到该步骤S222,继续写入下一笔数据,直到所需储存的数据全部储存完毕为止。
接下来请参阅图3,为本发明的一较佳具体实施例的数据读取流程图。首先,于该微控制器10断电后重新启动,并第一次读取该数据存储器14的内容时,先行设定该数据存储器14的一第三起始地址(步骤S310),该第三起始地址可为该数据存储器14的源头地址,但不以此为限,令该中央处理单元11指向该数据存储器14中,第一笔数据所储存的地址。接着,读取目前所指向的该数据存储器14地址的内容(步骤S312),并于读取后,判断该所指向的地址内容中,是否存有数据(步骤S314)。若有,则将该笔数据于该数据存储器14中所储存的地址,写入该暂存存储器13中的一指定地址(步骤S316),接着,将所指向的该数据存储器14地址加一(步骤S318),令该中央处理单元11指向该数据存储器14地址加一的地址,并回到该步骤S312,读取该数据存储器14地址加一的地址中的内容。
而执行完上述的读取循环后,若于该步骤S314中发现所指向的该数据存储器14地址中已没有数据,即,该中央处理单元11指向该数据存储器14中数据尾端的空白地址时,即将所指向的该数据存储器14地址,设为该暂存存储器13内的该指定地址中所储存的内容(步骤S320)。即,令该中央处理单元11指向该数据存储器14中所储存的最后一笔数据的地址。最后,再读取该数据存储器14中所储存的最后一笔数据(步骤S322),并于读取结束之后,执行其它待执行的程序(步骤S324),并等待下一个读取数据的命令。
于上述图3所示的流程中,当该数据存储器14中所储存的数据第一次被读取后,该暂存存储器13内的该指定地址中,即存有该数据存储器14中所储存的最后一笔数据的地址。因此,若该微控制器10欲通过该中央处理单元11读取该数据存储器14中的任何一笔数据时,即可读取该暂存存储器13内的该指定地址,借以得到最后一笔数据于该数据存储器14中所储存的地址。接着,通过该地址往回推算,即可读取所想要的任何一笔数据。例如,可通过该中央处理单元11指向该地址,借以读取储存于该数据存储器14中的最后一笔数据,判断是否为该微控制器10所需读取的数据。若答案为否定的,则该中央处理单元11可将所指向的该数据存储器14地址减一,读取上一笔数据,判断是否为所需的数据。借以,往回寻找直至找到所需数据,或找到第一笔数据为止。唯,上述仅为举例说明,并非用以限定本发明的存储器读取方法。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种微控制器使用的存储器存取方法,于一微控制器动作时持续将数据写入一数据存储器中,借以令该微控制器于断电并重新开启后,数据仍然存在并可随时读取使用,其特征在于,该方法包括:
a)于读取数据时,通过一中央处理单元指向该数据存储器的一起始地址;
b)读取所指向的该数据存储器地址的内容;
c)承b,判断所指向的该数据存储器地址中是否被写入数据;
d)承c,若是,将所指向的该数据存储器地址写入一暂存存储器内的一指定地址;
e)承d,将所指向的该数据存储器地址加一,并重复执行步骤b至步骤c;
f)承c,若否,将所指向的该数据存储器的地址设为该暂存存储器内的该指定地址的内容;
g)承f,读取所指向的该数据存储器地址的内容。
2.根据权利要求1所述的存储器存取方法,其特征在于,该步骤a之前,还包括:
a1)清除该数据存储器内容;
a2)将数据写入该数据存储器。
3.根据权利要求2所述的存储器存取方法,其特征在于,该步骤a2,包括:
a21)于写入数据时,通过该中央处理单元指向该数据存储器的一空白地址;
a22)将数据写入该数据存储器中,所指向的该空白地址;
a23)将所指向该数据存储器的该空白地址加一;
a24)判断该写入的数据是否为最后需写入数据;
a25)承a24,若否,重新执行步骤a22至步骤a24。
4.根据权利要求3所述的存储器存取方法,其特征在于,该步骤a1,包括:
a11)于写入数据前,通过该中央处理单元指向该数据存储器的该起始地址;
a12)由所指向的该起始地址开始抹除该数据存储器的内容。
5.根据权利要求4所述的存储器存取方法,其特征在于,该数据存储器为一非挥发性存储器。
6.根据权利要求5所述的存储器存取方法,其特征在于,该数据存储器为一电子可抹除可编程只读存储器。
7.根据权利要求1所述的存储器存取方法,其特征在于,该暂存存储器为一随机存取存储器。
8.一种微控制器使用的存储器存取方法,于一微控制器动作时持续将数据写入一数据存储器中,借以令该微控制器于断电并重新开启后,数据仍然存在并可随时读取使用,其特征在于,该方法包括:
a)于写入数据时,通过一中央处理单元指向该数据存储器的一空白地址;
b)将数据写入该数据存储器中,所指向的该空白地址;
c)将所指向该数据存储器的该空白地址加一;
d)判断该写入的数据是否为最后需写入数据;
e)承d,若否,重新执行步骤b至步骤d;
f)于读取数据时,通过该中央处理单元指向该数据存储器的一起始地址;
g)读取所指向的该数据存储器地址的内容;
h)承g,判断所指向的该数据存储器地址中是否被写入数据;
i)承h,若是,将所指向的该数据存储器地址写入一暂存存储器内的一指定地址;
j)承i,将所指向的该数据存储器地址加一,并重复执行步骤g至步骤h;
k)承h,若否,将所指向的该数据存储器的地址设为该暂存存储器内的该指定地址的内容;
l)承k,读取所指向的该数据存储器地址的内容。
9.根据权利要求8所述的存储器存取方法,其特征在于,该步骤a之前,还包括:
a0)于写入数据前,通过该中央处理单元指向该数据存储器的该起始地址;
a1)由所指向的该起始地址开始抹除该数据存储器的内容。
10.根据权利要求9所述的存储器存取方法,其特征在于,该数据存储器为一电子可抹除可编程只读存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101715250A CN102004696A (zh) | 2009-08-28 | 2009-08-28 | 微控制器使用的存储器存取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101715250A CN102004696A (zh) | 2009-08-28 | 2009-08-28 | 微控制器使用的存储器存取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102004696A true CN102004696A (zh) | 2011-04-06 |
Family
ID=43812072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101715250A Pending CN102004696A (zh) | 2009-08-28 | 2009-08-28 | 微控制器使用的存储器存取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102004696A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020959A (zh) * | 2013-03-01 | 2014-09-03 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
-
2009
- 2009-08-28 CN CN2009101715250A patent/CN102004696A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104020959A (zh) * | 2013-03-01 | 2014-09-03 | 慧荣科技股份有限公司 | 数据储存装置与快闪存储器控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102239524B (zh) | 逻辑单元操作 | |
US8285920B2 (en) | Memory device with dynamic controllable physical logical mapping table loading | |
CN111880501B (zh) | 用于建立设备联动场景的交互方法、存储介质及电子设备 | |
EP3229409B1 (en) | Electronic apparatus and external apparatus controlling method thereof | |
CN105745714A (zh) | 基于温度的闪速存储器系统维持 | |
CN104317739A (zh) | 一种混合内存页面调度方法及装置 | |
KR20080099692A (ko) | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법 | |
CN100481895C (zh) | 一种进行电视机软件升级的方法及其装置 | |
CN203760085U (zh) | 一种eeprom编程器 | |
CN103473182B (zh) | 非挥发性存储器存取方法及非挥发性存储器控制器 | |
CN103019988B (zh) | 电脑、嵌入式控制器及其方法 | |
CN101118494A (zh) | 嵌入式设备从外接电子卡启动操作系统的系统与方法 | |
CN102004696A (zh) | 微控制器使用的存储器存取方法 | |
CN107817943A (zh) | 数据传输方法、存储器存储装置及存储器控制电路单元 | |
CN103970551A (zh) | 一种嵌入式处理器启动模式的选择方法及装置 | |
CN105527889A (zh) | 一种采用stt-mram作为单一存储器的微控制器 | |
CN102841775B (zh) | 使用铁电随机存取存储器且具有优化指令集的堆栈处理器 | |
CN107221349B (zh) | 一种基于flash存储器的微控制器芯片 | |
CN103345413A (zh) | 一种代码更新方法、装置及电子设备 | |
CN103680610A (zh) | 差分存储NAND Flash存储器写操作的方法及装置 | |
CN202473263U (zh) | 支持高擦写次数的flash存储器电路 | |
CN105630687A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN104714892A (zh) | 数据存取命令执行方法以及使用该方法的快闪存储器装置 | |
US20080215799A1 (en) | Control Chip of Adapter Interconnecting Pc and Flash Memory Medium and Method of Enabling the Control Chip to Program the Flash Memory Medium to be Accessible by the Pc | |
TW201107970A (en) | Memory accessing method for microcontroller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110406 |