CN100377131C - 接收分组数据的接收机和控制分组数据发送的方法 - Google Patents

接收分组数据的接收机和控制分组数据发送的方法 Download PDF

Info

Publication number
CN100377131C
CN100377131C CNB028247523A CN02824752A CN100377131C CN 100377131 C CN100377131 C CN 100377131C CN B028247523 A CNB028247523 A CN B028247523A CN 02824752 A CN02824752 A CN 02824752A CN 100377131 C CN100377131 C CN 100377131C
Authority
CN
China
Prior art keywords
transmitter
receiver
grouping
flow control
control signal
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
Application number
CNB028247523A
Other languages
English (en)
Other versions
CN1602475A (zh
Inventor
G·施奈德
D·本卡克
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN1602475A publication Critical patent/CN1602475A/zh
Application granted granted Critical
Publication of CN100377131C publication Critical patent/CN100377131C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

一种用于从发送机接收分组数据的接收机,发送机以及用于控制发送的方法。所述接收机包括用于检测其存储器是否具有足够的空间用来存储一个数据分组的第一检测装置以及用于响应于所述第一检测装置而把一个最好是第一流量控制信号的流量控制信号提供给发送机的流量控制信号装置。所述接收机包括第二检测装置,用于检测何时从发送机接收到分组的第一部分,并且包括流量控制信号装置,用于响应于所述第二检测装置而把第二流量控制信号提供给发送机。所述发送机包括用于检测由接收机发送的第二流量控制信号的第三检测装置以及被安排来响应于第三检测装置而完成部分发送的分组的发送并且然后停止进一步分组的发送的分组方式发送装置。

Description

接收分组数据的接收机和控制分组数据发送的方法
本发明涉及具有在电缆上的数据流的串行通信系统,例如通用异步接收机/发送机(UART)。所述数据是分组数据。
UART具有一个把发送机连接到接收机的数据连接器。从发送机发送到接收机的数据可以是分组数据。一个分组是由多个数据字节构成的。当发送机把分组异步发送到接收机时,重要的是接收机知道在哪里一个分组结束以及下一个分组开始。
接收机知道从通信的开始来对于接收到的比特/字节进行计数。接收机接收的最初的数据字节必须是一个分组的开始。接收机知道关于所述分组的长度信息,并且接收机根据该信息能够计算何时接收到分组的结束。因此,它接收的下面的字节必须是下一个分组的开始。这样,发送机和接收机在分组等级上保持同步。
现在,如果因为未知数量的字节不再装入接收机缓存器而丢失这些未知数量的字节(“缓存器溢出”),则接收机会丢失分组同步,也就是丢失关于下一个分组何时开始的知识。为了阻止接收机中的缓存器溢出,需要一个流量控制机制。
UART具有一个把发送机连接到接收机的数据连接器以及连接发送机和接收机的控制连接器。经由数据连接器来把以比特串行格式的数据从发送机传送到接收机。控制连接器运送一个控制信号RTS/CTS,它通过指示“流量打开“(RTS/CTS激活)或者“流量关闭”(RTS/CTS非激活)来实现从接收机到发送机的流量控制。流量控制阻止发送机发送太多的数据以及引起接收机缓冲存储器的溢出。
在发送机中存在一个要求来控制发送并且如果指示了“流量关闭”,则在当前字节的最后一个比特之后应当停止发送。这给出如此严格的定时需求,所以只有一个硬件要求能够足够快地控制RTS/CTS。该硬件能够立即对于RTS/CTS信号做出反应(内部延迟只是一个单独比特长度的一部分)。如果这个要求由一个微处理器(软件流量控制)来处理,该微处理器在某个时刻,也就是在某个延迟的情况下发现RTS/CTS被设置成为”流量关闭“,则必须停止UART继续发送,所述延迟可以在多个字节的范围内,并且在最坏的情况下,精确的延迟是不可预测的。
对于硬件控制的RTS/CTS,当RTS/CTS激活时,发送机按照连续的数据流来发送数据。在RTS/CTS保持激活的时候,发送机连续发送数据(一个字节跟着一个字节)。当RTS/CTS成为表示“流量关闭”的非激活时,发送机停止发送数据。不过,发送机不是立即停止发送数据,而是它继续进行发送直到当前字节结束为止。接收机中的接收缓存器是以字节方式实现的。接收机在某个缓存器等级上把RTS/CTS设置为非激活。通常,在最后一个字节正在被写入的时候。不过,发送机也可能协商一个更长的时间,以便对于一个“流量关闭”指示进行反应。(例如1999年11月29日的蓝牙规范VI.OB中的H3 RS232协议)。这里,发送机告知接收机:它有一个例如100微秒的等待时间。现在,接收机必须那么早地设置“流量关闭”,以致于它仍然能够接收和存储发送机将在下一个100微秒中发送的数据量。因此,当接收机缓存器中剩余只用于某个数量的字节(例如10个字节)的空间时,它可能把“流量关闭”指示RTS/CTS设置为非激活。
硬件流量控制通过在一个预定义的时间内用信号通知“流量关闭”,从而100%地阻止缓存器溢出。这样,分组不被丢失。当没有用于流量控制的硬件支持时,出现一个困难的情况。如果接收机和发送机中的软件没有足够快地做出反应来阻止缓存器溢出,则字节会丢失。在这种情况下,接口上的分组同步被丢失。
当使用软件流量控制时,为了克服同步丢失的问题,使用了“分组定界”机制。将某个作为分组定界符的模式放置在分组的前面/后面。不过,因为相同的定界模式可能出现在要被发送的分组中,所以会存在某些问题。例如可以通过SLIP软件协议来解决这个问题,在所述SLIP软件协议中,必须用“转义序列”来替换数据流中的定界符的任何出现。不过,这种协议的软件实现是计算密集的。
因此,当不存在用于流量控制的硬件支持时,如果软件没有足够快地做出反应来阻止缓存器溢出,则字节会丢失,并且一个复杂的并且计算密集的软件协议被使用来对于分组进行定界,或者接口上的分组同步被丢失。
希望提供一种替代的流量控制机制,该机制提供分组同步。
希望以软件形式利用非常低的处理成本来提供所述机制。
希望在不会改变分组的内容或尺寸的情况下来提供所述机制。
根据本发明的第一方面,提供了一种用于从发送机接收分组数据的接收机,该接收机包括:用于把流量控制信号发送到发送机的输出端;用于从发送机接收数据的输入端;用于存储从发送机接收的数据的存储器;用于检测所述存储器中是否具有足够的空间来存储数据分组的第一检测装置;以及用于响应于所述第一检测装置来在所述输出端上提供流量控制信号的流量控制信号装置。
所述流量控制装置可以响应于所述第一检测装置来提供第一流量控制信号,使得发送机能够发送下一个数据分组。
所述接收机还额外地包括用于检测何时接收到一个分组的第一部分的第二检测装置,其中流量控制信号装置根据所述第二检测装置来提供第二流量控制信号。第二流量控制信号停止发送机发送下一个数据分组。第一个位置可以被预先确定并且它可能在分组标题的末端、分组的末端或者分组中的其它地方。
根据本发明的这个方面,提供了一种控制把分组数据从发送机发送到接收机的方法,该方法包括步骤:在接收机中检测接收机是否具有足够可用的存储器来接收数据分组;以及如果有足够可用的存储器,则允许把一个数据分组从发送机发送到接收机并且如果没有足够可用的存储器,则阻止把一个数据分组从发送机发送到接收机。
根据本发明的另一个方面,提供了一种用于从发送机接收分组数据的接收机,该接收机包括:用于把流量控制信号发送到发送机的输出端;用于从发送机接收数据的输入端;用于存储从发送机接收的数据的存储器;用于检测何时接收到一个分组的第一部分的第二检测装置;以及用于响应于所述第二检测装置来在所述输出端上提供流量控制信号的流量控制信号装置。
第一位置可以被预先确定并且它可以在分组标题的末端、分组的末端或者分组中的其它地方。
流量控制装置响应于第二检测装置来提供第二流量控制信号,停止发送机发送下一个数据分组。
所述接收机还额外地包括:用于检测存储器是否具有足够的空间来存储要被接收的下一个分组的第一检测装置,其中流量控制信号装置根据第一检测装置来提供第一流量控制信号。第一流量控制信号使得发送机能够发送下一个分组。
根据本发明的这个方面,提供了一种通过从接收机向发送机发送流量控制信号来控制从发送机到接收机的分组数据发送的方法,该方法包括步骤:发送一个流量控制信号用于禁止数据分组的进一步发送,同时一个当前的分组正在被接收并且及时允许发送机软件对其做出响应并且在开始发送下一个分组之前停止发送。
流量控制信号最好是一个电压转变。第一和第二信号最好是问候信号。第一流量控制信号最好对应于RTS/CTS中的一个肯定位置。第二流量控制信号最好对应于RTS/CTS中的一个否定位置。
所述分组可以包括一个标题和一个有效负荷。它可以是可变的尺寸。标题最好把所述分组尺寸标识给接收机。接收机可以具有用于确定分组开始的装置和用于计数从分组的开始接收的比特/字节的装置。接收机可以具有用于从接收的标题中读取当前的分组的分组长度的装置。
根据本发明的优选实施例,第一检测装置可以检测到对于每个分组,存储器具有足够的空间用来存储要被接收的下一个分组。接收机具有用于保留用于最大分组尺寸N的足够存储器的装置。保留的成功表示有足够的空间用来存储下一个分组。流量控制装置可以响应于检测装置来提供第一流量控制信号,使得发送机能够只发送下一个数据分组。接收机每个分组断言一次第一流量控制信号。接收机独立于存储器的状态并且每个分组断言一次第二流量控制信号。
根据另一个实施例,流量控制装置响应于所述第一检测装置来提供第一流量控制信号,使得发送机能够重新开始发送数据。流量控制装置可以根据所述第一检测装置来提供第二流量控制信号,禁止发送机发送数据。
根据本发明的另一个实施例,提供了一种把分组数据发送到接收机的发送机,包括:用于从接收机接收流量控制信号的输入端;用于把分组数据发送到接收机的输出端;用于在输入端检测流量控制信号的第三检测装置;以及被安排来响应于第三检测装置而完成已经部分发送的分组的发送然后停止进一步的分组的发送的发送装置。
因此,发送机响应于第二流量控制信号(RTS/CTS从激活到非激活)而完成当前分组的发送。
根据本发明的这个方面,提供了一种控制从发送机到接收机的分组数据发送的方法,该方法包括步骤:把第一流量控制信号从接收机发送到发送机,以便停止从发送机到接收机的数据发送,在发送机接收第一流量控制信号,但是完成已经部分发送的数据分组的发送;然后停止数据分组的发送,直到第一流量控制信号被从接收机发送到发送机。
与硬件协议相比,本发明阻止了硬件开销。本发明实施例的一个重要优点是当硬件固定并且不能改变时,这些实施例仍然能够实现。
当前的移动电话可以使用集成电路,而无需在它的I/O接口上的硬件流量控制。因为集成电路已经被生产,所以不再可能改变电路以及添加硬件流量控制。特别有利的是能够为现有的移动电话添加一个模块来增强该电话的功能。一种这样的模块可以是蓝牙收发信机。对于这样一个模块,必须在不丢失分组同步的情况下能够在模块与电话之间传送数据分组。可以根据本发明来提供这种传送。
电话的“通用IO(输入/输出)”可以由软件来设置(当作为一个输出端时)或者在电平改变上引起一个中断(当作为输入端时)。一个IO可以用于接收的RTS/CTS,一个IO用作发送的RTS/CTS。
因此,本发明的实施例还特别涉及计算机程序产品,该产品根据本发明可以添加到一个设备中来对于通用I/O进行编程并且允许它作为发送机和/或接收机来工作。
根据本发明的另一方面,提供了一种计算机程序产品,该产品在具有用于接收数据的输入端、存储数据的存储器和输出端的接收机中提供:用于检测存储器是否具有足够的空间来存储数据分组的第一检测装置以及用于响应于第一检测装置而在输出端提供一个流控制信号的流控制信号装置。
根据本发明的另一方面,提供了一种计算机程序产品,该产品在具有用于接收数据的输入端、存储数据的存储器和输出端的接收机中提供:用于检测何时接收到分组的第一部分的第二检测装置;以及用于响应于第二检测装置而在输出端提供流控制信号的流控制信号装置。
根据本发明的另一个方面,提供了一种计算机程序产品,该产品在具有用于发送数据的输出端以及输入端的发送机中提供:用于检测输入端的流控制信号的第三检测装置和被安排来响应于第三检测装置而完成已经部分发送的分组的发送然后停止进一步分组的发送的发送装置。
与利用“转义序列”的软件协议相比,本发明显著减少了用于处理协议的处理器的使用。它还阻止了增加分组尺寸,因此使得缓存器使用更可预测。
如果传输的分组是可变长度的,则必须告知接收机一个特定分组的长度以便维持分组同步。优选地,这是通过在分组标题中具有分组长度信息来实现的。一旦接收机接收到了含有长度信息的最初的分组字节,接收机就获得分组长度信息。不过,如果在接收机与发送机之间的电缆上有比特故障,接收机就会获得被破坏的分组长度信息。因此,接收机将会假定分组中错误的字节数。这是分组同步丢失的另一个起因。本发明的优选实施例还解决了这个问题。
为了更好地理解本发明并且进一步理解如何实现本发明,现在举例参考附图,在附图中:
图1表示具有一个串行通信接口的系统;
图2表示分组结构;以及
图3表示协议的信令定时。
图1说明可能在每个方向上具有在一个单独电缆上的分组数据流的串行通信系统1。
系统1具有经由接口10互连的发送机30和接收机20。所述接口具有把发送机的管脚32连接到接收机的管脚22的数据连接器12并且具有把接收机的管脚24连接到发送机的管脚34的控制连接器14。经由管脚32、数据连接器12和管脚22而把以比特串行格式的数据从发送机发送到接收机。控制连接器14运送在接收机的管脚24上断言的控制信号RTS/CTS。控制信号通过指示“流量打开”(RTS/CTS激活)或“流量关闭”(RTS/CTS非激活)来实现从接收机到发送机的流量控制。因此,能够实现具有流量控制的从左到右的数据传输。
如果需要从右到左的数据传输,则设备20可以充当发送机,而设备30则充当接收机。经由管脚26、数据连接器16然后经由管脚36来把以比特串行格式的数据从发送机20发送到接收机30。控制连接器18把接收机的管脚38上断言的控制信号RTS/CTS运送到发送机的管脚28。
由软件来控制接收机在数据连接器上产生RTS/CTS以及对于发送机中的RTS/CTS进行响应。
RTS/CTS的基本使用是传统的,这是因为它意味着当设置激活/非激活时的“流量打开/关闭”。RTS/CTS的产生以及对于RTS/CTS的响应不是传统的,并且是由接收机和发送机中的被编程的处理器来控制的。
每个发送机都具有用于在发送之前临时存储数据分组的输出缓存器、微处理器、存储由处理器使用来执行本发明的软件的存储器以及用于检测来自接收机的控制信号并且用于把分组数据放置到数据连接器上的I/O控制器。
每个接收机都具有一个用于临时存储进入的接收分组数据的输入缓存器、一个微处理器、一个存储由处理器使用来执行本发明的软件的存储器以及用于断言一个控制信号和用于在数据连接器上接收分组数据的I/O控制器。
在通信系统1中,数据分组40(如图2所示)将通过接口来发送。这些数据分组含有具有分组长度信息的分组标题42以及用户数据部分44(例如蓝牙HCI命令)。分组没有固定尺寸并且是可变的。不过,分组尺寸具有一个上限。在分组中没有对于分组进行定界的结构,所述定界就是告知你“这是标题”。标题不需要具有固定尺寸。协议只需要知道在哪里找到长度信息。
分组含有完整的字节(也就是8比特的倍数)。“填充比特”(0或者随机数据)可以被用于使得数据分组“字节对准”。
由于分组被异步发送,所以维持分组同步是重要的。
接收机从通信开始对于接收的比特/字节进行计数。接收机接收的最初的数据字节必须是分组的开始。接收机知道关于该分组的长度信息。这是从分组标题中读取的。根据该信息,接收机能够计算何时接收到分组的结束。因此,它接收的下面的字节必须是下一个分组的开始。这样,发送机和接收机在分组等级保持同步。
对于本发明来说还重要的是,发送机要知道分组边界,这一点将由于下面的描述而变得更清楚。发送机从某个更高的软件层获得分组。这个另外的软件层使分组成帧或者把分组放置到某个位置以便发送机总是知道分组边界(或者至少是分组开始)。替代地,可以在分组中查找分组长度,其方式与接收机利用的方式一样,并且发送的字节被计数。
优选实施例
按照分组的方式来处理发送机与接收机之间的流量控制。RTS/CTS的上升沿的检测只允许一个分组的发送。一旦分组标题被接收到,接收机就对于RTS/CTS非激活解除断言(de-assert)。不允许发送机发送下一个分组,直到检测到RTS/CTS信号的另一个上升沿。图3示出了流量控制处理。当RTS/CTS进入非激活时,发送机完成当前分组的发送。当RTS/CTS从非激活变为激活时,这用信号通知下一个单独分组的发送。
参见图3,RTS/CTS在时刻T1进入激活。存在用于在发送机中检测上升沿的等待时间t1。发送机在T2检测上升沿。发送机利用t2来发送分组标题并且在时刻T3利用t3来开始发送分组的剩余部分。发送机在T5完成发送分组。在接收机中存在一个检测被发送的分组标题的等待时间t4,并且该检测发生在T4=T3+t4,RTS/CTS进入非激活。
在各个和每个分组标题被接收到之后,接收机把RTS/CTS置为非激活。然后,接收机在把RTS/CTS从非激活置为激活之前检查是否有足够的空间用于下一个分组。发送机发送一个单独的分组,然后在发送下一个单独分组之前等待RTS/CTS非激活-激活转换(上升沿)。这样,发送是按照分组方式并且由RTS/CTS非激活-激活转换来启动。
接收机能够:
a)知道最大分组尺寸N(这可以由软件来定义)。
b)保留足够的缓冲存储器用于最大分组尺寸N。
c)响应于所述保留而把RTS/CTS从非激活改变为激活(这向发送机表明:接收机能够接收整个下一个分组)。
d)检测何时接收到下一个分组的预定部分(例如尺寸为n的标题)。
e)响应于所述检测而把RTS/CTS激活改变为非激活。
f)进入a)。
检测可以如下进行。接收机具有维持接收的比特计数C的计数器。在分组的开始,计数器被复位成零。当C=n时,进行检测。可以从接收的标题中读取分组N’的尺寸。在C=N’(分组的末端)之后,计数器C被复位成零。
接收机保留用于与从分组标题中读取的实际分组尺寸相对的最大分组尺寸的空间。接收机在从接收的标题中评估尺寸之后来分配缓存器,但是由于缓存器分配花费一些时间,所以存在某些定时问题。在所述时间中,数据被连续接收。所以在处理器进行对于正确的分组尺寸N’的完整缓存器分配之前,最好某个缓存器尺寸N已经被分配来存储数据。
发送机进行如下操作:
a)知道分组尺寸N’(这可以在软件中从更高层被传送或者从要被发送的分组标题中推导出来)。
b)检测何时使得RTS/CTS成为非激活。
c)确定何时发送了所有当前分组。
d)响应于所述确定而停止发送。
e)检测何时使得RTS/CTS成为激活。
f)响应于RTS/CTS激活的检测而开始一个单独分组的发送。
g)进入a)。
所述确定可以如下进行。发送机具有一个用于维持被发送的比特/字节计数C的计数器。在分组的开始,该计数器被复位成为零。发送机继续发送直到C=N’-1,然后停止发送。
步骤b)是可选的。后面跟随着RTS/CTS的一个上升沿(非激活到激活)的每个下降沿(激活到非激活)表明一个分组应当被发送或者替代地,RTS/CTS的每个上升沿(非激活到激活)表明一个分组应当被发送。发送机的CTS输入引起每个电平改变上的中断,或者替代地,只引起上升沿上的中断。
对于一个已经开始的分组,RTS/CTS电平改变不会引起任何效果(无论发生什么,都会继续发送,这是因为接收机已经利用“流量打开”电平来表明它能够接收最大分组尺寸)。
实施例2
当RTS/CTS变为低时,发送机完成当前分组的发送。当RTS/CTS从非激活变为激活时,这用信号通知下一个分组的发送。
接收机监视剩余的存储器,并且当剩余的存储器降低到某个阈值之下时,产生一个告警,并且当可用存储器增加到所述阈值之上时,所述告警被复位。只有当存在一个告警并且在接收到一个分组标题之后,接收机才把RTS/CTS置为非激活。也就是,代替象优选实施例中那样在每个分组标题被接收到之后,把RTS/CTS从激活改变为非激活,转换只发生在存在溢出风险的时候。当RTS/CTS保持激活时,发送机将一个分组接着一个分组地进行连续发送,并且当RTS/CTS进入非激活-激活时,重新开始一个分组接着一个分组地进行连续发送(也就是非激活-激活转换表明与“只发送一个分组”相对的“重新开始数据流”)。
接收机执行如下操作:
1.检测用于进入数据的可用缓冲存储器何时低于一个阈值,该阈值例如是两倍的最大分组尺寸N
2.检测何时接收到下一个分组的预定部分(尺寸为n的标题)
3.响应于两个检测而把RTS/CTS激活改变为非激活(这向发送机表明在当前的分组之后,数据流应当停止)
4.检测用于进入数据的可用缓冲存储器何时在所述阈值之上
5.响应于所述检测而把RTS/CTS非激活改变为激活(这向发送机表明数据流可以重新开始)
6.进入1)
 在2)中的检测可以如下进行。接收机具有一个保持接收的比特计数C的计数器。在分组的开始,该计数器被复位成为零。当C=n时,进行检测。可以从接收的标题中读取分组的尺寸N’。在C=N’(分组的末端)之后,计数器C被复位成为零。
发送机进行如下操作:
1.知道分组尺寸N’(这可以在软件中从更高层被传送或者从要被发送的分组标题中推导出)
2.检测何时使得RTS/CTS非激活
3.确定何时所有当前分组都被发送
4.响应于所述确定而停止发送
5.检测何时使RTS/CTS成为激活
6.响应于RTS/CTS激活的检测而开始分组发送
7.进入1)
所述确定可以如下进行。发送机具有一个保持被发送的比特/字节计数C的计数器。在分组的开始,计数器被复位成为零。发送机继续发送,直到C=N’-1,然后停止发送。
对于一个已经开始的分组,RTS/CTS电平改变将不会引起任何效果(无论发生什么,都继续发送,这是因为接收机已经利用一个“流量打开”电平表明它能够接收最大的分组尺寸)。
在前面的实施例中,存在一个步骤,用来检测何时下一个分组的预定部分(尺寸为n的标题)已经被接收到用于把RTS/CTS置为非激活。尽管给出了一个预定部分(标题)的实例,但是这并不是决定性的。
尽管在前面的描述中着重说明了被认为是特别重要的本发明的那些特征,但是应当理解,申请人要求保护前面描述的和/或在无论是否其中强调了重点的附图中所示出的可专利的特征或者特征的组合。

Claims (8)

1.一种用于从发送机接收分组数据的接收机,包括:
用于把流量控制信号发送到发送机的输出端;
用于从发送机接收数据的输入端;
用于存储从发送机接收的数据的存储器;
用于检测存储器是否具有足够的空间来存储数据分组的第一检测装置;以及
用于响应于所述第一检测装置而在所述输出端上提供流量控制信号的流量控制信号装置,
其中,第一检测装置对于每个分组检测存储器是否具有足够的空间来存储下一个数据分组,并且流量控制信号装置为每个分组提供一次第一流量控制信号。
2.根据权利要求1所述的接收机,其中所述流量控制信号装置响应于所述第一检测装置来提供所述第一流量控制信号,使得发送机能够发送下一个数据分组。
3.根据权利要求1所述的接收机,还包括第二检测装置,用于检测何时接收到一个分组的第一部分,其中所述流量控制信号装置根据所述第二检测装置来提供第二流量控制信号,停止下一个数据分组的发送。
4.根据权利要求3所述的接收机,其中与存储器的可用性无关地提供第二流量控制信号并且每个分组提供一次。
5.一种控制从发送机到接收机的分组数据发送的方法,包括步骤:
在接收机中检测接收机是否具有足够的可用存储器用来接收一个数据分组;以及
如果有足够可用的存储器,则允许把一个数据分组从发送机发送到接收机,如果没有足够可用的存储器,则阻止把一个数据分组从发送机发送到接收机,
其中,所述检测对每一个分组被执行以确定所述发送机是否具有足够的空间来存储下一个数据分组,并且响应于所述检测而为每个分组提供一次第一流量控制信号。
6.根据权利要求5所述的方法,包括:如果接收机具有足够的可用空间,则响应于所述检测而提供所述第一流量控制信号,使得发送机能够发送下一个数据分组。
7.根据权利要求5所述的方法,包括:检测何时接收到一个分组的第一部分,并且根据何时检测到一个分组的第一部分而提供第二流量控制信号,停止下一个数据分组的发送。
8.根据权利要求7所述的方法,其中:与存储器的可用性无关地提供第二流量控制信号并且每个分组提供一次。
CNB028247523A 2001-12-11 2002-02-25 接收分组数据的接收机和控制分组数据发送的方法 Expired - Fee Related CN100377131C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0129614.4 2001-12-11
GBGB0129614.4A GB0129614D0 (en) 2001-12-11 2001-12-11 Asynchronous serial data interface

Publications (2)

Publication Number Publication Date
CN1602475A CN1602475A (zh) 2005-03-30
CN100377131C true CN100377131C (zh) 2008-03-26

Family

ID=9927401

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028247523A Expired - Fee Related CN100377131C (zh) 2001-12-11 2002-02-25 接收分组数据的接收机和控制分组数据发送的方法

Country Status (9)

Country Link
US (1) US7826539B2 (zh)
EP (1) EP1454242B1 (zh)
KR (1) KR100609781B1 (zh)
CN (1) CN100377131C (zh)
AT (1) ATE400849T1 (zh)
AU (1) AU2002232073A1 (zh)
DE (1) DE60227555D1 (zh)
GB (1) GB0129614D0 (zh)
WO (1) WO2003050693A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7338443B1 (en) 2002-04-29 2008-03-04 Tucker Peter L Secure patient data recorder for recording monitored vital sign data
US8274961B2 (en) * 2003-10-24 2012-09-25 Sony Corporation Apparatus and associated methodology of adjusting a RTS/CTS transmission protocol
US7370125B2 (en) * 2003-11-25 2008-05-06 Intel Corporation Stream under-run/over-run recovery
US8139654B2 (en) * 2005-08-08 2012-03-20 University Of Florida Research Foundation Device and methods for biphasic pulse signal coding
EP2203826A1 (en) * 2007-09-11 2010-07-07 Packetvideo Corp. System and method for virtual storage for media service on a portable device
US8331922B2 (en) * 2007-11-29 2012-12-11 Broadcom Corporation Remote host controller interface control for devices
CN101877622B (zh) * 2009-04-30 2014-02-19 雷凌科技股份有限公司 提升数据传输效能的方法
CN101645846B (zh) 2009-09-02 2011-10-26 中兴通讯股份有限公司 一种路由交换设备及其数据缓存的方法
KR101818577B1 (ko) * 2011-04-05 2018-01-15 삼성전자 주식회사 통신 서비스 지원 중 전원 절약을 위한 휴대 단말기 운용 방법 및 이를 지원하는 휴대 단말기
CN102609388B (zh) * 2012-02-29 2015-03-25 华为技术有限公司 一种从节点电路、通信方法及通信装置
US9800542B2 (en) * 2013-03-14 2017-10-24 International Business Machines Corporation Identifying network flows under network address translation
US20170293490A1 (en) * 2016-04-11 2017-10-12 Aqua Products, Inc. Method for modifying an onboard control system of a pool cleaner, and power source for a pool cleaner

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0632391A2 (en) * 1988-09-14 1995-01-04 National Semiconductor Corporation Universal asynchronous receiver/transmitter
CN1104396A (zh) * 1993-03-02 1995-06-28 国际商业机器公司 消息分组发送器
EP0685797A1 (en) * 1994-06-03 1995-12-06 Hewlett-Packard Company Overflow protection circuit for UART device
CN1136749A (zh) * 1995-03-16 1996-11-27 索尼公司 数据接收装置、数据发送和接收装置以及数据传输系统
JPH1117743A (ja) * 1997-06-20 1999-01-22 Sony Corp シリアルインタフェース回路
CN1233132A (zh) * 1998-03-20 1999-10-27 佳能株式会社 图像传输系统及其方法,图像发送装置和图像接收装置
CN1241080A (zh) * 1998-05-20 2000-01-12 索尼公司 以最大速度在数据总线上发送数据的方法和设备
US6046995A (en) * 1995-12-28 2000-04-04 Nortel Networks Corporation Key telephone system without common control
CN1307776A (zh) * 1998-06-02 2001-08-08 格莱纳瑞电子公司 两级数据传输的方法
EP1134665A2 (en) * 2000-03-17 2001-09-19 Exar Corporation UART with compressed user accessible interrupt codes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619544A (en) * 1994-06-03 1997-04-08 Texas Instruments Incorporated Universal asynchronous receive/transmit circuit with flow control
US6859435B1 (en) * 1999-10-13 2005-02-22 Lucent Technologies Inc. Prevention of deadlocks and livelocks in lossless, backpressured packet networks
US7190667B2 (en) * 2001-04-26 2007-03-13 Intel Corporation Link level packet flow control mechanism

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0632391A2 (en) * 1988-09-14 1995-01-04 National Semiconductor Corporation Universal asynchronous receiver/transmitter
CN1104396A (zh) * 1993-03-02 1995-06-28 国际商业机器公司 消息分组发送器
EP0685797A1 (en) * 1994-06-03 1995-12-06 Hewlett-Packard Company Overflow protection circuit for UART device
CN1136749A (zh) * 1995-03-16 1996-11-27 索尼公司 数据接收装置、数据发送和接收装置以及数据传输系统
US6046995A (en) * 1995-12-28 2000-04-04 Nortel Networks Corporation Key telephone system without common control
JPH1117743A (ja) * 1997-06-20 1999-01-22 Sony Corp シリアルインタフェース回路
CN1233132A (zh) * 1998-03-20 1999-10-27 佳能株式会社 图像传输系统及其方法,图像发送装置和图像接收装置
CN1241080A (zh) * 1998-05-20 2000-01-12 索尼公司 以最大速度在数据总线上发送数据的方法和设备
CN1307776A (zh) * 1998-06-02 2001-08-08 格莱纳瑞电子公司 两级数据传输的方法
EP1134665A2 (en) * 2000-03-17 2001-09-19 Exar Corporation UART with compressed user accessible interrupt codes

Also Published As

Publication number Publication date
EP1454242A1 (en) 2004-09-08
US20050021307A1 (en) 2005-01-27
KR100609781B1 (ko) 2006-08-08
US7826539B2 (en) 2010-11-02
WO2003050693A1 (en) 2003-06-19
EP1454242B1 (en) 2008-07-09
AU2002232073A1 (en) 2003-06-23
DE60227555D1 (de) 2008-08-21
KR20040059491A (ko) 2004-07-05
ATE400849T1 (de) 2008-07-15
CN1602475A (zh) 2005-03-30
GB0129614D0 (en) 2002-01-30

Similar Documents

Publication Publication Date Title
US6973125B2 (en) Apparatus for detecting data transmission rate and change thereof, and method therefor
US7856011B2 (en) Reordering packets
CN100377131C (zh) 接收分组数据的接收机和控制分组数据发送的方法
US4542380A (en) Method and apparatus for graceful preemption on a digital communications link
US7234007B2 (en) Adjustable elasticity FIFO buffer have a number of storage cells equal to a frequency offset times a number of data units in a data stream
WO2000046661A9 (en) Self-adjusting elasticity buffer
US20110276731A1 (en) Dual-port functionality for a single-port cell memory device
JPH1023078A (ja) 通信速度調整方法
US5027349A (en) Embedded control technique for distributed control systems
US6952739B2 (en) Method and device for parameter independent buffer underrun prevention
US5226012A (en) Buffer memory circuit having constant propagation delay
EP0266126B1 (en) High speed digital trunk interface and method of using same
US20130329558A1 (en) Physical layer burst absorption
US7372811B1 (en) Load balancing model for multilink frame relay
EP1134666B1 (en) Uart automatic half-duplex direction control with programmable delay
US5802595A (en) Serial data transfer apparatus
EP1103119A1 (en) Method of, and a heterogeneous network for, transmitting data packets
JPH08242238A (ja) 通信制御装置及びその制御方法
US20020031129A1 (en) Method of managing voice buffers in dynamic bandwidth circuit emulation services
JPS61270952A (ja) デ−タ伝送方式
KR20050070841A (ko) 비동기 전송모드에 적용되는 인터페이스 제어 방법
JPH0548982B2 (zh)
EP0905949A1 (en) Priority-scheduled parallel message delivery method and apparatus
KR19980038317A (ko) 병렬 cdp 검출을 이용한 atm 스위칭 장치 및 스위칭 방법
JP2004304588A (ja) データ送信装置、データ受信装置、データ送信方法及びデータ受信方法

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160112

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080326

Termination date: 20170225

CF01 Termination of patent right due to non-payment of annual fee