用于非任意网络的数据阻止系统的制作方法
【专利摘要】一种网络设备包括具有第一队列和第二队列的存储器。定时模块基于时钟信号生成第一优先级定时信号或者第二优先级定时信号。在该网络设备与非任意网络中的其他网络设备之间共享时钟信号。该网络设备包括去阻止整形器或者阻止整形器。去阻止整形器(i)从第一队列转发第一受保护数据,以及(ii)基于第一帧信号和第一优先级定时信号生成去阻止信号。阻止整形器(i)从第二队列转发第二受保护数据和无保护数据之一,以及(ii)基于第二帧信号和第二优先级定时信号生成第一阻止信号。选择器模块基于去阻止信号和第一阻止信号选择第一帧或者第二帧。
【专利说明】用于非任意网络的数据阻止系统
[0001]有关申请的交叉引用
[0002]本公开内容要求以下申请的优先权:提交于2012年3月8日的第13 / 415,112号美国实用新型申请、提交于2011年3月10日的第61 / 451,525号美国临时申请、提交于2011年3月14日的第61 / 452,482号美国临时申请和提交于2011年10月28日的第61 / 552,648号美国临时申请。以上申请的公开内容通过完全引用而结合于此。
【技术领域】
[0003]本公开内容涉及网络,并且更具体地涉及非任意网络中的数据源和网桥的延时。【背景技术】
[0004]这里提供的【背景技术】描述是出于总体上呈现公开内容的背景的目的。当前具名的发明人的工作在这一【背景技术】章节中描述该工作的程度上以及该描述的可以在提交时未以其他方式限定为现有技术的方面既未明示地也未暗示地被承认为相对于本公开内容的现有技术。
[0005]数据通信网络可以包括多个通话器(数据源)和多个接收器。可以在通话器和接收器中的每个通话器和接收器中在菊链中连接任何数目的网桥。数据通信网络可以是任意网络(被称为非工程化网络)或者非任意网络(被称为工程化网络)。任意网络可以例如是住宅局域网(LAN),该住宅LAN可以具有在网络中的各点和在随机时间任意地连接和断开的不同网络设备(例如,计算机、蜂窝电话、电视、打印机和电子写字板)。网络设备无论在任意网络中传输的数据的优先级级别如何可以在任何时间连接和断开。
[0006]非任意网络可以例如是在车辆或者制造组装线网络内的汽车网络。一般而言,在非任意网络中的网络设备被固定并且未被连接和/或从非任意网络断开。虽然网络设备可以被连接到和/或从非任意网络断开,但是在高优先级数据的传输时段期间防止与被连接到或者从非任意网络断开的网络设备的通信。在这些传输时段期间,在非任意网络中的网络设备之间传输高优先级数据。
[0007]例如,根据电气和电子工程师协会(IEEE) 802.1Qav操作的非任意以太网网络可以包括通话器(或者源)、多个网桥和收听器(或者接收器)。通话器可以在周期性传输时间间隔的分配的传输时段期间通过网桥向收听器传输高优先级数据。高优先级数据可以例如是指具有低延时要求的A类或者B类数据。术语延时是指用于通过非任意网络的一个或者多个跳跃(hop)传输高优先级帧的时间。单个跳跃的延时是从对于该跳跃由网络设备接收高优先级帧的最后比特时的时间到从网络设备传输最后比特时的时间来测量的。简言之,单个跳跃的延时是从最后比特进入网络设备到最后比特离开网络设备来测量的。单个跳跃可以是指非任意网络的通话器(被称为端站)或者网桥。
[0008]在非任意网络中,传输的数据可以例如具有三个优先级级别之一。A类数据可以包括具有最高优先级级别的音频视频桥接(AVB)数据。虽然AVB数据可以包括音频数据和/或视频数据,但是AVB数据也可以包括控制数据、用户数据、参考数据或者其他类型的数据。最高优先级级别数据可以具有预定数量的带宽和预定最大延时。这保证在分配的时间段期间传输A类数据并且与通过预定数目的跳跃和/或在端站之间传输A类数据关联的延时少于预定最大延时。B类数据可以是具有下一最高优先级级别的AVB数据。非AVB数据可以具有最低优先级级别。一般而言,在更低优先级数据之前传输更高优先级数据。
[0009]如果网络设备尝试在分配的传输时段期间连接到非任意网络,则可以拒绝与非任意网络的连接。可以在不存在数据传输活动时和/或在传输具有B类或者更低优先级级别的数据传送时的时段期间建立连接。
[0010]快速以太网(FE)是指以100兆比特每秒(Mbits / s)传输数据。吉比特以太网(GE)是指传输一吉比特每秒(Gbits / S)。根据用于第I代以太网网络(以FE或者GE传输速度)的IEEE802.1AVB标准,A类数据帧将在少于2毫秒(ms)内穿过七个跳跃,而B类数据帧将在少于50ms内穿过七个跳跃。虽然可以通过有线或者无线连接传输A类帧和B类帧,但是当前非任意网络不能满足对于通过无线连接传输的数据的第I代A类要求。用于通过无线连接传输数据的时间比用于通过有线连接传输数据的时间更长。
[0011]根据用于第2代网络的IEEE802.1AVB目标1,A类帧将在少于125 μ s内穿过32个GE传输速度跳跃。用于第2代网络的另一 AVB目标2要求A类帧在少于或者等于100 μ s内穿过5个FE传输速度跳跃。当前非任意网络能够在通过有线连接以GE速度传输时满足第2代延时目标2。当前非任意网络不能在通过有线连接以FE速度传输时满足第2代延时目标2,它们也不能在通过有线连接以GE速度传输时满足第2代延时目标I。
【发明内容】
[0012]提供一种网络设备并且该网络设备包括具有队列的存储器。队列包括第一队列和第二队列。定时模块被配置用于生成第一优先级定时信号或者第二优先级定时信号中的至少一个优先级定时信号。基于时钟信号生成第一优先级定时信号和第二优先级定时信号。在该网络设备与非任意网络中的其他网络设备之间共享时钟信号。
[0013]该网络设备还包括去阻止整形器或者阻止整形器中的至少一个整形器。去阻止整形器被配置用于(i)从第一队列转发第一受保护数据,以及(ii)基于第一帧信号和第一优先级定时信号生成去阻止信号。第一帧信号指示第一帧在第一队列中。阻止整形器被配置用于(i)从第二队列转发第二受保护数据和无保护数据之一,以及(ii)基于第二帧信号和第二优先级定时信号生成第一阻止信号。第二帧信号指示第二帧在第二队列中。选择器模块被配置用于基于去阻止信号和第一阻止信号生成选择信号以选择第一帧或者第二帧。
[0014]本公开内容的更多适用领域将从具体描述、权利要求和附图中变得清楚。具体描述和具体示例旨在于仅用于示例而未旨在于限制公开内容的范围。
【专利附图】
【附图说明】
[0015]本公开内容将从具体描述和附图中变得被更完全理解,在附图中:
[0016]图1是图示具有和不具有拥塞的帧传输定时的定时图;
[0017]图2A-图2H是网桥的功能框图,这些功能框图图示干扰帧和A类帧通过网桥调度;
[0018]图3A-图3E是网桥的功能框图,这些功能框图图示A类帧通过网桥调度;[0019]图4是图示与并行接收帧关联的延时的定时图;
[0020]图5是图示与帧的协调传输关联的延时的定时图;
[0021]图6是图示A类的分配的时间段和对应周期性传输时间间隔的定时图;
[0022]图7是根据本公开内容的非任意网络的功能框图;
[0023]图8是根据本公开内容的通话器的功能框图;
[0024]图9是根据本公开内容的网桥的功能框图;
[0025]图10是根据本公开内容的网络设备的功能框图;
[0026]图11是根据本公开内容的无时间认知阻止整形器的功能框图;
[0027]图12是图示用于根据本公开内容的无时间认知阻止整形器随时间的计数值的图形;
[0028]图13是根据本公开内容的去阻止整形器的功能框图;
[0029]图14是根据本公开内容的时间认知阻止整形器的功能框图;
[0030]图15是根据本公开内容的基于帧大小的阻止整形器的功能框图;
[0031]图16A-图16E是根据本公开内容的网桥的功能框图,这些功能框图图示通过网桥的基于巾贞大小的数据调度(data progression);
[0032]图17是图示根据本公开内容的相对于A类的分配的时间段的阻止窗的定时图;以及
[0033]图18A-图18B图示根据本公开内容的数据阻止方法。
【具体实施方式】
[0034]前述描述在性质上仅为例示并且决不旨在于限制公开内容、它的应用或者使用。可以用多种形式实施公开内容的广泛教导。因此,尽管本公开内容包括特定示例,但是不应这样限制公开内容的真实范围,因为其他修改将在研读附图、说明书和所附权利要求书时变得清楚。为了清楚起见,相同标号将在附图中用来标识相似单元。如这里所用,应当将短语A、B和C中的至少一个理解为意味着使用非排斥逻辑OR的逻辑(A或者B或者C)。应当理解,可以按照不同顺序(或者并行)执行方法内的一个或者多个步骤而不改变本公开内容的原理。
[0035]如这里所用,术语模块可以指代以下各项、是以下各项的部分或者包括以下各项:专用集成电路(ASIC);电子电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共享、专用或者成组);提供描述的功能的其他适当硬件部件;或者上述各项中的一些或者全部比如在片上系统中的组合。术语模块可以包括存储由处理器执行的代码的存储器(共享、专用或者成组)。
[0036]术语代码如上文所用可以包括软件、固件和/或伪码,并且可以是指程序、例程、函数、类和/或对象。术语共享如这里所用意味着可以使用单个(共享)处理器来执行来自多个模块的一些或者所有代码。此外,单个(共享)存储器可以存储来自多个模块的一些或者所有代码。术语成组如上文所用意味着可以使用处理器组来执行来自单个模块的一些或者所有代码。此外,可以使用存储器组来存储来自单个模块的一些或者所有代码。
[0037]此外,在以下描述中公开各种可变标注和值。提供可变标注和值仅作为示例。任意地提供可变标注,并且可变标注可以各自用来标识或者指代不同项目。例如,可变标注η可以用来指代多个帧或者队列。也任意地提供值并且值可以按照应用而变化。
[0038]另外,在以下描述中使用措词,比如“第一”、“第二”和“第三”。这些措词未专属于任何一个设备、信号等。术语中的多于一个术语可以根据上下文用来指代相同设备、信号
坐寸ο
[0039]吉比特以太网(GE)网络
[0040]GE网络可以具有64字节的最小帧大小而传输延时时间为0.512 μ s每跳跃。平均(或者正常)大小以太网帧可以具有300字节,并且最大帧大小可以是1522字节。300字节的以太网帧可以具有关联的320字节的传输时间,其中20字节的时间与以太网前导码(I和O的重复模式和/或帧界定符的开始)和帧间间隙(IFG)关联。IFG是指在依次数据帧之间的时间间隙。与从通话器传输320字节关联的延时为2.56 μ S。在例如CAT5e线缆上传输数据时在网络站(或者节点)之间的传输线延迟对于100米(m)线缆近似为538纳秒(ns),
[0041]在图1中示出定时图10,该定时图图示具有有和不具有拥塞的帧传输定时。示出在网络设备之间传输的数据块1-8,并且数据块可以各自包括数据帧(下文被称为帧)。帧中的每帧可以具有300字节。可以使用FE速度来传输帧。在周期性传输定时间隔14中传输中贞。周期性传输定时间隔14可以对于8千赫兹(kHz)信号具有例如125 μ s的长度。中贞可以包括A类数据。A类数据可以是指对于GE具有最高优先级的数据。可以在每个周期性传输时间间隔期间传输A类数据。数据块1-8被示出为不具有拥塞(即无干扰帧)和具有拥塞(即具有干扰帧)。可以在周期性传输时间间隔中的每个周期性传输时间间隔期间传输的帧的最大数目可以例如为八。
[0042]第一时间线18具有如下数据块1-8,该数据块1-8不具有干扰帧的数据块1_8。数据块1-8中的每个数据块可以包括A类帧(例如,300字节)、前导码和帧间间隙(IFG)。前导码和IFG可以具有关联的20字节时间。第二时间线20具有如下数据块1-8,该数据块1-8具有干扰帧块22。干扰帧块22可以包括干扰帧、前导码和IFG。干扰帧是指在准备好传输A类帧之前和/或之时准备好传输的并且作为结果而延迟A类帧的传输的帧。干扰帧可以是例如具有1522字节数据的最大大小GE帧。干扰帧块22的前导码和IFG可以具有关联的20字节时间。由于干扰帧块22,按照延迟时段24延迟数据块1-8和对应的A类帧。A类帧和干扰帧的大小越小,与传输A类帧关联的延时就越少。也可能由于介质访问控制器(MAC)的延迟而延迟八帧的传输,如由MAC延迟26所示。
[0043]A类帧的IFG可以由无时间认知阻止整形器提供。无时间认知阻止整形器在周期性传输时间间隔内展开帧。在展开帧时,在依次帧之间提供帧间间隙(无数据的时段)。在图7-图11和图13-图15中示出阻止整形器的示例。无时间认知阻止整形器是指未基于首要主时钟操作的阻止整形器。首要主时钟是生成由非任意网络中的网络设备共享的全局时钟信号的时钟。在图10和图11中示出无时间认知阻止整形器的示例。以下关于图7和图10进一步更具体描述基于首要主时钟执行的传输。
[0044]通话器可以基于将在周期性传输时间间隔期间传输的多个A类帧突发(burst)数据。可以停用用于A类数据的无时间认知阻止整形器以防止A类数据在周期性传输时间间隔内被展开。这可以最小化与干扰帧关联的延迟,因为不存在如下IFG,可以在该IFG中发起干扰帧的传输。[0045]用于类型I传输的示例延时
[0046]具有拥塞并且未使用阻止整形器的数据传输称为类型I数据传输。简单网络可以包通话器、数目为N的2端口网桥(具有单个输入端口和单个输出端口的网桥)和收听器。关于以下图2A-图2H描述用于控制帧穿过网桥之一并且从通话器到收听器的时间。图2A-图2H图示具有拥塞并且未使用阻止整形器的通过网桥40的数据调度。示出干扰帧42和A类帧通过网桥40的调度。依次地传输A类帧而未使用阻止整形器。干扰帧42是在传输A类帧之前传输的最大大小干扰帧。
[0047]网桥40包括具有存储器46的传入(ingress)模块44、队列48、复用器50和输出端口 52。可以按照IEEE1722从传入时间参考平面或者延时开始起测量以下网桥延时值。
[0048]在图2A中,跟随有A类帧的干扰帧42被示出为到达网桥40。网桥40在时间tQ从上游网络设备(例如,通话器或者网桥)接收干扰帧42的第一比特。在图2B中,干扰帧42被示出为被接收并且存储于存储器46中。在接收干扰帧42之后,接收A类帧中的第一 A类帧的第一比特。这在t=12.336 μ s出现,因为干扰帧具有1542关联的字节的延时时间。干扰帧42可以例如具有与前导码和IFG关联的1522字节和20字节时间。在图2C中,干扰帧42被示出为从存储器46向与低优先级数据和/或非AVB数据关联的队列48之一中传送。在t=13.360 μ s接收第一控制帧的128字节,这等于用于接收干扰帧42的时间12.336 μ s加上用于处理128字节的时间或者1.024ys。接收在第一 A类帧的第一比特之后的两个时隙时间(或者网桥40的时钟周期),从网桥40传输出干扰帧42的第一比特,如图2D中所示。第一 A类帧57然后可以被存储于队列48中的第一队列中。
[0049]在图2D中,第二 A类帧的第一比特60被示出为由网桥40接收。这在t=14.896 μ s出现,这等于用于接收干扰帧42的时间12.336 μ s加上与第一 A类帧关联的320字节的时间。在图2Ε中,第三A类帧的第一字节62被示出为被接收。这可以在t=17.456 μ s出现,这等于用于接收干扰帧的时间12.336 μ s加上与A类帧关联的320字节的时间。
[0050]在图2F中,第一 A类帧的第一比特64被示出为被从网桥40传输。这可以在t=25.696 μ s出现,这等于用于接收干扰帧的时间(或者开始时间)12.336 μ s加上用于处理五个A类帧和第六A类帧的70字节的时间(或者干扰帧的传输时间)13.360 μ S。五个A类帧和第六A类帧的70字节的处理时间等于第一 A类帧的开始时间。
[0051]在图2G中,网桥40接收A类帧的最后比特66。这可以在t=32.656 μ s出现并且包括第六帧的其余部分的处理时间以及第七帧和第八帧的处理时间。在图2H中,从网桥40传输A类帧的最后比特。这可以在t=46.016 μ s出现,这等于开始时间13.36 μ s加上干扰帧和A类帧的传输时间32.656 μ S。46.016 μ s的时间t是第一比特进入网桥40到最后比特离开网桥40(被称为第一比特入到最后比特出时间)。为了消除与网桥40的接收时间相等的通话器传输时间的重复计数,考虑最后比特进入网桥40到最后比特离开网桥40 (被称为最后比特入到最后比特出时间)而不是第一比特入到最后比特出时间。
[0052]最后比特入到最后比特出时间等于46.016μ s的时间t减去干扰帧的传输时间
12.226 μ s减去八个A类帧的传输时间20.48 μ s加上20字节的前导码和IFG时间,这等于
13.36 μ S0也可以通过从最后A类比特入时间减去最后A类比特出时间来确定最后比特入到最后比特出时间,这也等于13.36 μ S0
[0053]网桥40的用于A类帧的最大延时等于网桥40的延迟时间tbHdge加上用于接收最大大小干扰帧的时间tMXINT加上在网桥40与例如另一网络设备之间的线缆的传输时间tCable。可以对于IOOm线缆确定线缆的传输时间teable。
[0054]可以如下确定用于在5个网络设备(I个通话器和4个网桥)的菊链在GE上传输八个300字节A类帧的最大延时。令网桥延迟为两个时隙时间并且最大非AVB数据大小为1522 字节,最大延时等于 1.024μ s(tbridge)加上 12.336 μ s (tMXINT)加上 0.538 μ s (tCable)或者13.898 μ s。这等于最后比特入到最后比特出时间13.36 μ s加上线缆延迟时间0.538 μ S0
[0055]用于类型II传输的示例延时
[0056]图3Α-图3Ε图示不具有拥塞并且不具有阻止整形器的通过网桥40的A类帧的调度。不具有拥塞并且不具有阻止整形器的数据传输可以被称为类型II数据传输。网桥40包括具有存储器46的传入模块44、队列48、复用器50和输出端口 52。在图3Α中,八个A类帧被示出为到达网桥40。网桥40接收第一 A类帧的第一比特。这是在时间tQ。在图3B中,网桥40已经接收了第一 A类帧的第一帧70并且正在接收第二 A类帧的第一比特。可以例如在接收第一 A类帧的第一比特之后的例如320字节的时间接收第二 A类帧71的第一比特。这可以在等于2.56μ s的时间出现。
[0057]在图3C中,第一 A类帧70被不出为存储于第一队列中。可以从网桥40传输第一 A类帧70的第一比特。这可以在接收第二 A类帧71的第一比特之后的两个时隙时间或者在等于3.584 μ s的时间t出现。在这一时间,第二 A类帧71的128字节被存储于网桥40中。在图3D中,最后A类帧的最后比特74被示出为由网桥40接收。这可以在等于20.32 μ s的时间t出现,这等于先前时间3.584 μ s加上剩余帧的接收时间或者16.736 μ S0
[0058]在图3Ε中,最后A类帧的最后比特被示出为被从网桥40传输。这可以在等于
23.904 μ s的时间t出现,这等于与第一 A类帧关联的时间延迟3.548 μ s加上A类帧从通话器到网桥40的传输时间20.32 μ S。23.904 μ s是网桥40的第一比特入到最后比特出时间。可以通过从第一比特入到最后比特出时间23.904 μ s减去传输时间20.48 μ s来确定最后比特入到最后比特出时间,这等于3.584μ S。最后比特入到最后比特出时间也等于接收最后A类帧的最后比特的时间减去从网桥40传输最后A类帧的最后比特的时间。
[0059]网桥40的用于类型II传输的最大延时可以被确定为网桥40的延迟时间tBHdge加上用于接收最大大小A类帧的时间tMXft加上线缆延迟时间tCable。令网桥延迟为两个时隙时间并且最大A类帧大小为300字节,最大延时等于1.024μ s(tMdge)加上
2.56 μ s (Wame)加上0.538 μ s (tCable)或者4.122 μ S。最大延时等于最后比特入到最后比特出时间3.584 μ s加上线缆延迟时间0.538 μ S。
[0060]基于与图2Α-图3F关联的最大延时时间,与拥塞关联的延时比在不存在拥塞时的延时更差。在非任意网络中,可以执行传输而没有拥塞。
[0061 ] 用于类型II传输的示例GE裕度(margin)确定
[0062]作为示例,GE控制帧可以具有256个净荷字节,其中可以每500 μ s传输控制帧中的32个控制帧。控制帧中的每个控制帧可以具有22字节的开销并且具有20字节的IFG。与从通话器传输控制帧中的每个控制帧关联的延迟时间在没有拥塞时等于2.384μ s(或者298字节*8比特*lns)。与从通话器传输不具有前导码或者IFG的控制帧关联的延迟时间在没有拥塞时为2.224 μ s (或者278字节*8比特*lns)。用于从通话器传输32帧的时间在没有拥塞时为76.288 μ s (或者2.384 μ s*32)。在没有IFG时,延时为72.8 μ S。出于这一原因,GE的延时通过在少于或者等于100 μ s内从通话器传输32帧的AVB第2代要求。使用GE来传输数据的网络可以通过具有拥塞的100 μ s要求。
[0063]用于传输控制巾贞之一(278字节)的时间或者2.224 μ s加上用于网桥处理控制帧的时间(例如,1.024ys,这等于两个512比特时间)提供用于一个跳跃的延时时间
3.248 μ S0对于四个网桥跳跃,延时时间为12.992 μ S。作为结果,包括用于从通话器传输控制巾贞的时间和用于四个网桥处理控制巾贞的时间的没有拥塞的总传输时间为15.216 μ S。出于这一原因,GE的延时通过在裕度(余留时间)大于84 μ s时在少于或者等于100 μ s内通过五个跳跃传输控制帧的AVB第2代要求。用于GE的84 μ s裕度可以用来在周期性传输时间间隔内传输其他数据帧。这一传输没干扰帧并且基于控制帧进入通话器的传出(egress)模块和离开通话器的协调的传输。在没有协调的传输定时时,裕度被减少。
[0064]通过对通话器的介质访问控制器的内部延迟时间t.、用于传输最大大小干扰帧的时间tmx、用于传输A类数据的时间tA和用于沿着100米线缆传输比特的时间tMble求和来计算用于AVB第2代的通话器的最大延时。假设传输八个300比特A类帧,其中每帧具有20比特前导码和IFG,并且MAC延迟等于1522比特,用于通话器的最大延时为33.866 μ S,其中 tMC=0.512 μ S、tMX=12.336 μ S、tA=20.48 μ s 并且 tcable=0.538 μ s。33.866 μ s 的最大延时是用于从通话器向通话器下游的网络设备或者节点(例如,网桥或者接收器)传送最后帧的最后比特的总时间。计算最大延时而未使用整形器(即,在周期性传输时间间隔内没有IFG和控制帧未被展开)。
[0065]用于类型II传输的示例FE裕度确定
[0066]作为示例,FE控制帧可以具有128字节的数据。可以每个例如500 μ s的周期性传输时间间隔传输八个控制帧。可以按照20字节的前导码和/或IFG时间传输控制帧中的每个控制帧。用于传输控制帧的时间然后可以等于13.6 μ s (或者170字节*8比特*10ns)。用于八帧的延时等于1360字节的时间(或者170比特*8帧)。作为结果,用于传输八帧的时间为108.8μ s(或者13.6μ s*8帧)。用于传输八帧的时间大于所需的100 μ S。对于FEAVB第2代传输,要求延时对于5个跳跃少于或者等于100 μ S。出于这一原因,执行如图5中所示(并且以下更多说明)的帧的协调的传输。利用这一调整,如果在5个跳跃中的任何跳跃没有拥塞,则通过跳跃的延时为100 μ S。因此余留用于传输其他数据帧的零裕度,这可能在使用FE时在周期性传输时间间隔内引起拥塞。利用一个或者多个干扰比特进一步增加用于传输八帧的时间。作为结果,使用FE对八帧数据的传统传输并不满足对于AVB第2代的延时要求。
[0067]在以下的图4和图5中,提供用于包括通话器、4个网桥和收听器的网络的定时图。从通话器传输、通过4个网桥传递并且在收听器接收数据。网桥是存储和转发网桥(即,未使用阻止整形器)。在图4中,定时图100被示出为图示与并行(即在相同时间段期间)接收八巾贞A-H关联的延时。通话器在周期性传输时间间隔104(例如,125 μ s)内接收和传输八帧A-Η。从在从通话器传输八帧A-H的最后比特时直至在收听器接收第八帧H的最后比特时测量用于网络的延时106。虽然并行接收八帧Α-Η,但是从通话器和网桥依次传输八帧A-Η。从通话器的传输被标识为通话器传出。从网桥的传输被标识为网桥传出。
[0068]现在也参照图5,定时图110被示出为图示与协调的传输关联的延时。协调传输是指在预定时间段依次传输帧而在每对依次帧之间具有IFG。通话器在周期性传输时间间隔104 (例如,125 μ s)内接收和传输八帧A-Η。由于从通话器传输第八帧H的最后比特时直至在收听器接收第八帧H的最后比特时测量延时112,用于协调的传输的延时112少于用于并行传输的延时106。
[0069]用于每个128字节巾贞的延时等于用于通话器传输巾贞的时间加上与4个网桥中的每个网桥接收和转发帧关联的时间延迟。作为示例,通话器的传输时间可以是150字节时间或者12.0μ s(150字节*8比特*10ns)。150字节的时间包括128字节加上22字节的开销(例如,前导码和IFG)。用于每个网桥处理帧的时间可以是10.0Oys(近似两个512比特时间)。与从通话器传输帧并且经由网桥之一处理帧关联的延时为12.0μ s加上
10.00 μ s或者22.00 μ S。作为结果,与从通话器传输帧并且经由四个网桥处理帧关联的延时为100.00 μ S (12.0ys加上4*22.00 μ s),这等于100 μ s要求。在具有拥塞时,这一延时更长并且不再满足延时要求。由于拥塞是无时间认知系统的正常方面,所以当前FE系统并不满足延时要求。以下公开的实现方式控制通话器和网桥的传输以提供用于FE的少于100 μ s延时要求的延时。
[0070]以下描述的实现方式涉及非任意网络(下文被称为网络)。网络可以例如是汽车网络、制造设施网络和/或组装线网络。网络可以包括各种网络设备,比如通话器、网桥、接收器和时间转译器设备。虽然每个网络设备被标注为通话器、网桥、接收器和时间转译器设备之一,但是网络设备中的每个网络设备可以作为通话器、网桥、接收器和/或时间转译器设备工作。在网络设备之间的接口、线缆和/或介质可以包括控制器区域网络(CAN)和/或FlexRay接口和总线、第5类(CAT)通信线缆或者其他适当接口、线缆和/或介质。
[0071]通过在被称为端站的两个网络设备之间的网络传输数据。虽然数据被描述为在单个方向上从第一网络设备或者第一端站(例如,通话器)向最后网络设备或者最后端站(例如,接收器)传输数据,但是可以在网络中的任何站发起并且可以在网络中的任何站接收数据传输。数据可以具有不同的对应优先级级别并且可以基于优先级级别被传输。
[0072]优先级级别可以例如包括受保护A类AVB数据(被称为A类数据)、受保护B类AVB数据(被称为B类数据)和无保护非AVB数据。受保护数据具有预定带宽(即每周期性传输时间间隔的分配的时间段)和一个预定最大延时(或者多个预定最大延时)。特定优先级级别的受保护数据可以具有网络中的每网络设备的预定最大延时和/或在端站之间的共同预定最大延时。
[0073]A类数据具有最高优先级级别、可以具有最短延时、具有第一预定带宽(即每周期性传输时间间隔的第一分配的时间段)和第一预定最大延时。A类数据可以包括控制数据。作为示例,在汽车应用中,A类数据可以包括用来控制引擎或者操作车辆的制动器的数据。B类数据具有第二最高优先级级别、可以具有比A类数据更长的延时、具有第二预定带宽和/或预定最大延时。作为示例,在汽车应用中,B类数据可以包括娱乐系统数据。非AVB数据具有最低优先级级别、无预定带宽和/或无预定最大延时。在网络中,数据可以被传输作为预定大小的突发,每个突发与用于优先级级别中的特定优先级级别的数据关联。突发可以在周期性传输时间间隔期间的分配的时间出现。作为示例,可以对于在每个125μ s周期性传输时间间隔期间的40 μ s从网络设备的传出模块(通话器、时间转译器设备和/或网桥)传输A类数据。[0074]在图6中,定时图118被示出为图示A类的分配的时间段或者窗和对应的周期性传输时间间隔。可以在周期性传输时间间隔的分配的时间窗内从通话器传输A类数据。每个分配的时间窗具有开始时间在图6中,示出两个示例分配的时间窗120、122和对应的周期性传输时间间隔124、126。周期性传输时间间隔中的每个周期性传输时间间隔可以被称为周期。用于两个周期性传输时间间隔124、126的周期被标注为η和η+1。
[0075]仅为举例,对于FE的要求可以包括每500 μ s(周期性传输时间间隔)传输八个128字节帧。在周期性传输时间间隔中的每个周期性传输时间间隔内用于A类数据(可以被称为低延时数据)的分配的时间窗可以是108.8μ S。对于八帧,这可以包括:与128字节的数据和22字节的开销数据关联的时间;和/或与前导码数据和IFG关联的20字节的时间。108.Sys突发窗提供用于其他数据(可以被称为非低延时数据)的391.2 μ S。
[0076]作为另一不例,对于GE的要求可以包括每500 μ s传输三十二个256字节帧。在周期性传输时间间隔中的每个周期性传输时间间隔内用于A类数据的分配的时间窗可以是76.288 μ S0对于三十二帧,这可以包括与256字节的数据和22字节的开销数据关联的时间;和/或与前导码数据和IFG关联的20字节的时间。76.288 μ s突发窗提供用于其他数据(例如,非低延时数据)的423.712 μ S。
[0077]为了满足AVB第2代要求,将对于FE和GE 二者在少于或者等于100 μ s的延迟内通过5个跳跃传输A类数据。虽然这里公开了 FE和GE,但是这里公开的实现方式可以适用于其他传输速度。另外,虽然主要关于以太网网络描述实现方式,但是实现方式可以应用于其他网络。
[0078]在图7中,示出非任意网络150。非任意网络150包括一个或者多个通话器(示出三个通话器152、154、156)、一个或者多个网桥(示出两个网桥158、160)和收听器162。通话器152、154、156可以被称为源,因为通话器向收听器162传输数据。收听器162可以被称为接收器,因为收听器152从通话器152、154、156接收数据。通话器152、154、156和网桥158、160可以各自包括相应传出模块164、166、168、170、172。网桥158、160可以满足提供精确定时协议(PTP)的IEEE802.1AS0网桥158、160提供在端站(例如,通话器152、154、156和收听器162)之间的网络设备的菊链。传出模块164、166、168、170、172中的每个传出模块可以包括相应整形器174、176、178、180、182和/或定时模块184、186、188、190、192。
[0079]整形器174、176、178、180、182可以包括阻止整形器和/或去阻止整形器。阻止整形器可以包括无时间认知阻止整形器和时间认知阻止整形器(TABS)。在图10-图11和图13-图15中示出无时间认知阻止整形器、时间认知阻止整形器和去阻止整形器的示例。时间认知阻止整形器基于由首要主时钟200生成的全局时钟信号操作。首要主时钟200可以位于网络150的网络设备中的任何网络设备中。可以与网络150中的网络设备中的任何网络设备共享全局时钟信号。作为示例,在第二通话器154中示出首要主时钟200,但是首要主时钟200可以位于其他通话器152、156之一、网桥158、160之一、收听器162或者连接到网络150的其他网络设备中。
[0080]时间认知阻止整形器可以延迟非最高优先级数据(例如,非A类数据或者B类数据和/或非AVB数据)的传输开始。可以基于最高优先级数据(例如,A类数据)的传输定时执行这一延迟。A类和非A类数据的传输定时可以由生成优先级定时信号的定时模块184、186、188、190、192提供。每个优先级定时信号可以指示如下窗,允许或者不允许在该窗中传输对应数据。可以基于在每个周期性传输时间间隔中的分配的时间段生成为非A类数据(或者B类数据和/或无保护数据)生成的优先级定时信号。在分配的时间段中的每个分配的时间段中传输最高优先级数据(A类数据)。这保证传出模块的输出空闲,从而使得A类突发未被其他数据(非最高优先级数据)的传输所干扰。
[0081]包括首要主时钟200的网络设备或者在网络150中的其他网络设备之一可以包括时间管理模块202。具有首要主时钟200和/或时间管理模块202的网络设备可以被称为主设备。不具有首要主时钟200和/或时间管理模块202的设备可以被称为从设备。时间管理模块202可以包括首要主时钟200和/或时间间隔模块204。时间间隔模块204可以设置周期性传输时间间隔(即周期性传输时间间隔的持续时间)和周期性传输时间间隔中的每个周期性传输时间间隔的开始时间可以使用管理信息库(MIB)模块和/或简单管理网络协议(SMNP)在网络设备之间共享全局时钟信号、周期性传输时间间隔和周期性传输时间间隔的的开始时间
[0082]与通话器(例如,通话器152)最近的网桥(例如,网桥158)可以作为时间转译器设备工作。时间转译器设备可以被并入于不具有时间认知阻止整形器的通话器与具有时间认知阻止整形器的网桥之间。网桥可以具有单个输入端口和单个输出端口或者可以启用网桥的端口中的两个端口而停用端口中的其他端口。网桥的传出模块可以启用和停用端口。在作为时间转译器设备操作之时,网桥让单个输入端口启用和单个输出端口启用。另外,在作为时间转译器设备操作(被称为在时间转译器模式中操作)之时,网桥执行A类帧的时间认知去阻止和/或非A类帧的时间认知阻止以调整A类帧和/或非A类帧的传输定时。以下关于图10和对应的时间转译器操作模式更具体描述这一点。
[0083]收听器162经由网桥158、160从通话器152、154、156接收数据。收听器162可以包括收听器控制模块210。收听器控制模块210可以基于从通话器152、154、156接收的数据操作和/或监视或者操作网络的一个或者多个传感器、马达、致动器或者其他设备。
[0084]通话器152、154、156、网桥158、160和/或收听器162可以经由有线或者无线连接和/或介质相互通信。无线连接和/或介质可以例如满足IEEE标准802.1U802.11a、802.lib,802.llg,802.llh、802.lln、802.16 和 802.20。
[0085]在图8中,示出图7的网络的通话器152、154、156中的一个通话器的示例(被标示为220)。通话器220包括主机控制模块222和接口模块224。主机控制模块222可以例如包括处理器并且向接口模块224提供不同优先级级别的数据。数据可以包括A类数据、B类数据和非AVB数据。接口模块224可以例如是网络接口卡或者其他适当接口。接口模块224包括通话器传入模块226和通话器传出模块228。
[0086]通话器传入模块226可以例如包括通话器解析模块230和通话器存储器232。通话器解析模块230可以从主机控制模块222接收数据的分组234、解析分组234并且基于在分组234的巾贞中提供的首部生成描述符236。描述符236中的每个描述符可以包括对应分组和/或帧的大小、周期性传输时间间隔的开始时间、周期性传输时间间隔的长度和/或源和/或目的地地址。接收的每个分组可以包括预定数目的数据帧。可以在通话器存储器232中存储并且在描述符信号中向通话器传出模块228提供分组234和描述符236。
[0087]通话器传出模块228包括通话器整形器240 (例如,图7的通话器整形器174、176、178)和通话器定时模块242 (例如,图7的通话器定时模块184、186、188之一)。通话器整形器240基于来自通话器定时模块242的优先级定时信号操作。通话器传入模块226和/或通话器传出模块228可以包括介质访问控制器(MAC)。
[0088]在图9中,示出图7的网桥158、160之一的示例(被标示为250)。网桥250包括输入端口 n、网桥传入模块252、网桥传出模块254和输出端口 n虽然端口 N、M被标注为输入端口和输出端口,但是端口 N、M中的每个端口可以作为输入端口和/或输出端口工作。端口 N、M中的每个端口也可以被连接到网桥传入模块252和/或网桥传出模块254。此外,网桥520可以包括任何数目的输入端口和输出端口。
[0089]网桥传入端口 252包括网桥解析模块256和网桥存储器258。网桥解析模块256可以从通话器、网桥和/或时间转译器设备接收数据。网桥解析模块256可以解析接收的分组260并且基于在分组260的帧中提供的首部生成描述符262。描述符262中的每个描述符可以包括对应分组和/或帧的大小、周期性传输时间间隔的开始时间、周期性传输时间间隔的长度和/或源和/或目的地地址。接收的每个分组可以包括预定数目的数据帧。可以在网桥存储器258中存储并且在描述符信号中向网桥传出模块254提供分组260和描述符262。网桥传出模块254包括网桥整形器264 (例如,图7的网桥整形器180、182)和网桥定时模块266 (例,如图7的网桥定时模块190、192之一)。网桥整形器264基于来自网桥定时模块266的优先级定时信号操作。网桥传入模块252和/或网桥传出模块254可以包括MAC。
[0090]在图10中,示出网络设备270。网络设备270包括数据阻止系统271,该数据阻止系统具有传入模块272和传出模块274,该传出模块具有传出网络276。图7的网络150的通话器152、154、156和网桥158、160中的每项可以用网络设备270来替换和/或包括传入模块272和/或传出模块274。网络设备270可以作为通话器、网桥和时间转译器设备操作并且这样具有通话器模式、网桥模式和时间转译器模式。
[0091]传入模块272从以下各项接收数据帧(下文称为帧):通话器的主机控制模块;网桥;和/或时间转译器设备。传入模块27`2解析帧并且向传出模块274的相应队列提供帧。传出网络276可以与单个输出端口(例如,图9的输出端口之一 M)关联。传出模块274可以包括用于其他输出端口的相似传出网络。传出网络276包括具有相应优先级级别的队列^传出网络276可以包括用于每个优先级级别的任何数目的队列。作为示例,传出模块274可以包括接收A类数据的一个或者多个A类队列278、接收B类数据的一个或者多个B类队列280和接收非AVB数据的一个或者多个非AVB队列282。队列"中的每个队列可以作为寄存器工作并且存储相应优先级级别的帧。
[0092]传出网络276也包括定时模块290、时间认知去阻止整形器292(TADS,在图10中被示出为去阻止整形器fD并且下文被称为去阻止整形器)、无时间认知阻止整形器294 (在图10中被示出为阻止整形器fQ)、时间认知阻止整形器296(TABS,在图10中被示出为阻止整形器fB)、选择器模块298、激活模块300和第一复用器302。无时间认知阻止整形器294和时间认知阻止整形器296可以个别被称为阻止整形器和/或共同被称为阻止整形器。去阻止整形器292和阻止整形器294、296可以各自被称为整形器模块。
[0093]定时模块290为去阻止整形器292和时间认知阻止整形器296中的每个整形器生成优先级定时信号。优先级定时信号中的每个优先级定时信号提供如下时间窗,在该时间窗中,去阻止整形器292和时间认知阻止整形器296将允许数据通过或者阻止数据被选择器模块298选择。为去阻止整形器292生成的优先级定时信号可以指示去阻止整形器292将何时不阻止A类帧向第一复用器302传递。为时间认知阻止整形器296生成的优先级定时信号可以指示时间认知阻止整形器296将何时阻止B类队列和非AVB队列中的数据。时间认知阻止整形器296可以各自接收相同优先级定时信号或者可以接收相应优先级定时信号。
[0094]网络设备270可以包括任何数目的去阻止整形器和阻止整形器。去阻止整形器和阻止整形器数目可以依赖于A类队列、B类队列和非AVB队列的数目。A类队列可以各自具有对应的去阻止整形器。去阻止整形器和对应的传输路径提供最低级别延时,因为防止来自具有更低优先级级别的其他传输路径的干扰。
[0095]去阻止整形器292可以用来保证在适当时间例如从通话器和/或时间转译器设备传输数据。当在通话器模式中操作时,网络设备270可以在A类突发之前加载A类队列278中的A类帧。A类突发包括从A类队列278转发A类帧以及对于在周期性传输时间间隔内的预定时段从网络设备270传输A类帧。去阻止整形器292控制A类突发何时开始并且在A类突发期间进一步控制A类帧的传输定时。在A类突发期间,时间认知阻止整形器296阻止传输非A类帧(例如,B类帧或者非AVB数据)从而使非A类队列空闲。
[0096]A类队列278和B类队列280可以各自具有对应的无时间认知阻止整形器(例如,无时间认知阻止整形器294之一)。B类队列280和非AVB队列282可以各自具有对应的时间认知阻止整形器(例如,时间认知阻止整形器296之一)。无时间认知阻止整形器294与去阻止整形器292和时间认知阻止整形器296中的相应整形器串联连接。无时间认知阻止整形器294用来对帧的传输调步(pace)并且可以满足IEEE802.lQav。时间认知阻止整形器296阻止选择器模块298在A类帧的传输时段期间选择B类队列280中和非AVB队列282中的帧。这防止A类帧干扰其他帧并且最小化A类帧的延时。
[0097]无时间认知阻止整形器294可以相对于选择器模块298与去阻止整形器292和时间认知阻止整形器296并行操作。例如,A类数据可以基于去阻止整形器292和无时间认知阻止整形器294中的对应的无时间认知阻止整形器从A类队列278向第一复用器302传递。B类数据可以基于无时间认知阻止整形器294和时间认知阻止整形器296中的对应的阻止整形器从B类队列280向第一复用器302传递。
[0098]队列η、去阻止整形器292和阻止整形器294、296中的每项具有关联传输路径。每个传输路径包括队列g中的相应路径并且可以包括去阻止整形器292和阻止整形器294、296中的一个或者多个整形器。去阻止整形器292和阻止整形器294、296中的每个整形器生成相应去阻止信号和阻止信号。去阻止信号和阻止信号由选择器模块298接收并且指示帧何时在对应队列中并且准备好向第一复用器302转发。
[0099]帧可以在队列中,并且对应的去阻止信号或者阻止信号可以指示帧未在队列中的和/或帧未准备好被选择。去阻止信号或者阻止信号可以指示不存在帧和/或帧未准备好基于对应的优先级定时信号传输。这阻止在不适当时间传输帧。作为示例,时间认知阻止整形器296之一可以在B类帧在B类队列280中时生成阻止信号。阻止信号可以指示B类帧未在B类队列280中,由此阻止选择器模块298在例如A类帧的传输时段之前和/或期间选择B类帧。这防止对A类帧的传输干扰。
[0100]选择器模块298生成选择信号,第一复用器302接收该选择信号以从队列〃选择帧。选择器模块298可以是严格样式选择器。严格样式选择器在允许从下一最高优先级级别队列传输帧之前允许传输在具有帧的最高优先级级别队列中的所有帧。这在严格选择器直接地监视队列的状态(包括确定帧是否在队列中)时出现。
[0101]在以下实现方式中,取代选择器模块298直接地监视队列g的状态,选择器模块298监视从去阻止整形器292和/或阻止整形器294、296接收的去阻止信号或者阻止信号。选择器模块298然后基于去阻止信号或者阻止信号生成用于允许从队列传递帧的选择信号。去阻止整形器292和阻止整形器294、296防止选择器模块298直接地“看见”在队列
!-X中的帧。
[0102]激活模块300基于网络设备270的操作模式启用和停用去阻止整形器292和阻止整形器294、296。例如,当在通话器模式和/或时间转译器模式中操作时,可以启用去阻止整形器292。可以停用无时间认知阻止整形器294以减少A类帧的延时。可以启用时间认知阻止整形器296。在一个实现方式中,停用时间认知阻止整形器296。作为另一示例,当在网桥模式中操作时,可以停用去阻止整形器292并且可以启用阻止整形器294、296。
[0103]作为另一示例,如果在专业音频环境中使用网络设备270,则可以启用无时间认知阻止整形器294并且可以停用去阻止整形器292。作为又一示例,在汽车环境中,在传输A类帧时,可以停用无时间认知阻止整形器294并且可以启用去阻止整形器292。这减少A类帧的延时并且进一步允许满足预定带宽和最大帧延时要求。
[0104]当在时间转译器模式中操作时,网络设备270可以连接到通话器的输出以提供去阻止。网络设备270可以被配置作为时间转译器设备并且并入于无时间认知通话器的输出以提供去阻止并且调整A类帧的传输定时。网络设备270可以启用单个输入端口和单个输出端口而停用其他端口。这可以在通话器未包括去阻止整形器和/或时间认知阻止整形器时执行以保证在适当时间传输A类帧。在适当时间传输A类帧包括:在周期性传输时间间隔的预定开始时间h发起传输 A类帧;并且在周期性传输时间间隔的预定A类突发窗期间的适当时间传输A类帧。
[0105]传出模块274也可以在捷径模式中操作并且包括捷径模块310和第二复用器312。捷径模块310和第二复用器312用来进一步最小化最高优先级帧(例如,A类帧)的延时。捷径模块310可以通过接收全局时钟信号(被标示为313)并且基于全局时钟信号操作来有时间认知。捷径模块310可以被称为时间认知捷径整形器(TACS)。
[0106]捷径模块310监视在网络设备270的输出314 (例如,输出端口)的活动并且允许A类帧绕过A类队列278、对应的去阻止整形器292和/或无时间认知阻止整形器294和第一复用器302从传入模块272向第二复用器312传递。可以如图所示直接地监视在输出314的活动或者捷径模块310可以接收由选择器模块298和/或传出模块274生成的线路活动信号。线路活动信号可以指示在输出是否存在数据传输活动。
[0107]捷径模块310生成用于选择第一复用器302的输出315和传入模块272的数据输出316之一的第二选择信号。第二复用器312接收第二选择信号并且基于第二选择信号从输出315或者输出316转发A类帧。从输出316传输A类帧可以被称为类型3数据传输。
[0108]由捷径模块310执行的绕过可以在传入模块272接收传输的分组的所有A类帧之前和/或在接收A类帧的所有比特之前出现。在传入模块已经接收预定义数目字节(例如,64字节)的A类数据之后,可以从传入模块272向第二复用器312传递字节。预定义字节数目可以例如与首部数据关联。首部数据可以包括源地址和目的地地址、帧大小、数据类型和/或其他分组和/或帧信息。
[0109]由于时间认知阻止整形器296在A类突发期间阻止非A类数据帧,所以输出314空闲并且可以经由第二复用器312向输出314直接地传递A类帧。这消除与在A类队列278和对应的整形器292、294中存储帧关联的延时。
[0110]如果捷径模块310被启用并且用来绕过A类巾贞,则对于网桥的用于A类帧的最大延时等于网桥的时间延迟tMdge加上与捷径点(例如,第二复用器)关联的时间延迟tCut加上线缆最大传输时间tCable。作为示例,在网桥延迟为两个时隙时间(或者1.024ys)并且捷径延迟时间为一个时隙时间(0.512ys)时,最大延时可以在最大线缆传输时间teable为
0.538 μ s时为2.074 μ S0无论传输的A类帧的大小如何都提供这一延时,因为在网桥接收所有A类比特之前从网桥传输A类比特和/或因为从传入模块272输出A类比特。与类型3传输关联的延时少于与类型I (例如,13.898 μ s)和类型2 (例如,4.122 μ s)传输关联的延时。
[0111]捷径模块310可以信号通知传入模块272使A类帧绕向第二复用器312而不是向A类队列提供A类帧。捷径模块310可以并入于传入模块272中而不是如图所示在传出模块274中。
[0112]现在也参照图11,示出了无时间认知阻止整形器320。无时间认知阻止整形器320可以替换图10的无时间认知阻止整形器294中的任何无时间认知阻止整形器。无时间认知阻止整形器320可以未基于全局时钟信号操作。无时间认知阻止整形器320可以基于本地时钟321操作。本地时钟321可以生成独立于全局时钟信号的时钟信号。无时间认知阻止整形器320在传输之前展开数据帧并且防止选择器模块298 “看见”具有受保护数据的队列278、280中的帧。这包括在每对依次数据帧之间提供IFG。
[0113]无时间认知阻止整形器320包括第一计数器322和队列监视模块324。第一计数器322对用于被监视的队列326(例如,队列278、280之一)的信用计数。队列监视模块324监视在队列326中是否存在帧并且在帧在队列326中并且未被允许从队列326向第一复用器302传递时递增第一计数器322。队列监视模块324在帧被向第一复用器302传递时递减第一计数器322。第一计数器322可以具有使与队列326关联的第一计数最大化的上限。第一计数器322也可以具有使与队列326关联的第一计数最小化的下限。
[0114]现在也参照图12,示出了图形330,该图形图示用于无时间认知阻止整形器320的计数值。第一线段322代表第一计数在未允许帧从队列向第一复用器302传递帧时的递增。可以由于干扰(即传输一个或者多个其他队列η中的帧)而未允许帧通过。第一计数然后达到上限334并且被维持于当前计数值。然后允许帧向第一复用器302传递并且如由第一竖线段336代表的那样递减第一计数。然后可以如由线段328代表的那样在未从队列326向第一复用器302传递帧时再次递增第一计数。
[0115]可以如由线段340代表的那样在队列中不存在帧时将第一计数重置为零。在帧到达队列326并且在第一计数处于零之后被传输并且不存在干扰时,可以递减第一计数至下限342。可以在队列中不存在要传输的帧时将计数增加至零,这由线段344代表。以上描述的递增和递减可以基于本地时钟321、预定时间间隔和/或线路状态信号(被标示为346)。
[0116]线路状态信号346可以指示是否从传出模块274传输数据。线路状态信号346可以指示第一复用器302的输出、第二复用器312的输出和/或可以由选择器模块298和/或传出模块274生成。
[0117]队列监视模块324基于第一计数器322的第一计数生成第一阻止信号350。可以基于来自传入模块272的描述符信号352生成第一阻止信号350。描述符信号352可以指示在队列326中何时存在帧。从队列326通过队列监视模块324向跟随有第一复用器302的对应的去阻止整形器或者时间认知阻止整形器(被标示为354)传递数据。
[0118]参照图10和图13,示出了去阻止整形器360。去阻止整形器360可以替换图10的网络设备270的去阻止整形器292或者其他去阻止整形器。去阻止整形器360阻止对应的最高优先级级别队列362(例如,队列378)中的数据直至在允许从队列362向第一复用器302转发和/或从传出模块274和网络设备270传输A类数据时的时间窗。去阻止整形器360包括逻辑模块364和数据通过模块366。逻辑模块364接收第一优先级定时信号368 (被称为最高优先级进行信号)和第一帧信号PKT1。第一优先级定时信号368可以指示何时允许传输A类帧。第一帧信号PKTl可以由数据通过模块366生成并且可以指示在队列362中何时存在帧。
[0119]逻辑模块364可以包括如图所示的NAND门和/或其他适当逻辑器件。NAND门可以接收第一优先级定时信号368和第一巾贞信号PKTl并且生成第一通过信号PASSl。第一通过信号PASSl指示何时允许从队列362向第一复用器302传递A类帧。数据通过模块366基于第一通过信号PASSl生成去阻止信号370并且可以基于描述符信号352和/或线路状态信号346生成去阻止信号370。
[0120]参照图10和图14,示出了时间认知阻止整形器380。时间认知阻止整形器380可以替换图10的时间认知阻止整形器296中的任何时间认知阻止整形器。时间认知阻止整形器380阻止对应的队列382 (例如,队列280、282之一)中的数据而向第一复用器302转发和/或从网络设备270传输出A类数据。时间认知阻止整形器380包括逻辑模块384和数据通过模块386。
[0121]逻辑模块384接收第二优先级定时信号388 (被称为阻止最低优先级信号)和第二帧信号PK2。第二优先级定时信号388指示何时不允许传输B类帧和/或非AVB帧。第二帧信号PKT2可以由数据通过模块386生成并且可以指示在队列382中何时存在帧。
[0122]逻辑模块384可以包括如图所示具有非反相输入390和反相输入392的NAND门和/或其他适当逻辑器件。非反相输入可以接收第二帧信号PKT2。反相输入392可以接收第二优先级定时信号388。逻辑模块384生成第二通过信号PASS2。第二通过信号PASS2指示何时允许从队列382向第一复用器302传递B类帧和/或非AVB帧。数据通过模块386基于第二通过信号PASS2生成第二阻止信号394并且可以基于描述符信号352和/或线路状态信号346生成第二阻止信号394。
[0123]参照图10和图15,示出了基于帧大小的阻止整形器400。基于帧大小的阻止整形器400可以替换图10的时间认知阻止整形器296中的任何时间认知阻止整形器。基于帧大小的阻止整形器400可以包括逻辑模块384和具有第二计数器404的数据通过模块402。逻辑模块接收第二优先级定时信号388、第二帧信号PKT2并且生成第二通过信号PASS2。数据通过模块基于在队列382中是否存在帧生成第二帧信号PKT2。数据通过模块402基于第二通过信号PASS2、第二计数器404的第二计数、描述符信号352、全局时钟信号313和/或线路状态信号346生成第二阻止信号406。
[0124]现在参照图10和图15,数据通过模块402基于线路头端巾贞(head-of-line frame)的大小和在下一 A类突发之前剩余的时间允许线路头端帧向第一复用器302传递。线路头端帧是指队列中的将从队列向第一复用器302转发的下一帧。
[0125]可以在下一 A类突发窗之前阻止非A类队列280、282中的任何非A类队列中的数据。例如,非A类队列可以具有在下一 A类突发窗之前准备好传输的线路头端帧(例如,1522字节)。如果不能在A类突发窗开始之前完全传输线路头端帧,则阻止整形器可以阻止(延迟)传输线路头端帧。可以允许向复用器传递具有比(图15的)非A类队列中的帧更少的字节(例如,64字节)的在非A类队列中的另一非A类队列中的帧,因为可以在下一 A类突发窗之前传输更小帧。
[0126]第二计数器404可以在等于预定最大帧大小(例如,1522)的计数值开始计数并且在阻止窗开始时开始递减。第二计数器404可以在对应队列382中的线路头端帧中的字节数目大于第二计数时用来门控断开队列382以免传递帧。可以不阻止具有能够在A类突发窗之前完全传输的线路头端帧的非A类队列。关于图16A-图16E和图17进一步描述这一点。
[0127]在图16A-图16E中,示出了通过网桥410的基于帧大小的数据调度。网桥410可以是图7的网桥158、160之一。网桥410包括具有存储器414的传入模块412、A类队列416,B类队列417、第一非AVB队列418、第二非AVB队列419 (例如,图10的队列")、复用器420 (例如,图10的第一复用器302)和输出端口 422。第一非AVB队列418可以存储管理数据,并且第二非AVB队列419可以存储旧式数据(legacy data)。网桥410可以与图10的网络设备270配置相似。虽然在图16A-图16E中未示出,但是网桥510可以包括在队列416-419中的相应队列与复用器420之间的基于帧大小的阻止整形器(例如,图15的的基于帧大小的阻止整形器400)。
[0128]在图16A中,示出了网桥410在时间、例如减去16 μ s或者在A类突发时段之前的16 μ s的状态。时间h是指A类突发时段的开始时间。B类帧430存储于B类队列417中。管理帧n、m存储于第一非AVB队列418中。旧式帧431存储于第二非AVB队列419中。B类帧430可以由无时间认知阻止整形器门控(或者整形)并且被防止在时间&减去16 μ s传输。作为结果,可以开始从网桥410传输管理帧η。
[0129]在图16Β中,示出了网桥410在时间tQ例如减去3.664 μ s的状态。在这一时间,完成从网桥410传输管理巾贞。3.664 μ s等于16 μ s减去12.336 μ s以用于传输管理巾贞η。在这一时间,B类帧可以准备好传输并且具有用于传输两帧的信用。用于传输300字节B类数据的帧的时间为2.56 μ s (包括20字节前导码和/或IFG时间)。由于有在时间h之前剩余的3.664 μ S,所以允许传输一帧。阻止准备好传输的另一 B类帧。
[0130]在图16C中,示出了网桥410在时间tQ例如减去1.104 μ s的状态。由于在时间tQ之前存在1.104 μ S,所以阻止B类帧430和第二非AVB帧m。旧式帧431可以例如长度为64字节。用于传输包括20字节的前导码和IFG时间的旧式帧431之一的时间为0.672 μ S,这少于1.104 μ S。出于这一原因,允许向复用器420传递旧式巾贞431之一。
[0131]在图16D中,示出了网桥410在时间h例如减去0.432 μ s的状态。由于到tQ剩余的时间少于0.672μ S,所以阻止剩余帧。这允许输出端口 422在h空闲。在图16E中,A类帧到达网桥410并且被允许存储于A类队列416中并且从网桥410传输而无来自存储于其他队列417-419中的帧的干扰。时间认知阻止整形器可以在时间h之后的预定时段之后释放(即不再阻止)B类队列417和非AVB队列418-419。可以释放队列417-419,因为选择器模块298当数据在A类队列416中并且从输出端口 422被传输时防止选择这些队列。出于这一原因,A类帧的突发继续直至没有更多A类帧存储于A类队列416中。可以在腾空A类队列416时传输队列417-419中的帧。
[0132]通过使用时间认知阻止整形器以用于非A类队列417-419中的每个非A类队列从而使得输出端口 422在时间tjA类突发的开始)空闲并且通过考虑非A类队列417-419中的帧的线路头端大小来提供高效时间使用。基于优先级传输可以在时间h之前传输的非A类帧。
[0133]在图17中,示出了定时图450,该定时图相对于A类的分配的时间段图示阻止窗。为了防止干扰A类数据,阻止窗可以用来防止传输具有确定的大小的帧。可以预定或者如以上描述的那样基于在描述符信号(例如,描述符信号352)中提供的描述符确定大小。可以基于阻止窗和线路状态信号执行以上描述的优先级定时信号和/或队列选择。
[0134]在图17中,示出了相对于八个数据块1-8的传输时间的两个阻止窗452、454。第一阻止窗452与最小大小干扰巾贞(例如,256字节)关联。第二阻止窗454与最大干扰大小帧(例如,1500字节)关联。第一阻止窗452包括用于传输最小大小帧的时间MINT (例如,23.84ys)以及用于传输A类帧中的至少七个A类帧和第八A类帧的一部分的时间。第二阻止窗454包括用于传输最大大小巾贞的时间MAXT (例如,123.36 μ s)以及用于传输A类帧中的至少七个A类帧(或者A类帧数目减去一)和第八(或者最后)A类帧的一部分的时间。阻止窗452、454可以未延伸至A类突发时段的结束以最小化从在允许非A类数据通过(不再受阻)时的延迟和在从相应队列向图10的第一复用器302实际地转发非A类数据时的时间。
[0135]每个阻止窗提供对应的裕度时段(例如,Marginmn, Marginsfa)。可以在裕度时段Marginmn(例如,376.36 μ s)期间传输少于或者等于最小大小帧的非A类帧。可以在裕度时段Marginsiax (例如,267.84 μ s)期间传输少于或者等于最大大小帧的非A类帧。这些裕度提供边界,其他流量或者包括最大大小(例如,1522字节)的帧的非A类帧的传输确定可以基于这些边界。
[0136]可以使用许多方法来操作图10的网络设备270,由图18A和图18B的方法提供一种示例方法。在图18A和图18B中,示出了一种数据阻止方法。虽然主要关于图10-图16E的实现方式描述以下任务,但是可以容易地修改任务以适用于本公开内容的其他实现方式。另外,虽然关于某个数目的去阻止整形器、无时间认知阻止整形器、时间认知阻止整形器和帧描述以下任务,但是可以容易地修改该方法以适应不同数目的每项。可以迭代地执行任务。该方法可以在500开始。
[0137]在502处,传入模块272接收帧。可以从主机控制模块、通话器、网桥和/或时间转译器设备接收帧。在504处,传入模块272解析帧。传入模块272可以确定帧是否为A类帧。如果帧为A类帧,则可以执行任务506,否则执行任务534。
[0138]在506处,传出模块274可以确定是否启用捷径模式。如果启用捷径模式,则执行任务508,否则执行任务516。在508处,绕过A类队列278、无时间认知阻止整形器294、去阻止整形器292和第一复用器302,并且生成第二选择信号以从传入模块272选择帧而不是从第一复用器302选择巾贞。向第二复用器312转发A类巾贞。在510处,从传出模块275和/或网络设备270传输A类帧。该方法可以在512处结束。
[0139]在516处,传入模块272将A类帧解析到A类队列278。去阻止整形器360的数据通过模块(例如,数据通过模块366)、传入模块272和/或传出模块274可以生成第一帧信号(例如,PKT1)。第一帧信号指示在A类队列中存在A类帧。
[0140]在518处,传出模块274可以确定是否启用无时间认知阻止。在启用无时间认知阻止时,执行任务520,否则执行任务524。在520处,无时间认知阻止整形器294的第一计数器322可以生成第一计数。可以如关于图11和图12描述的那样生成第一计数。在522处,队列监视模块(例如,队列监视模块324)基于第一计数生成第一阻止信号(例如,第一阻止信号350)。
[0141]在524处,传出模块274可以确定是否启用时间认知去阻止。在启用时间认知去阻止时,执行任务526,否则执行任务554。在526处,定时模块290生成第一优先级定时信号368。第一优先级定时信号368如以上描述的那样指不何时允许向第一复用器302传递A类帧。在528处,时间认知去阻止整形器360的逻辑模块364基于第一优先级定时信号368生成第一通过信号PASSl。在532处,数据通过模块366基于第一通过信号PASSl生成去阻止信号370。
[0142]在534处,传入模块372向非A类队列280、282中的相应非A类队列解析非A类帧。时间认知阻止整形器296的数据通过模块(例如,数据通过模块380、400)可以生成指示在非A类队列280、282中的对应的非A类队列中存在帧的相应帧信号。这可以包括如关于图14描述的那样生成第二帧信号PKT2。
[0143]在536处,传出模块274可以确定帧是否为B类帧。在帧为B类帧时,执行任务538,否则执行任务544。可以未实际地执行任务536。可以基于在B类队列中是否存在B类帧执行任务538和544。
[0144]在538处,传出模块274可以确定是否启用无时间认知阻止。如果启用无时间认知阻止,则执行任务540,否则执行任务544。在540处,无时间认知阻止整形器生成用于B类帧的第二计数。在542处,无时间认知阻止整形器的队列监视模块基于第二计数生成第
二阻止信号。
[0145]在544处,传出模块274确定是否启用时间认知阻止。在启用时间认知阻止时,执行任务546,否则执行任务554。在546处,定时模块290生成优先级定时信号(例如,第二优先级定时信号388)。优先级定时信号可以指示何时将阻止非A类帧。在548处,时间认知阻止整形器的数据通过模块基于在546处生成的优先级定时信号生成通过信号(例如,第二通过信号PASS2)。
[0146]在550处,时间认知阻止整形器的数据通过模块可以基于描述符信号352生成线路头端帧大小。如果使用多于一个时间认知阻止整形器,则时间认知阻止整形器可以共享单个数据通过模块和/或数据通过模块可以相互通信以基于线路头端帧的优先级级别和大小协调非A类帧的通过。可以在传出模块274和/或时间认知阻止整形器被配置用于监视线路头端非A类帧的大小并且转发如在A类突发之间和/或在下一A类突发之前“相配”那样多的非A类帧时执行任务550。可以转发大小为在下一类突发之前完成传输的B类帧、继而为下一最大大小线路头端帧。可以在其他非A类帧之前传输可以在下一 A类突发之前传输的最大大小线路头端中贞。
[0147]在552处,时间认知阻止整形器可以基于通过信号和/或线路头端帧的对应的优先级级别和/或大小生成第三阻止信号。
[0148]在554处,选择器模块298基于第一阻止信号、去阻止信号、第二阻止信号和/或第三阻止信号生成第一选择信号。在556,第一复用器302基于第一选择信号从队列n中的选择的队列传输帧。生成第二选择信号以选择从第一复用器302输出的帧而不是从传入模块272选择帧。
[0149]在558处,传出模块278可以确定在队列〃中是否存在附加帧。如果在队列g中没有附加帧,则该方法可以在560处结束,否则可以执行任务562。在562处,传出模块274可以确定剩余帧是否为A类帧。如果剩余帧为A类帧,则可以执行任务512,否则可以执行任务564。在564处,如果剩余帧为B类帧,则可以执行任务538,否则可以执行任务544。
[0150]以上描述的任务意味着例示性示例;可以依次地、同步地、同时地、连续地、在重叠时间段期间或者按照视应用而定的不同顺序执行任务。也可以根据事件的实施和/或序列不执行或者略过任务中的任何任务。
[0151]以上公开的技术包括被工程化、管理和控制用于最小化在网络的端站之间的延时的非任意网络。通过使用以上描述的实现方式,非任意网络可以满足少于或者等于100 μ s的FE AVB第2代跳跃延时要求。延时等于通话器的传输时间加上与四个网桥关联的处理延迟时间。作为示例,用于传输控制帧的时间可以对于包括128字节的控制数据和22字节开销而无干扰帧的150字节为12.0 μ S。四个网桥之一的处理延迟时间可以例如是
22.0 μ S,这包括12 μ s传输时间和网桥延迟的近似两个512比特时间或者10.0 μ S。总延时为100.0 μ S,这包括传输时间12.0μ s和网桥处理延迟时间88.0μ s(22.0μ s*4)
[0152]这里描述的装置和方法可以由一个或者多个处理器执行的一个或者多个计算机程序实施。计算机程序包括存储于非瞬态有形计算机可读介质上的处理器可执行指令。计算机程序也可以包括存储的数据。非瞬态有形计算机可读介质的非限制示例为非易失性存储器、磁存储装置和光存储装置。
【权利要求】
1.一种网络设备,包括: 包括多个队列的存储器,所述多个队列包括第一队列和第二队列; 定时模块,被配置用于生成第一优先级定时信号或者第二优先级定时信号中的至少一个优先级定时信号,其中基于时钟信号生成所述第一优先级定时信号和所述第二优先级定时信号,并且其中在所述网络设备与非任意网络中的其他网络设备之间共享所述时钟信号; 以下整形器中的至少一个整形器: 去阻止整形器,被配置用于(i)从所述第一队列转发第一受保护数据,以及(ii)基于第一帧信号和所述第一优先级定时信号生成去阻止信号,其中所述第一帧信号指示第一帧在所述第一队列中;或者 阻止整形器,被配置用于(i)从所述第二队列转发第二受保护数据和无保护数据之一,以及(ii)基于第二帧信号和所述第二优先级定时信号生成第一阻止信号,其中所述第二帧信号指示第二帧在所述第二队列中;以及 选择器模块,被配置用于基于所述去阻止信号和所述第一阻止信号生成选择信号以选择所述第一帧或者所述第二帧。
2.根据权利要求1所述的网络设备,其中在第二网络设备处基于时钟生成所述时钟信号,并且其中所述网络设备从所述第二网络设备接收所述时钟信号。
3.根据权利要求1所述的网络设备,其中所述定时模块被配置用于生成所述第一优先级定时信号和所述第二优先级定时信号,从而使得在所述第一队列中存储的所述第一受保护数据具有(i)在周期性传输时间间隔中的指派的预定带宽,以及(ii)预定最大延时。`
4.根据权利要求1所述的网络设备,还包括: 复用器,被配置用于基于所述选择信号输出所述第一帧和所述第二帧中的一帧;以及 传出模块,被配置用于从所述网络设备向第二网络设备输出所述第一帧和所述第二帧中的所述一帧。
5.根据权利要求1所述的网络设备,还包括:复用器,被配置用于基于所述选择信号从所述多个队列转发所述第一帧和所述第二帧, 其中所述选择器模块被配置用于基于所述去阻止信号和所述第一阻止信号生成所述选择信号。
6.根据权利要求1所述的网络设备,其中所述去阻止整形器包括: 逻辑模块,被配置用于基于所述第一帧信号和所述第一优先级定时信号生成通过信号;以及 数据通过模块,被配置用于(i)基于所述通过信号转发所述第一帧,以及(ii)基于所述通过信号生成所述去阻止信号。
7.根据权利要求6所述的网络设备,其中所述数据通过模块被配置用于基于所述通过信号和所述第一帧的大小生成所述去阻止信号。
8.根据权利要求1所述的网络设备,其中所述定时模块被配置用于(i)确定周期性传输时间间隔内的用于传输所述第一帧的分配的时段,(?)基于所述时钟信号和所述分配的时段确定所述第一帧将被传输的开始时间,以及(iii)基于所述开始时间生成所述第一优先级定时信号。
9.根据权利要求1所述的网络设备,其中所述阻止整形器包括: 逻辑模块,被配置用于基于所述第二帧信号和所述第二优先级定时信号生成第二通过信号;以及 数据通过模块,被配置用于(i)基于所述通过信号转发所述第二帧,以及(ii)基于所述通过信号生成所述第一阻止信号。
10.根据权利要求9所述的网络设备,其中所述数据通过模块被配置用于基于所述通过信号和所述第二帧的大小生成所述第一阻止信号。
11.根据权利要求1所述的网络设备,其中所述定时模块被配置用于(i)确定周期性传输时间间隔内的用于传输所述第一帧的分配的时段,(?)基于所述时钟信号和所述分配的时段确定所述第一帧将被传输的开始时间,以及(iii)基于所述开始时间生成所述第二优先级定时信号以阻止向复用器转发所述第二帧。
12.根据权利要求1所述的网络设备,其中所述定时模块被配置用于(i)确定周期性传输时间间隔内的用于传输所述第二帧的分配的时段,(?)基于所述时钟信号和所述分配的时段确定所述第二帧将被传输的开始时间,以及(iii)基于所述开始时间生成所述第二优先级定时信号。
13.根据权利要求1所述的网络设备,还包括传出模块,所述传出模块包括: 所述去阻止整形器;以及 所述阻止整形器, 其中所述选择器模块被配置用 于基于所述去阻止信号和所述第一阻止信号生成所述选择信号。
14.根据权利要求1所述的网络设备,还包括独立于所述时钟信号操作的第二阻止整形器,其中: 所述第二阻止整形器被配置用于(i)从所述第一队列向所述去阻止整形器转发所述受保护数据,或者(ii)从所述第二队列向所述阻止整形器转发所述未保护数据; 所述第二阻止整形器被配置用于基于计数器生成第二阻止信号,其中所述计数器对与所述第一帧和所述第二帧中的一帧关联的信用计数;以及 所述选择器模块被配置用于基于所述计数器的计数生成所述选择信号。
15.根据权利要求1所述的网络设备,还包括: 传出模块,包括: 所述去阻止整形器,以及 所述阻止整形器;以及 激活模块,被配置用于(i)当在通话器模式中操作时启用所述去阻止整形器,以及(?)当在网桥模式中操作时启用阻止整形器。
16.根据权利要求15所述的网络设备,其中所述激活模块被配置用于(i)当在所述网桥模式中操作时停用所述去阻止整形器,以及(ii)当在所述通话器模式中操作时停用所述阻止整形器。
17.根据权利要求1所述的网络设备,还包括传出模块,所述传出模块包括: 所述阻止整形器;以及 第二阻止整形器,被配置用于(i)从所述多个队列中的第三队列转发第三受保护数据和第二无保护数据之一,以及(ii)基于第三帧信号和所述第二优先级定时信号生成第二阻止信号,其中所述第三帧信号指示第三帧在所述多个队列中的所述第三队列中。
18.根据权利要求1所述的网络设备,还包括传出模块,所述传出模块包括: 所述阻止整形器;以及 第二阻止整形器,被配置用于(i)从所述多个队列中的第三队列转发第三受保护数据和第二无保护数据之一,以及(ii)基于第三帧信号和第三优先级定时信号生成第二阻止信号,其中所述第三帧信号指示第三帧在所述多个队列中的所述第三队列中, 其中所述定时模块被配置用于生成所述第三优先级定时信号。
19.根据权利要求1所述的网络设备,还包括: 传出模块,包括: 所述去阻止整形器和所述阻止整形器之一,以及 第二阻止整形器,被配置用于(i)从所述第一队列向所述去阻止整形器转发所述受保护数据,或者(ii)从所述第二队列向所述阻止整形器转发所述无保护数据;以及 激活模块,被配置用于基于操作模式启用所述第二阻止整形器。
20.根据权利要求19所述的网络设备,其中所述激活模块被配置用于基于所述网络设备是否在通话器模式、网桥模式或者时间转译器模式中操作而启用所述第二阻止整形器。
21.根据权利要求1所述的网络设备,还包括: 第一复用器,被配置用于基于所述选择信号从所述多个队列选择数据;以及 第二复用器,被配置用于基于所述第二复用器的输出,从(i)所述第一复用器的输出和(ii)传入模块的输出选择。
22.根据权利要求21所述的网络设备,还包括被配置用于从主机控制模块、通话器和网桥之一接收数据的所述传入模块,其中所述传入模块被配置用于确定是否(i)将接收的所述数据解析到所述多个队列中的相应队列中,或者(ii)向所述第二复用器转发接收的所述数据,包括绕过所述多个队列。
【文档编号】H04L12/815GK103493447SQ201280019628
【公开日】2014年1月1日 申请日期:2012年3月8日 优先权日:2011年3月10日
【发明者】D·潘内尔 申请人:马维尔国际贸易有限公司