专利名称:用于串行接口的仲裁方案的利记博彩app
技术领域:
本发明涉及通信领域,更具体地说,涉及在一台主机设备和一台外围设备之间通过串行接口进行的数据通信。
在部件之间常常宁愿使用串行接口而不用并行接口。使用串行接口传送数据可以显著节省成本。传送串行信息的媒质成本要小于并行接口。如果使用有线连接,设备之间需要的线路更少;如果使用无线连接,设备之间需要的信道更少。由于互连端口(例如集成电路上的基座或印刷电路板上的引线)在成本上常常高于在并行和串行格式之间转换数据需要的电路,通信设备的成本也将更低。而且,特别是在集成电路设计中,从成本和可行性的角度考虑,可用的互连端口数常常固定受限。通常,为了获得串行接口的优点,需要为往来于各台设备之间的通信分配单信道的通信路径。
不过,与并行接口相比,串行接口也带来一些限制。并行接口本质上要比串行接口速度快,因为并行接口中信息的多个比特被同时发送。但另一方面,在某些极高速的应用中,并行接口引线之间的延迟抖动会带来麻烦,最好使用极高速串行接口。为了提高竞争力,串行接口通常必须工作在与速度相关的可用频谱高端。例如,假设接口必须提供每秒8兆比特的速率,一个8比特并行接口可以设计为8条互连通路或信道,每条工作在1兆比特。另一方面,串行接口必须设计为具有一条工作在每秒8兆比特的互连信道。由于通常要求更高的互连速率,串行接口要受到可用在较低速率下的设计选样方案的限制。
用于单信道通信的一种公共协议是“冲突避免”协议。当设备有信息要发送时,它等待通信信道出现一个静寂周期,然后广播其信息。设备通过在通信之前等待信道未被使用,不会干扰已经使用单通信信道的另一设备。但是在这种协议中,两台设备可能都在监听信道并都检测到一个静寂周期,然后都在这单条信道上开始各自的发送。两个(或多个)发送在单信道上同时进行被称为一次“冲突”,任何一个发送信号在其预定的接收机处都无法恢复。为了补救发生的冲突,传统的协议提供了一种冲突恢复方案。通常,协议要求每个发射机监听信道以检测冲突,并在检测到冲突时进行相应的处理。通常,相应的处理是停止发送(常被称为“退避”),然后在检测到下一静寂周期时重新开始发送。为了避免在发生一次冲突的相同设备之间再次发生冲突,协议通常要求每台设备在一段随机时长的静寂周期之后尝试重传。根据这种方式,随机时长较短的设备将开始发送,随机时长较长的设备将检测到这次发送,并等待下一静寂周期。
冲突检测是一种颇为复杂的处理,因为来自一台设备的信息发送通常将干扰在同一信道上接收的来自另一设备的可能发送信号。一般来说,冲突检测要求发射机发射的信号可被来自另一设备的发送信号所盖过。例如,发射机发射的可以既不是逻辑高电平,也不是逻辑低电平,而是“发射”一个高阻状态。发射设备在高阻状态持续期间监听通信信道。如果该发射机是在通信信道上发送信号的唯一发射机,通信信道将保持高阻状态或漂移到一个已知逻辑状态。另一方面,如果另一发射机在这条信道上发射,通信信道将根据其他发送信号而改变状态。当发射的设备检测到状态变化时,就判断出现冲突,于是进行退避,并在下一静寂周期尝试重传。同样,因为冲突会破坏每台设备的发送,另一发送的设备也要监听冲突,并在检测到冲突时退避。对于本领域的技术人员来说,当信道上的业务量增加时,由于每次冲突之后的反复重传,冲突发生的可能及其对传输速率的不利影响显然会成倍增长。
冲突检测-退避-重传方案对于高速外围设备(例如磁盘、CD等)特别不利。通常,外围设备在特定的时刻访问数据,例如当旋转磁盘的对应区域处于设备读头之下时。如果数据在可以访问时无法发送,外围设备必须包含一个存储缓冲区来保留数据直到下次发送,或者空转,从而导致传送速率降低。在等待重传机会时引入的附加冲突或附加延迟将需要附加存储缓冲区,或者终止数据访问,直到缓冲区空间可用。另外,由于冲突的随机性和前面提到的它与业务量的相关性,很难在不提供过量存储区的前提下确保特定的传输速率。也就是说,为了在无论冲突影响如何的情况下确保特定的传输速率,所提供的存储量必须足以缓存最坏冲突情况下的数据;因此,在具有平均冲突发射概率的正常操作期间,将不会用到为补救冲突所提供的大部分存储区。
本发明的一个目的是提供一种方法和装置,用于具有独立于冲突发生概率的传输速率的串行通信。本发明的另一个目的是消除在外围设备中进行冲突检测的要求。本发明还有一个目的是使对外围设备中存储缓冲区的需要减缩至最小。
通过提供可确保网络中的一台设备总能在冲突竞争中“胜出”的一种基于冲突的协议,本发明实现了这些和其他目的。根据本发明总能在冲突竞争中胜出的设备既不需要包含冲突检测器,也不需要通常用于缓存冲突结果的存储资源。
借助实例并参考附图,本发明将得到更详细的解释,其中
图1表示根据本发明的一个串行通信系统的示范方框图。
图2表示根据本发明的一个串行通信系统的示范定时图。
图3表示根据本发明的一次外围设备发送的示范定时图。
图4表示根据本发明的一台冲突检测器的示范方框图。
图5表示根据本发明的另一冲突检测器的示范方框图。
图6表示根据本发明一个方面的一次主机发送的示范定时图。
图1表示符合本发明的一个串行通信系统的示范方框图。该系统中表示了通过单信道通信路径50彼此通信的一台外围设备100和一台主机设备200。通常,与连接外围设备的主机上的可用资源相比,诸如控制电路和存储区等的资源在磁盘等计算机外围设备中是非常有限的。为便于理解,本发明使用这一主机-外围设备范例给出。不过,对于本领域的技术人员来说,这里给出的原理可应用于使用一条公共通信路径进行发送和接收的一般通信设备。
单信道通信路径50可以经由一条有线或无线通信媒质或媒质组合。顾名思义,单信道通信路径50限制在任何时刻上只能有一台设备进行发送。多个信号可以经过这条通信路径50同时发送,例如各个独立线路上的时钟和数据信号,但是一次只能来自一台设备。在图1所示系统中,如果设备100、200要在同一段时间内进行发送,那么在该段时间内设备100、200都将不能正确接收对方的发送信息。
图1的示范外围设备100包括一个数据源110和一部从数据源110向主机设备200传送数据111的发射机120。发射机120还要进行发送所要求的任何数据变换,例如从并行到串行格式的变换、到调制形式的变换等等。来自发射机120的变换后数据121作为一个外围发送信号,可通过基座(pad)150(例如一个集成电路的输入/输出基座)进行传送。正如本领域的技术人员显然可以看到的那样,如果通信路径50是要经过无线媒质的,则基座150代表用于实现经由该媒质进行发送的部件(例如RF天线、声波变换器、红外变换器等等)。图1中表示了一个可选的发送禁止信号122,在一个优选实施例中,它用于在从主机200接收信号时隔离发射机120和接收机160。
图1的示范主机设备200包括对应的基座250,它接收与变换后的数据121对应的外围发送信号,并向接收机260提供一个接收信号256。基座250和接收机260把路径50上的外围发送信号变换成与原始数据111对应的数据261。例如,如果路径50是经过要RF发射的,则基座250和接收机260接收原始数据111的RF调制信号,并将其解调,以便构成数据261。数据261被提供给数据270以便进行后续处理,例如由主机设备200上运行的应用程序来处理。示范主机设备200包括一个冲突检测器280,正如以下的进一步讨论所示,它检测通信路径50上的冲突。主机设备200还包括一个可选的发送禁止信号222,在一个优选实施例中,它用于在从外围设备100接收信号时隔离发射机220和接收机260,并根据冲突检测器280的要求隔离发射机220。
同样,示范主机设备200也包括一个数据源210和用于从数据源210向外围设备100传送数据211的发射机220。正如以上对发射机120的讨论,发射机220把数据211变换成适合发送的形式221。来自发射机220的变换后的数据221作为主机发送信号通过基座250传送。因此,示范外围设备100通过基座150接收主机发送信号,并向接收机160提供一个接收信号156。基座150和接收机160把主机发送信号变换成与主机数据211对应的数据161。当外围设备100是一个盘驱动器时,数据处理器170可以只是把来自接收机160的数据161存储到数据源110中,以供以后作为数据111来被访问。
外围设备100包括一个控制器190,主机设备200包括一个控制器290,通过图2的定时图可以最好地理解它们的操作。图2A表示来自主机200的发送信号301、303和来自外围设备100的发送信号401、403通过通信路径50时没有发生冲突。图2B表示来自主机200的发送信号311、313和来自外围设备100的发送信号411、413通过通信路径50时产生冲突399。
图2A的定时图A表示来自主机设备200的两个发送信号310、303,它对应图1的信号节点221。定时图B表示通信路径50上的对应主机发送信号302、304。主机200中的控制器290在通信路径上没有其他发送信号的时刻351开始发送信号301。虽然图中没有标出,发送信号302然后便被外围设备100中的接收机160检测到,并由数据处理器170进行后续处理。在接收来自主机的数据302期间,控制器190禁止发送来自发射机120的信号121。在主机发送信号302的终点352,当通信路径50又重新空闲时,外围设备100中的控制器190允许发射机120发送信号401,这正如对应图1信号节点121的图2A定时图C所示。信号401构成通信路径50上的外围发送信号402。同样,在外围发送信号402终点354之后的时刻355,当通信路径空闲的时候,控制器190允许控制器120发送另一信号403,以作为通信路径50上的外围发送信号404。之后,在通信路径50的另一空闲时刻356,主机200中的控制器290允许发射机220在通信路径50上把发送信号303作为主机发送信号304进行发送。这种处理继续,每台设备100、200都在等待通信路径50上的静寂周期以便开始发送。
如图2A所示,在(1)主机发送信号302结束的时刻352、(2)外围设备100开始发送信号401的时刻362、以及(3)外围信号402在通信路径50上出现的时刻353之间,都存在着一段有限的时间延迟。图中没有标出,但是在外围信号402出现在通信路径50上的时刻和主机设备200的接收机260检测到这一外围信号402的时刻之间也有有限的延迟。在这整段延迟期间,从主机发送信号302结束的时刻到接收机260检测到外围信号402的时刻,主机设备200都不知道外围设备100已开始发送信号401。
图2B所示为一次冲突399,它可能是由于外围100处开始发送信号411与主机200检测到对应的外围发送信号412之间的延迟而导致的。如图2B的定时图F所示,外围设备100在主机发送信号312终点372之后的373开始发送信号411。在时刻374,信号411作为外围发送信号412而出现在通信路径50上。在这段时间内,主机200的控制器290不知道外围设备100开始发送信号411。因此,如图2B的定时图D和E所示,控制器290允许发射机220在时刻376开始发送信号313,该信号在时刻377作为主机发送信号314出现在通信路径上。时刻376、377可能分别出现在时刻373、374之前或之后,图2B中所示为出现在时刻373、374之后。当主机发送信号314和外围发送信号412同时出现在单信道通信路径50上时,就发生了一次冲突399。因为只要发送信号314、412同时出现在单信道通信路径50上,冲突399就会持续,所以如图2B中的斜线所示,信号314和412相互都被对方所破坏。
根据本发明,主机设备200中的冲突检测器280检测到冲突399,作为对其的响应,在为了发送全部所希望的主机发送信号313所需的时段之前,控制器290在时刻378终止发送信号313。对应的主机发送信号314的终止使得通信路径50上的冲突399在时刻379结束。在通信路径50的下一静寂周期内的某个时刻381之后,控制器290允许发射机220重新发送其整个预定持续时间为321的发送信号313,这在图2B中表示为发送信号313’和对应的主机发送信号314’。之后,处理继续进行,如图所示为来自外围设备100的发送信号413和对应的通信路径50上的外围发送信号414。
根据本发明,外围设备100在冲突发生时并不终止发送411。每个外围发送信号都有一个发送预定信号411所需的预定持续时间421。根据本发明,外围设备100一旦开始发送,即使冲突可能会出现在单信道通信路径50上,发送在这整个预定持续时间421内也将不会中断。这种连续发送对那些提供时间相关数据的设备(例如磁盘驱动器、磁带驱动器、CD驱动器、视盘驱动器等等)特别有利。在这类设备中,只有当读取机构移动通过包含数据的媒质区域时,才能访问数据。在这些设备中,通过在传输一旦开始时就确保连续发送,可以直接发送从媒质中读取的数据,从而减少了对设备内数据缓冲区的要求。也就是说,如果在单信道通信路径50空闲时开始从媒质读取数据,媒质上相邻的数据单元可以在读取头移动经过它们时被连续发送,而不用考虑冲突干扰。
假定由主机200和外围100发送信号的分组长度相等,那么无论冲突发生概率多大,这种不中断发送方案还能保证外围设备的传输速率至少是通信路径50带宽减去该方案相关开销之后的二分之一。也就是说,当给定了通信路径带宽和与这种协议相关的开销,就能确定外围传输速率,而不必考虑冲突发生概率。因为传输速率与冲突无关,在根据本发明实现的外围设备中,就不再需要通过单信道通信路径发送信息的一般设备所需要的辅助部件,例如冲突检测器、冲突缓冲区、重传装置等等。
注意在冲突期间399中,主机发送信号314和外围发送信号412都受到彼此的破坏。主机发送信号314在冲突期间399内受到的破坏是无关紧要的,因为该信号还要作为主机发送信号314’而重传。但是,外围发送信号412受到的破坏是永久性的,因为外围设备100并不知道这次冲突,信号412不会重传。根据本发明,每个外围发送信号包括一个前置码和一个数据流,如图2B中的前置码412a和数据流412b所示。前置码412a不包含信息、或包含那些破坏之后可以恢复的信息,而数据流412b包含那些无法恢复的信息(除非重传数据流412b)。例如,对应的发送信号411包含一个由发射机120附加到来自数据源110的数据111上的前置码411a,数据流411b对应于数据411。附加前置码411a可以是一个预定序列、随机序列或诸如包含与外围设备100相关的诊断信息的序列。因为这种诊断信息通常将在其他前置码中重复,冲突导致的这类信息丢失实际并不重要,因而不需要重传信号411。正如以下讨论所述,在本发明的一个优选实施例中,前置码的构成可使其迅速被主机设备200检测到,从而减少所需的前置码长度。
外围前置码周期411a和对应的周期412a的持续时间必须足够长,以确保在数据流412b出现在单信道通信路径50上之前时,主机发送信号314已从单信道通信路径上消失。
图3表示用于确定外围前置码所需持续时间的示范定时图。图3的定时图A、D、E和F分别代表图1信号节点121、256、281和221上的信号。定时图B和C代表通信路径50上的信号,由于信号穿过路径50需要时间,通信路径50任一端点50a、50b上的信号都有时间偏斜。参考图3的定时图A和B,节点121上的发送信号520经过底座延迟501之后,作为外围发送信号521出现在通信路径50上。底座延迟501是与底座传递一个输出相关的延迟。50a处的外围发送信号521作为外围发送信号522经过路径延迟502之后被传递到通信路径50的另一端50b。50b处的外围发送信号522在经过了与在基座250上传递一个输入相关的基座延迟503之后,便到达接收机260和冲突检测器280。
定时图F表示来自主机设备200发射机220的发送信号550经过一个基座延迟511之后,在通信路径50的主机端50b作为主机发送信号551而出现。图3的例子中,假定主机发送信号550在外围发送信号521之前出现在通信路径50上。当外围发送信号521出现在通信路径50的外围端50a时,就发生一次冲突399a。这一冲突399a被传递到通信路径的主机端50b,如冲突399b所示。冲突399b经过基座延迟503之后被传递到冲突检测器280。延迟时间504a代表冲突检测器280检测冲突399c所需要的时间,延迟时间504b代表控制器290终止发送信号550所需要的时间。因为控制延迟504b通常比冲突检测器280检测冲突所需要的时间504a短得多,我们使用术语单个冲突检测延迟504来同时表示检测冲突和对应的终止发送时间。注意以下讨论的冲突检测延迟504要使用最坏情况来确定,例如当正好在主机200识别到外围设备200在进行发送之前出现发送信号550时。在时刻551终止发送信号550将使得通信路径50主机端50b的冲突399b在一个基座延迟505之后505停止,该基座延迟505等于上述基座延迟511。相应地,如图3定时图B所示,冲突339a在经过从通信路径50的主机端50b到外围端50a的路径延迟506之后停止。
根据本发明,外围发送信号521的前置码521a在通信路径外围端50a处的冲突339a的停止时刻541之前不会结束。所以,发送信号520的前置码520a在冲突339a停止时刻541之前的一个基座延迟507前不会结束。因此,通过使用D(x)来代表与图3中的参考持续时间x(500-507)相关的延迟,则最小外围前置码持续时间500等于D(500)=D(501)+D(502)+D(503)+D(504)+D(505)+D(506)-D(507) (1)D(507)是与基座150上传递输出相关的延迟,并且等于以上提到的基座延迟D(501)。因此,最小外围前置码持续时间为D(500)=D(502)+D(503)+D(504)+D(505)+D(506)(2)在典型的环境中,基座延迟501、503、505基本上相等,路径延迟502和506也是如此。因此,在这种环境下,最小外围前置码持续时间为D(500)=2*(底座延迟+路径延迟)+D(504)(3)在外围设备是一个与主计算机通信的高速数据访问设备的优选环境下,路径延迟一般小于基座延迟501、503、505和检测延迟504。因此,在优选环境中,优选的外围前置码持续时间大约为外围前置码持续时间≥2*基座延迟+冲突检测延迟(4)冲突检测延迟时间504与用来检测冲突的装置有关。冲突检测技术在本领域内是很常用的。通常,冲突检测通过在设备发射机处于非工作状态时监听通信路径来实现,这种状态可以被来自另一设备的发送信号(例如高阻状态)盖过。图4表示在数据发送期间包括一个高阻状态的一种冲突检测器280示范实现方案,图5表示具有独立于数据状态的一个高阻状态的冲突检测器280示范实现方案。
在图4中,三极管T1和T2连接成传统的集电极开路式下拉三极管。当输入信号221为高电平时,三极管T1导通,把节点251处的电压拉至低电平。当输入信号221为低电平时,三极管T1截止,节点251处的电压取决于三极管T2的状态。如果三极管T2也截止,节点251处的电压将被正电源601拉至高电平。在这个示范实施例中,所有非工作的设备,(即没有进行发送的设备)均被设置成使其输出三极管T1、T2截止。“同”门(exclusive-nor gate)610在三极管T1的输入221和输出251之间进行逻辑电平比较。在正常操作期间,三极管T1实现对输入221的取反;当输入221和输出251相同时,“同”门610在输出端611判定为高逻辑值,表示可能发生冲突。注意当三极管T1改变状态时,由于上述与基座250输出的传送有关的延迟511,“同”门610可能指示发生冲突。冲突测试信号625只在三极管T1不再处于过渡状态时有效。与门620提供冲突信号281,当三极管T1的输入221和输出251相同而且冲突测试信号625有效时,该信号有效。
在图5中,节点251处设置了一个三态缓冲器640,只要控制信号222有效,缓冲器就处于高阻状态。图5中表示了一个活动检测器630,只要在节点256处出现合法输入序列,它就提供一个活动信号631。这种检测器630在本领域内是很常用的,例如,它可用于提示主机或外围设备有数据到达。活动信号631与冲突测试信号625经过一个与门620,只要在冲突测试信号有效时检测到活动,与门就输出一个冲突信号281。在节点251上出现高阻状态之后,冲突测试信号625要经过一段延迟之后才会有效,该延迟与信号251通基座250和活动检测器630的传递有关。
通过使用图4和5的示范冲突检测器,就可以看到冲突检测时间至少与出现一个高阻状态再加上基座延迟的时间一样长。也就是说,在这些示范实施例中,冲突是在输出基座250被置为高阻状态之后的某个时刻被检测到的。
每当节点221进入低电平,图4的示范输出基座250就置为高阻状态。也就是说,高阻状态实际上被包含在数据状态内。如果在发送中使用归零格式,就可以在每个发送周期上保证高阻状态。因此,上述最小冲突检测时间是发送周期加上基座延迟。不过正如本领域的技术人员所熟知的,由于要依赖无源负载把节点251置为高电平状态,图4的示范输出基座250的发送速度有限。如果需要更高速的操作,最好采用以下所述与图5类似的配置。
图5表示了一个把基座250置为高阻状态的显式控制信号222。如上所述,高速电路要求高速变换,这通常要受到低阻设备的制约。在用于高速通信的一个主机设备200的优选实施例中,基座250偶尔被置为高阻状态,从而允许主要进行高速传输。
在本发明的一个优选实施例中,每个主机发送信号都包括一个前置码,例如图2B中所示发射信号311的前置码311a。根据本发明的一个方面,高阻状态在前置码311a的终点出现,其构成可以使得后续数据流311b能以高速发送,而与冲突无关。也就是说,主机一旦开始每次发送中的数据流部分的发送,数据流的发送就将不被中断地持续下去。这个实施例消除了通常由于数据发送期间反复进行冲突检查而导致的速率降低。
参考图6的定时图,可以易于理解用于上述实施例的主机前置码和高阻状态构成。如上所述,外围设备100总是在冲突中胜出,但不会有意造成冲突。也就是说,如果外围设备100正在接收来自主机200的数据,控制器190禁止发射机120在主机发送完成之前发送信号。根据本发明的这个方面,主机前置码720a用于向外围设备100提示数据的来临。传递前置码720a时引入的延迟包括向基座250输出端传递前置码720a的延迟701、经过通信路径50的路径延迟702、传递720a作为到基座150输入的基座延迟703、以及接收机160检测前置码720a所含数据所需的延迟704。在一个优选实施例中,主机前置码720a的起始部分包含那些格式与数据流720b中数据格式相同的数据,以便使用可检测数据流720b中数据的同一电路来检测数据流720a中的数据。如上所述,当外围设备100接收数据时,控制器190禁止120在主机发送完成之前进行发送。
图6中定时图F所示为来自外围设备100的发送信号730,该信号开始的时刻741正好在检测来自主机的接收数据的时刻742之前。根据本发明,如上所述,来自外围设备100的发送一旦开始,它就要持续到完成的时候,并且主机设备200必须退避。根据发明的另一个方面,主机设备200一旦开始了前置码720a之后的数据流720b的发送,发送就要不被中断地继续下去。因此,这个优选实施例中的前置码720a要有足够长的持续时间来检测来自外围设备100发送的信号730,该信号730正好在检测到前置码720a之前的时刻742开始。发送信号730引入了在向基座150的输出端传递时的基座延迟705、通过通信路径50的路径延迟706、通过基座250的基座延迟707、以及主机设备200的冲突检测器280检测被传递的外围发送信号730所需要的延迟时间708。当外围发送信号730在时刻743出现在通信路径的主机端50a时,输出基座250处于高阻状态721,所以外围发送信号730可以被检测到。如图6的定时图A所示,前置码720a在外围发送信号730到达的时刻743之前进入高阻(z)状态721。基座250至少要在冲突测试信号625成为有效以检测发送信号730之前的一个基座延迟期间内被置为高阻状态。
使用上述根据外围前置码延迟所作的定义,最小主机前置码持续时间为D(700)=D(701)+D(702)+D(703)+D(704)+D(705)+D(706)+D(707)+D(708) (5)如上所述,在高速外围设备100与主计算机200通信的环境中,路径延迟D(702)、D(703)一般小于那些互相之间大致相等的基座延迟D(701)、D(703)、D(705)和D(707)。同样如上所述,冲突检测器280中的活动检测器630与用于提示外围设备有数据到达的检测器相类似。也就是说,活动延迟D(708)通常与数据检测延迟D(704)相等。为便于参考,这种延迟时间D(704)、D(708)被称为检测时间。因此,主机外围前置码持续时间被定义为主机前置码持续时间≥4*基座延迟+2*检测延迟(6)注意在这个实施例中,主机前置码持续时间还等于前面讨论的冲突检测时间,因此前面的等式(4)可以重写为外围前置码持续时间≥6*基座延迟+2*检测延迟(4′)还要注意活动检测器630通常是一个同步处理过程,由于主机200和外围设备100之间的异步关系,当外围发送信号正好在活动检测周期开始之后到达时,可能还需要附加一个检测延迟持续时间。因此,在一个优选实施例中,等式(4′)表示为外围前置码持续时间≥6*基座延迟+3*检测延迟(4″)就现有技术而言,常见的典型基座延迟是3纳秒,检测延迟是10纳秒。因此,这种技术中的最小主机和外围前置码持续时间分别是32和48纳秒。对于本领域的技术人员来说,考虑到特定的环境因素,例如路径延迟、温度特性、元件容差等等,显然可以指定更长的持续时间。
发送传递延迟可以定义为发送信号从发射机120、220到分别在对应的接收机260、160中被检测到时所需要的时间。使用这个术语,发送传递延迟等于2个基座延迟加上路径延迟和检测延迟,等式(6)(4″)可以重新表述为主机前置码持续时间≥2*发送传递延迟(7)外围前置码持续时间≥3*发送传递延迟(8)以上只说明了本发明的原理。因此应当懂得本领域的技术人员可以设计各种这里没有明确描述和表示的方案来实施发明原理,它们因而也属于本发明的构思和范围之内。例如,尽管发明特别适合于单信道串行连接,本发明的原理也可应用于构成一个并行连接的若干单信道连接之一。同样,尽管发明是使用一种主机-外围设备范例给出的,但本发明的原理可以应用于共享一条通信路径的其他模式。例如,在一个通信网中,可以设定网络上的每台设备作为图1中的主机设备200或外围设备100进行工作。当网络上的一台设备需要进行基本上不被中断的传输访问(例如提供用于实时播放的视频或音频片段)时,可以设定它作为冲突胜出的外围设备100来进行工作;在其他时候,可以把这个冲突胜出角色分配给其他设备。
发明可以由硬件、软件或两者的组合来实现。例如,冲突检测器280可以是一个周期性地读取通信路径50上的逻辑值、并将其与它正在发送的数据的逻辑值进行比较的程序。图1、4和5中给出的功能划分只是为了进行说明。例如,冲突检测器280可以集成在接收机260、发射机220或基座250中。同样,尽管图4和5所示的示范电路使用了双极型晶体管和场效应管,对于本领域的技术人员来说,显然也可以找到实现所述功能的其他实施例。
权利要求
1.一个通信系统,包括第一设备(100),它包括用于在单信道通信路径(50)上发送第一发送信号(411)的第一发射机(120),和第二设备(200),它包括用于在单信道通信路径(50)上发送第二发送信号(313)的第二发射机(220),一个冲突检测器(280),用于检测当来自第一设备(100)的第一发送信号(411)出现时第二发射机(220)正在发送第二发送信号(313)的情况下的冲突(281),以及与第二发射机(220)和冲突检测器(280)连接的一个控制器,用于在检测到冲突(281)时终止第二发送信号(313),以及第一设备(100)被设计可继续发送第一发送信号(411)而与冲突(281)无关。
2.权利要求1的通信系统,其中第一发送信号(411)包括第一前置码(411a)和第一数据流(411b),第一前置码(411a)所具有的第一前置码持续时间(500),至少等于第一设备(100)和第二设备(200)之间的发送传播延迟加上第二设备(200)检测冲突(281)的冲突检测延迟。
3.权利要求2的通信系统,其中第二发送信号(313)包括第二前置码(720a)和第二数据流(720b),第二前置码(313a)所具有的第二前置码持续时间(700)至少等于第一设备(100)和第二设备(200)之间发送传播延迟的两倍,以及该冲突检测器(280)用于在第二前置码持续时间(700)内检测冲突(281)。
4.权利要求1的通信系统,其中第二发送信号(313)包括一个前置码(720a)和一个数据流(720b),前置码(313a)所具有的前置码持续时间(700)至少等于第一设备(100)和第二设备(200)之间发送传播延迟的两倍,以及该冲突检测器(280)用于在前置码持续时间(700)内检测冲突(281)。
5.权利要求4的通信系统,其中数据流(720b)在前置码(720a)之后发送,以及在数据流(720b)的发送开始之后,第二发射机(220)都继续发送第二发送信号(313)而与第一发送信号(411)无关。
6.在包括一台主机设备(200)的通信系统中使用的一台外围设备(100),该主机设备(200)用于在单信道通信路径(50)上发送一个主机发送信号(312、314)序列,该外围设备(100)包括接收机(160),用于检测单信道通信路径(50)上的主机发送信号(312、314)序列的第一主机发送信号(312)终点,与接收机(160)相连的发射机(120),用于在第一主机发送信号(312)结束之后,在单信道通信路径(50)上开始发送外围信号(411),并且将继续该外围信号(411)发送而与主机发送信号(312、314)序列的后续主机发送信号(314)无关。
7.权利要求6的通信系统,其中外围发送信号(411)包括一个前置码(411a)和一个数据流(411b),前置码(411a)所具有的前置码持续时间(500)至少等于主机设备(200)和外围设备(100)之间的发送传播延迟加上与主机设备(200)相关的冲突检测持续时间。
8.权利要求7的外围设备(100),还包括与发射机(120)相连的一个数据源(110),用于提供数据(111)以便构成数据流(411b)。
9.权利要求7的外围设备(100),还包括提供与时间相关的数据的数据源(110),而且其中发射机(120)开始发送进一步与该时间相关的数据相关的外围发送信号(411)。
10.权利要求7的外围设备(100),其中数据源(110)至少是以下之一磁带驱动器、磁盘驱动器、光盘驱动器和视盘驱动器。
11.用于控制在单信道通信路径(50)之上的第一设备(100)和第二设备(200)之间的数据流的一种方法,包括步骤在单信道通信路径(50)上开始发送来自第一设备(100)的第一发送信号(411),第一发送信号(411)具有第一预定持续时间(421),在单信道通信路径(50)上开始发送来自第二设备(200)的第二发送信号(313),第二发送信号(313)具有第二预定持续时间(321),检测第一发送信号(411)和第二发送信号(313)在一段公共时间(399)内出现时发生的冲突(281),以及当检测到冲突(281)时,只终止在第二预定持续时间(321)内的第二发送信号(313),以及继续发送第一预定持续时间(421)内的第一发送信号(411)。
12.权利要求11的方法,其中第二发送信号(313)包括第二前置码(720a)和第二数据流(720b),第二前置码(720a)具有第二前置码持续时间(700),以及只在第二前置码持续时间(700)内检测冲突(281)。
13.权利要求12的方法,其中第一发送信号(411)包括第一前置码(411a)和第一数据流(411b),第一前置码(411a)具有第一前置码持续时间(500),第一前置码持续时间(500)至少是发送传播延迟的三倍,以及第二前置码持续时间(700)至少是发送传播延迟的两倍。
全文摘要
为了减少单信道通信系统中冲突检测通常所关联的时间和资源,本发明提供了一种方法和装置,用于可确保系统中的一台设备总能在冲突竞争中胜出的冲突协议。根据本发明总能在冲突竞争中胜出的设备既不需要包含冲突检测器,也不需要通常用于缓存冲突结果的存储资源。发送一旦开始,该设备还总能确保连续发送访问。这种连续发送访问特别适合于高速数据访问设备,例如当其读头运行经过时可连续访问数据的磁盘、激光盘等等。
文档编号H04L12/413GK1296687SQ99804792
公开日2001年5月23日 申请日期1999年11月18日 优先权日1998年12月1日
发明者K·罗斯 申请人:皇家菲利浦电子有限公司