CN103190077A - 数字计数器和用于测量时段的方法 - Google Patents

数字计数器和用于测量时段的方法 Download PDF

Info

Publication number
CN103190077A
CN103190077A CN2011800511266A CN201180051126A CN103190077A CN 103190077 A CN103190077 A CN 103190077A CN 2011800511266 A CN2011800511266 A CN 2011800511266A CN 201180051126 A CN201180051126 A CN 201180051126A CN 103190077 A CN103190077 A CN 103190077A
Authority
CN
China
Prior art keywords
counter
value
hardware
hardware counter
software
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.)
Granted
Application number
CN2011800511266A
Other languages
English (en)
Other versions
CN103190077B (zh
Inventor
L.加西亚
J.侯
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.)
Vitesco Technologies GmbH
Original Assignee
Continental Automotive GmbH
Continental Automotive France SAS
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 Continental Automotive GmbH, Continental Automotive France SAS filed Critical Continental Automotive GmbH
Publication of CN103190077A publication Critical patent/CN103190077A/zh
Application granted granted Critical
Publication of CN103190077B publication Critical patent/CN103190077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04FTIME-INTERVAL MEASURING
    • G04F10/00Apparatus for measuring unknown time intervals by electric means
    • G04F10/04Apparatus for measuring unknown time intervals by electric means by counting pulses or half-cycles of an ac
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/02Input circuits
    • H03K21/023Input circuits comprising pulse shaping or differentiating circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K21/00Details of pulse counters or frequency dividers
    • H03K21/40Monitoring; Error detection; Preventing or correcting improper counter operation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K23/00Pulse counters comprising counting chains; Frequency dividers comprising counting chains

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种用于借助于硬件计数器2和软件计数器3来测量第一事件与第二事件之间的时段的方法。本发明还涉及一种使用这样的方法的数字计数器1。

Description

数字计数器和用于测量时段的方法
技术领域
本发明涉及一种诸如被用在例如信息技术微处理器中的数字计数器以及一种用于测量两个事件之间的时段的方法。
背景技术
根据现有技术的数字计数器包括硬件计数器,所述硬件计数器的值在n位上被编码。硬件计数器的值通过时钟来递增。因而,这个值从初始值(一般为0)增加直到最大值A。当硬件计数器达到它的最大值A时,硬件计数器被认为溢出(overflow)。在溢出之后,硬件计数器被复位。硬件计数器的值的周期特性(behavior)在图1中通过曲线M示出。
因而,当硬件计数器被用来量化比硬件计数器的周期T短的时段、例如在图1中所示的时段(b-a)时,硬件计数器内部和它自身(in and of itself)就足够了。
在另一方面,当硬件计数器被用于量化比硬件计数器的周期T长的时段、例如在图2中所示的时段(c-a)时,硬件计数器不足够。
为了测量比硬件计数器的周期T长的时段,根据现有技术公知的数字计数器包括至少一个硬件计数器、一个处理器和一个溢出计数器。溢出计数器被用来量化硬件计数器的溢出数目。更特别地,每当硬件计数器溢出时,处理器就将溢出计数器递增一个单位。溢出计数器的理想特性在图2中通过曲线N示出。理想地,这里被观察到的是,溢出计数器的递增正好发生在硬件计数器的溢出时刻。在图2中所示的例子中,在第一事件(i)与第二事件(j)之间的时段(c-a)因而等于时段b2加上对应于三个溢出的时间,从其中减去时间段a2的值。
这种类型的数字计数器的真实特性是使得软件计数器的递增出于在上文所呈现的原因不能与硬件计数器的溢出严格同时发生。
首先,当硬件计数器达到它的最大值A时,进行中的处理操作的中断被生成,以便允许处理器将溢出计数器递增。然而,至少由于处理器不得不保存进行中的处理操作的事实,该中断已经关于硬件计数器的溢出被延迟。如果中断的优先级关于进行中的处理操作的优先级是非常高的,那么该延迟仅仅可以被最小化,而不能完全被消除。然而,这里再次,该延迟是由于为了分离地和连续地执行下面的不可避免的步骤所花费的时间:
·用于读取硬件计数器的瞬时值并且用于在用于生成中断的步骤之前与硬件计数器的最大值A相比较的步骤,
·接着,用于将溢出计数器递增的步骤。
因而,在实践中,溢出计数器的递增并不与硬件计数器的溢出同时发生。溢出计数器的真实特性在图3中通过曲线O示出,并且中断中的关于硬件计数器的溢出的延迟在相同的图中通过符号Δ(其中Δ<<T)示出。
这个问题根据现有技术是公知的,并且存在用于校正溢出计数器的递增中的关于硬件计数器的溢出的延迟的软件解决方案。这些软件解决方案之一在于确定中断是否是悬而未决的(pending),以及在于相应地调整溢出计数器的计数。另一软件解决方案(不是不包括第一软件解决方案在内)在于在硬件计数器的比硬件计数器的最大值A低的给定阈值内请求中断。该解决方案要求用于读取硬件计数器的瞬时值并且用于与所述给定阈值相比较的步骤,并且可以根据所述给定阈值被优化。然而,一方面,这些软件解决方案的实施是复杂和麻烦的(达到这种程度以致:由于这些软件解决方案需要高优先级,所以这些软件解决方案显著延迟了进行中的处理操作),而在另一方面,这些软件解决方案仅仅允许所犯的错误被校正,而不能消除该错误。
为了消除所述所犯的错误,对于在硬件计数器的每个溢出与用于将溢出计数器递增的处理器中断之间的一致的需求必须被防止发生。出于这个目的,所参考的专利US 6,882,697 B1教导了如下软件解决方案:所述软件解决方案在于在相同的时段T期间至少两次读取硬件计数器的值,同时以这样的方式选择读取时间,使得没有读取时间与硬件计数器的溢出一致。更特别地,所提供的解决方案在于在硬件计数器的第一半周期上把硬件计数器与第一软件计数器相组合,以及在于在硬件计数器的第二半周期上把硬件计数器与第二软件计数器相组合,使得在其期间两个软件计数器中的一个与硬件计数器相组合的半周期并不与其它软件计数器被递增的时刻一致。因而,每个组合给出了在它的定义的半周期上的相关持续时间。该解决方案首先具有要求两个软件部分的缺点,这使得该解决方案的实施复杂和麻烦。该解决方案还具有缺点:要求确定标记要被测量的时段的结束的第二事件在硬件计数器的哪个半周期上发生,以便选择两个软件计数器中的哪个与硬件计数器相组合来给出要被测量的时段。
发明内容
本发明旨在:通过提供更简单、更快的和/或更稳定的数字计数器和用于测量两个事件之间的时段的方法,克服现有技术的一个或多个缺点,所述数字计数器和方法允许与中断的关于硬件计数器的溢出的延迟相关联的问题被避免,并且不仅仅适配于单个处理器系统,而且适配于多处理器系统,和/或所述数字计数器和方法对进行中的处理操作的影响是非常有限的。
出于这个目的,提供了一种用于测量两个事件之间的时段的方法,其中该方法实施数字计数器,所述数字计数器包括:
·硬件计数器,所述硬件计数器的值在n位上被编码,以及
·软件计数器,所述软件计数器的值在m位上被编码,
该方法包括用于在硬件计数器的至少两个预定值处将软件计数器递增的步骤,这两个值都不与硬件计数器的溢出一致,
使得,数字计数器的值在m+n-1个连贯的位上被编码,在所述m+n-1个连贯的位中:
·n个最低有效位对应于硬件计数器的值,并且
·m-1个最高有效位根据软件计数器和硬件计数器的值被限定,
该方法此外还包括:
·用于根据硬件计数器在第一事件时的值来使软件计数器复位的步骤,
·用于读取和用于保存硬件计数器在第一事件时的值和硬件计数器在第二事件时的值的步骤,
·用于基于软件计数器在第二事件时的值和硬件计数器在第二事件时的值来计算硬件计数器在两个事件之间的溢出数目的步骤,以及
·用于基于硬件计数器在第一事件时的值、硬件计数器在第二事件时的值以及之前所计算的溢出数目来计算两个事件之间的时段的步骤。
该方法因而允许实时约束被避免,并且是更简单的,至少因为该方法仅仅要求单个软件计数器在硬件计数器的值的整个范围上是有效的,并且因为该方法并不要求在第二事件时的任何特定的软件测试,从而在该第二事件时简单地读取硬件计数器和软件计数器,从而允许计算要被测量的时段。
根据一个特征,用于计算硬件计数器在两个事件之间的溢出数目的步骤包括:
·用于计算软件计数器在第二事件时的值与硬件计数器在第一事件时的值之间的差的步骤,以及
·用于计算对应于之前所计算的差的整数部分的值的步骤。
该方法因而明智地利用整数值的计算,以便实现增强的数值稳定性。
根据另一特征,当硬件计数器的值对应于硬件计数器的最大值的四分之一和四分之三时,用于将软件计数器递增的步骤被实现。
根据另一特征,用于使软件计数器复位的步骤在于:
·当硬件计数器在第一事件(i)时的值大于或等于零并且严格小于硬件计数器的最大值的四分之一时,向软件计数器分配等于硬件计数器的值的一半的初始值,
·当硬件计数器在第一事件(i)时的值大于或等于硬件计数器的最大值的四分之一并且严格小于硬件计数器的最大值的四分之三时,向软件计数器分配等于硬件计数器的最大值的初始值,并且
·当硬件计数器在第一事件(i)时的值大于或等于硬件计数器的最大值的四分之三并且严格小于硬件计数器的最大值时,向软件计数器分配等于硬件计数器的最大值的二分之三的初始值。
根据另一特征,用于计算两个事件之间的时段的步骤在于,把对应于硬件计数器在第二事件时的值与硬件计数器在第一事件时的值之差的值加到硬件计数器在两个事件之间的溢出数目上。
根据另一特征,用于使软件计数器复位的步骤以及用于将软件计数器递增的步骤的优先级被确定,以便允许在对应于硬件计数器的最大值的四分之一的时间期满之前实施递增。
该方法因而允许关于进行中的处理操作的优先级的低的优先级被分配给在于使软件计数器复位和将软件计数器递增的任务,其中进行中的处理操作中的延迟接着被最小化。
该方法还提供了一种被设计为测量两个事件之间的时段的数字计数器,所述数字计数器包括:
·硬件计数器,所述硬件计数器的值在n位上被编码,以及
·软件计数器,所述软件计数器的值在m位上被编码,
其中软件计数器在硬件计数器的至少两个预定值处被递增,这两个值都不与硬件计数器的溢出一致,
使得,数字计数器的值在m+n-1个连贯的位上被编码,在所述m+n-1个连贯的位中:
·n个最低有效位对应于硬件计数器的值,并且
·m-1个最高有效位根据软件计数器和硬件计数器的值被限定,
数字计数器使得:
·根据硬件计数器在第一事件时的值来使软件计数器复位,
·读取和保存硬件计数器在第一事件和第二事件期间的值,
·基于软件计数器在第二事件时的值和硬件计数器在第二事件时的值来计算硬件计数器在两个事件之间的溢出数目,以及
·基于溢出数目、硬件计数器在第二事件时的值和硬件计数器在第一事件时的值来计算两个事件之间的时段。
根据一个特征,数字计数器被连接到能够读取硬件计数器的值、使软件计数器复位以及执行计算的处理器,其中所述处理器被连接到至少一个存储介质,所述处理器在所述至少一个存储介质上存储数据。
根据另一特征,硬件计数器的周期由硬件计数器的值在其上被编码的位的数目以及由硬件计数器被递增的频率来确定,其中所述频率是处理器的时钟频率的整数分数(integer fraction)。
根据一个特征,位的数目n等于24,并且位的数目m等于9,使得数字计数器的值在32个连贯的位上被编码。
附图说明
参照附图,在阅读下面的描述时,本发明的其它特征和优点将变得明显的,在所述附图中:
·图1示出了其上出现两条曲线的曲线图:示出了硬件计数器的周期特性的一条曲线M和示出了其要被测量的持续时间小于硬件计数器的周期T的信号的曲线S,
·图2示出了其上出现三条曲线的曲线图:诸如在图1中那样的曲线M,示出了其要被测量的持续时间长于硬件计数器的周期T的信号的曲线S和示出了作为理想的溢出计数器的时间的函数的特性的曲线N,
·图3示出了其上出现三条曲线的曲线图:诸如在图2中那样的曲线M和曲线S,以及作为真实的溢出计数器的时间的函数的特性的曲线O,
·图4示意性示出了根据本发明的数字计数器,所述数字计数器包括与软件计数器并置的硬件计数器,
·图5示出了其上出现五条曲线的曲线图:诸如在图2中那样的曲线M和曲线S,示出了根据本发明的软件计数器的值的特性的曲线F,示出了曲线F的值与曲线M的相对应的值之间的差的特性的曲线G,和示出了曲线G的整数值的特性的曲线P,其中曲线G与图2中的曲线N严密相同,所述图2中的曲线N示出了作为理想的溢出计数器的时间的函数的特性,并且
·图6示出了在其上一方面出现与在图5中相同的五条曲线并且在另一方面出现曲线Q的曲线图,所述曲线Q示出了溢出计数器的被加有硬件计数器的相对应的值的瞬时值P的特性,其中纵坐标上的单位按照硬件计数器的时间测量单位被表达。
具体实施方式
数字计数器被设计来能够实现如下两个事件之间的时段的测量:第一事件i和第二事件j。所述时段可以是接收输入信号的持续时间、发射输出信号的持续时间或者可替换地是任务处理的持续时间。在图5中,曲线S图示了这样的信号的随时间变化的性质,其中要被测量的时段等于(c-a)。
数字计数器1首先包括硬件计数器2,所述硬件计数器2的周期特性在图5中通过曲线M来表示。硬件计数器的值此外在n位上被编码。因而,硬件计数器的最大值(在图1、2、3、5和6中以‘A’表示)等于2n-1。位的数目‘n’优选地等于24。硬件计数器的在n位上被编码的值是以硬件计数器的时间测量单位为单位来表达由硬件计数器来测量的时间的数。硬件计数器的时间测量单位对应于以秒为单位的在硬件计数器的两个递增之间的时间。例如,硬件计数器的在n位上被编码的所述值因而是在图6中作为纵坐标出现的值。以硬件计数器的时间测量单位为单位的对应于差(c-a)的时间对应于差(c’-a’),硬件计数器的最大值与硬件计数器在两个事件之间的溢出数目(x)的乘积被加到所述差(c’-a’)。以秒为单位的对应于差(c-a)的时间对应于以硬件计数器的时间测量单位为单位的对应于差(c-a)的时间乘以硬件计数器的时间测量单位。
数字计数器1其次包括软件计数器3。该软件计数器的值在m位上被编码。位的数目m优选地等于9。然而,由于处理器寄存器的基本单位经常是字节,这9位将需要以16位类型的变量(也被称为二位字节(doublet))被处理。软件计数器的在m位上被编码的值是对应于软件计数器的以软件计数器的一个递增的时间测量单位为单位的递增数目的数。针对软件计数器的一个递增的时间测量单位对应于在软件计数器的两个递增之间的时间;该时间与硬件计数器当软件计数器被递增时的值与硬件计数器在下一递增时的值之间的差有关,其中该差表达了以硬件计数器的时间测量单位为单位的时间。例如,硬件计数器的在n位上被编码的所述值因而是在图6中作为纵坐标出现的值。
在第二例子中,时间尺度的改变可以被应用,所述时间尺度的改变在于将图6中的纵坐标乘以硬件计数器的时间测量单位,使得后者不再以硬件计数器的时间测量单位为单位来表达,而是直接以秒为单位来表达。
如在图4中所示,数字计数器1的值对其说来在m+n-1个连贯的位上或者优选地在32个连贯的位上被编码,其中n个最低有效位对应于硬件计数器2的值,而m-1个最高有效位根据软件和硬件计数器的值被定义。更特别地,软件计数器的最低有效位的值至少与硬件计数器的最高有效位的值有关。通过操作对硬件计数器的值和软件计数器的值进行编码的位,硬件和软件计数器的级联有利地允许数字计数器的值在32个连贯的位上被表达,其中通过使用位操作运算符以简单并且被完美控制的方式实现这个操作。这点将在下文中被进一步考虑。
数字计数器还包括处理器和被连接到所述处理器的存储介质。处理器包括时钟。由处理器所执行的任务因而通过具有给定频率的时钟信号被同步。该时钟优选地以为5MHz的频率运行。硬件计数器的周期T以秒为单位通过在其上硬件计数器的值被编码的位的数目和硬件计数器被递增的频率来固定。硬件计数器被递增的频率可以是时钟频率,或者更一般地可以是时钟频率的整数分数。硬件计数器的递增的频率的倒数实际上是硬件计数器的时间测量单位。
处理器被设计为执行多个任务,其中每个任务都具有给定的优先级。以非详尽的方式,处理器因而被设计为在存储介质上读取和写数据,以及执行计算或者特别是操作位、诸如例如对硬件、软件和数字计数器的值进行编码的位。
在其更宽泛的意义上,每当硬件计数器经历软件计数器的值中的至少两个时,软件计数器就被递增。这两个值是预定的,并且显著地不同于零和硬件计数器的最大值。正是恰恰因为软件计数器在硬件计数器的每个周期内被递增至少两次,硬件计数器的最高有效位并不表示硬件计数器的溢出,而这里的教导是使软件和硬件计数器级联,以便重构溢出计数器,然后重构数字计数器。
在数字计数器的第一实施例中,并且为了限制数字计数器的管理对进行中的处理操作的影响,已经决定的是,把选择限制为如下两个预定值:硬件计数器经历所述两个预定值,以证明软件计数器的递增是正当的。的确,这些预定值的数目越大,处理器的与数字计数器的工作相关联的任务的数目将越大并且因而时间成本将越高。然而,应该注意的是,诸如所要求保护的本发明并不必被限于该单个选择。可能就像很容易想象到的是确定任何给定的整数数目的值,硬件计数器经历所述任何给定的整数数目的值,以证明软件计数器的递增是正当的。
在数字计数器的第一实施例中,针对第一和第二预定值已经被选择为分别被固定在硬件计数器的最大值的四分之一处和四分之三处,其中硬件计数器经历所述第一和第二预定值,以证明软件计数器的递增是正当的。该特定的选择允许对软件计数器的递增的管理(在时间上)远离硬件计数器的溢出被着手,并且因而防止实时约束发生。以相关的方式,该选择也具有大大简化数字计数器的实施的优点,因为该选择允许硬件计数器的周期性被充分利用。一方面,硬件计数器的第一溢出与硬件计数器经历第一预定值之间的时间等于硬件计数器经历第二预定值与第二溢出之间的时间,其中该时段等于硬件计数器的周期的四分之一。在另一方面,对应于硬件计数器从第一预定值通到第二预定值的时间等于硬件计数器的半周期。这些对称性的利用允许实施数字计数器的方法的实施更简单和更稳定地被呈现。然而,应该注意的是,诸如所要求保护的本发明并不需被限于该单个选择。的确,可能就像很容易想象到的是,第一预定值被包括在例如从硬件计数器的最大值的10%到40%的第一间隔内,而第二预定值被包括在例如从硬件计数器的最大值的60%到90%的第二间隔内。
此外应该注意的是,如下所选择的整数数目的值正需要是偶数,以便能够根据在上文所提出的特征来充分利用硬件计数器的周期性:硬件计数器经历所述所选择的整数数目的值,以证明软件计数器的递增是正当的。在任何情况下,优选的是将选择限制为两个预定值,仅仅为了限制数字计数器对进行中的处理操作的影响。
在数字计数器的第一实施例中,因此被证明是正当的是,每当硬件计数器经历等于硬件计数器的最大值的四分之一或等于硬件计数器的最大值的四分之三的值时,软件计数器就被递增软件计数器的一个时间测量单位。因而所获得的软件计数器的时间变化通过图5中的曲线F表示。更严密地,这个曲线F表示在上文所述的软件计数器的理想特性。的确,软件计数器的每个递增这里都被示为与硬件计数器经历等于硬件计数器的最大值的四分之一或四分之三的值同时发生。
溢出计数器的理想特性(诸如在图2中所示)已经在图5和6中通过曲线P重现。显著地,可以用图表表示地被观察到的是,两条曲线F和P示出了彼此不同的有规律的阶梯时间变化,因为曲线F恒定地高于曲线P,并且因为阶梯F的步长是阶梯P的步长的高度的一半和长度的一半。
如果示出软件计数器的值的特性的曲线被跟踪(trace),那么诸如在图5和6中所图示的曲线G被获得,从所述软件计数器的值中已经减去硬件计数器的值。该曲线G被包括在上曲线F与下曲线P之间,并且在上曲线F与下曲线P之间振荡。可以被观察到的是,如果在每个时刻都取曲线G的整数值,那么曲线P被获得。因而,基于硬件计数器在每个时刻的值以及理想的软件计数器在每个时刻的值,理想的溢出计数器被获得或被重构。
软件计数器的非理想特性或真实特性可以由如下曲线表示:所述曲线具有与曲线F相同的时间特性,但是在那里每个递增会关于硬件计数器经历等于硬件计数器的最大值的四分之一或四分之三的值而被延迟。假设递增中的延迟从一个递增到另一个递增是恒定的,那么通过将曲线F沿着时间轴(在横坐标上)平移比硬件计数器的周期T小很多的任何给定值Δ,会获得表示软件计数器的所述真实特性的曲线。如果所述给定值在零到硬件计数器的周期的四分之一之间且包括零和排除硬件计数器的周期的四分之一的范围中,那么通过在每个时刻都取结合该平移的曲线F所获得的曲线G的整数值,曲线P被获得。因而,基于硬件计数器的值并且基于软件计数器的根据其真实特性在任何给定时间的值,获得理想的溢出计数器。
换句话说,基于非理想的软件计数器来重构溢出计数器严格等同于基于理想的软件计数器重构溢出计数器,其中软件计数器的递增的延迟并不导致任何差别,如果然而该延迟并不超过硬件计数器的周期的四分之一的话。在图5和6中由参考C所示的误差边界因而被允许,而这不影响持续时间测量。
为了在对应于硬件计数器的周期的四分之一的时间内实现软件计数器的每个递增,该递增并不要求非常高的优先级,或者该递增可以甚至被实现为背景任务。另外,如果处理器具有要被实现的具有较高优先级的操作,那么处理器可以根据操作的优先级来执行操作,而这不影响持续时间测量的精度。出于这个原因,软件计数器的每个递增对进行中的处理操作以及还对要被实现的持续时间测量的影响是有限的,或者甚至为零。
另外,根据其值在m位上被编码的软件计数器和根据其值在n位上被编码的硬件计数器而在m-1位上重构溢出计数器或者以等同的方式取以位的形式被编码的两个值之间的差的整数部分是能够由位操作运算符所实现的非常简单和非常稳定的数据处理操作,诸如之前所讨论的那样。在这种情况下,并且在本发明的第一实施例中,针对溢出计数器的重构的第一步骤在于在32位上扩展硬件和软件计数器。第二步骤在于使用位移位(bit-shift)运算符,以便把软件计数器的9位向左移位23位。第二步骤在于使用处理运算符用于从对软件计数器的值进行编码的32位中减去对硬件计数器的值进行编码的32位。第三步骤在于生成并使用位屏蔽(bit masking),以便从对之前所计算的差进行编码的32位中屏蔽24个最低有效位。软件计数器与硬件计数器之间的差的整数部分因而(潜在地在每个时刻)被获得,这对应于因而被重构的理想的溢出计数器的值。
应该注意的是,由于溢出计数器的值在m-1位上被编码,所以溢出计数器的最大值等于2m-1-1。
因而,不是具有在硬件计数器的溢出期间用对应于硬件计数器的最大值的值仅仅被递增一次的溢出计数器,而是数字计数器包括用对应于硬件计数器的最大值的一半的值被递增两次的软件计数器,一次是当硬件计数器具有基本上等于硬件计数器的最大值的四分之一的值时,而一次是当硬件计数器具有基本上等于硬件计数器的最大值的四分之三的值时,其中该软件计数器允许理想的溢出计数器的特性被重构。
此外,数字计数器可以包括比较器和中断装置。比较器被配置用于把硬件计数器的瞬时值与等于硬件计数器的最大值的四分之一以及等于硬件计数器的最大值的四分之三的两个预定值当中的一个相比较。响应于比较器的正面比较(positive comparison),中断装置请求处理器将软件计数器递增以硬件计数器的最大值的一半。比较器可以以比硬件计数器的周期的四分之一短并且被选择以便不延迟进行中的处理操作的有规律的时间间隔执行上面提及的比较。例如,当硬件计数器的周期的四分之一等于约800ms时,比较器每隔100ms被采用是适当的和足够的。
诸如之前所述的硬件计数器与用于测量实施其的两个事件i和j之间的时段的方法相关联。所述方法在上文更具体地被描述。该方法的各种步骤由处理器实现。
该方法包括用于读取硬件计数器在第一事件i时的值的至少一个步骤。
该方法此外包括用于在存储介质上保存硬件计数器在第一事件i时的值的步骤。
该方法另外包括用于根据硬件计数器在第一事件i时的值来使软件计数器复位的步骤。更特别地,该步骤在于向软件计数器分配被确定为如下值的间隔的函数的初始值:在所述值内包括硬件计数器在第一事件i时的值。当硬件计数器在第一事件i时的值大于或等于零并且严格小于硬件计数器的最大值的四分之一时,等于硬件计数器的值的一半的初始值被分配给软件计数器。当硬件计数器在第一事件i时的值大于或等于硬件计数器的最大值的四分之一并且严格小于硬件计数器的最大值的四分之三时,等于硬件计数器的最大值的初始值被分配给软件计数器。当硬件计数器在第一事件i时的值大于或等于硬件计数器的最大值的四分之三并且严格小于硬件计数器的最大值时,等于硬件计数器的最大值的二分之三的初始值被分配给软件计数器。应该注意的是,在图5中,曲线F恒定地高于曲线P的事实由该复位步骤引起。
该方法此外包括用于将诸如在上文所描述的(至少在其更宽泛的意义上)以及在数字计数器的第一实施例中的软件计数器递增的步骤。递增在于修改软件计数器的在前值。由于后者在m位上被编码,从而对应于数字计数器的m个最高有效位,所以处理器足够修改这些m位,使得新编码的值等于被加到对应于硬件计数器的最大值的一半的值上的在前值。
该方法此外包括用于在存储介质上保存硬件计数器在第二事件j时的值的步骤。
该方法此外包括用于基于软件计数器在第二事件j时的值和硬件计数器在第二事件j时的值来计算硬件计数器在两个事件之间的溢出数目的步骤。该计算在于从软件计数器在第二事件时的值中减去硬件计数器在第二事件时的值,以及在于取该差的整数部分。如在上文所述,该操作允许在任何给定时刻获得会由理想的溢出计数器给出的溢出数目,尽管存在软件计数器的递增的延迟,如果然而该延迟并不超过硬件计数器的周期的四分之一的话。如在上文所述,处理器修改了m个最高有效位,所述m个最高有效位到目前为止对应于软件计数器的针对将等于所计算的溢出数目的新编码的值的值。m个最高有效位因而表示对应于硬件计数器的被包括在要被测量的持续时间中的整数数目的周期T的时间。
该方法此外包括用于基于硬件计数器在第一事件i时的值、硬件计数器在第二事件j时的值以及之前所计算的溢出数目来计算两个事件之间的时段的步骤。该计算在于从硬件计数器在第一事件时的值中减去硬件计数器在第二事件时的值,以及在于把该差加到之前所计算的溢出数目上。出于这个目的,处理器修改了n个最低有效位,所述n个最低有效位到目前为止对应于硬件计数器的值,使得在这些n位上被编码的新的值等于硬件计数器在第二事件时的值与硬件计数器在第一事件时的值之间的差。因而表示对应于要被测量的持续时间与硬件计数器的被包括在要被测量的持续时间中的整数数目的周期T之间的差的时间的n个最低有效位经由分配运算符由处理器复制到之前所屏蔽的n个最低有效位上(如在上文所述的那样)。
通过在有限数目的m+n-1位上被编码的值所表达的数字计数器具有最大值。更特别地,数字计数器的在图6中被表示为D的最大值等于2m+n-1-1。数字计数器因而能够测量不超过数字计数器的最大值乘以硬件计数器的时间测量单位的时段。
应该注意的是,可能仍然需要的是,应用在n或m位上被编码的值中的至少一个的归一化。目的是要被测量的时段因而在对数字计数器的值进行编码的m+n-1个连贯的位上被重构,使得它足够把这些m+n-1位转换为相对应的值(例如以10为基数),以便获得以所控制的时间单位所实现的想要的持续时间测量结果,仍然不必分离地操作或考虑所述m+n-1位。因而,在本方法结束时,要被测量的时段对应于由数字计数器所形成的总数。数字计数器因此提出了通过使用硬件计数器来使得能够测量要被编码的时段的优点,所述硬件计数器的值在被扩展的总数为m+n-1个位内的n位上被编码。
优选地,处理器在其上写数字计数器的m+n-1位的存储介质是非易失性存储介质,以便确保测量的一致性。
在其中所提及的各种值以二进制形式被编码的目前情况下,在上文所述的各种计算通过位操作运算符来执行。在这些运算符之中,算术运算符(加法、减法)可以显著地被使用,从而允许变量的值以数学方式被修改,分配运算符、递增运算符、例如用于实施复位步骤的比较运算符、逻辑运算符、例如用于生成位屏蔽的位到位运算符和/或位移位运算符可被使用。为了实现这些计算,处理器利用可执行文件(例如通过用C语言编译程序所生成的可执行文件)。
用于测量两个事件之间的时段的方法以及数字计数器允许比现有技术的方法更精确地和/或以更稳定的方式并且在不要求更强大的处理器或更复杂的算法的情况下评估两个事件之间的时段。因而,该时段的量化是精确的,而与该时段的长度无关,并且在没有需要高优先级的中断的情况下进行。此外,该量化相对独立于处理器的速度。数字计数器还具有为稳健的并且具有有限大小的优点。此外,数字计数器的结果并不与所使用的硬件计数器有关。
根据数字计数器的一个应用领域,在上文所述的方法针对装备汽车车辆的内燃机的凸轮轴的循环时间的捕获的应用是尤其有用的。该循环时间是至少近似已知的,并且该循环时间的精确测量被要求。在上文所述的数字计数器和方法允许在硬件计数器的高递增频率与测量对进行中的处理器的处理操作的有限的影响、或者甚至零影响之间找到有利的折衷。增加硬件计数器的递增频率允许精度被增加。然而,要付出的代价是,硬件计数器的溢出数目或软件计数器的递增数目相应地增加。
在上文所提出的结果已经利用MPC5534微控制器被获得,所述MPC5534微控制器的处理器工作在为40MHz的频率上。
如所示出的那样,该方法允许表示凸轮轴的循环持续时间的信号的两个边缘i和j之间的时段被测量,并且因而允许凸轮轴的循环的持续时间被测量。
利用现有技术的用于测量持续时间的方法,针对数字计数器的每个软件读取的执行时间是400ns,而被用于捕获具有10个边缘i和j以及以6000转/分钟的4个凸轮轴的凸轮轴循环的处理器的载荷(loading)是0.8%。
利用该方法和数字计数器,针对数字计数器的每个软件读取的执行时间是200ns,而被用于捕获具有10个边缘i和j以及以6000转/分钟的4个凸轮轴的凸轮轴循环的处理器的载荷仅仅是0.04%。因而,该方法和数字计数器允许在执行时间和处理器资源方面的增益。
此外,具有32位编码的值的使用针对32位微控制器架构被优化。的确,针对这些架构,与对具有24位编码的值的操作相比较,对具有32位编码的值的所有操作将被简化。显著地,没有饱和的验证或者针对具有24位编码的值所需要的操作的验证对于具有32位编码的值将是必需的。
数字计数器和方法尤其被设计为被实施在汽车车辆中,并且特别地用于确定车辆的速度。出于这个目的,传感器测量车辆的速度,并且以与车辆的速度有关的速率来发送边缘。根据本发明的方法和数字计数器允许两个边缘之间的时段被评估,并且因而允许车辆的速度根据这被推出。
有利地,数字计数器适于单个处理器系统以及适于多处理器系统,只要来自软件计数器的数据在处理器之间共享的存储器中被管理。
对于本领域技术人员将明显的是,本发明允许如下实施例:所述实施例可以采用许多其它特定的形式,而不偏离本发明的如所要求保护的应用范围。因此,本实施例应该被认为是说明,但是可以在由所附权利要求书的范围所限定的范畴内被修改。

Claims (9)

1.一种用于测量两个事件(i和j)之间的时段的方法,其中该方法实施数字计数器(1),所述数字计数器(1)包括:
·硬件计数器(2),所述硬件计数器(2)的值在n位上被编码,以及
·软件计数器(3),所述软件计数器(3)的值在m位上被编码,
所述方法包括用于在硬件计数器(2)的至少两个预定值处将软件计数器(3)递增的步骤,所述两个值都不与硬件计数器(2)的溢出一致,
其特征在于,数字计数器(1)的值在m+n-1个连贯的位上被编码,在所述m+n-1个连贯的位中:
·n个最低有效位对应于硬件计数器(2)的值,并且
·m-1个最高有效位根据软件计数器(3)和硬件计数器(2)的值被限定,
所述方法此外包括:
·用于根据硬件计数器(2)在第一事件(i)时的值来使软件计数器(3)复位的步骤,
·用于读取和用于保存硬件计数器(2)在第一事件(i)时的值和硬件计数器(2)在第二事件(j)时的值的步骤,
·用于计算硬件计数器(2)在两个事件之间的溢出数目的步骤,其中所述用于计算硬件计数器(2)在两个事件之间的溢出数目的步骤在于:
     ○计算软件计数器(3)在第二事件(j)时的值与硬件计数器(2)在第一事件(i)时的值之间的差,以及
     ○取对应于之前所计算的差的整数部分的值,
·用于基于硬件计数器(2)在第一事件(i)时的值、硬件计数器(2)在第二事件(j)时的值以及之前所计算的溢出数目来计算两个事件之间的时段的步骤。
2.根据权利要求1所述的方法,其特征在于,当硬件计数器(2)的值对应于硬件计数器(2)的最大值的四分之一和四分之三时,用于将软件计数器(3)递增的步骤被实现。
3.根据权利要求2所述的方法,其特征在于,用于使软件计数器(3)复位的步骤在于:
·当硬件计数器(2)在第一事件(i)时的值大于或等于零并且严格小于硬件计数器(2)的最大值的四分之一时,向软件计数器(3)分配等于硬件计数器(2)的值的一半的初始值,
·当硬件计数器(2)在第一事件(i)时的值大于或等于硬件计数器(2)的最大值的四分之一并且严格小于硬件计数器(2)的最大值的四分之三时,向软件计数器(3)分配等于硬件计数器(2)的最大值的初始值,并且
·当硬件计数器(2)在第一事件(i)时的值大于或等于硬件计数器(2)的最大值的四分之三并且严格小于硬件计数器(2)的最大值时,向软件计数器(3)分配等于硬件计数器(2)的最大值的二分之三的初始值。
4.根据权利要求1所述的方法,其特征在于,用于计算两个事件(i和j)之间的时段的步骤在于:把对应于硬件计数器(2)在第二事件(j)时的值与硬件计数器(2)在第一事件(i)时的值之间的差的值加到硬件计数器(2)在两个事件之间的溢出数目上。
5.根据权利要求2所述的方法,其特征在于,复位步骤以及用于将软件计数器(3)递增的步骤的优先级被确定,以便允许在对应于硬件计数器(2)的周期的四分之一的时间期满之前实施递增。
6.一种被设计来测量两个事件(i和j)之间的时段的数字计数器(1),其包括:
·硬件计数器(2),所述硬件计数器(2)的值在n位上被编码,以及
·软件计数器(3),所述软件计数器(3)的值在m位上被编码,
其中软件计数器(3)在硬件计数器(2)的至少两个预定值处被递增,所述两个值都不与硬件计数器(2)的溢出一致,
其特征在于,数字计数器(1)的值在m+n-1个连贯的位上被编码,在所述m+n-1个连贯的位中:
·n个最低有效位对应于硬件计数器(2)的值,并且
·m-1个最高有效位根据软件计数器(3)和硬件计数器(2)的值被限定,
数字计数器(1)允许根据权利要求1至5所述的方法。
7.根据权利要求6所述的数字计数器(1),其特征在于,数字计数器(1)被连接到能够读取硬件计数器(2)的值、使软件计数器(3)复位以及执行计算的处理器,其中所述处理器被连接到至少一个存储介质,所述处理器在所述至少一个存储介质上存储数据。
8.根据权利要求6所述的数字计数器(1),其特征在于,硬件计数器(2)的周期(T)通过硬件计数器(2)的值在其上被编码的位的数目(n)以及通过硬件计数器(2)被递增的频率来确定,其中所述频率是所述处理器的时钟频率的整数分数。
9.根据权利要求6所述的数字计数器(1),其特征在于,位的数目n等于24,并且其特征在于,位的数目m等于9,使得数字计数器(1)的值在32个连贯的位上被编码。
CN201180051126.6A 2010-08-24 2011-08-03 数字计数器和用于测量时段的方法 Active CN103190077B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1003427 2010-08-24
FR1003427A FR2964275B1 (fr) 2010-08-24 2010-08-24 Compteur numerique et procede de mesure d'une duree
PCT/EP2011/003881 WO2012025191A1 (fr) 2010-08-24 2011-08-03 Compteur numerique et procede de mesure d'une duree

Publications (2)

Publication Number Publication Date
CN103190077A true CN103190077A (zh) 2013-07-03
CN103190077B CN103190077B (zh) 2015-12-16

Family

ID=43607691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180051126.6A Active CN103190077B (zh) 2010-08-24 2011-08-03 数字计数器和用于测量时段的方法

Country Status (4)

Country Link
US (1) US9118332B2 (zh)
CN (1) CN103190077B (zh)
FR (1) FR2964275B1 (zh)
WO (1) WO2012025191A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731302B (zh) * 2013-12-13 2016-08-17 中国人民解放军国防科学技术大学 多核网络处理平台上的一种软件定义计数器实现方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425058B (zh) * 2012-05-15 2016-08-03 安凯(广州)微电子技术有限公司 一种计时方法、中央处理器及电子设备
CN104090830B (zh) * 2014-07-02 2017-02-22 西安航空动力控制科技有限公司 用测周法测量频率时定时器时序交错问题的处理方法
CN106126486B (zh) * 2016-06-30 2019-03-08 童晓冲 时间信息编码方法、编码值检索方法、解码方法与装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4086470A (en) * 1976-12-27 1978-04-25 International Business Machines Corporation Hardware-software counting
JPS57141135A (en) * 1981-02-25 1982-09-01 Hitachi Ltd Counting device
US20050089132A1 (en) * 2003-05-14 2005-04-28 Holger Galuschka Digital counter
CN1731299A (zh) * 2005-08-26 2006-02-08 浙江大学 一种用于超声波测时系统的测时方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4086470A (en) * 1976-12-27 1978-04-25 International Business Machines Corporation Hardware-software counting
JPS57141135A (en) * 1981-02-25 1982-09-01 Hitachi Ltd Counting device
US20050089132A1 (en) * 2003-05-14 2005-04-28 Holger Galuschka Digital counter
CN1731299A (zh) * 2005-08-26 2006-02-08 浙江大学 一种用于超声波测时系统的测时方法及其装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731302B (zh) * 2013-12-13 2016-08-17 中国人民解放军国防科学技术大学 多核网络处理平台上的一种软件定义计数器实现方法

Also Published As

Publication number Publication date
US9118332B2 (en) 2015-08-25
FR2964275B1 (fr) 2013-04-12
WO2012025191A1 (fr) 2012-03-01
CN103190077B (zh) 2015-12-16
FR2964275A1 (fr) 2012-03-02
US20130223583A1 (en) 2013-08-29

Similar Documents

Publication Publication Date Title
US6609216B1 (en) Method for measuring performance of code sequences in a production system
DE60004640T2 (de) Verfahren und vorrichtung für sprungvorhersage unter verwendung einer hybriden branch-history mit gemeinsamer zugriffsstruktur
US12026618B2 (en) Method and system for training machine learning system
CN109387854B (zh) 距离测量装置及方法
CN103190077A (zh) 数字计数器和用于测量时段的方法
JP7135853B2 (ja) バッファオーバーフローの低減
US8868982B2 (en) Compact function trace based on execution length of leaf functions
CN108647422B (zh) 端口时延约束方法及装置
US20090265408A1 (en) Methods and apparatus for performing calculations using reduced-width data
Wilson et al. Accurate pairwise convolutions of non-negative vectors via FFT
US9256398B2 (en) Device and method of increasing dynamically-typed software efficiency
Milutinovic et al. Speeding up static probabilistic timing analysis
CN112054741B (zh) 电机控制方法、装置、终端设备及存储介质
CN111147082B (zh) 一种证券交易数据压缩方法及装置
Lüders Implementation of the DKSS algorithm for multiplication of large numbers
CN115659380B (zh) 一种密文数据拟合计算方法、装置及电子设备
CN114692092A (zh) 一种软件许可使用率的确定方法、装置、设备及存储介质
CN116909946B (zh) 一种访存方法、装置、电子设备及可读存储介质
JP7012905B1 (ja) スケジュール生成装置、スケジュール生成方法及びスケジュール生成プログラム
US20230342082A1 (en) Automated overlay regrouping
RU2642381C1 (ru) Цифровой функциональный преобразователь
Hovland et al. Error Estimation and Correction Using the Forward CENA Method
CN116820402A (zh) 用于真随机数发生器的方差计算方法、装置、电路及设备
EP1815323A1 (en) A simulation method and tool
CN104598201A (zh) 指令性能分析的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221206

Address after: Regensburg, Germany

Patentee after: WeiPai Technology Co.,Ltd.

Patentee after: CONTINENTAL AUTOMOTIVE GmbH

Address before: Toulouse, France

Patentee before: CONTINENTAL AUTOMOTIVE FRANCE

Patentee before: CONTINENTAL AUTOMOTIVE GmbH

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230419

Address after: Regensburg, Germany

Patentee after: WeiPai Technology Co.,Ltd.

Address before: Regensburg, Germany

Patentee before: WeiPai Technology Co.,Ltd.

Patentee before: CONTINENTAL AUTOMOTIVE GmbH

TR01 Transfer of patent right