对设备总线进行采样的制作方法

文档序号:5830194阅读:201来源:国知局
专利名称:对设备总线进行采样的制作方法
技术领域
本发明涉及通过对总线进行分接来分析主机和设备之间的信号。具 体来说,本发明的实施例涉及对总线进行采样,以便为分析总线上的数 据做准备。
背景技术
协议分析器是帮助诊断和检测网络上发生的问题的设备。通常, 协议分析器在网络上的流量或总线上的流量发生时对其进行查看。当数据 正在被监视时,协议分析器可以检测问题或某些定义的条件。此时,分 析器触发和捕获网络上或总线上存在的数据。捕获的数据的量可以取决 于分析器的緩冲器的大小。分析器也可以被配置为使得捕获的数据代表 在触发事件之前、在触发事件之后和/或触发事件之前和之后两者发生 的数据。此外,在没有触发事件的情况下,也可以捕获数据。更合适的 是,可以捕获数据,直到緩沖器已满。事实上,捕获是在发生问题时的 时间的附近或分析器被触发时的时间的附近网络上或总线上存在的数 据的快照。然后,可以分析捕获的数据,以帮助解决许多问题并改善网络 通信或改善主机和i殳备之间的通信。
然而,某些协议难以在分析器中实现。SD(安全数字卡)、SDIO (SD输入/输出卡)、MMC (多媒体卡)和CE-ATA (家用电器-高级 技术附件)是难以进行分析的协议的示例。
一些原因与4吏用SD、 SDIO、 MMC或CE-ATA的i殳备的物理尺寸 相关。其他原因与成本相关。例如,CE-ATA连接器具有有限的占空 比。因为反复地连接和断开协议分析器,当分析CE-ATA时,成本会变 成大问题。此外,许多消费设备不在相同的电压电平操作。在没有预先 知道电压电平时这会使将系统连接到协议分析器的问题复杂化,因为分 析器不能区别低和高信号。此外,当总线是电子的而不是光学的时,还 有与阻抗匹配和电容性负载相关的问题。

发明内容
这些及其他局限性可通过本发明的实施例来克服,本发明的实施例 涉及用于对主机和设备之间的总线上的数据进行采样或用于分析诸如主 机和设备的待测试系统的系统和方法。具体来说,本发明的实施例涉及 在总线速度可能未知、待测试系统的工作电压可能未知等等的情况下用 于对总线上的数据进行采样的系统和方法。本发明的实施例能使总线被 采样而无需知道待测试系统的这些参数。待测试系统可以是主机和诸如 消费设备的设备(如具有任何形状因数的存储器卡)。
在一个实施例中,拔_供了 一种用于分析到待测试系统的总线上的数
据的方法。该方法通常是通过将分接单元(tap)连接到待测试系统开始 的。分接单元通常在主机和设备之间提供直通(pass through)总线, 总线的各线上存在的信号不被重新定时。接下来,分接单元与转接单元 (pod)连接在一起,而转接单元又与协议分析器相连接。由分接单元所 提供的ID能使转接单元被配置或编程为处理分接的数据。可替选地, 转接单元可以针对特定的待测试系统被预编程。在某些实施例中,转接 单元可以由协i5C分析器针对另一个系统重新编程。
一旦正确地连接了分接单元,分接单元或转接单元可以开始通过 使用其速率高于待测试系统的时钟速率的时钟来对信号进行采样,从而 分接总线的各线上的信号。优选情况下,时钟速率可以是待测试系统的 时钟速率的两倍以上。反复地采样和闩锁总线的各线上(或某些线上) 的信号,以产生原始数据。结果,数据的每一个比特通常都对应于原始 数据的多个样本。然后,对原始数据进行解码,以产生经过解码的lt据, 并可以将经过解码的数据呈现给协议分析器,以供进行分析。在某些情 况下,转接单元也可以提供某些功能,如状态列表解码、命令列表解 码、定时脉沖波形、捕获前滤波、捕获后滤波、触发、实时统计信息、 捕获后统计信息、直方图和树视图。
在一个实施例中,可以将经过解码的数据与采样的原始数据进行 校准。可以可视地呈现此校准情况,并可以将此校准用来识别总线的特 定线所存在的问题。
通过下面的描述和所附的权利要求,本发明的这些及其他优点和特 征将变得显而易见,或者,也可以通过如下面所描述的本发明的实践来 了解这些情况。


为了理解本发明的优点和特征,将通过参考所附图形中显示的特定 实施例,提供本发明的具体描述。可以理解这些图形只描述了本发明的典 型的实施例,因此不意欲作为对其范围的限制,将通过4吏用附图并利用额
外的特征和细节描述和说明本发明,在附图中
图l显示了用于实现本发明的实施例的示范性环境;
图2显示了与卡和主机之间的双向总线进行接口的分接单元的一 个实施例;以及
图3显示了用于准备总线上的数据以供进行分析的示范性流程图。
具体实施例方式
本发明的实施例克服了常规系统的局限性,并涉及用于进行协议 分析的系统和方法。具体来说,本发明的实施例涉及用于准备总线上的 数据以便由协议分析器进行分析的系统和方法,并包括采样方法。 一般而 言,每隔一定的时间间隔对总线上的数据进行采样。对总线进行采样的 时间间隔可以基于总线的预计的频率,或者可以基于采样时钟或基于其他 条件。通常,采样速率是总线的速率的至少两倍。
因此,分接单元对总线进行分接,然后,转接单元可以对由分接单 元所提供的信号进行采样,以产生采样数据。因为转接单元知道连附了 什么样的分接单元以及什么样的协议在待测试系统上起作用,所以转接单 元可以才艮据协i义将采样数据解码为字节、字、命令等等。然后,将经过解 码的数据提供到分析器,以便进行分析。同时,转接单元可以将采样数据 与经过解码的数据进行排列或校准。例如,可以将经过解码的数据的字 节与对于该字节产生的所有总线样本进行排列或校准。有益地,这提 供了经过解码的数据以及总线上实际发生的情况的综览。
根据本发明的实施例的协议分析器包括分析器、转接单元和分接单 元板或分接单元。此外,本发明的实施例还包含了差分信号和/或单端 信号两者。 一些差分输入/输出也可以作为单端输入/输出来实现。分
接单元通常连接到待测试系统,以使得分接单元能将系统的总线上的信 号提供到转接单元。为传递分接的信号,分接单元与转接单元相连接或 接口,而转接单元又与分析器相接口。通过这些连接,总线上存在的信 号可以呈现给分析器。转接单元也可以在将分接的信号传递给协议分析 器之前执行某些功能。
分接单元提供能使得转接单元确定连接到什么类型的分接单元
的ID。 一旦确定了分接单元类型,FPGA就可以被预先编程或编程。如 果对FPGA进行预先编程以便处理多个协议,则基于ID进行适当的 选择。或者,可以基于分接单元的ID对FPGA进行编程。在识别所 连附的分接单元的类型之后,转接单元理解应该如何处理来自总线的数 据。转接单元可以识别总线的每一条线或识别从分接单元接收到的特定 信号,并在将信号和/或其他数据提供到分析器之前适当地对它们进行操 作。在一个实施例中,由分接单元采样的数据被转接单元作为微分信号 接收。
如下面比较详细地讨论的,转接单元通常包括用于处理来自正在被 分析的系统的总线的信号的FPGA、微处理器和/或专用集成电路(asic)。 由转接单元执行的处理可以包括但不仅限于对由分接单元所提供的数 据进行采样,对采样数据进行解码,以及向分析器呈现经过解码的数据。 例如,通过读取或接收分接单元的ID,可以指示转接单元如何处理或如 何解码数据。在一个示例中,ID能使转接单元和/或分析器识别总线上 的每一个信号代表什么。
转接单元还可以包括诸如LED的控制状态指示器。在一个实施 例中,分接单元和转接单元是分离的,并使用电缆连接在一起。这样 便可以制造相对来说便宜的分接单元,并可以根据需要对其进行替换。 如前面所指出的,某些连接器具有相对来说比较低的插入循环计数,更 换转接单元比替换分接单元更加昂贵。
转接单元可以至少两种不同的方式连接到分接单元。首先,分接 单元板或分接单元可以直接或通过电缆与连接器进行连接。为确保信号 完整性,可以使用LVDS (低压差分信号)信号。本发明的实施例将 LVDS信号结合到分接单元中,以便如下面所描述的确定总线上的信 号是高还是低。在某些情况下,可以转换电压电平,以符合分接单元、 转接单元、和/或分析器的各种信号要求。例如,FPGA中的LVTTL信
号可以被变换为LVDS信号。
图1显示了用于实现本发明的实施例的示范性环境。图1显示了 用于分析总线上的信号的系统100、网络连接或其他系统。在此示例中, 系统100包括与卡102进行连接的主机106。主机106和卡102代表待 测试系统,在主机106和卡102之间进行传输的总线承载数据、命令等 等。卡102代表各种媒体卡,包括但不仅限于MMC(多媒体卡)卡、 RS-MMC (尺寸减小的多媒体卡)、MMCplus、 MMCmobile、 DV (双 电压)MMC卡、CE-ATA (家用电器-高级技术附件)设备、SD (安全 数字)卡、DV (双电压)SD卡、SDIO ( SD输"输出)卡、XD卡,记 忆棒,及其他卡或设备。如上文所指出的, 一些设备还可以包括驱动器。 受支持的协"i义的示例包括但不仅限于1394a、 ATA/ATAPI、 Cardbus、 Logic Analysis, PCI/ PCI-X/Compact PCI、 PCMCIA/ Compact Flash、 SCSI、 SATA、 USB、 MMC、 SD、 SDIO, CE-ATA等等。
主机106通常被配置为从卡102中读取和/或向卡102写入,总线 通常是双向的。主机106代表(作为示例而不仅限于)诸如个人数字助 理、数码相机、个人音频播放器、数字媒体播放器、数字记录器、蜂 窝电话、笔记本电脑等等的消费i殳备或其任何组合。主机106还可以 是计算机或服务器计算机等等。
卡102和主机106之间的通信通过总线110发生,该总线在此示 例中包括在卡102和主机106之间提供电连接的接触件。分接单元104 是能使分析器114查看卡102和主机106之间的总线上发生的流量而对 总线或对总线上的数据的干涉最小的设备。分接单元104的形状因数常 常取决于由主机106和/或对应的卡102决定的形状因数。在某些实施例 中,分接单元104可以被配置为接受多种形状因数和/或可以使用不同协 议的卡。
在一个实施例中,由于若干原因,分接单元104与转接单元112是 分离的。某些协议包括如前所述的具有低插入循环计数的连接器,与 替换整个转接单元112相比,当连接器发生故障时能够替换分接单元 104是有利的。可分离的分接单元104也有助于在大小受限制的区域中, 以及对于某些测试情况,如待测试系统的振动试验中使用分析器114。
在转接单元112从分接单元104接收卡102和主机106之间的总 线上的数据。转接单元112适于与分析器114进行连接,虽然本发明的
实施例采用的是与分析器114集成的转接单元112。此外,在某些情况下, 转接单元112可以被重新编程,以便与不同协议一起使用。当转接单元 112是可分离的时,转接单元112与分析器114的可拆卸性允许分析器 114通过选择适当的转接单元而适用于多种总线、网络连接等等。或者, 转接单元112可以从分接单元104接收表示转接单元112应该如何处 理被分接的信号的ID信号。类似地,转接单元112可以生成ID信号, 该ID信号可以被分析器114解释,以便分析器114知道所连附的是哪 一个转接单元并可以进行适当的分析。
在一个实施例中,转接单元112可以与多个分接单元一起^f吏用。 例如,转接单元112可以与SD/MMC分接单元、CE-ATA分接单元或 另一种分接单元一起使用。对于某一个给定分接单元或对于某一个给定 协议,FPGA 113可以被编程为对根据各种协议的要求分接的信号进行 准备或解码。例如,FPGA可以被编程为处理多种协议。例如,单一的 比特文件(bitfile)可以对FPGA进行编程,以处理多种协i义。在此情况 下,转接单元使用分接单元ID来确定如何处理来自分接单元的数据。 或者,分析器可以使用分接单元ID和/或转接单元ID对FPGA进行编 程,以处理通过分接单元从总线接收到的信号或对它们进行解码。在此 情况下,用于对FPGA进行编程的比特文件对于特定协议是特有的。 通常,通过EEPROM,或通过Select-Map引脚,通过软件,执行FPGA 的实际编程。那些精通本技术的普通人员可以理解,也可以以其他方式 对FPGA进行编程。
例如,基于由连附的分接单元所提供的ID信号,选择由转接单元 解码的特定协议。可替选地,在接收ID信号之后,可以由分析器114 适当地对转接单元112进行编程。在此示例中,转接单元112通常是针 对SD、 SDIO、 MMC或CE-ATA协议配置的。转接单元112可以支持 状态列表解码、命令列表解码、定时脉冲波形、捕获前滤波、触发、实时 统计信息、直方图、捕获后统计信息、捕获后滤波、捕获的lt据的树视图, 及其他协议功能。
在一个实施例中,分接单元104在数字信号不被分接单元104重新 定时的意义上是直通分接单元。此外,总线也可以是双向总线。图2显 示了包括中继器202的分接单元104的实施例。来自卡102的信号204 被中继器202接收,然后,作为信号206通过并传送给主机106。
在另一个实施例中,卡102和主机106之间的信号不通过中继器。 相反,分接单元104被配置为使得总线的各线被分接(例如,使用中继 器上的通道或引脚),以分支到中继器202。如此,信号204和信号206 是相同的信号。到中继器的线路或通道产生被传递给转接单元112的信 号208。为使电容性负栽最小,通过使总线的各线分支而产生的短截线 被保持得尽可能短。此外,在中继器202中没有内部终端以维持阻抗匹 配。
图3显示了用于准备从待测试系统的总线分接的数据以供进行分析 的示范性流程图。转接单元使用对总线进行分接的分接单元,以各种时间 间隔对总线进行釆样302。对总线进行采样的处理可以使用由转接单元 生成的时钟信号而不是使用主机的时钟信号来实现。这确保了采样时 钟的速率足够快,以有效地对总线上的数据进行釆样和闩锁。例如,如 果总线以从0到52MHz的频率工作(虽然本发明的实施例也可以釆用 包括较高频率的其他时钟速度),则采样时钟的速率可以是(只作为示 例)125MHz。
对总线的每一条线进行釆样(总线的宽度可以是lx、 2x、 4x或8x, 虽然本发明的实施例预期可采用其他总线宽度)。通常,以两倍于时钟 速率的速率对总线进行采样。优选情况下,以总线速率的两倍以上的速率 对总线进行采样。在一个实施例中,当总线上的数据有效时,在时钟信号 的上升沿对总线进行采样。然后,对总线上的数据进行闩锁304,被闩 锁的数据代表总线上的原始数据。可以对总线上的数据中的每一比特进 行多于一次的采样。
重复对总线进行采样以;sjit数据进行闩锁的过程,直到获得一个字
节(或其他适当的数据段)。然后,转接单元可以对该字节或其他段进行 解码。然后,将经过解码的数据提供到协议分析器,以供进行协议分析。 由转接单元执行的解码过程可以包括但不仅限于状态列表解码(导致 显示由分析器捕获的事件的按时间发生顺序的列表),以及命令列表解 码。转接单元还包括用于执行定时脉冲波形(显示了线路的信号电平 表示)、捕获前滤波、触发、实时统计信息、直方图、原始数据与经 过解码的数据的校准的模块。转接单元还可以为分析器的功能提供支 持,可以包括捕获后统计信息,捕获后滤波,以及捕获的数据的树视 图。
转接单元具有总线上的数据的两个不同表示。 一个表示是原始 数据或采样的数据。通常,经过解码的字节对应于多个样本。转接单 元还具有解码的总线数据。然后,转接单元将原始数据与解码的数据进
行校准或排列308以供进行分析。
通过呈现与解码的数据校准的原始数据,例如,分析器或用户可 以识别在总线的特定线上可能发生的问题,或在特定命令过程中何时发 生错误。转接单元可以向分析器发送管道化的(pipelined)数据,包括 原始数据和/或解码的数据,以供进一步的分析。原始数据和相应的解码 数据也可以显示出来,以便可视地评定总线上的数据。
在一个实施例中,转接单元和分析器之间的接口可以具有多个通 道,包括单端通道和/或差分通道。通过使用还可以执行信号变换的芯片, 可以最小化转接单元中的FPGA的引脚数目。例如,由FPGA生成的 LVTTL信号可以转换为分析器所需的LVDS信号。此外,FPGA可以 包括使用LVTTL信号的存储体(bank)。结果,FPGA的提供功率的 一些存储体可以4吏用某些信号(例如,VREF、 VRP,以及VRN), 作为通用I/O引脚。当使用LVTTL信号时,这是可能的。此外,可以 改变内电压,以便在必要时较好地接收LVDS信号。转接单元还可以包 括JTAG端口,以供在对FPGA进行编程时使用,以及用于调试用途。
在分析器上操作的软件可以读取转接单元的ID,以便知道哪一个 转接单元正在被使用。分析器的软件也可以通过转接单元读取分接单元 上的ID。这使得分析器软件能识别如何处理从总线302分接的任何数据。
如上文所描述的,分接单元和转接单元之间的接口通常包括多个 差分信号。接口还包括Vcc、 GND、可以通过跳线选择的转接单元提供 的参考电压、以及一个或多个ID线。ID线使得转接单元能确定所连 接的分接单元的类型,并确定如何为分析器准备从总线分接的数据。
在不偏离本发明的精神和基本特征的情况下,本发明还可以以其 他特定形式来实现。所描述的实施例在各个方面都只作为说明性的,而 不是限制性的。因此,本发明的范围由所附权利要求而不是由前面的描 述指明。在权利要求的等同物的含义和范围内的所有更改都将包括在它 们的范围内。
权利要求
1. 一种用于分析主机和设备之间的总线上的被分接数据的方法,所述方法包括:提供对主机和设备之间的总线进行分接的分接单元板;以时钟的速率对总线进行采样,以产生原始数据,所述时钟速率是总线的频率的至少两倍;在时钟的上升沿和/或下降沿闩锁总线上的原始数据;对总线上的原始数据进行解码,以产生经过解码的数据;以及将经过解码的数据与采样的原始数据进行排列,以供进行分析。
2. 根据权利要求1所述的方法,其中,提供用于对总线进行分接的分 接单元板的处理进一 步包括提供对总线的每一条线进行分接的分接单元 板。
3. 根据权利要求1所述的方法,进一步包括下列中的一个或更多个 从经过解码的数据生成状态列表; 从经过解码的数据生成命令解码; 从经过解码的数据生成定时脉冲波形; 从经过解码的数据生成树视图;过滤经过解码的lt据; 基于经过解码的lt据i^f于触发;或 基于经过解码的数据生成统计信息。
4. 根据权利要求1所述的方法,进一步包括 从分接单元板接收ID; 选择总线的协议以供进行分析;以及对连接到分接单元板的转接单元进行编程,以处理选定的协议,其中, 所述转接单元向协议分析器提供数据。
5. 根据权利要求1所述的方法,进一步包括为直通总线提供分接单 元板,而不对主机和设备之间的总线上存在的信号重新定时。
6. 根据权利要求1所述的方法,其中,将经过解码的数据与采样的 原始数据进行排列以供进行分析的处理进一步包括将原始数据的每一样 本与经过解码的数据的相应的比特进行校准。
7. 根据权利要求6所述的方法,进一步包括使用原始数据的每一样 本与相应的比特的校准来分析总线的每一条线。
8. —种用于分析到待测试系统的总线上的数据的方法,所述系统包括 主机和i殳备,所述方法包括将分接单元连接到待测试系统,其中,该分接单元在主机和设^^之间 提供直通总线;将分接单元连接到转接单元,该转接单元与协议分析器相连接;在转接单元接收来自分接单元的ID,其中,协议分析器使用所述ID 来针对在待测试系统中工作的协议配置所述转接单元;使用以高于待测试系统的时钟速率的速率操作的时钟来对总线进行 釆样,所述时钟是由转接单元提供的;通过在时钟的上升沿和/或下降沿闩锁数据,反复地对总线进行釆样, 直到获得数据段,该数据段由原始数据表示,其中,对数据段中的每一比 特进行一次以上的采样和闩锁;将原始数据的数据段解码为经过解码的数据;以及将原始数据与经过解码的数据进行排列。
9. 根据权利要求8所述的方法,其中,对总线进行采样的处理进一步 包括分接总线的各线,而不对总线的各线上的信号进行重新定时。
10. 根据权利要求8所述的方法,进一步包括下列各项中的一个或 更多个从经过解码的数据生成状态列表; 从经过解码的数据生成^^令解码; 从经过解码的数据生成定时脉沖波形; 从经过解码的数据生成^t视图; 过滤经过解码的lt据; 基于经过解码的数据进行触发;或 基于经过解码的数据生成统计信息。
11. 根据权利要求8所述的方法,其中,将原始数据与经过解码的数 据进行排列的处理进一步包括将釆样的原始数据与经过解码的数据进行 校准。
12. 根据权利要求11所述的方法,进一步包括以经过解码的数据可视 地呈现采样数据,以便经过解码的数据的每一比特都与多个样本关联。
13. 根据权利要求12所述的方法,进一步包括基于采样的数据与经过 解码的数据的校准来识别总线的特定的线的问题。
14. 根据权利要求8所述的方法,其中,通过在时钟的上升沿和/或下 降沿闩锁数据来反复地对总线进行采样直到获得一段数据的处理进一 步 包括对数据的字节进行采样。
15. 根据权利要求8所述的方法,其中,通过在时钟的上升沿闩锁总 线来反复地对总线进行采样直到获得一段数据的处理进一 步包括对总线 的每一条线上或总线的每一条数据线上的一个比特进行采样。
16. 根据权利要求8所述的方法,进一步包括为协议分析器准备经过 解码的数据。
17. 根据权利要求8所迷的方法,进一步包括从分接单元接收原始数 据作为低电压差分信号。
18. 根据权利要求17所述的方法,进一步包括调节转接单元中的 FPGA的内电压,以适应《氐电压差^^信号。
19. 根据权利要求18所述的方法,进一步包括将信号转换为协议分析 器所需的形式。
20. 根据权利要求18所述的方法,进一步包括将LVTTL信号转换为 LVDS信号。
全文摘要
一种用于准备分接的数据以供进行分析的方法。以某一速率对总线上的数据进行采样并闩锁,以产生原始数据。然后,由针对待测试系统中的总线的协议而配置的转接单元对原始数据进行解码。然后,可以将经过解码的数据提供给协议分析器,以供进行分析。经过解码的数据和相应的原始数据还可以被进行校准,然后呈现给分析器以供进行协议分析。
文档编号G01R31/316GK101384915SQ200780005845
公开日2009年3月11日 申请日期2007年2月19日 优先权日2006年2月17日
发明者埃里克·J·兰宁 申请人:菲尼萨公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1