用于监控微控制器单元的操作的方法和基片
技术领域
本发明涉及一种用于通过至少一个基片,特别是一个***基片来监控供至少一个应用使用并与***相关联的至少一个微控制器单元的操作的方法。
背景技术
本发明还涉及一种基片,并且特别地涉及一种***基片,用于监控供至少一个应用使用的至少一个微控制器单元的操作,还涉及一种相关联的***,特别是控制***。
在现代的控制单元中,以汽车电子设备为例,对于持久地预编程微控制器已经不再有用用,这是因为固定的预置程序意味着在进行的批量生产的过程中不能再进行任何修改或者最终用户也不能再进行任何修改。
因此机动车辆制造商逐渐地转向在所述微控制器中使用所谓的易失性存储器或闪速存储器的实务中;这种易失性存储器使得所述程序代码能够在任何时候被重写,即可以在生产中和修理车间里,如检查的一部分进行重写。
在汽车电子设备中***逐渐备有这种闪速存储器的事实使得所述控制单元的软件甚至“在现场”也能够被更换,即例如在汽车修理车间里。用这种方法,如果在所述软件中发现故障,那么甚至在交货之后也能够修改机动车辆,因此能够在所述车辆的质量上进行改进。
因此为了能在微控制器单元中重写在所述程序存储器中的软件,通常将功能并入所述微控制器单元,以保证机动车辆在运行中时也不会意外重写所述软件。对于已知的微控制器单元,要求至少一个硬件重置(reset)以便经由在所述微控制器单元终端的一定信号,能够重写所述闪速存储器。
在现有的控制单元中,在不在所述控制单元做出直接变更的前提下,在触发刚提到的硬件重置这一方面总是存在问题。所述控制单元通常难以访问,因此不能被容易地重置。
在现有技术中,通常使用现有的监控模块或“监视定时器(watchdog)”(一种具有来源于独立源的时钟信号的可配置计时器)来触发所述硬件重置。在这方面术语“监视定时器”通常被理解成指的是一种用于循环地监控设备、连接或软件的技术。如果一段软件不再遵循由所述软件规定的确定次序的路径,那么所述监视定时器是用来重置所述微控制器并且用这种方法将所述程序的运行恢复到其被计划的路线。
为了触发所述硬件重置,向所述控制单元发送为此目的的命令,所述控制单元通过所述车辆串行总线***进行重新编程,所述总线***例如可以是CAN(控制器区域网络)总线。然后所述控制单元中断对所述监视定时器单元的有规律的访问,并且在超限(overrun)之后导致一次重置发生。
然而,在这个过程中存在缺点,就是在所述控制单元能够转换到编程模式之前,所述监视定时器单元的超限必须始终要被等待。此外,对于控制单元而言,要分辩出所述重置是否是用来导致进入闪速编程模式或它是否意味着在这种情况下控制单元中存在其它问题是不容易的。
当已经完成所述闪速编程时也存在相同的缺点,这是因为接下来要求新的硬件重置并且这又只能作为监视定时器单元超限的结果发生。为此,不必要的大时间量就被浪费着,直到所述监视定时器单元“超时”为止。
在控制单元的现有方案中,由于安全的原因,还存在这样的需求,即要求至少一个硬件信号能够被采用启用所述编程模式的方式来在在控制单元加以改变。也为此,要求直接访问所述控制单元,并且由于在现代的机动车辆方面,由于狭窄的可用空间的原因,这几乎是不可能的。
还有另外一件感觉是非常明确的问题,就是当所述控制单元正在被闪速编程时,能够使所述监视定时器单元继续运行。所述闪速编程程序是时间密集的,并且由于这一原因,在一定的条件下使得监视定时器单元能够运行至通常的密切相关的容许程度不再是可能的。
发明内容
以上述缺点和缺陷为出发点,在大体描述的现有技术的允许下,本发明的目标是进一步开发在第一段详述的这种方法以及在第二段详述的这种基片(base chip),即与所述***相关联的微控制器单元的重置只在定义的条件下发生。
这一目标通过以下的一种方法来实现,所述方法是一种用于通过至少一个基片一特别是一个***基片来监控供至少一个应用使用并且与***相关联的至少一个微控制器单元的操作的方法,其中如果把至少一个特殊序列施加到所述基片,就引发所述微控制器单元的重置,
其特征在于:
所述特殊序列是分配给重置的至少一个驱动或访问序列,
以和比微控制器单元的正常操作模式相比而言被简化的方式执行对至少一个与基片相关联的监控模块的访问而发生,就能够使得在所述特殊序列之后和重置之后立即激活特殊操作模式,其中所述特殊操作模式之一能够是所述基片的闪速模式;
在特殊操作模式期间,对所述监控模块使用特殊触发代码或特定触发信号;以及
由正常触发代码或正常触发信号引起微控制器单元的新的重置,以便能够再次退出所述特殊操作模式。
在上述方法中,优选地,把重置事件区别开来,不同的所述重置事件因与微控制器单元的操作有关联而存在差别;和通过不同的寄存器条目,适当地在至少一个寄存器单元中记录这些不同的重置事件并使其被知晓。
这一目标通过以下的一种基片来实现,所述基片是这样的一种基片,特别是一种***基片,用于监控至少一个微控制器单元的操作,所述微控制器单元供至少一个应用使用,其特征在于所述基片包括:
至少一个重置单元,用于重置所述微控制器单元,所述重置单元连接到所述微控制器单元;
至少一个特殊序列,被分配给所述微控制器单元的重置,其特征在于:
所述特殊序列是至少一个驱动或访问序列,
以比微控制器单元的正常操作模式简化的方式执行对至少一个与基片相关联的监控模块的访问,使得在所述特殊序列之后和重置之后立即激活特殊操作模式,其中所述特殊操作模式之一能够是所述基片的闪速模式;
在特殊操作模式期间,对所述监控模块使用特殊触发代码或特定触发信号;以及
由所述正常触发代码或正常触发信号引起微控制器单元的新的重置,以便能够再次退出所述特殊操作模式。
在上述的基片中,优选地还包括:
至少一个监控模块,与所述微控制器单元相关联;和
至少一个寄存器单元,用于通过不同的寄存器条目记录不同的重置事件并使其被知晓。
在上述的基片中,优选地,所述监控模块特别地能够通过至少一个接口单元被触发;和/或
为了区分对所述监控模块的特定访问,能够通过不同的触发代码或触发信号标记不同的重置事件。
在以上基片中,优选地,在所述监控模块和所述微控制器单元之间提供至少一个信号线,用于发送至少一个触发代码或触发信号,所述触发代码或触发信号不同于所述微控制器单元的正常操作模式。
因此本发明是以如下的方式提供至少一个***基片为基础的,所述***基片给出定义的闪速模式支持,所述方式使得当把给一个重置分配的至少一个特殊序列,特别是至少一个驱动或访问序列施加到所述基片时,就引发所述微控制器单元的重置。
在本发明的教导下,因此提出在***基片中提供一种模式,所述***基片通过至少一个监控模块的实现也包括有监视定时器功能,所述模式允许硬件重置-即一次硬件的重置被有意地触发。
依照本发明,只有当向所述***基片提供被分配用于重置的特殊序列,特别是至少一个驱动或访问序列时,才触发此有意的硬件的重置,用这种方式目的在于阻止意外地触发所述重置。这个序列代替了在现有技术中规定的硬件信号,其在控制单元-微控制器单元往往是直接需要的。这使避免需要直接访问控制单元成为可能,并且这依次允许所述控制单元能够被安装在任何希望的点。
在一个特别有发明性的实施例中,或者说提出就像事实上一样,这就强制复位被应用所知晓。为此目的并使其与过去一致,有利地表明了在至少一个寄存器中,并且特别是在至少一个重置源寄存器中通过到所述***基片的特殊序列来触发重置事件。用这种方法,所述软件可以直接检测所述闪速存储器单元无疑要被重新编程。
在本发明优选实施例中,提出了在成功的特殊序列之后和在重置发生之后,存在转到所述***基片的独立模式,特别是独立闪速模式的单个时机。此特殊模式允许所述***继续运行就像在其正常模式下一样,但通常使用简化的监视定时器触发。
用这种方法,在正常模式下,在不危害所述***的安全或可靠性的情况下,所述监视定时器周期能够被调整到现有的闪速编程例程。在所述闪速编程期间,在所谓的“超时”模式(意指触发必须始终不在给定的时间之内发生,不过允许早期触发)下,因此能用所述监控模块进行操作,然而在正常操作下,使用所谓的“窗口”模式(基本上与超时模式相同,但不允许早期触发;所述窗口必须被命中并且这对所述软件产生更迫切的需要)。
为了使另一强制性重置被实现而在进行闪速编程之后没有任何等待时间,提出了在所述闪速模式期间,有利地使用不同的监视定时器代码以便访问所述***基片,例如可以经由所述串行接口装置、所述SPI(串行***接口)来向所述***基片发送所述代码。
如果所述闪速模式就要退出了,那么优选使用所述正常监视定时器访问码,其在所述闪速模式期间不被允许并因而生成立即***重置,在这种情况下,所述重置源寄存器再一次向所述软件提供适当的信息以便允许按要求控制所述软件的启动。
为了再进入所述闪速模式,向所述***基片再次发送故障安全序列。如果在所述序列和重置发生之后没有激活所述闪速模式,那么对闪速模式的访问被有效地禁止,直到将所述故障安全序列又发送给所述***基片时。
最后,本发明涉及如上所述的这种方法的用途和/或如上所述的这种至少一个基片的用途,用于监控在汽车电子设备中并且尤其在机动车辆电子设备中的、供至少一个应用使用的至少一个微控制器单元的操作。
如上所述,已经提供了各种可能的方式,其中有利地包含并改进了本发明的教导。在一方面,就此而论对依赖于权利要求1和5的权利要求进行参考,并且另一方面,更进一步的方面,参考图1和2中示出的说明性实施例以及下文的描述,本发明的特点和优点将更明显并得到阐明。
附图说明
在附图中:
图1是依照本发明具有基片和微控制器单元的***的实施例的框图;和
图2是依照本发明所述方法流程图实施例的框图。
具体实施方式
在图1中图解示出了控制***100,以及具有电源单元310(提供VDD电源)、重置单元320和I/O(输入/输出)模块330的微控制器单元300,还具有所谓的SBC(***基片)200,所述SBC 200包括监控模块(10)(=监视定时器单元),用于监控所述微控制器单元300的操作,所述微控制器单元300供应用使用。
因为所述***芯片200允许在不同的重置事件和可被所述应用微控制器300访问的不同事件之间存在差别,所以所述***芯片200具有重置源寄存器20-被提供来为不同的重置事件作准备,和重置单元40(用于***重置)-通过连接42(前往所述微控制器单元300的重置单元320)连接到所述微控制器单元300。
为了使得信息和信号能够被交换,所述监控模块10和重置源寄存器20在它们前面***接口单元30(供给微控制器单元300的I/O模块330)。
从图1中示出的内容还可以看出,监控模块10和微控制器电源单元50与至少一个电池单元400持久地相关联,所述微控制器电源单元50通过连接52连接到微控制器单元300。尽管所述监控模块10从所述电池400接收持久的供电,所述微控制器电源单元50还能够通过开关54接通和断开,因此使得能够经由所述微控制器电源单元50(给微控制器单元300的VDD电源单元310供电)把微控制器单元300与临时电能供电相关联。
就此依照本发明阐明了***100的硬件基础,现在图2中的示意图以图表的形式示出了依照本发明方法流程的典型的实施例。
通过***基片200执行该方法,所述***基片200能够通过特殊(访问)序列“有意地”触发***100的硬件重置R。为此目的,所述***基片200在规定的重置源寄存器20中使得按照顺序有意地执行硬件重置R被知晓,采用这种方式来告知所述软件为什么已经执行硬件重置R;因此采用这种方式可以做出到一个合适的程序的过渡。
此特殊序列保证硬件重置R不是被无意地执行,这通过查询例程[b]在图2中示出,所述查询例程将所述微控制器单元300从正常运行方式N转向硬件重置R。在此查询例程[b]下,进行检查以看看是否已经成功地发送所述特殊序列,依据此来允许所述微控制器单元300的特殊模块操作S,即闪速模式。
与此一致,所述***基片200允许特殊操作模式(=在这种情况下是闪速模式S),在该模式下,所述监视定时器访问能够以简化方式发生,以便在所述访问序列之后和重置R发生之后立即激活。在这种情况下发生的是所述微控制器单元300激活所述特殊操作模式S,即所述闪速模式,对于所述闪速模式,这已经是允许的(参见图2:从硬件重置R到闪速模式(超时监视定时器)S的查询例程[c])。
在特殊模式期间,即闪速模式S,使用一个特殊触发代码,即在查询例程[d]下的闪速监视定时器触发代码,所述闪速监视定时器触发代码不同于在查询例程[a]下的正常监视定时器触发代码,以便保证所述软件运行正确的例程。
如果在所述特殊操作模式期间使用了不同的或不正确的监视定时器触发代码,那么将禁止所述闪速模式(参见图2:从闪速模式(超时监视定时器)S到硬件重置R的查询例程[e]),并且所述***基片将立刻触发另一硬件重置R;所述重置源寄存器20也就相应地被设置,并且用这种方式退出特殊模式S。
同样,从微控制器单元300的所述硬件重置R转到正常运行模式N的查询例程[f]表明所述微控制器单元300激活正常运行模式N,这等于禁止特殊操作模式S,即所述微控制器单元300的闪速模式。
因此,总之,可以说图1示出的所述***100和图2示出的所述方法被设计成用于通过***基片200监控供应用使用并且与***100相关联的微控制器单元300。
这样一来,使用这样的一种功能,所述功能能够使***基片200操作的故障可靠的、先前输入模式能够被实现,其依次允许在所述操作模式的开始和结尾都能够实现所述应用的有意的硬件重置。因而这一功能允许最优的闪速存储器储器编程模式在监视定时器触发期间在所述***基片200内加以实现。
参考数字列表:
100 ***,特别是控制***
10 监控模块,特别是监视定时器单元
12 在监控模块10和寄存器单元20之间的连接
20 寄存器单元,特别是重置源寄存器
24 在寄存器单元20和重置单元40之间的连接
30 接口单元
32 连接,特别是在接口单元30和微控制器单元300之间的信号线
40 重置单元
42 在重置单元40和微控制器单元300之间的连接
50 电源单元
52 在电源单元50和微控制器单元300之间的连接
54 电源单元50的开关
200 基片,特别是***基片
300 微控制器单元,特别是应用微控制器
310 用于微控制器单元300的电源单元
320 用于微控制器单元300的重置单元
330 微控制器单元300的I/O(输入/输出)模块
400 电池单元
N 微控制器单元300的正常操作模式
R 微控制器单元300的重置
S 特殊操作模式,特别是微控制器单元300的闪速模式