CN101145143B - 稳定异步接口的方法和计算机***装置 - Google Patents
稳定异步接口的方法和计算机***装置 Download PDFInfo
- Publication number
- CN101145143B CN101145143B CN2007101544224A CN200710154422A CN101145143B CN 101145143 B CN101145143 B CN 101145143B CN 2007101544224 A CN2007101544224 A CN 2007101544224A CN 200710154422 A CN200710154422 A CN 200710154422A CN 101145143 B CN101145143 B CN 101145143B
- Authority
- CN
- China
- Prior art keywords
- data
- register
- stability window
- bus
- delay counter
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
一种在不使用异步控制信号的情况下在源和宿之间进行异步数据传输的方法和计算机***装置。所述装置包括亚稳定电路、数据更改检测逻辑、稳定窗口延迟计数器和多路复用器/寄存器对,以允许在转变期间保存先前的稳定数据。虽然所使用的处理逻辑特别应用于异步逻辑,但是同样可以将所述逻辑扩展到同步或未定时接口。还公开了调整窗口延迟的可编程装置。
Description
技术领域
本发明涉及数据传输,具体地说,涉及在不使用用于计算机***数据传输的单独控制信号的情况下稳定通过异步或未定时接口的一个或多个总线信号的方法。
背景技术
在SMP计算机(例如,IBM生产的 大型计算机***)中,保持较高级别或性能及互锁是极其重要的。很多时候,有些接口是自校准的,而其他接口按照严格的早/晚定时准则定时。但是,自校准逻辑可能占用很大面积。异步接口也由于经常通过接口的一侧和另一侧的握手信号而带来问题。
许多应用都有需要在总线上异步发送的数据或控制,在此等待时间不是大问题。通常,添加了亚稳定(metastability)锁存器来帮助解决可能的信号转变。通常存在一个用于在总线传输的一个方向上进行握手的控制信号。该信号用于边沿触发采样事件。在激活该信号前数据总线是稳定的很重要。必须注意确保该控制信号比数据总线具有更多的等待时间。如果不是,则会在正常的数据总线仍在转变时进行采样。
虽然现有技术解决了一些由异步接口引发的问题,但是仍存在控制信号与数据分离的限制。使用数据总线在异步接口上对数据本身进行采样的尝试可能带来不正确的数据采样,这是由于并非所有数据位都在每个周期上一致。
发明内容
根据本发明和所描述的实施例的数据传输接口无需单独的控制信号。提供了一种机制,其中数据本身用于判定数据是否已经更改。本发明提供了稳定逻辑,所述逻辑防止输出数据在达到新的稳态之前在不正确或不合法的状态间转变。
本发明还允许稳定窗口的可编程延迟以容许所经历的无法预料的时滞和噪声。
在文中还说明和要求保护了与以上概述的方法对应的***和计算机程序产品。
通过本发明的技术实现了其他功能和优点。在文中详细说明了本发明的其他实施例和方面并将其视为所要求保护的发明的一部分。为了更好地理解本发明的优点和功能,将参考说明书和附图。
由概括的发明可知,对于数据稳定并向另一个稳态转变的异步或未定时接口,无需用于接口的单独控制信号。这可以免于昂贵的连线,特别是在芯片或其他电路之间。此外,等待时间可以由数据时滞限制,所以如果数据时滞较少,则可以为其设计较少的等待时间。本发明允许可编程的等待时间以在无需重新设计的情况下允许在损坏风险和等待时间/性能之间进行最终平衡。
附图说明
在说明书结尾处的权利要求书中特别指出并明确要求保护了被视为本发明的主题。通过以下结合附图的详细说明,本发明的上述和其他目标、功能和优点是显而易见的,这些附图是:
图1示出了从源到宿的现有技术通信的实例;
图2示出了现有技术的异步接收器电路的实例;
图3示出了结合本发明的数据传输方法的实例;
图4是示出本发明特有的稳定技术的状态图;
图5示出了使用寄存器的可编程稳定窗口持续时间值的实例;
图6是示出了实例数据总线流以及根据和未根据本发明的结果的表。
详细的说明通过实例方式参考附图阐述了本发明的优选实施例以及优点和功能。
具体实施方式
现在转到更详细的附图,将看到图1中示出的现有技术包含两个彼此通信的电路。示出的是单方向的通信。数据总线104由源电路101驱动并由宿电路102接收。还存在从源电路101发送到宿电路102的控制信号103。通常,允许数据总线104切换并稳定在新值上。然后,将使用控制信号103来激活选通脉冲以对稳定的数据采样。
图2示出了现有技术的宿逻辑102的更详细的图。在该实施例中,控制信号103和数据总线104进入异步接收器电路102。示出了亚稳定锁存器202、边沿检测电路203和登台寄存器或缓冲器204。存在大量实现现有技术的其他实施例。
图3示出了使用本发明的数据传输方法的优选实施例。与现有技术不同,在源电路310和宿电路301之间没有控制信号103。相反,直接在装置中使用数据总线312来检测数据转变。数据总线312通过亚稳定寄存器307登台。这是为了确保数据对于下游处理是一致的。有一个稳定多路复用器308,其允许新数据馈入通常在每个周期都捕获数据的稳定寄存器302。使用边沿检测电路303将稳定寄存器的输出和稳定寄存器的输入进行比较。当出现新旧数据总线值的错误比较时,检测电路303使用稳定窗口持续时间值总线305加载稳定窗口计数器304。
预测的下一个计数器状态在下一个计数器状态总线309上的稳定窗口计数器304的输出处可用。下一个计数器状态总线309馈入计数器检测电路306,计数器检测电路306判定下一个计数是否为零。在同一周期上使用稳定窗口持续时间值总线305加载计数器,下一个计数器状态总线309为非零。这迫使稳定多路复用器308使用其先前的值重新加载稳定寄存器302,而不是允许新数据进入寄存器。这导致稳定寄存器302冻结其状态。能够使用总线数据加载寄存器的唯一方法是使计数器达到零。
同时,计数器检测电路306检测非零计数器值并将递减稳定窗口计数器304,直至其最终达到零。
如同宿电路稳定输出数据总线311,稳定寄存器302的输出对下游逻辑可用。因为控制稳定寄存器302在对正在转变的数据采样之前一直等待,所以宿电路稳定输出数据总线311也是稳定的。
图4示出了代表本发明的方法的状态图。***在稳定数据可用的“运行”状态启动。当检测到输入数据中的任何位的转变时,将先前的数据作为输出保存。此转变还导致状态更改为“等待”状态。本发明将“等待”一段预定的时间。通常,这类似于已加载和递减的计数器。在“等待”状态时,输出数据仍保持先前的状态。当“等待”周期结束时(例如,计数=0),则转变回“运行”状态。然后将新数据作为输出发送。本发明依赖于“等待”周期至少与数据的最大不稳定窗口一样长的事实。此外,在保证的“等待”周期之后,不应允许数据在一个周期内再次切换。假如在定时中存在不确定性,则建议确保在从源发送新数据之前至少出现了三个最大“等待”周期。
图5示出了使用稳定窗口持续时间可编程寄存器501来供给稳定窗口持续时间值总线305的优选方法的一种实施方式。可以根据本领域的技术人员公知的多种技术来加载或更改此寄存器。
图6示出了根据和未根据本发明的将输入原始数据和输出数据相比较的表。注意在不使用本发明时遇到的从不试图在原始数据总线上发送的非法状态。例如,源电路数据总线仅驱动模式00000、00FF00和000FF。未根据本发明时,其他数据模式0A000、0E800、00331和001FA都会出现,如该特定实例中所示。它们代表可能与在不同时间到达的数据位关联的时滞和/或噪声。但是,根据本发明,仅在输出处观察到00000、00FF00和000FF。
虽然附图和详细说明描述了单数据总线的单向异步接口,但是本领域的技术人员可以将此概念扩展到多总线的双向(连同确认协议)接口或***。此外,虽然在本发明中示出了计数器,但是可以构建其他延迟稳定周期的装置。虽然说明示出了稳定寄存器通常未锁定并允许稳定数据流过,然后锁入稳定窗口的情况,但是可以这样构建本发明,使得数据通常与稳定窗口阻隔,并且仅当存在稳定数据时才选通到稳定寄存器中。将需要考虑这些情况下所保存数据的起始值。当然可以应用许多等效的电路和方法。
附图指示特定的电路实施方式,但也可以代表在不偏离本发明精神的情况下对该方式的模仿。
可以通过软件、固件、硬件或其组合来实现本发明的功能。
作为一个实例,本发明的一个或多个方面可以包括在具有例如计算机可用介质的一件制品(例如,一个或多个计算机程序产品)中。所述介质其中例如包含用于提供和协助本发明功能的计算机可读程序代码装置。所述制品可以包括为计算机***的一部分或单独出售。
此外,可以提供至少一个机器可读的程序存储设备,其有形地包含可由机器执行以执行本发明功能的至少一个指令程序。
本文中示出的流程图仅为实例。本文说明的这些示意图或步骤(或操作)可以存在许多变型而不偏离本发明的精神。例如,可以以不同的顺序执行这些步骤,或可以添加、删除或修改步骤。所有这些变型都被视为所要求保护的发明的一部分。
虽然说明了本发明的优选实施例,但是本领域的技术人员将理解,不论现在还是将来都可以做出落入以下权利要求的范围内的改进和增强。应将这些权利要求理解为维持对首先描述的本发明的正确保护。
Claims (22)
1.一种在计算机***中从源到宿进行数据传输的方法,所述方法包括:
由源电路将数据发送到数据总线上;
由宿电路从所述数据总线接收数据,所述宿电路包括亚稳定寄存器和稳定寄存器,并提供了数据更改检测逻辑和稳定窗口延迟计数器及多路复用器以便在传输期间保存先前的数据;
其中所述宿电路的亚稳定寄存器登台输入数据总线;
其中所述稳定寄存器保存来自所述数据总线的先前数据并与宿电路输出数据总线相连;
其中多路复用器在所述亚稳定寄存器的输出和所述稳定寄存器的输出之间进行选择;
检测在所述宿处接收到的数据的更改;
允许在检测到数据更改时观察先前的数据;以及
在一个时间段之后释放先前的数据并允许观察新的数据。
2.如权利要求1中所述的方法,其中所述稳定窗口延迟计数器具有加载输入控制、加载输入值总线和递减递增控制。
3.如权利要求2中所述的方法,其中所述数据更改检测逻辑包括边沿检测电路,该电路将所述稳定寄存器的输入和输出总线相比较以判定数据是否发生更改,所述更改还激活所述稳定窗口延迟计数器的加载输入。
4.如权利要求3中所述的方法,其中,计数器检测电路在所述稳定窗口延迟计数器具有非零值时递减所述稳定窗口延迟计数器,并且还在所述稳定窗口延迟计数器不是零时控制所述多路复用器将所述稳定寄存器保持在其当前值。
5.如权利要求4中所述的方法,其中所述稳定窗口延迟计数器将在同时激活加载和递减输入时递减。
6.如权利要求2中所述的方法,其中,可编程寄存器与所述稳定窗口延迟计数器的加载输入值总线相连。
7.如权利要求1中所述的方法,其中,通过所述计算机***的异步或未定时接口稳定一个或多个数据总线信号,而不使用用于计算机***数据传输的单独控制信号。
8.如权利要求1中所述的方法,其中所述数据传输是异步数据传输。
9.如权利要求8中所述的方法,其中所述数据传输是不使用任何异步控制信号的异步数据传输。
10.如权利要求1中所述的方法,其中所述时间段使用计数器来实现。
11.如权利要求1中所述的方法,其中所述时间段是可编程的。
12.如权利要求1中所述的方法,其中在所述宿处接收到的数据本身用于检测在所述宿处接收到的数据的更改。
13.如权利要求12中所述的方法,其中稳定逻辑阻止数据在达到新的稳态之前在不正确的状态间转变。
14.如权利要求13中所述的方法,其中在没有单独的控制信号的情况下传输数据。
15.如权利要求14中所述的方法,其中可编程的延迟提供了用于检测被传输数据中的时滞的窗口。
16.一种用于数据传输的计算机***装置,所述装置包括:
源电路,其将数据发送到数据总线上;
宿电路,其从所述数据总线捕获数据,其包括亚稳定寄存器和稳定寄存器,并提供了数据更改检测逻辑和稳定窗口延迟计数器及多路复用器以便在传输期间保存先前的数据;
其中所述宿电路的亚稳定寄存器登台输入数据总线;
其中所述稳定寄存器保存来自所述数据总线的先前数据并与宿电路输出数据总线相连;以及
其中多路复用器在所述亚稳定寄存器的输出和所述稳定寄存器的输出之间进行选择。
17.如权利要求16中所述的装置,其中所述稳定窗口延迟计数器具有加载输入控制、加载输入值总线和递减递增控制。
18.如权利要求17中所述的装置,其中所述数据更改检测逻辑包括边沿检测电路,该电路将所述稳定寄存器的输入和输出总线相比较以判定数据是否发生更改,所述更改还激活所述稳定窗口延迟计数器的加载输入。
19.如权利要求18中所述的装置,还包括计数器检测电路,该电路在所述稳定窗口延迟计数器具有非零值时递减所述稳定窗口延迟计数器,并且还在所述稳定窗口延迟计数器不是零时控制所述多路复用器将所述稳定寄存器保持在其当前值。
20.如权利要求19中所述的装置,其中所述稳定窗口延迟计数器将在同时激活加载和递减输入时递减。
21.如权利要求17中所述的装置,还包括与所述稳定窗口延迟计数器的加载输入值总线相连的可编程寄存器。
22.如权利要求16中所述的装置,其中所述装置通过所述计算机***的异步或未定时接口稳定一个或多个数据总线信号,而不使用用于计算机***数据传输的单独控制信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/532,199 US7484023B2 (en) | 2006-09-15 | 2006-09-15 | Computer system apparatus for stabilizing asynchronous interfaces |
US11/532,199 | 2006-09-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101145143A CN101145143A (zh) | 2008-03-19 |
CN101145143B true CN101145143B (zh) | 2010-09-15 |
Family
ID=39190016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101544224A Expired - Fee Related CN101145143B (zh) | 2006-09-15 | 2007-09-12 | 稳定异步接口的方法和计算机***装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7484023B2 (zh) |
CN (1) | CN101145143B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5469473A (en) * | 1994-04-15 | 1995-11-21 | Texas Instruments Incorporated | Transceiver circuit with transition detection |
US5867731A (en) * | 1996-08-12 | 1999-02-02 | Unisys Corporation | System for data transfer across asynchronous interface |
US7082484B2 (en) * | 2001-01-16 | 2006-07-25 | International Business Machines Corporation | Architecture for advanced serial link between two cards |
US7136443B2 (en) * | 2001-10-26 | 2006-11-14 | International Business Machines Corporation | Sample selection and data alignment circuit |
US7003605B2 (en) * | 2002-09-12 | 2006-02-21 | International Business Machines Corporation | Method and system for an improved differential form of transitional coding |
US7248696B2 (en) * | 2002-09-12 | 2007-07-24 | International Business Machines Corporation | Dynamic system bus encryption using improved differential transitional encoding |
-
2006
- 2006-09-15 US US11/532,199 patent/US7484023B2/en not_active Expired - Fee Related
-
2007
- 2007-09-12 CN CN2007101544224A patent/CN101145143B/zh not_active Expired - Fee Related
-
2008
- 2008-06-12 US US12/137,600 patent/US20080276024A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN101145143A (zh) | 2008-03-19 |
US20080276024A1 (en) | 2008-11-06 |
US20080071952A1 (en) | 2008-03-20 |
US7484023B2 (en) | 2009-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5878234A (en) | Low power serial protocol translator for use in multi-circuit board electronic systems | |
EP1472610B1 (en) | Configurable synchronous or asynchronous bus interface | |
US20020154718A1 (en) | Source synchronous receiver link initialization and input floating control by clock detection and DLL lock detection | |
US20060153326A1 (en) | Serial data communication apparatus and methods of using a single line | |
CN101506785A (zh) | 直接存储器存取控制器 | |
US7865771B2 (en) | Command processing devices, command processing systems, and methods of processing a command | |
US11620174B2 (en) | Autonomous transmit error detection of serial communication link receiver-transmitter and microcontroller system peripherals implementing the same | |
US7929655B2 (en) | Asynchronous multi-clock system | |
CN107566296B (zh) | 接口设备和接口方法 | |
EP1676391B1 (en) | Lossless transfer of events across clock domains | |
US8780935B2 (en) | Communication system, and corresponding integrated circuit and method | |
US9026761B2 (en) | Interface system, and corresponding integrated circuit and method | |
CN101145143B (zh) | 稳定异步接口的方法和计算机***装置 | |
US9197397B1 (en) | Flip-flop-based clock deskew circuit | |
US9710012B2 (en) | Timing optimized implementation of algorithm to reduce switching rate on high throughput wide buses | |
EP2124130B1 (en) | Packet processor, packet control method, and packet control program | |
CN116318601A (zh) | 用于高速信令互连的帧对齐恢复 | |
US8443274B2 (en) | Test circuit for testing execution of a handshake protocol and method for testing execution of handshake protocol | |
US7047392B2 (en) | Data processing apparatus and method for controlling staged multi-pipeline processing | |
US8599982B2 (en) | Interface system, and corresponding integrated circuit and method | |
CN114090494B (zh) | 数据传输方法、装置、设备和存储介质 | |
US6621353B2 (en) | Phase locked loop reconfiguration | |
US7519789B1 (en) | Method and system for dynamically selecting a clock edge for read data recovery | |
CN117971753A (zh) | 一种通信方法及装置 | |
CN111193583A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100915 Termination date: 20200912 |
|
CF01 | Termination of patent right due to non-payment of annual fee |