发明内容
有鉴于此,本发明提供了一种基于主备存储器的启动切换控制装置和方法。
本发明提供的一种基于主备存储器的启动切换控制装置,该启动切换控制装置应用于包括CPU、主用存储器、备用存储器的电子设备;该启动切换控制装置包括时钟发生电路、计时复位电路、以及片选切换电路;
所述时钟发生电路在所述电子设备上电后开始产生方波时钟信号;
所述计时复位电路依据所述方波时钟信号对所述CPU从所述主存储器加载启动的过程进行计时,并在所述CPU从所述主用存储器加载启动成功后停止计时、在计时超时后触发所述CPU复位;
所述片选切换电路在所述计时复位电路的计时超时后将所述CPU进行加载启动的存储器从所述主用存储器切换为所述备用存储器;
其中,所述计时复位电路包括第一计数器;
所述第一计数器的计数输入端接收所述方波时钟信号、以使所述第一计数器对所述方波时钟信号进行二进制计数;
所述第一计数器的清零端接收所述CPU输出的第一指示信号;其中,所述第一指示信号在设备上电后默认为无效电平、在所述CPU从所述主用存储器启动加载成功后置为有效电平;当所述第一指示信号为无效电平时,所述第一计数器的清零端被禁止;当所述第一指示信号为有效电平时,所述第一计数器的清零端被使能;
所述第一计数器的最高计数位的计数输出端输出计时电平信号;其中,当所述第一计数器计数达到所述最高位对应的数值后,所述计时电平信号由无效电平翻转为有效电平;当所述第一计数器发生计数溢出后,所述计时电平信号通过计数溢出后的循环归零从有效电平翻转为无效电平;
所述第一计数器的计数溢出端向所述CPU的复位端输出计数溢出信号;其中,当所述第一计数器发生计数溢出后,所述计数溢出信号被置为有效电平、并在所述循环归零后被置为无效电平。
可选地,所述时钟发生电路包括时钟发生器;所述时钟发生器在所述电子设备上电后开始产生所述方波时钟信号。
可选地,所述时钟发生电路包括时钟发生器和第二计数器;所述时钟发生器在所述电子设备上电后开始产生初始时钟信号;所述第二计数器的计数输入端接收所述初始时钟信号、以使所述第二计数器对所述初始时钟信号进行二进制计数;所述第二计数器的任一个计数位的计数输出端输出对所述初始时钟信号分频得到的所述方波时钟信号。
可选地,所述时钟发生器为非对称式多谐振荡器。
可选地,所述时钟发生器产生1Hz的所述初始时钟信号;所述第二计数器的最低计数位的计数输出端向所述第一计数器输出二分频后的1/2Hz的所述方波时钟信号;所述第一计数器具有4个计数位。
可选地,所述片选切换电路包括第三计数器和逻辑门组件;
所述第三计数器的计数输入端接收所述计时电平信号、以使所述第三计数器对所述计时电平信号从有效电平向无效电平的电平翻转事件进行二进制计数;
所述第三计数器的最低计数位的计数输出端产生锁存电平信号;其中,当所述计时电平信号产生从有效电平向无效电平的电平翻转时,所述锁存电平信号随之产生从无效电平向有效电平的电平翻转;
所述第三计数器的清零端接收所述第一指示信号;其中,当所述第一指示信号为无效电平时,所述第一计数器的清零端被禁止;当所述第一指示信号为有效电平时,所述第三计数器的清零端被使能;
所述逻辑门组件依据所述锁存电平信号和所述CPU输出的第二指示信号,向所述主用存储器和所述备用存储器分别输出第一片选信号和第二片选信号;其中,所述第二指示信号在设备上电后默认为无效电平、在所述CPU从所述备用存储器启动加载成功后被置为有效电平;当所述锁存电平信号或所述第二指示信号为有效电平时,向所述主用存储器输出的所述第一片选信号无效、向所述备用存储器输出的所述第二片选信号有效;当所述锁存电平信号和所述第二指示信号均为无效电平时,向所述主用存储器输出的所述第一片选信号有效、向所述备用存储器输出的所述第二片选信号无效。
可选地,所述计时电平信号的有效电平为高电平、无效电平为低电平,所述第三计数器的计数输入端以电平上升沿为计数触发条件;所述第一计数器的最高计数位的计数输出端通过第一反向器连接所述第三计数器的计数输入端。
可选地,所述第一指示信号的有效电平与第一计数器的清零端的使能电平相同、与第三计数器的清零端的使能电平相反;所述第一指示信号通过第二反向器输出至所述第三计数器的清零端。
可选地,所述逻辑门组件依据所述锁存电平信号向所述CPU输出片选提示信号;其中,当所述锁存电平信号为无效电平时,所述片选提示信号被置为表示所述主用存储器的电平状态;当所述锁存电平信号或所述第二指示信号为有效电平时,所述片选提示信号被置为表示所述备用存储器的电平状态。
可选地,所述第一指示信号和所述第二指示信号的其中一个进一步被所述CPU强置为有效电平、另一个被所述CPU强置为无效。
可选地,所述逻辑门组件进一步依据一片选使能信号控制所述第一片选信号和所述第二片选信号;其中,当所述片选使能信号无效时,所述第一片选信号和所述第二片选信号均被强置为无效。
可选地,所述锁存电平信号和所述第二指示信号的有效电平均为高电平、无效电平均为低电平、所述片选使能信号、以及所述第一片选信号和所述第二片选信号的有效电平均为低电平、无效电平均为高电平;
所述逻辑门组件包括第一或门、第二或门、第三或门、以及第三反向器;
所述第一或门的一路输入端接收所述锁存电平信号、另一路输入端接收所述第二指示信号,所述第一或门的输出端产生所述片选提示信号;
所述第二或门的一路输入端通过所述第三反向器连接自所述第一或门的输出端、另一路输入端接收所述片选使能信号,所述第二或门的输出端产生所述第二片选信号;
所述第三或门的一路输入端连接自所述第一或门的输出端、另一路输入端接收所述片选使能信号,所述第三或门的输出端产生所述第一片选信号。
可选地,所述片选提示信号为GPIO信号。
可选地,所述第一指示信号为GPIO信号。
可选地,所述第二指示信号为GPIO信号。
本发明提供的一种基于主备存储器的启动切换控制方法,该启动切换控制方法利用如上所述的启动切换控制装置控制CPU在主用存储器和备用存储器之间的加载启动切换。
由此可见,本发明以启动切换控制装置替代现有的逻辑芯片实现CPU在主用存储器和备用存储器之间的启动切换,由于启动切换控制装置是由计数器、逻辑门等低成本的数字元器件构成,因而能够避免电子设备的物料成本提高;而且,启动切换装置的功能仅依靠数字元器件之间固定的连接关系、而不需要像逻辑芯片那样进行代码加载,因而能够避免电子设备的加工成本和维护成本的提高。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
请参见图2,本实施例中的启动切换控制装置20应用于包括CPU、以及主用存储器和备用存储器(可以选用任意一种Flash或其他存储器件)的电子设备,以利用该启动切换控制装置20替代现有的逻辑芯片实现CPU在主用存储器和备用存储器之间的启动切换。其中,该启动切换控制装置20由例如计数器、逻辑门等无需代码加载的低成本数字元器件构成,旨在避免电子设备的物料成本、加工成本、以及维护成本的提高。
为了使启动切换控制装置20能够像逻辑芯片那样实现CPU在主用存储器和备用存储器之间的启动切换,启动切换控制装置20需要具有以下功能:
1、产生用于计时的时钟信号;
2、依据时钟信号对CPU从主用存储器启动加载的时间进行计时,并CPU启动加载成功时停止计时、在计时超时后复位CPU;
3、将计时超时事件转化为CPU从主用存储器向备用存储器的切换。
相应地,为实现上述3个功能,该启动切换控制装置包括时钟发生电路21、计时复位电路22、以及片选切换电路23,其中:
时钟发生电路21在电子设备上电后开始产生方波时钟信号Clk;
计时复位电路22依据方波时钟信号Clk对CPU从主用存储器的加载启动过程进行计时,并在CPU从主用存储器加载启动成功后停止计时、在计时超时后触发CPU复位;
片选切换电路23在计时复位电路的计时超时后将CPU将当前进行加载启动的存储器从主用存储器切换为备用存储器。
下面,请参见图3并同时结合图2,对上述的时钟发生电路21、计时复位电路22、以及片选切换电路23分别进行详细说明。
(一)、时钟发生电路21:
在图3中,时钟发生电路21包括时钟发生器O和4位二进制计数的计数器C1。其中,时钟发生器O0可以选用现有的任意一种非对称式多谐振荡器,相应地,其产生的初始时钟信号Clk’的频率可以通过设定非对称式多谐振荡器的电容值和电阻值来设定;计数器C1可以选用型号为74HC393的双4位计数器芯片,并利用型号为74HC393的双4位计数器芯片的一部分来实现计数器C1。
时钟发生器O0在电子设备上电后开始产生一初始时钟信号Clk’。
计数器C1的计数输入端C1_CP接收初始时钟信号Clk’、以使计数器C1对初始时钟信号Clk’进行二进制计数;计数器C1的最低计数位的计数输出端C1_Q0输出对初始时钟信号Clk’二分频得到的方波时钟信号Clk。
如此一来,即可实现用于计时的时钟信号的产生。另外,当计数器C1选用型号为74HC393的双4位计数器芯片的一部分时,可以将计数器C1的清零端C1_CLR上拉为高电平、以禁止计数器C1被清零,从而确保方波时钟信号Clk的波形正确性。
需要说明的是:
1)、本实施例仅仅是计数器C1的计数位总数为4位为例,但实际应用中,计数器C1选型并不限于型号为74HC393的双4位计数器芯片,相应地,计数器C1的计数位总数不限于4位。
2)、本实施例仅仅是以计数器C1的最低计数位的计数输出端C1_Q0输出二分频的方波时钟信号Clk为例,但在实际应用中,计数器C1的任一个计数位的计数输出端C1_Qi(i为大于等于0、小于等于计数器C1的计数位总数-1的正整数)均可以输出对初始时钟信号Clk’进行2i+1分频的方波时钟信号Clk。
3)、当时钟发生器O0选用非对称式多谐振荡器时,其产生的初始时钟信号Clk’的频率可以通过设定电容值和电阻值来任意设定,此时,也可以直接设置时钟发生器O0的振荡频率满足方波时钟信号Clk的频率要求、而无需再利用计数器C1进行分频处理,即,用于分频的计数器C1并不是必须的、时钟发生器O0在电子设备上电后即可直接开始产生方波时钟信号Clk。
(二)、计时复位电路22:
在图3中,计时复位电路22包括4位二进制计数的计数器C2。其中,计数器C2可以选用型号为74HC193的4位计数器芯片。
计数器C2的计数输入端C2_CP接收方波时钟信号Clk、以使计数器C2对方波时钟信号Clk进行二进制计数;
计数器C2的清零端C2_MR接收CPU输出的指示信号GPIO0,其中:
指示信号GPIO0在电子设备上电后的默认电平状态为无效的低电平、以表示CPU尚未从主用存储器完成启动加载,在CPU从主用存储器启动加载成功后的电平状态为有效的高电平、以表示CPU已从主用存储器完成启动加载;
当指示信号GPIO0为无效的低电平时,CPU尚未从主用存储器完成启动加载,计数器C2的清零端C2_MR接被禁止、以在CPU从主用存储器加载启动的过程中确保计时的继续进行;
当指示信号GPIO0为有效的高电平时,CPU已从主用存储器完成启动加载,计数器C2的清零端C2_MR被使能、以在CPU从主用存储器加载启动成功后停止计数。
计数器C2的最高计数位的计数输出端C2_Q3输出计时电平信号u1。其中:
当计数器C2计数达到最高位对应的数值(即方波时钟信号Clk的8个时钟周期)后,计时电平信号u1由无效的低电平翻转为有效的高电平;
当计数器C2发生计数溢出(即方波时钟信号Clk的15个时钟周期)后,计时电平信号u1通过计数溢出后的循环归零(即方波时钟信号Clk的16个时钟周期)从有效的高电平翻转为无效的低电平、以表示计时超时。
计数器C2的计数溢出端C2_TCU向CPU的复位端CPU_RST输出计数溢出信号Count_up。其中:
当计数器C2发生计数溢出后,计数溢出信号Count_up被置为有效的低电平、并在循环归零后被置为无效的高电平。
如此一来,计数器C2就能够针对CPU从主用存储器的加载启动过程实现方波时钟信号Clk的16个时钟周期的计时,并在CPU从主用存储器加载启动成功后通过被CPU对计数器C2的清零而停止计时、在计时超时即将发生时利用计数器C2的计数溢出来触发CPU复位。
例如,假设时钟发生器O0产生1Hz的初始时钟信号Clk’,计数器C1的最低计数位的计数输出端C1_Q0二分频后的1/2Hz的方波时钟信号Clk,则4个计数位的计数器C2即可实现32秒的计时时长。并且,由于计数器C2的计数溢出是在真正达到32秒计时时长之间就发生的,因此,CPU能够在计时超时之前提前复位,以便于在计时超时真正发生时能够立即切换至备用存储器进行启动加载。
另外,当计数器C2选用型号为74HC193的4位计数器芯片时,计数器C2还具有4个数据输入端D0~D4,但4个数据输入端D0~D4并不需要被使用,因而可以将计数器C2的异步并行控制端C2_PL上拉为无效的高电平。
需要说明的是:
1)、本实施例仅仅是计数器C2的计数位总数为4位为例,但实际应用中,计数器C2选型并不限于型号为74HC193的4位计数器芯片,相应地,计数器C2的计数位总数不限于4位,而是可以根据实际的计时时长需求、并结合方波时钟信号Clk的时钟周期的长度来任意选择。
2)、本实施例仅仅是以计时电平信号u1高电平有效、低电平无效,以及,计数器C2的清零端C2_MR为高电平使能为例,但实际应用中,计数器C2选型并不限于型号为74HC193的4位计数器芯片,相应地,根据计数器C2的不同选型芯片的芯片特性,计时电平信号u的有效和无效电平、以及计数器C2的清零端C2_MR的使能电平均可以相应调整,那么,计时电平信号u1的电平翻转事件的含义、指示信号GPIO0的电平含义也需要随清零端C2_MR的使能电平的调整而相应变化。
(三)、片选切换电路23:
在图3中,片选切换电路23包括4位二进制计数的计数器C3、以及逻辑门组件LG。其中,当计数器C1选用型号为74HC393的双4位计数器芯片的一部分时,计数器C3可以选用型号为74HC393的双4位计数器芯片的另一部分来实现;逻辑门组件可以由各种基本逻辑门组合而成。
计数器C3的计数输入端C3_CP通过一反向器Rev1接收计时电平信号u1、以使计数器C3对计时电平信号u1表示计时超时的下降沿电平翻转事件进行二进制计数。
计数器C3的最低计数位的计数输出端C3_Q0产生锁存电平信号u2。其中:
当计时电平信号u1产生上述的下降沿电平翻转时,锁存电平信号u2随之产生从无效的低电平向有效的高电平的上升沿电平翻转、以表示捕捉到了计时电平信号u1表示计时超时的下降沿电平翻转事件。
计数器C3的清零端C3_CLR通过反向器Rev2接收指示信号GPIO0。其中:
当指示信号GPIO0为无效的低电平时,CPU未从主用存储器完成启动加载,计数器C3的清零端C3_CLR被经反向器Rev2反向后的高电平指示信号GPIO0禁止、以使锁存电平信号u2在计时电平信号u1下一次产生表示计时超时的下降沿电平翻转事件之前被锁存为有效的高电平,即,将CPU的加载启动状态持续标识为CPU从主用存储器的启动加载已失败;
当指示信号GPIO0为有效的高电平时,CPU已从主用存储器完成启动加载时,计数器C3的清零端C3_CLR被经反向器Rev2反向后的低电平指示信号GPIO0使能、以使锁存电平信号u2被归位为无效的低电平,即,表示此时无需再关注CPU从主用存储器的启动加载是否超时。
逻辑门组件LG依据锁存电平信号u2和CPU输出的指示信号GPIO1,向主用存储器和备用存储器分别输出片选信号CS01和片选信号CS02。其中:
指示信号GPIO1在电子设备上电后的默认电平状态为无效的低电平、以表示CPU尚未从备用存储器完成启动加载,在CPU从备用存储器启动加载成功后的电平状态为有效的高电平、以表示CPU已从备用存储器完成启动加载;
当锁存电平信号u2和指示信号GPIO1均为无效的低电平时,向主用存储器输出的片选信号CS01为有效的低电平、向备用存储器输出的片选信号CS02为无效的高电平;
当锁存电平信号u2或指示信号GPIO1均为有效的高电平时,表示CPU由于从主用存储器加载启动失败而需要从备用存储器加载启动、或表示CPU已从备用存储器完成加载启动,相应地,向主用存储器输出的片选信号CS01为无效的高电平、向备用存储器输出的片选信号CS02为有效的低电平。
如此一来,通过计数器C3对计时电平信号u1表示计时超时的下降沿电平翻转事件的采样锁存、以及逻辑门组件LG对锁存电平信号u2所表示的CPU从主用存储器的启动加载状态进行的逻辑判断,即可利用逻辑门组件LG产生的片选信号CS01和CS02实现主用存储器和备用存储器的片选切换。
进一步地,逻辑门组件LG还可以依据锁存电平信号u2向CPU输出片选提示信号GPIO2。其中:
当锁存电平信号u2和指示信号GPIO1均为无效的低电平时,片选提示信号GPIO2被置为表示主用存储器的低电平;
当锁存电平信号u2或指示信号GPIO1为有效的高电平时,片选提示信号GPIO2被置为表示备用存储器的高电平。
如此一来,通过逻辑门组件LG对锁存电平信号u2所表示的CPU从主用存储器的启动加载状态、以及指示信号GPIO1表示的CPU从备用存储器的启动加载状态进行的逻辑判断,即可通过片选提示信号GPIO2提示CPU当前所片选的存储器是主用存储器还是备用存储器。
另外,当主用存储器和备用存储器中的任意一个需要被修复时,CPU可以通过将指示信号GPIO0和GPIO1中的一个强置为有效的高电平、另一个强置为无效的低电平,以利用指示信号GPIO0对锁存电平信号u2的控制、以及指示信号GPIO1本身,触发逻辑门组件LG通过对片选信号CS01和CS02的强行置位、以针对待修复的存储器实现强行片选。
进而,逻辑门组件LG还可以进一步依据一片选使能信号CS00控制片选信号CS01和CS02;其中,当片选使能信号CS00为有效的低电平时,片选信号CS01和CS02中的每一个都能够被允许置为有效的低电平,而当片选使能信号CS00为无效的高电平时,片选信号CS01和CS02均被强置为无效的高电平、以实现对主用存储器和备用存储器的读写保护。
针对具有上述功能的逻辑门组件LG,本实施例提供了一种优选实现结构,请参见图3,逻辑门组件LG包括或门OR1、或门OR2、或门OR3、以及反向器Rev3,其中:
或门OR1的一路输入端接收锁存电平信号u2、另一路输入端接收指示信号GPIO1,或门OR1的输出端产生片选提示信号GPIO2;
或门OR2的一路输入端通过反向器Rev3连接自或门OR1的输出端、另一路输入端接收片选使能信号CS00,或门OR2的输出端产生片选信号CS02;
或门OR3的一路输入端连接自或门OR1的输出端、另一路输入端接收片选使能信号CS00,或门OR3的输出端产生片选信号CS01。
需要说明的是:
1)、本实施例在计数器C2的最高计数位的计数输出端C2_Q3与计数器C3的计数输入端C3_CP之间设置反向器Rev1,是因为计时电平信号u表示计时超时的电平翻转事件为下降沿、而计数器C3的计数输入端C3_CP的计数触发条件为上升沿,但在实际应用中,若计数器C2和计数器C3的选型芯片的芯片特性决定了计时电平信号u表示计时超时的电平翻转事件与计数输入端C3_CP的计数触发条件相匹配,则可以不设置反向器Rev1。
同理,本实施例中的计数器C3的清零端C3_CLR通过反向器Rev2接收指示信号GPIO0,是因为指示信号GPIO0表示CPU未选择主用存储器的电平与计数器C2的清零端C2_MR的使能电平相同、但与计数器C3的清零端C3_CLR的使能电平相反,但在实际应用中,若计数器C2和计数器C3的选型芯片的芯片特性决定了指示信号GPIO0表示CPU未选择主用存储器的电平与计数器C2的清零端C2_MR的使能电平相反,则计数器C2的清零端C2_MR也可以通过反向器接收指示信号GPIO0,若指示信号GPIO0表示CPU未选择主用存储器的电平与计数器C3的清零端C3_CLR的使能电平相同,则计数器C3的清零端C3_CLR无需通过反向器Rev2接收指示信号GPIO0。
2)、本实施例利用计数器C3实现采样锁存,但实际应用中也可以利用任意一种触发器来替代计数器C3,基于计时电平信号u1与锁存电平信号u2之间的时序关系,本领域技术人员能够合理的设置触发器,本文不再赘述。
3)、本实施例针对逻辑门组件LG提供的具体实现结构,是基于锁存电平信号u2和指示信号GPIO1的有效电平均为高电平、无效电平均为低电平,片选使能信号CS00、以及片选信号CS01和CS02的有效电平均为低电平、无效电平均为高电平为例,但在实际应用中,针对不同的信号定义,逻辑门组件LG的结构也可以相应调整,本文不再一一列举。
下面,再结合时序图对上述的各部分电路的信号进行详细说明。
CPU从主用存储器成功实现启动加载的时序过程请参见图4a:
当设备上电启动后,指示信号GPIO0为无效的低电平,计数器C2能够从0开始计数、且不会被指示信号GPIO0持续清零,此时,计数器C2的最高计数位的计数输出端C2_Q3输出的计时电平信号u1为无效的低电平,计数器C3的最低计数位的计数输出端C3_Q0输出的锁存电平信号u2也为无效的低电平;相应地,由于指示信号GPIO1也为无效的低电平,因而经逻辑门组件LG的逻辑判断后,片选信号CS01为有效的低电平、片选信号CS02为无效的高电平,CPU能够从主用存储器进行加载启动;
当计数器C2计数达到方波时钟信号Clk的8个时钟周期时,计数器C2的最高计数位的计数输出端C2_Q3输出的计时电平信号u1从无效的低电平变为有效的高电平,此时,计数器C3的最低计数位的计数输出端C3_Q0输出的锁存电平信号u2仍为无效的低电平;相应地,由于指示信号GPIO1此时也仍为无效的低电平,因而经逻辑门组件LG的逻辑判断后,片选信号CS01继续保持在有效的低电平、片选信号CS02继续保持在无效的高电平,CPU能够继续从主用存储器进行加载启动;
当计数器C2计数尚未达到方波时钟信号Clk的15个时钟周期、且CPU从主用存储器完成启动加载时,计数器C2不会发生计数溢出,其计数溢出端C2_TCU向CPU的复位端CPU_RST输出计数溢出信号Count_up为高电平的无效,相应地,CPU不会进行复位、并将指示信号GPIO0变为高电平的有效;
此后,计数器C2被清零,其最高计数位的计数输出端C2_Q3输出的计时电平信号u1变为无效的低电平、并由于被指示信号GPIO0持续清零而保持在无效的低电平,相应地,计数器C3的最低计数位的计数输出端C3_Q0输出的锁存电平信号u2仍为无效的低电平、指示信号GPIO1也仍为无效的低电平,因此,片选信号CS01继续保持在有效的低电平、片选信号CS02继续保持在无效的高电平。
CPU从主用存储器启动加载失败、并切换至备用存储器进行启动加载的时序过程请参见图4b:
当设备上电启动后,指示信号GPIO0为无效的低电平,计数器C2能够从0开始计数、且不会被指示信号GPIO0持续清零,此时,计数器C2的最高计数位的计数输出端C2_Q3输出的计时电平信号u1为无效的低电平,计数器C3的最低计数位的计数输出端C3_Q0输出的锁存电平信号u2也为无效的低电平;相应地,由于指示信号GPIO1也为无效的低电平,因而经逻辑门组件LG的逻辑判断后,片选信号CS01为有效的低电平、片选信号CS02为无效的高电平,CPU能够从主用存储器进行加载启动;
当计数器C2计数达到方波时钟信号Clk的8个时钟周期时,计数器C2的最高计数位的计数输出端C2_Q3输出的计时电平信号u1从无效的低电平变为有效的高电平,此时,计数器C3的最低计数位的计数输出端C3_Q0输出的锁存电平信号u2仍为无效的低电平;相应地,由于指示信号GPIO1此时也仍为无效的低电平,因而经逻辑门组件LG的逻辑判断后,片选信号CS01继续保持在有效的低电平、片选信号CS02继续保持在无效的高电平,CPU能够继续从主用存储器进行加载启动;
当计数器C2计数已达到方波时钟信号Clk的15个时钟周期、但CPU未能从主用存储器完成启动加载时,计数器C2发生计数溢出,其计数溢出端C2_TCU向CPU的复位端CPU_RST输出计数溢出信号Count_up变为低电平的有效,相应地,CPU进行复位;
当计数器C2计数归零后,其计数溢出端C2_TCU向CPU的复位端CPU_RST输出计数溢出信号Count_up又恢复为高电平的无效、CPU复位结束,且计数器C2的最高计数位的计数输出端C2_Q3输出的计时电平信号u1从有效的高电平变为无效的低电平,此时,计数器C3的最低计数位的计数输出端C3_Q0输出的锁存电平信号u2跳变为有效的高电平、但指示信号GPIO1仍为无效的低电平,相应地,经逻辑门组件LG的逻辑判断后,片选信号CS01由于锁存电平信号u2跳变为有效的高电平而被变为无效的高电平、片选信号CS02由于锁存电平信号u2跳变为有效的高电平而被变为有效的低电平,完成复位的CPU能够重新从备用存储器进行加载启动;
此后,CPU从备用存储器完成启动加载后,指示信号GPIO1置为有效的高电平,相应地,虽然此时的计数器C2仍会循环不断地计数、并导致锁存电平信号u2的反复跳变,但持续置为有效的高电平的指示信号GPIO1能够使片选信号CS01保持在无效的高电平、片选信号CS02保持在有效的低电平。
CPU对主用存储器和备用存储器中的任一个进行强行片选的时序过程如图4c所示:
当CPU过将指示信号GPIO0和GPIO1中的一个强置为有效的高电平、另一个强置为无效的低电平,通过指示信号GPIO0控制锁存电平信号u2的电平变化、以及指示信号GPIO1本身的电平变化,触发逻辑门组件LG通过对片选信号CS01和CS02的强行置位、以针对待修复的存储器实现强行片选。
对主用存储器和备用存储器同时进行读写保护的时序过程如图4d所示:
当片选使能信号CS00为有效的低电平时,片选信号CS01和CS02中的每一个都能够被允许置为有效的低电平,而当片选使能信号CS00为无效的高电平时,片选信号CS01和CS02均被强置为无效的高电平、以实现对主用存储器和备用存储器的读写保护。
除了上述的启动切换控制装置之外,本实施例还提供了一种基于主备存储器的启动切换控制方法,该启动切换控制方法利用如上所述的启动切换控制装置控制CPU在主用存储器和备用存储器之间的加载启动切换。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。