首页 / 国际专利分类库 / 物理 / 测时学 / 使用有限状态机的数字触发

使用有限状态机的数字触发

申请号 CN201510355067.1 申请日 2015-06-24 公开(公告)号 CN105301991B 公开(公告)日 2019-07-26
申请人 是德科技股份有限公司; 发明人 A·R·勒汉; A·J·A·柯卡姆; L·A·巴福德;
摘要 公开了一种装置,其可以配置用于各种功能(例如数字示波器、逻辑分析器或 频率 分析器)。所述装置包括码元生成器、多码元FSM以及 控制器 。所述码元生成器根据有序数字值序列生成有序码元序列。所述码元生成器生成对应于所述数字值中的每一个的一个码元。所述数字值具有比所述码元更大数量的可能值。所述控制器使得所述多码元FSM搜索标识所述数字值序列中的对应模式的码元序列中的模式。然后基于所述码元序列中的模式的 位置 来显示所述数字序列的一部分。
权利要求

1.一种使用FSM的数字触发装置,包括:
输入端口,其配置为接收作为时间的函数而变化的模拟信号,并且据此生成有序数字值序列;
码元生成器,其根据所述有序数字值序列生成有序码元序列,所述码元生成器生成对应于所述数字值中每一个的一个码元,其中,所述数字值由数个可能数字值状态表征,所述码元由数个可能码元状态表征,所述可能码元状态的数目小于所述可能数字值状态的数目;
FSM,其由输入字和多个FSM状态表征,所述FSM响应于接收到周期信号,从所述多个FSM状态中的当前状态改变为所述多个FSM状态中的、由所述输入字和所述多个FSM状态中的所述当前状态确定出的另一状态;
控制器,其使得所述FSM在所述有序码元序列中搜索模式,所述控制器加载具有多个所述码元的所述输入字,生成所述周期信号,并且将所述周期信号耦合到所述FSM。
2.如权利要求1所述的装置,其中,所述FSM是MSFSM。
3.如权利要求2所述的装置,其中,每个码元表示所述数字值的对应范围。
4.如权利要求2所述的装置,其中,所述码元由数个可能码元状态表征,并且,所述可能码元状态的数目小于或等于3。
5.如权利要求1所述的装置,其中,所述FSM是计数器扩展型FSM。
6.如权利要求2所述的装置,其中,所述输入端口包括:
数字序列生成器,其接收所述模拟信号,并且生成所述有序数字值序列;
存储器,其接收所述有序数字值序列,并且所述装置还包括:
显示处理器,其基于所述存储器中的所述有序数字值序列而生成显示,所述显示是响应于所述MSFSM生成指示所述MSFSM进入预定状态的信号而生成的。
7.如权利要求6所述的装置,还包括:用户接口;库,其包括多个信号模式,每个信号模式指定用于所述MSFSM的状态集合,所述多个信号模式之一是通过所述装置的用户经由所述用户接口的输入而选择出的。
8.如权利要求6所述的装置,其中,所述数字序列生成器包括多个ADC通道,每个ADC通道包括ADC和存储器模,所述多个ADC通道以预定顺序对所述模拟信号进行采样,并且将该ADC通道中所述ADC生成的数字值存储在该ADC通道中的所述存储器模块中,其中,所述输入字加载有根据由不同的所述多个ADC通道生成的数字值而生成的码元。
9.如权利要求2所述的装置,其中,所述MSFSM包括多个并行处理FSM,并且,所述多个并行处理FSM中的每一个具有作为所述MSFSM的所述输入字中的所述码元之一的输入字。
10.如权利要求1所述的装置,其中,所述模式定义所述有序数字值序列中的上升沿或下降沿,并且所述模式还要求所述有序码元序列包括所述上升沿或所述下降沿之前或之后的建立序列。

说明书全文

使用有限状态机的数字触发

背景技术

[0001] 测量、记录、处理信号并且显示处理的结果的测量仪器对于本领域是已知的。例如,数字示波器测量作为时间函数的信号的幅度,并且显示所观测到的信号的一部分成为作为时间的函数的信号幅度的曲线图。现代数字示波器可以在多个测量通道的每一个中按接近100G采样/秒的速率来测量信号。通常在连续时隙中使用对信号进行采样的采样保持电路组而将该信号数字化。每个采样保持电路馈送高速的模数转换器(ADC),其在分配给该ADC的高速存储器组中存储其输出。
[0002] 一次仅可以显示这种所记录的数据的一小部分,因此,需要某种形式的触发用于定义感兴趣的待显示测量的开始。在很多情况下,用户尝试对满足某种特定准则的区域中的信号进行可视化。感兴趣准则可以是复杂模式。例如,用户可能希望检查后随三个具有指定脉冲宽度的脉冲的区域中的信号。因此,触发必须能够检测三个脉冲的产生。
[0003] 遗憾的是,能够检测这些复杂模式的现有技术触发方案无法以接近上述采样速率的任何速率进行工作,因此,一般采用两步触发制式。为了提供复杂触发,将可以实时工作的第一触发(RTT)用于控制存储器中所存储的数据。通常通过在输入信号上工作的专用高速硬件来实现RTT。这种类型的触发受限于简单模式(例如,检测输入信号中的上升沿或下降沿)。实践中,数字示波器连续地取得采样,并且将它们存储在圆形存储缓冲器中。当检测到触发模式时,数字示波器继续获取数据达某特定时间段,其由缓冲器大小限制。数据获取然后停顿,以提供时间用于可检测更复杂的感兴趣模式的较慢模式识别程序,以针对更复杂的感兴趣触发模式检查所存储的信号值。这种类型的程序一般称为后获取触发(PAT)。如果找到模式,则然后对于用户显示自触发点以后的数据。如果未找到模式,则重新开始数据获取,并且重复处理。在PAT正工作的期间,数字示波器不获取新数据,因此,数字示波器是“盲”的。盲时间通常是总工作时间的一大部分,因此,感兴趣信号可能丢失。因此,提供按更高速度工作的PAT将是有利的。理想地,PAT将实时工作,因此避免了上述两种触发方案。发明内容
[0004] 本发明包括一种装置和用于使用所述装置的方法。所述装置可以配置为用于诸如数字示波器或频率分析器之类的各种功能。所述装置包括码元生成器、多码元有限状态机(MSFSM)和控制器。所述码元生成器根据有序数字值序列生成有序码元序列。所述码元生成器生成对应于所述数字值中的每一个的一个码元。所述数字值具有比所述码元更大数量的可能值。所述MSFSM由输入字以及多个有限状态机(FSM)状态表征。所述MSFSM响应于接收到周期信号而从FSM状态中的当前状态改变为所述输入字和各状态中的当前状态所确定的各FSM状态中的另一状态。所述控制器使得MSFSM搜索有序码元序列中的模式。所述控制器加载具有多个码元的输入字,生成所述周期信号,并且将所述周期信号耦合到所述MSFSM。
[0005] 在本发明一个方面中,所述装置还包括数字序列生成器、存储器和显示处理器。所述数字序列生成器接收作为时间的函数而变化的模拟输入信号,并且据此生成所述有序数字值序列。所述存储器存储所述有序数字值序列。所述显示处理器基于所述存储器中的所述数字值的数字序列来生成可视显示。响应于所述MSFSM生成指示MSFSM进入预定状态的信号来生成所述显示。
[0006] 在本发明又一方面中,所述装置包括用户接口以及信号模式的库,每个信号模式指定用于MSFSM的状态集合。通过所述用户接口响应于来自所述装置的用户的输入而选择所述各信号模式之一。
[0007] 在本发明另一方面中,所述码元生成器接收所述数字序列生成器所生成的每个数字值,然后所述数字值序列存储在所述存储器中。在替选方面中,所述码元生成器响应于来自所述控制器的命令而从所述存储器接收所述数字值序列。
[0008] 在本发明又一方面中,所述装置包括:触发生成器,其接收所述模拟信号并且响应于所述模拟信号中的模式而生成触发信号。所述控制器使得所述MSFSM响应于所述触发信号而搜索所述码元序列中的预定模式。
[0009] 在本发明另一方面中,所述数字序列生成器包括多个ADC通道,每个ADC通道包括ADC和存储器模。所述ADC通道按预定顺序对所述模拟输入信号进行采样。每个ADC通道在该ADC通道中的所述存储器模块中存储该ADC通道所生成的数字值。在该方面中,对于所述MSFSM的输入字加载有从不同ADC通道所生成的数字值所生成的码元。
[0010] 在本发明又一方面中,所述MSFSM包括多个并行处理FSM。在一个实施例中,所述多个并行处理FSM中的每一个具有作为所述MSFSM的所述输入字中的各码元之一的输入字。附图说明
[0011] 图1示出现有技术数字示波器。
[0012] 图2示出根据本发明的数字示波器的一个实施例。
[0013] 图3示出每个周期在多个码元上工作的传统FSM。
[0014] 图4示出对于每个周期处理三个码元的情况下利用三个并行处理FSM的MSFSM。
[0015] 图5示出可以响应于通过数字示波器观测电路所生成的二状态数字波形而从数字示波器的ADC部分输出的数据值的流。
[0016] 图6示出用于基于正则表达式检测上升沿的FSM。
[0017] 图7示出每个上升沿上激发的FSM。
[0018] 图8A-图8C示出上升沿触发双码元FSM的状态图以及据此所推导出的并行处理FSM的状态图。
[0019] 图9示出MSFSM用作RTT的数字示波器。
[0020] 图10示出用于实现下降沿触发的实施例的基本FSM。
[0021] 图11示出用于实现上升沿或下降沿触发的实施例的基本FSM。
[0022] 图12示出用于实现连续激发上升沿或下降沿触发的实施例的基本FSM。
[0023] 图13示出对于情况n=3实现正则表达式([^L]*(L+M*H)){n}的基本FSM。
[0024] 图14示出对于情况n=3实现正则表达式([^H]*(H+M*L)){n}的基本FSM。
[0025] 图15示出对于情况n=3实现正则表达式(L+M*H)(L|M|H){n}(L+M*H)的基本FSM和边沿转变触发。
[0026] 图16示出对于n=1和n=3的情况实现正则表达式L+M{n,m}H的FSM。
[0027] 图17示出对于情况m=3以及正毛刺实现正则表达式[^L]*L+M*H{1,m}M*L的FSM。
[0028] 图18示出对于情况m=3以及负毛刺实现正则表达式[^H]*H+M*L{1,m}H*L的FSM。
[0029] 图19示出对于情况n=m=3以及正或负毛刺实现正则表达式M*((L+M*H{1,n}M*L)|(H+M*L{1,m}M*H))的FSM。
[0030] 图20示出实现正则表达式[M]*(L+M+L)|(H+M+H)以实现矮波触发的FSM。
[0031] 图21示出用于实现三级矮波触发的FSM,并且报告所遇到的矮波级别。
[0032] 图22示出根据本发明一个实施例的双通道数字示波器。
[0033] 图23示出用于实现搜索模式M*(L|((L|M])*)?H)|(H|((M|H)*)?L的状态图。

具体实施方式

[0034] 参照示出现有技术数字示波器的图1,可以更容易地理解本发明提供其优点的方式。数字示波器100在显示器107上显示输入信号的一部分。用户输入到控制器111的触发准则确定所显示的这部分输入信号。使用采样保持电路组(采样保持电路102为其典型)数字化并且存储输入信号。使用将输入端口上接收到的输入信号依次连接到各个采样保持电路的复用器101依次加载采样保持电路。显示处理器108使用第二复用器105访问存储器组。为了简化附图,已经从附图省略了操作复用器101的控制电路。为了本讨论的目的,注意采样保持电路按顺序连接直到连接了最后采样保持电路为止、然后以第一采样保持电路为起始重复处理就足够了。存在与每个采样保持电路关联的一个ADC和存储器组。在103和104分别示出对应于采样保持电路102的ADC和存储器组。并行工作的ADC和存储器组具有足够的带宽,以处理对应采样保持电路中的信号并且在存储器组中存储结果。然而,检测复杂触发模式所需的电路/软件无法按匹配ADC和采样保持电路的组的数据获取速率的速度加以工作。应注意,采样保持电路可以看作ADC的一部分。因此,为了简化以下讨论,将假设采样保持电路是ADC的一部分,除非上下文另有指示。
[0035] 为了适应复杂触发电路的无法跟上ADC组的数据获取速率,触发准则通常划分为受RTT电路109和触发模式处理器110处理的RTT。RTT根据输入信号实时工作,并且包括相对小数量的简单触发准则(例如上升沿或下降沿)。用户指定在任何给定时间可工作的RTT。当RTT激发(fire)时,控制器111允许输入信号受处理直到存储器组填满为止,然后停止进一些采样的处理。一旦RTT激发,PAT处理器就检查存储器组的内容,以确定是否满足PAT所指定的触发。如果满足,则控制器使得显示处理器108显示以与PAT指定的信号时间对应的采样为开始的存储器组中的数据。如上所述,一旦在满足RTT之后填充存储器组,就不获取其它数据,直到完成PAT使得其触发确定为止。
[0036] 在本发明一个方面中,使用FSM执行触发生成。FSM由多个FSM状态和输入字表征。在任何给定时间,FSM是各FSM状态之一(其称为当前FSM状态)。当FSM接收到周期信号时,FSM基于输入字和当前状态的内容而从当前状态移动到新状态。在一些情况下,新状态可以是当前状态;然而,任何感兴趣FSM中总是存在FSM移动到不同状态的至少一个转变。FSM还报告特定转变。在一种类型的FSM中,FSM还具有称为报告状态的一个或多个状态。当FSM移动到报告状态时,FSM生成称为匹配状态的特殊信号。在第二类型的FSM中,FSM报告其何时从当前状态进行所指定转变。
[0037] 在一个实施例中,FSM通过允许定义更复杂模式的方式替换数字示波器中的传统PAT。此外,这种类型的实施例可显著增加PAT相对于以软件实现的现有PAT的处理速度,因此减少了与这些触发方案关联的死区时间。在另一实施例中,FSM替换传统RTT,由此允许复杂模式上的实时触发。
[0038] 在原理上,FSM可以用于搜索可由正则表达式定义的任何模式。为了本讨论的目的,正则表达式定义为定义搜索模式的字符序列。假设正则表达式,存在运行如此定义的搜索的FSM,并且存在自动生成该FSM的过程。还应注意,存在多于一个的FSM能够对任何给定正则表达式执行搜索。
[0039] FSM是具有通过“有向沿”连接的多个状态的状态机。在每个处理周期,当FSM接收到新输入字时,FSM从其当前状态移动到下一状态。因此,每个边沿具有与该边沿关联的一个或多个输入值。当FSM接收到值等于边沿上的值的输入字,并且FSM处于与边沿的输入侧关联的状态时,FSM改变为与边沿的输出侧关联的状态。FSM然后进入处理下一输入字。如上所述,特定转变导致FSM报告识别出其刚已进入的状态或刚进行的转变、与该状态或转变关联的任何其它信息。这种转变可以是进入到特定状态、或者是通过指定边沿进入到此状态。为了本讨论的目的,当FSM已经移动到其新状态并且做出任何所需报告时,处理周期完成。
[0040] 虽然已建议将FSM用于运行PAT,但当输入字是数字化的信号值时,在用FSM实现搜索方面存在重大挑战。在相对简单的计算平台上,FSM通常用表查找实现。在每个处理周期中,FSM接收输入字,并且针对每个可能输入字检查与指定FSM下一状态的FSM当前状态对应的表。存储表所需要的存储器可以是如同可能输入字值的数量乘以FSM中可能状态的数量那样高。数字示波器中ADC的输出通常在长度上为12或更多个比特。在以12比特输入字实现FSM所需的存储器、在这种精度的信号中定义上升沿之类的简单概念模式较困难(尤其是存在噪声时)的这两个方面,正则表达式处理这些大输入字均带来重大问题。
[0041] 如上所述,FSM的存储器需求取决于输入字的大小。对于FSM的每个状态,通常使用表来实现FSM。每个状态所完成的处理包括:检查在FSM处于该状态下的同时所接收到的输入字;以及基于该输入字来确定用于FSM的下一状态。在最简单的情况下,查找表通常用于实现该处理。输入表的大小是可能输入字的数量乘以FSM中的各状态的数量。对于12比特输入字,对于每个状态在该表中存在4096(212)行,因此,存储器要求随着输入字的大小增加而变得极端。此外,在速度与所要求的存储器之间存在折衷。为了改进FSM工作的速度,需要在多个输入字上工作的FSM,这样增加输入字的有效大小。例如,将两个12比特采样处理为单个输入字的使用12比特采样字的双码元MSFSM将要求每个表中的224行。虽然存在可以用于减少存储器要求的方案,但这些方案增加了用于每个输入字的处理时间。
[0042] 第二个重大问题是用于通过FSM实现搜索的处理时间。将处理从传统软件PAT移动到类属FSM并不提供与PAT关联的死区时间方面的充分改进。FSM执行搜索所需的时间由依次访问数字示波器中的存储器的时间加以确定。如上所述,数字示波器中的单独存储器具有作为小部分数据获取带宽的带宽,获取制式并行地加载存储器以增加每个单独存储器的带宽,因此,依次访问限制了PAT工作时间方面的改进,除非这些码元/采样也可以并行地受处理。
[0043] 在本发明一个方面中,在具有比数字示波器中ADC的输出显著更少的可能值的“码元”方面,指定触发模式。每个码元表示ADC值的范围。例如,ADC值可以映射到具有用L、M、H表示的三个值的码元集合。在这种码元集合的一个示例中,小于或等于某阈值l的ADC值映射到L;大于0但小于或等于第二阈值h的ADC值映射到M;大于h的ADC值映射到H。然后在正则表达式方面定义搜索模式,其在码元而非ADC值上工作。
[0044] 为了本讨论的目的,将可以用正则表达式表示的模式的类型划分为两类是有用的。这些类可以在包括字母表中的字母的输入串方面得到更容易地理解。第一类称为“固定模式”。例如,可以对于模式“var=x”搜索文本串。固定模式具有已知的固定长度,并且为输入流中的仅一个模式所满足。第二类模式称为“可变模式”。这些模式具有未知长度,或为多个不同串所满足。例如,如下这样的任何模式满足“var=[a-z]+”:所述模式以“var=”为开始,接着是小写字母表中的一个或多个(上至任何数目)字符,接着是“;”。该模式生成在长度方面无法预先加以预测的串,无更不确切的内容。
[0045] 如上所述,正则表达式定义为定义搜索模式的字符序列。表达式中的每个字符是具有其字面意义的正则字符,或是具有特殊意义的预定数量元字符之一。例如,元字符“|”表示可选。a或b满足正则表达式“a|b”。元字符“?”、“*”和“+”量化前面的要素。如果前面的要素出现零次或一次,则满足元字符“?”,如果前面要素产生零次或多次,则满足“*”,如果前面要素产生一次或多次,则满足“+”。很多感兴趣模式需要某个串的重复。如果表达式中存在多于一个的字符或多于一个的字符范围,则待重复的表达式用()包围(分组)。元字符“[“and”]”用于形成字符类(例如[LMH]),“^”用于表示否定,即[^L],除了“L”之外的一切。为了指定表达式待重复n次,在表达式后使用{n}。为了指定n与m之间的范围,表达式后跟着{n,m}。
[0046] 在这种注记方面,用于上升沿的正则表达式是“L+M*H”,即一个或多个L接有零、或是接有H的多个M。类似地,用于下降沿的正则表达式是“H+M*L”。用于上升沿或下降沿的正则表达式是(H+M*L)|(L+M*H)。
[0047] 由于对于触发生成器的基于这些码元的输入字仅具有三个状态,因此对于FSM的存储器要求相对适中。虽然减少输入字大小改进了存储器要求,但鲜有改进处理速度。也就是,FSM在具有三个状态的输入字上工作的周期时间实质上与FSM在具有4096个状态的输入字上工作的周期时间相同。通过使用每次定义工作在一个码元上的触发条件以生成工作在具有多个码元的输入字上的FSM,本发明改进了工作速度。由于周期时间对于多码元FSM是相同的,因此有效处理速度以等于输入字中码元的数量的因子得到增加。
[0048] 因此,在本发明第二方面中,在码元上工作的FSM具有包括多个码元的输入字。输入信号的数字化版本可以看作数字序列值的线性序列,各值的顺序是接收对应信号值的顺序。序列存储在多个存储器组中,因此并不按顺序存储在存储器中。存在对应码元序列,一个码元对应于每个ADC值。码元序列S(i)在ADC值中的顺序方面类似地排序。
[0049] 用于搜索期望模式的FSM称为MSFSM。通过组合来自码元序列的相邻码元值的多个码元来构造对于MSFSM的输入字。考虑具有三个码元的字大小的MSFSM。在一个处理周期,对于该FSM的输入字将是[S(k),S(k+1),S(k+2)];在下一处理周期,输入字将是[S(k+3),S(k+4),S(k+5)],依此类推。由于周期时间本质上独立于输入字的大小,因此相比于每次在一个码元上工作的FSM,取得其输入字中的M个码元的MSFSM可以快M倍地搜索期望模式。然而,如上所述,对于这种FSM的存储器要求将显著地高于对于每个周期上在单个码元上工作的FSM的存储器要求。于是,对于即使使用减少存储器要求的技术也可以处理的输入字的大小存在某种限制。通过使用相比于对应ADC采样值(即,在上述示例中为12比特)具有更少值的码元,本发明减少了FSM中每个状态所需的存储器,因此,在不达到该存储器限制的情况下增加了可以并行处理的触发码元的数量。
[0050] 现参照示出根据本发明的数字示波器的一个实施例的图2。为了简化讨论,数字示波器10中的执行与图1中的元件类似的功能的那些元件已经赋予相同的附图标记,并且在此将不详细讨论。在该实施例中,MSFSM用于执行PAT功能,而传统RTT用于初始化PAT搜索。为了简化本讨论,将假设MSFSM 14的每个输入字中的码元的数量等于存储器组104的数量。
以下更详细地讨论在每个输入字中处理少数码元的实施例。在该实施例中,通过公共地址线来寻址每个存储器组,并且该地址上存储的ADC值出现在输入到码元生成器12的输出总线上。由于随着从ADC接收数据而加载存储器,因此所出现的ADC值以时序为顺序,其开始于存储器组104所呈现的ADC值。于是,码元生成器生成的码元值将也处于正确的时间顺序。当组装多码元输入字时,MSFSM 14处理该输入字。连续输入字通过使存储器地址前进而得以生成,并且受MSFSM 14处理,直到找到期望模式为止,或直到穷举存储器组的内容为止。如果找到模式,则控制器11使得显示处理器108显示存储器中ADC值的有关部分。如果未找到模式,则重新引起RTT并且获取新数据。
[0051] 如果MSFSM 14的输入字小于存储器组的数量,则存储器地址将不前进,直到已经在当前存储器地址读取存储器组中的每一个。例如,如果存在16个存储器组并且输入字是八码元长,则存储器组的前一半将在当前地址被读取,并且处理为第一输入字。存储器组的后一半将然后在同一地址受处理,并且处理为第二输入字。此时,存储器地址将前进。在任一情况下,处理时间显著地快于具有一个码元输入字的FSM针对期望模式扫描存储器所需要的时间。
[0052] 本发明中可以利用两种类型的MSFSM。第一类型是传统FSM,其在包括多个码元的输入字上工作。现参照示在每个周期在多个码元上工作的传统FSM的图3。FSM 31是输入字为多个码元的传统FSM。用于实现该FSM的硬件仅需要单个处理器。从单码元FSM的状态表中得到MSFSM状态表,如以下更详细地解释的那样。在图3所示的示例中,每个输入字32中存在三个码元。为了本讨论的目的,注意MSFSM 30以单码元FSM的速度的三倍工作就足够了;然而,这种速度改进是以实质上增加的存储器要求为代价而获得的。以Ns表示FSM中状态的数量,以Nin表示每个码元中比特的数量,以Nsym表示输入字中码元的数量。然后,对于Ns个状态中的每一个,这种第一类型的FSM具有带有2(Nin x Nsym)x Ns项的表。对于这些表的存储器要求随着码元的数量增加可能变为重大问题。通过观测实际上并非使用了这些表中的所有可能项,可以减少这种存储器要求。这些方案是本领域公知的,因此将不会详细讨论。然而,无论这些方案的使用情况如何,对于利用具有多码元输入字的传统FSM都存在实践上的限制。
[0053] 第二类型的FSM利用多个并行工作的数个较小的FSM。可以使用可编程阵列或具有多个内核的计算机来构建这些FSM。现参照图4,其示出对于每个周期中处理三个码元的情况利用三个并行处理FSM 24-26的MSFSM20。输入字23包括三个码元S0、S1、S2。每个FSM仅在其输入在码元上工作。在以下讨论中,这些FSM将称为并行处理FSM。每个并行处理FSM使用的状态图是得自在三码元输入字上工作的MSFSM的状态图,其进而是得自实施用于描述期望触发模式的正则表达式的单个码元FSM的状态图。为了本讨论的目的,注意到以下就足够了:当每个并行处理FSM使用的码元序列使得并行处理FSM进入特定状态(称为“匹配状态”)时,或当并行处理FSM经由指示匹配的边沿转变时,该并行处理FSM将生成一个或多个“匹配”信号。这些匹配中的一些将对应于满足触发模式的整个码元序列。然而,由于并行处理FSM未看整个输入字,因此单个并行处理FSM匹配中的一些将会是“错误告警”。
[0054] 在处理周期的开始,每个并行处理FSM读取其码元,并且进入其下一状态。在当前处理周期的结束,如果新状态是“匹配状态”,则并行处理FSM将生成匹配信号。如以下将更详细地解释的那样,当所有并行处理FSM在当前周期中输出匹配信号时,已经找到正确的匹配。在错误告警的情况下,并行处理FSM中的至少一个将不会已经生成匹配信号。组合器27接收每个处理周期所生成的匹配信号,并且确定所有并行处理FSM是否已经生成匹配。如果是,则组合器27输出找到匹配信号的模式。
[0055] 本发明取决于将感兴趣触发模式转变为可以使用单个码元作为其输入字的FSM上实现的正则表达式。该FSM在以下讨论中将称为“单码元FSM”。一旦对于特定触发模式定义单码元FSM,在多个码元上工作的FSM就可以从该FSM推导出。以下将更详细地讨论从基本FSM推导出MSFSM的方式。该MSFSM称为用于并行处理FSM的基本FSM。假设该基本FSM,可以推导出用于并行处理FSM的状态图。
[0056] 为了方便该过程的解释,将利用在具有通过上述算法从输入信号生成的三个值L、M和H的码元上工作的简单示例性制式。存在更多个码元值的情况将在稍后加以讨论。现参照图5,其示出可以响应于数字示波器观测电路所生成的二状态数字波形而从数字示波器的ADC部分输出的数据值的流。数据值通常存储在不同的存储器组中;然而,为了本讨论的目的,数据值将看作为以输入信号数字化为顺序的一系列值。每个数据值转换为对应码元值,码元值序列中的第i码元值由S(i)表示。三个码元值定义如下:
[0057] L if ADC(i)≤l
[0058] S(i)=M if ADC(i)>l and ADC(i)≤h
[0059] H if ADC(i)>h
[0060] 其中,S(i)是分配给第i个ADC输出值ADC(i)的码元。假设阈值l和h是给定的。例如,这些值可以是数字示波器的用户独立地实施或指定的触发规范的一部分;l和h的值可以由用户按需要改变。对于图5所示的波形,多个特征可能是感兴趣的。示例性特征是状态转变、毛刺和矮波脉冲。当已经在各逻辑状态之一下建立的波形切换到另一状态时,状态转变出现,并且变得在此得到建立。在图5中,第一状态转变靠近采样115。当已经在一个逻辑状态下建立的波形切换到另一状态时,毛刺产生,但并非长得足以被认为得到建立。图5中不存在毛刺。当已经在一个逻辑状态下建立的波形移动到中间区域中时,矮波脉冲产生,但然后返回到第一状态,而绝不穿过另一逻辑状态阈值。在图5中,两个矮波在采样1950附近是可见的,一个矮波分别靠近采样2800和4600。
[0061] 在这种三码元制式中,用于上升沿的正则表达式是“L+M*H,即一个或多个L接有零,或是接有H的多个M。类似地,用于下降沿的正则表达式是“H+M*L”。用于上升沿或下降沿的正则表达式是(H+M*L)|(L+M*H)。向上矮波脉冲满足正则表达式“L+M*L”,向下矮波脉冲满足“H+M*H”。
[0062] 现参照图6,其示出用于基于上述正则表达式检测上升沿的FSM。FSM在引起触发的点处没有方式获知输入流的状态。对于用于检测上升沿的FSM,输入流必须处于L状态。在开始时,输入流可以处于M或H状态下。于是,用于上升沿的正则表达式更准确地写为[^L]*L+M*H。在此,“[^L]”表示除了L之外的任何字符。FSM以初始状态B0开始。FSM保持在B0下,直到接收到L为止。这使FSM与输入流对准,以确保输入流处于上升沿可能产生的点。一旦接收到L时,FSM移动到B1,并且保持在此,直到其接收到M或H为止。如果接收到M,则FSM移动到B2,在此,其保持,直到接收到L或H为止。L使得FSM返回到B0。为了简化以下讨论,从附图省略对于各初始状态的返回边沿。一旦接收到H时,制式将移动到S3,其为如该状态周围的双圆圈线所指示的报告状态。在B3处报告上升沿还解除触发。因此,图6所示的FSM仅激发一次,即单触发方式。图7示出在每个上升沿上激发的FSM。
[0063] 如上所述,为了增加触发确定的速度,有利的是,利用每个周期在多个码元上工作的MSFSM。图8A示出用于上升沿触发双码元FSM的状态图。FSM的输入字包括来自具有值L、M或H的码元序列的两个码元。输入字值可以方便地表示为XY,其中,X是第一码元的值,Y是第二码元的值。在该FSM的每个周期上,来自码元流的两个码元加载到用于FSM的输入字缓冲器。当处理该输入字时,加载接下来的两个码元,依此类推。也就是说,如果一个周期具有(Si,Si+1)的输入字,则下一周期处理输入字(Si+2,Si+3),其中,码元序列表示为Si。由此用两个连续码元值(例如LL、LM等)表示图8A所示的状态图中的各个边沿。
[0064] 虽然MSFSM可以显著地减少实现PAT所需的时间,因此减少示波器死区时间,但时间可能无法减少得足以提供用于快速示波器的RTT。然而,即使更有利的将会是利用MSFSM作为RTT。在这些情况下,将会消除对于PAT的需要以及伴随的死区时间。为了达到实施RTT所需的并行处理的级别,MSFSM的并行处理形式是优选的,这是因为限制第一类型的MSFSM的存储器要求没那么严重,因此,可以在每个周期处理更大输入字(即更多码元)。
[0065] 如上所述,相比于一次一个码元处理序列的FSM,取得具有多个码元的输入字的MSFSM可以远远更快地处理码元序列。然而,在构建MSFSM时,必须谨慎提供初始码元序列中的触发序列的位置,并且考虑输入字中的任何其余码元。
[0066] 考虑执行对于上升沿的搜索的简单双码元FSM的情况。当接收到H时,满足触发序列。H可以是双码元输入字中的第一码元或双码元输入字中的第二码元。此外,如果输入字中的第一码元满足触发,则FSM必须考虑第二码元,这是因为该码元可能是新触发序列的开始。因此,第二码元为L并因此可以是另一触发序列的开始的情况必须与第二码元为M或H的情况进行区分。于是,双码元FSM必须包括三个分离的触发状态,以区分这三种可能性。
[0067] 现参照图8A,其是用于检测上升沿的双码元FSM的状态图。输入字具有形式XY,其中,X是码元序列中的第一码元,Y是第二码元。为了简化示图,xL的输入字表示以L结束的任何输入字(即LL、ML、HL)。HH或HM的输入字满足以多个输入字(例如HH|HM)标记的边沿。报告状态B4对应于当前输入字中的第二码元满足触发序列。报告状态B5对应于当前输入字中的第一码元满足触发序列并且第二码元为L。报告情况B6对应于当前输入字中的第一码元满足触发序列并且第二码元为M或H。
[0068] 如上所述,可以通过以在较小输入字上工作的多个并行处理FSM替换具有大输入字的FSM而节省可观的存储器。现将使用图8A所示的双码元输入字FSM更详细地讨论从MSFSM生成并行处理FSM的方式。在该示例中,并行处理FSM中的每一个在双码元输入字中的单个码元上工作;然而,如以下更详细地解释的那样,也可以构建每个并行处理FSM在较小输入字上工作的实施例。
[0069] 由于每个并行处理FSM仅“看见”较大双码元FSM的输入字中的两个码元之一,因此并行处理FSM无法确定在除了搜索开始之外的任何给定的时间双码元FSM的状态。然而,并行处理FSM可以确定对应于并行处理FSM中的每个状态的双码元FSM中的可能状态的列表。如果该列表中的各状态之一是并行处理FSM中的报告状态,则并行处理FSM中的对应状态也是报告状态,并行处理FSM报告双码元FSM中的可能对应报告状态。图4所示的组合器比较在每个周期来自每个并行处理FSM的各报告状态的列表。具体地,如果两个并行处理FSM报告列表并且这些列表具有双码元FSM中的公用状态,则宣称匹配并且报告公用状态。
[0070] 参照图8B可以更容易地理解构建用于并行处理FSM的状态图的方式,图8B是用于在双码元输入字的第一码元上工作的并行处理FSM的完整状态图。假设当在搜索开始时并行处理FSM处于状态“0”时,图8A所示的双码元FSM处于状态B0。在状态图生成的每个阶段,通过假设并行处理FSM在处于尚未受检查的并行处理FSM中的状态的同时接收特定输入码元值(L、M或H)来探索该状态。然后确定将源自对应于该状态的列表中的双码元FSM状态中的每一个的双码元FSM中的状态。如果所述列表与并行处理FSM中的当前所定义的状态的列表不同,则创建新状态。如果并非如此,则所探索的输入码元仅连接到现有状态。当并行处理FSM中不存在新状态时,终止处理。
[0071] 考虑并行处理FSM处于状态0并且并行处理FSM接收L作为其输入码元的情况。双码元FSM在此情况下处于状态B0,双码元FSM本应接收输入字LL、LM或LH。因此,检查双码元FSM的状态图以确定可以出自这三个可能性中的每一个的最终状态。如果双码元输入字是LL,则双码元FSM将进入状态B1;如果双码元输入字是LM,则双码元FSM本应移动到状态B2,如果双码元输入字是LH,则双码元FSM本应移动到作为报告状态的状态B4。“*”标识报告状态。因此,与并行处理FSM中的新状态关联的列表是B1、B2、B4*。为了简化附图,已经从图8B中的列表省略各个B。也就是说,列表示出为“1、2、4*”。
[0072] 现以并行处理FSM中的状态0和M的输入字符重复处理。这样带来状态“0、1”。当对于H的输入字符处理重复到状态0时,还获得具有相同列表的状态;因此,并不创建新列表,并且边沿标记为具有两个记号“M|H”。
[0073] 如上所述,以并行处理FSM中的每个新的未探索的状态重复处理。考虑状态“0、1”的情况。当并行处理FSM接收到L时,确定可以利用LL、LM或LH的输入从双码元FSM中的状态B0和B1到达的双码元FSM中的所有状态。在此情况下,状态的列表是已经看见的“1、2、4*”。
[0074] 图8B示出用于在第一码元上工作的并行处理FSM的最终状态图。应注意,当该并行处理FSM报告匹配时,仅报告双码元FSM中的可能匹配状态。例如,当进入标记“1、2、4*”的状态时,并行处理FSM报告“4*”。
[0075] 现参照图8C,图8C示出用于在对双码元FSM的双码元输入字的第二码元上工作的并行处理FSM的最终状态图。使用与关于图8B所示的状态图如上所述相同的处理来生成该状态图;然而,在此情况下,当并行处理FSM接收到L的码元时,确定可以在具有LL、ML和HL的输入字的双码元FSM中到达的状态。
[0076] 在关于图8A-图8C如上所讨论的示例中,并行处理FSM在双码元FSM的较大输入字中的一个对应码元上工作。然而,也可以构建每个并行处理FSM在与一个码元不同的输入字上工作的实施例。考虑码元均具有四个值并且因此方便地表示为两比特码元的情况。对于双码元FSM的输入字将具有八个比特。也可以构建8个并行处理FSM用于在八个比特中的对应比特上工作的每个并行处理FSM的实施例。该实施例可以进一步减少存储器要求。
[0077] 如上所述。将有利的是,MSFSM用作RTT而非具有减少的处理时间的PAT。如果可以并行处理的码元的数量充分大,则可以构建这些实施例。MSFSM的所需处理能将取决于特定数字示波器。较低速度数字示波器需要以几个100MHz上至4Ghz运行的RTT;高速度数字示波器可能需要以上至100GHz的速度运行的MSFSM。
[0078] 现参照图9,图9示出MSFSM用作RTT的数字示波器。为了简化讨论,在此将不详细讨论服务于与上述数字示波器10的元件相似的功能的数字示波器90的这些元件。在数字示波器90中,每个ADC的输出拷贝到码元生成器92,码元生成器92生成对应于每个输出的码元,并且将该码元存到MSFSM 94中的输入寄存器中。当接收到最新ADC值并且将其转换时,MSFSM 94处理输入码元,以确定是否已经找到对于期望搜索模式的匹配。如果找到匹配,则控制器91使得显示处理器108显示存储器组中所存储的数据的有关部分。用户可以通过从控制器91所提供的多个预定触发模式之一进行选择或通过输入描述期望触发模式的正则表达式来指定触发模式。在后一情况下,控制器91包括用于从用户输入的正则表达式生成对应状态表的软件。
[0079] 如果MSFSM是基于多个并行处理FSM的FSM,则一旦接收到码元,输入中的每个码元的处理就可以开始,而非等待来自ADC的所有码元到达MSFSM。如上所述,每个并行处理FSM独立于其它并行处理FSM而工作,并且仅在各码元之一上工作。因此,一旦该码元到来,并行处理FSM就可以处理码元并且报告任何匹配。当最新并行处理FSM随其码元完成时,完成处理的MSFSM中组合器累计来自MSFSM中的各个并行处理FSM的匹配。由于并非所有并行处理FSM同时请求对定制芯片中的存储器的访问,因此当在定制芯片中实现各个并行处理FSM时,这种类型的交错处理可能是有用的。
[0080] 上述示例利用基于使用具有三个状态的码元的实施例中的上升沿的触发。应注意,也可以使用简单三状态码元实施例来实现其它传统RTT。例如,单触发方式下通过正则表达式[^H]*H+M*L来定义下降沿所激发的触发。图10示出用于实现下降沿触发的该实施例的基本FSM。正则表达式M*((L+M*H)|(H+M*L))定义在单激发方式下在上升沿或下降沿上激发的触发。图11示出用于实现上升沿或下降沿触发的该实施例的基本FSM。正则表达式M*((L+M*H)|(H+M*L))+定义在上升沿或下降沿上激发的连续触发。图12示出用于实现连续激发上升沿或下降沿触发的该实施例的基本FSM。具有在单FSM中有效的两个触发(例如分离地具有[^L*](L+M*H)和[^H]*(H+M*L)的定义)也将产生上升沿或下降沿上的触发,但由于存在两个分离定义,因此可以区分观测到哪个边沿,而单个表达式M*((L+M*H)|(H+M*L))将识别相同输入但并不允许区分产生。
[0081] 可以实时通过本发明实现的另一类触发称为“边沿接边沿”触发。这类触发包括在第一事件(例如边沿触发)时引起然后在第二事件产生(例如在某所指定的介入时间段或其它事件已经产生之后产生的另一边沿触发)时激发的触发。这种类型的触发的两个子类称为“按事件延迟”和“按时间延迟”触发。例如,在使用边沿触发的按事件延迟触发中,当检测到下一边沿时,引起触发。在引起状态下检测到指定数量的边沿触发之后,触发激发。利用([^L]*(L+M*H)){n}可以在正则表达式方面指定在已经检测到n个上升沿后的上升沿上激发的触发。图13示出对于情况n=3实施正则表达式([^L]*(L+M*H)){n}的基本FSM。类似地,利用([^H]*(H+M*L)){n}可以在正则表达式方面指定下降沿后激发的触发。图14示出对于情况n=3实现正则表达式([^H]*(H+M*L)){n}的基本FSM。
[0082] 通过将采样的数量计数为用于时间的代理来实现按时间延迟触发。例如,上升沿延迟n个采样后接着另一上升沿可以用正则表达式(L+M*H)(L|M|H){n}(L+M*H)加以表示。状态(L|M|H)是无需在乎的状态,并且也可以指定为字符类[LMH]。图15示出对于情况n=3实现正则表达式(L+M*H)(L|M|H){n}(L+M*H)的基本FSM。为了减少FSM的长度,可以利用具有时钟的计数器布置,使得并不通过将状态添加到FSM来完成计数。在该实施例中,通过第一触发激发(即检测适当类型的边沿)来引起制式。制式然后使用与FSM分离的计数器对n个时钟周期进行计数。在计数器表明完成时,第二次引起触发。可替代地,具有关联计数器的FSM中的单一状态可以用于无需在乎的状态。这种类型的状态循环回到自身,直到满足计数为止。这些状态在本领域公知的计数器扩展型FSM中实施,因此在此将不详细讨论。
[0083] 可以构建按n个事件延迟的事件或按时间延迟的事件的其它示例。为了简化讨论,使用以下速记标记:
[0084] 上升沿=R=L+M*H
[0085] 下降沿=F=H+M*L
[0086] 无需在乎="."=L|M|H=[LMH]
[0087] 数个上升沿接着下降沿变为R{5}L,或介于五与十个上升沿之间的数个上升沿和下降沿变为R{5,10}L。也可以采用运算符(例如{n,})至少匹配n次,或有条件的运算符(例如{n,m}?)至少匹配n次但不多于m次。此外,可以实现事件的组合(例如F{5}R{10}–五个下降沿接着十个下降沿。在另一示例中,可以实现时间和事件的组合。例如,F{5}.{n}R=五个下降沿然后是对应于n个采样的延迟,然后第二上升沿。如上所述,也可以通过定时器实现按时间延迟。在该制式中,第一下降沿启动定时器,定时器然后对所需的时钟周期数量进行计数,并且引起用于上升沿的触发。当看见上升沿时,触发激发。
[0088] 在本发明中也可以实现基于边沿的斜率的触发。正则表达式“L+M{n,m}H”定义基于波形的斜率的触发,其中,n是下界,m是上界。这种类型的触发可以配置为基于采样的数量或时间来提供触发。在n=1的情况下,如果边沿小于m个采样长度,则该触发将激发。图16示出对于n=1和n=3的情况实现正则表达式L+M{n,m}H的FSM。
[0089] 另一感兴趣触发称为“毛刺触发”。毛刺定义为相比于特定极性(负或正)的某预定脉冲宽度更窄的脉冲。所定义的宽度的正毛刺可以由正则表达式[^L]*L+M*H{1,m}M*L表示,其中,m是毛刺的最大宽度。图17示出对于情况m=3实现正则表达式[^L]*L+M*H{1,m}M*L的FSM。负毛刺可以用正则表达式=[^H]*H+M*L{1,m}H*L表示。图18示出对于情况m=3实现正则表达式[^H]*H+M*L{1,m}H*L的FSM。
[0090] 也可以实现更复杂毛刺触发。例如,用于毛刺的触发位于支持大于、小于和之间的各特定宽度之间。此外,可以实现同时搜索在采样中具有特定毛刺宽度的正和负毛刺的触发。例如,正则表达式M*((L+M*H{1,n}M*L)|(H+M*L{1,m}M*H))定义在n个采样或更少的正毛刺以及m个采样或更少的负毛刺上激发的触发。图19示出对于情况n=m=3实现正则表达式M*((L+M*H{1,n}M*L)|(H+M*L{1,m}M*H))的FSM。
[0091] 另一感兴趣触发称为“矮波触发”。正矮波定义为随L开始但在返回L前不到达H阈值的脉冲。类似地,负矮波定义为随H开始但在返回H前不到达L阈值的脉冲。正则表达式[M]*(L+M+L)|(H+M+H)定义正或负矮波上激发的触发。图20示出实现正则表达式[M]*(L+M+L)|(H+M+H)的FSM。
[0092] 上述示例利用ADC的输出转换为每个码元具有三个值的码元串的制式。然而,也可以利用码元具有更大数量的值的实施例。例如,ADC的输出可以划分为对应于码元L、M1、M2、M3和H的五个范围。在一个示例中,如果使用8比特ADC,则这些范围可以定义如下:
[0093] L=[0x00-0x20]
[0094] M1=[0x21-0x60]
[0095] M2=[0x61-0xa0]
[0096] M3=[0xa1-0xde]
[0097] H=[0xdf-0xff]
[0098] 考虑该制式中的矮波的触发。不同级别的矮波可以于是作为触发的基础。三个矮波触发将能够标识处于不同级别的矮波。例如,正则表达式[^L]*L+M1+L,[^L]*L+[M1M2]+L和[^L]*L+[M1M2M3]+L可以定义三个触发。图21示出用于实现这些触发之一上激发并且报告所遇到的矮波级别的三级矮波触发的FSM。
[0099] 码元通常表示来自ADC的值的范围。在最简单的情况下,每个码元表示相等大小的范围。如果码元集合中的码元的数量是二的幂,则可以通过仅选择ADC输出的最高有效位来实现ADC值到码元的转换。例如,如果存在16个码元并且ADC输出12比特值,则通过拷贝ADC值的最高有效四位来获得每个码元值。然而,也可以构建码元值表示ADC值的不等范围的实施例。在这些实施例中,一系列比较器可以用于进行码元分配。
[0100] 上述实施例是单通道实施例;然而,也可以构建具有多个通道的实施例。现参照图22,图22示出双通道数字示波器。数字示波器50包括第一通道,其以类似于上述单通道实施例的方式工作。第一通道包括ADC组51,其将从输入到通道1的采样数字化,并且将数字化的值存储在存储器组52中。第一通道还包括码元生成器56,其将ADC组51的输出转换为具有用于ADC组51生成的每个值的一个码元的码元集合。来自码元生成器56的码元输入到包括MSFSM的触发生成器57。第二通道包括ADC组61,其值存储在存储器组62中。第二通道还包括码元生成器63,其根据ADC组61的输出生成码元集合。来自码元生成器63的码元由同样包括MSFSM的触发生成器67加以处理。
[0101] 包括预定义触发类型的库的控制器71将触发生成器57和67所使用的特定触发模式加载到MSFSM中。数字示波器50的用户使用用户接口72来选择期望触发类型。例如,控制器可以对用户呈现触发类型的列表。用户然后选择感兴趣触发类型,并且指定任何参数(例如上述n和m的值)。控制器71然后在触发生成器中生成MSFSM所使用的存储器表。
[0102] 在本发明一个方面中,控制器71还为用户提供编辑器,其允许用户通过输入用于定义用户所期望的触发条件的正则表达式来定义定制触发。在这些实施例中,控制器71包括编译器,其将正则表达式转换为用于对应触发生成器中的MSFSM的对应表。
[0103] 当有效时,触发生成器将报告从各个并行处理FSM发送到控制器71。当检测到期望触发时,控制器71操作显示处理器53,以使得显示器54显示存储器组52和62中所记录的信号的对应部分。应注意,触发显示的最终触发事件可以取决于来自两个通道的触发被触发。
[0104] 噪声波形上的触发带来可使用根据本发明的触发制式而克服的另外挑战。考虑受噪声破坏的可重复信号。理想地,示波器将仅显示期望波形上的触发,并且将呈现连续轨迹,使得当触发准则设置为捕获所讨论的波形时,轨迹在时间轴上对准。然而,因为噪声,所以噪声而非下属信号可满足触发条件。例如,因为噪声尖峰,所以在前导边沿上激发的触发可以触发。每次触发激发时,PAT触发就必须处理数据,以确定信号是否为期望的信号。RTT可以在噪声尖峰上激发多次,噪声尖峰然后由PAT拒绝。然而,大量错误正触发进一步增加源自响应于RTT存储的波形的PAT处理的死区时间。
[0105] 即使当RTT激发并且PAT确定已经满足期望触发准则时,也可以在连续轨迹上以稍微不同的时间满足触发。因此,连续轨迹在显示器上前后“跳转”。
[0106] 为了减少错误的触发,现有技术触发电路使用滤波和迟滞来减少噪声所产生的问题。这些触发电路是当信号超过阈值时激发的模拟比较器。为了避免在同一噪声波上多次激发的问题,将迟滞引入到触发电路中。触发设置为使得触发将不激发第二次,直到信号返回到显著小于当前激发阈值的级别为止。此外,触发电路通过使噪声衰减的低通滤波器来浏览到来的信号。然而,在触发电路的噪声抑制与频率响应之间存在折衷。
[0107] 由于以所讨论的速度工作的数字滤波器带来重大挑战,因此滤波器通常是用于快速示波器的模拟滤波器。模拟电路是难以改动的,并且具有有限的功能。因此,将会有利的是,提供更灵活的触发方案,该触发方案提供与模拟滤波和迟滞类似的功能以减少输入信号中噪声所引入的抖动。
[0108] 本发明的FSM触发可以提供期望的功能。理想地,根据本发明的触发将用于RTT,以减少送往PAT的要解决的错误阳性的数量。然而,即使当根据本发明的触发用于PAT时,由于PAT可以在期望模式与源自噪声的模式之间更清楚地进行区分,因此本发明提供了重大的改进。
[0109] 首先,应注意,由于噪声尖峰很少使得码元状态改变,因此ADC值序列到具有远远更少状态的码元序列的变换往往会抑制噪声。噪声将通常导致:在序列中的潜在信号本应在缺少噪声时切换码元状态的那些点附近的点上,码元状态改变。如更详细地讨论的那样,复杂触发模式可以在期望信号与噪声之间进行区分,并因此减少错误触发。
[0110] 其次,通过使用更复杂的触发模式,也可以实现类似于现有技术模拟制式的迟滞的改进。
[0111] 考虑待在输入信号中的上升沿上激发的触发。如上所述,简单上升沿触发由如下正则表达式指定:
[0112] 上升沿=[^L]*(L+M*H)
[0113] 也就是说,当并非“L”的任何码元被看见任何次数,接着是作为“L”的一个或多个码元(+),接着是任何数量的“M”,接着是至少一个H时,触发产生。遗憾的是,如果在观测真实触发之前短暂地穿过阈值,则这种简单触发仍由于噪声而经受错误触发。例如,转变为码元序列“HMLLLLMMH”的数字采样的输入清楚地定义该触发模式所指定的上升沿。
[0114] 现考虑序列“HMLLLLMMHMHHH”。触发将在上升沿上的L个码元系列之后看见的第一MMH上激发。因为波形尚未通过L返回,所以即使存在到H的转变,也将接着忽略后面的MHHH。这可能不是期望的行为。可替代地,噪声本应在上升沿的中间产生变为H的转变;在此情况下,触发在正确激发点之前激发三个采样。由于数据波形的随后副本随着噪声的改变量而显现,因此后一情况将接着把抖动引入到所显示的波形中。
[0115] 通过使用取决于码元序列内的较长历史的触发模式,可以获得更可靠且可再现的触发。此历史服务于模拟滤波器的功能,以对噪声触发与期望触发进行区分。例如,在“HMLLLLMMHMHHH”中的L序列之后,触发[^L]*(L+M*H)仅在变为“H”的首次转变上激发。与之对照,模拟触发通常考虑每个阈值穿过隔离,因此,允许两个分离的触发事件出现,即在码元序列中的每个MH转变上生成触发。
[0116] 在本发明一个方面中,使用对码元必须重复的次数进行计数以定义触发的触发模式。在上升沿的情况下,可以通过要求信号处于高状态下达至少某段预定时间来减少M状态序列期间信号由于噪声而短暂地前进到H状态的错误噪声触发。例如,用于上升沿的触发可以由[^L]*L+M*H{10}定义。
[0117] 这种触发模式要求信号处于高状态达至少十个采样。由于按已知速率生成采样,因此触发模式等效于要求信号在从低状态转变之后保持高达到预定时间段。后面的输入序列将不是触发,尽管其符合以上[^L]*(L+M*H)给出的上升沿的原始定义,这是因为其尚未为高达十个采样:LMHHHHHMMMMMHHHHHH。
[0118] 然而,序列LMMHHMMHHHHHHHHHHH将激发触发。由于噪声可以中断所需的H码元序列(即高状态),因此接下来的可替选触发可用于允许信号下跌回到M然后返回到H:[^L]*L+M*(H{10}|H{1,9}M+H{10})。
[0119] 因此,使用码元的次数的计数处于给定状态下的触发模式提供改进的噪声免疫性。
[0120] 还应注意,使用触发模式中的相似重置模式提供免疫于使得触发激发多次的噪声。例如,触发模式[^L]*L{10}M*(H{10}|H{1,9}M+H{10})要求信号在触发可能再次激发前返回到低状态达十个采样。为了本讨论的目的,“建立序列(settling sequence)”将定义为添加到触发序列的感兴趣触发模式之前或之后的序列,以确保数字值序列在第二触发可能出现之前已经返回到预定状态。
[0121] 应注意,根据本发明的触发可以用于当激发的信号穿过阈值VTH并且然后等待直到信号在重新引起前穿过较低阈值VTL时基于激发的模拟比较器来实现当前模拟RTT。在此情况下,对于VTL之下的信号值分配码元L;码元H分配给VTH之上的信号值,对于大于或等于VTL并且小于或等于VTH的电压分配码元M。假设这些码元分配,以下触发定义对实现该RTT的FSM进行定义:M*(L|((L|M])*)?H)|(H|((M|H)*)?L)。图23示出用于实现该正则表达式的FSM的状态图。
[0122] 虽然本发明上述实施例已经利用数字示波器作为使用触发的仪器,但根据本发明的触发处理器可以用于远远更多类的仪器。例如,频率分析器可以使用根据本发明的触发处理器确定要在计算信号或逻辑分析器的频谱时所使用的信号值序列。
[0123] 在利用并行处理FSM的上述实施例中,并行处理FSM在包括一个码元的输入字上工作。然而,也可以利用在其它大小的输入字上工作的并行处理FSM,包括在小于一个码元的输入字上工作的并行处理FSM。考虑码元具有16个值的情况,即每个码元具有四个比特。在4比特输入字上工作的FSM也可以变换为均在码元的不同的两个比特上工作的两个并行处理FSM。此外,4比特输入FSM可以变换为每一个均在码元的不同比特上工作的四个并行处理FSM。较小输入字并行处理FSM的优点在于可能减少FSM的表所需的存储器的量。
[0124] 已经提供了本发明上述实施例示出本发明各个方面。然而,应理解,在不同具体实施例中示出的本发明的不同方面可以组合以提供本发明其它实施例。此外,根据前面的描述和附图,本发明的各种修改将变得清楚。于是,本发明仅由所附权利要求的范围限定。
QQ群二维码
意见反馈