一种收发串行申请装置及其方法

文档序号:7966766阅读:231来源:国知局
专利名称:一种收发串行申请装置及其方法
技术领域
本发明涉及通信信息交换技术,特别是涉及在数据通信中收发装置之间的 一种可靠的收发串行申请的装置和方法。
背景技术
随着网络应用日益广泛,对数据传输速度要求也越来越高。为了提高传输 速度,在系统设计的时候,数据总线通常采用单向传输方法,即发送数据总线 和接收数据总线分别使用不同的总线。采用单向传输的情况下,为了保证数据 接收装置能接收所有发送过来的数据,数据发送装置需要知道数据接收装置的 状态信息,从而决定是否允许发送数据帧给数据接收装置。目前获得数据接收 装置的状态信息方法主要有两种,一是数据接收装置通过专用的状态总线和时 钟总线,将自己的状态信息传递给数据发送装置,这种方法的优点是使用了源 时钟同步的方法,信息能得到可靠的传递,同时能支持多通道数据传输;另一 种方法是通过一根信号线来传递数据接收装置的状态信息,这种方法的优点是 利用很少的信号线传递状态信息,大大减少了系统资源和成本。后一种方法又 可以分两种, 一是Ready (准备好)模式,用高低电平来表示数据接收装置的 状态信息,这种方法非常可靠,但缺点是只适合单通道数据传输;另一种方法 是R叫uest (申请)模式,该模式是利用发送数据时钟将数据接收装置的各通道状态信息以串行数据方式发送给数据发送装置,该方法的优点在于能以单 个信号线发送多个通道的状态信息,由于这种模式使用的信号线少,功能强大,所以被越来越多的应用到各种数据通信中。采用Request模式的数据传输系统框图如图1所示,系统主要由数据发送 装置102、数据接收装置101、数据总线(D[n:O])、时钟(Clock)信号和申 请(R叫uest)信号组成。目前发送申请的方法是数据接收装置101根据各通 道存储器的状态来确定每个通道能发送多少个申请给数据发送装置102。由于 这种方法没有反馈机制,所以总是假定所有数据接收装置101发送的申请都能
被数据发送装置102正确接收。如果由于外界影响使某个申请没能正确接收而 被丢弃,那么系统不能发现这个错误,数据接收装置101也就不能通过重新发 送来纠正这个错误;当多个错误发生后,数据发送装置102会因为没有申请而 不能发送数据,而数据接收装置101会认为数据发送装置102有足够的申请而 没有数据发送;由此造成系统数据传输中断,表现为网络中断,对用户造成不 可估量的损失。发明内容本发明所要解决的技术问题在于提供一种收发串行申请装置及其方法,用 于解决现有技术中收发串行申请不能克服外界环境干扰,导致申请丢失进而导 致数据传输中断的问题和缺陷。为了实现上述目的,本发明提供了--种收发串行申请装置,包括数据发送 装置、数据接收装置,其特征在于,所述数据发送装置又包括一通道申请配置模块,用于配置每个通道允许接收的最大申请数;-接收申请管理模块,用于根据所述最大申请数和接收的通道号维护一管 理每个通道当前申请数的计数器组,并根据所述最大申请数确定是否允许接收 申请,根据所述当前申请数确定是否允许发送数据帧;一解串器,用于接收申请并将通道号传送至所述接收申请管理模块;及一数据发送模块,用于根据通道队列的数据帧情况和所述接收申请管理模 块返回的数据帧标志确定是否发送数据帧;所述数据接收装置又包括一通道阈值配置模块,用于配置每个通道允许发送申请的最小空闲存储空间;一发送申请管理模块,用于通过査询每个通道的先进先出队列状态和所述 最小空闲存储空间确定是否允许发送申请;-串行器,用于接收所述发送申请管理模块的发送指令和通道号,并按串 行申请协议发送申请;及一数据接收模块,用于管理每个通道的先进先出队列,接收所述数据发送 模块发送的数据帧并按通道存储。所述的收发串行申请装置,其中,所述每个通道允许接收的最大申请数由 所述数据发送装置配置;所述每个通道允许发送申请的最小空闲存储空间由所 述数据接收装置配置。为了实现上述目的,本发明提供了 -种利用所述装置实现收发串行申请的 方法,其特征在于,包括步骤一,发送申请管理模块査询数据接收模块和通道阈值配置模块,获得 允许发送申请的通道号,并将所述通道号与发送申请命令发送给串行器;歩骤二,所述串行器接收所述通道号和所述发送申请命令,并将所述通道 号对应的申请按串行申请协议发送至解串器;步骤三,所述解串器接收所述通道号并发送至接收申请管理模块;及步骤四,所述接收申请管理模块接收所述通道号,并通过査询计数器组获 得所述通道号对应通道的当前申请数,通过査询通道申请配置模块获得最大申 请数;再根据所述当前申请数、所述最大申请数维护所述计数器组,并根据所 述最大申请数确定是否允许接收申请及根据所述当前申请数确定是否允许所 述数据发送模块发送数据。所述的收发串行申请方法,其中,所述步骤二具体为所述串行器接收所 述通道号和所述发送申请命令,发送两个比特位的起始标志,并将所述通道号 按低位先发送和每个比特连续发送方式发送申请;所述串行器在完成所述申请 发送后进入空闲状态,等待下一次发送申请命令。所述的收发串行申请方法,其中,所述步骤二中,还包括一通过由所述发 送申请管理模块比较所述数据接收模块的当前空闲存储空间值与所述通道阈 值配置模块的最小存储空间值判断是否允许所述串行器发送申请的步骤,若所 述当前空闲存储空间值大于或等于所述最小存储空间值时,则允许所述串行器 发送申请,否则,不允许所述串行器发送申请。所述的收发串行申请方法,其中,所述步骤三中,还包括由所述解串器通 过检测所述起始标志检测所述申请信号的状态的步骤;若所述申请信号的状态 由低电平变为高电平,进一歩判断所述解串器是否收到一正确的起始标志,否 则,所述解串器继续检测所述申请信号的状态。所述的收发串行申请方法,其中,由所述解串器连接检测所述申请信号的 两个时钟周期,若在所述两个时钟周期内所述申请信号都处于高电平,则所述 解串器收到正确的起始标志。
所述的收发串行申请方法,其中,所述步骤三中,还包括当所述解串器收 到正确的起始标志后继续接收所述通道号,并对所述通道号的每个比特位连续 两次接收并判断两次接收到的比特位是否相同的步骤,若相同,则该比特位被正确接收;否则,则所述解串器接收所述通道号有误,设置接收错误标志位。 所述的收发串行申请方法,其中,所述步骤三中,还包括由所述解串器根据所述接收错误标志位判断接收的通道号是否正确的步骤,若正确,则所述解串器传送该通道号给所述接收申请管理模块;否则,所述解串器丢弃该通道号。 所述的收发串行申请方法,其中,所述步骤四中,还包括一判断是否允许增加所述当前申请数的步骤,若所述当前申请数小于所述最大申请数,则允许所述当前申请数加l,否则,保持所述当前申请数不变。所述的收发串行申请方法,其中,所述步骤四中,还包括一判断是否允许所述数据发送模块发送数据帧的步骤,若所述当前申请数大于零,则所述接收 申请管理模块向所述数据发送模块返回一允许发送数据帧标志,允许发送数据帧;否则,所述接收申请管理模块向所述数据发送模块返回一不允许发送数据 帧标志,不允许发送数据帧。 本发明的有益效果在于采用本发明所述方法和装置,与现有技术相比,取得了容忍系统出现偶然 传输错误的技术进步,达到了系统抗电子干扰的效果,提高了系统可靠性等等。 以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为现有的收发串行申请系统示意图; 图2为本发明的收发串行申请装置示意图; 图3为本发明的串行申请协议(支持16通道)示意图-, 图4为本发明的收发串行申请流程示意图。
具体实施方式
下面结合附图对可靠的收发串行申请技术方案的实施作进一步的详细描述。
请参阅图2所示,为本发明的收发串行申请装置示意图。该申请装置包括 数据发送装置102、数据接收装置101;数据接收装置101的硬件模块部分又包括通道阈值配置模块201、发送申请管理模块203、串行器204及数据接 收模块207;数据发送装置102的硬件模块部分又包括:通道申请配置模块202、 解串器205、接收申请管理模块206及数据发送模块208。通道阈值配置模块201,用于配置/存储每个通道允许向数据发送装置102 发送申请的最小存储空间值、(其中K为最小存储空间值,单位为byte, n 为通道号,n取值范围为O到N-l, N为系统支持的最大通道数),i^由系统 配置。K的取值与通道最大申请数C和系统能发送的最大数据帧长度L (单位 取byte)有关,关系式如下《"=(C +1)*£ (1)通道申请配置模块202,用于配置/存储每个通道能从数据接收装置101 接收到的最大申请数C"(其中n为通道号,n取值范围为O到N-l, N为系统 支持的最大通道数),Q由系统配置。发送申请管理模块203,用于査询数据接收模块207中每个通道的FIFO (First-InFirst-Out,先进先出)队列状态和通道阈值配置模块201中各通道的 允许发送申请的阈值,决定是否允许发送申请。发送申请管理模块203维护一 个通道号索引值,索引值为通道号n,并根据n值査询数据接收模块207和通 道阈值配置模块201。发送申请管理模块203比较数据接收模块207返回的当 前空闲存储空间值、和通道阈值配置模块201返回的最小存储空间值&,根 据比较结果决定后续操作。如果、大于或者等于&,允许发送申请,那么发 送申请管理模块203向串行器204发出启动发送申请命令,并将n值传给串行 器204,然后继续査询下一通道状态;否则直接查询下一通道状态。查询下一 通道通过n值加l实现,如果n等于N-l,则n清零。串行器204,用于接收发送申请管理模块203的发送指令,将申请按串行 申请协议发送出去(如图3所示)。串行器204接收到发送申请管理模块203 传过来的发送申请命令后,首先发送两个比特(bit)位的起始标志,然后将通 道号n按低位先发送和每个比特连续发送两次的原则串行发送出去,完成一次 发送操作后,串行器204进入空闲状态,等待下一次发送命令。解串器205,用于检测起始标志,当检测到一个申请传输开始后,将整个
申请接收下来,从R叫uest信号线获得通道号并传给接收申请管理模块206。 解串器205只有检测到Request信号线连续出现两个高电平后,才开始接收通 道号的每个比特位,每个比特位要求连续接收两次。如果某个比特位两次接收 到的电平不相同,则设置接收错误标志位,在整个通道号接收完成后,丢弃该 通道号;如果每个比特位都正确无误的接收下来,则将该通道号n提取出来传 给接收申请管理模块206。接收申请管理模块206,用于维护一个管理每个通道的当前申请数的计数 器组c,接收解串器205传过来的申请号、增加申请数请求,査询通道申请配 置模块202,确定是否允许接收一个申请;同时接受数据发送模块208的査询 请求。当接收申请管理模块206接收到解串器205发送过来的通道号n后,可以通过査询自身维护的当前申请数计数器组c直接获得该通道的当前申请数 c ,同时以n为索引去査询通道申请配置模块202,获得系统配置的最大申请数c;。将返回的c;和^相比较,如果q小于c;,则^加l,否则^保持不变。当接收申请管理模块206接收到数据发送模块208的査询请求后,査询对应通 道号的当前申请数,如果申请数大于零,则向数据发送模块208返回允许发送 数据帧标志,并将当前申请数减l,结束査询;否则向数据发送模块208返回 不允许发送数据帧标志,然后直接结束查询。数据接收模块207,用于管理每个通道的FIFO队列,从数据总线D[n:O] 接收数据发送模块208发过来的数据帧,并将数据帧按通道存储;并从数据帧 头获得通道号,然后将数据帧的有效载荷存入相应的FIFO队列中,同时管理 每个通道的FIFO队列。数据接收模块207响应发送申请管理模块203的查询 请求,返回所査询通道的当前队列空闲存储空间、给发送申请管理模块203。数据发送模块208,用于发送各个通道的数据帧,査询接收申请管理模块 206,如果允许发送数据且有数据等待发送,则发送一个数据帧。数据发送模 块208管理每个通道的数据帧发送队列,当数据发送模块208有某个通道的队 列中有数据帧等待发送时,首先査询接收申请管理模块206该通道是否允许发 送数据帧,如果返回的是允许发送标志,则将该通道的一个数据帧发送出去, 然后继续查询下一个通道是否有数据发送;否则如果返回的是不允许发送标 志,则直接继续査询下一个通道是否有数据发送。请参阅图3所不,为本发明的串行申请协议(支持16通道)示意图。对于本发明使用的串行申请协议说明如下串行申请协议系统由时钟信号Clock和申请信号Request两个信号组成; Clock信号由数据发送装置102驱动,数据接收装置101接收;R叫uest信号由 数据接收装置101驱动,经时钟信号Clock同步,发送给数据发送装置102, R叫uest信号在空闲的时候必须驱动为低电平。串行申请协议数据结构由起始 位/标志和通道号组成,每一个比特位占有两个时钟周期。通道号的长度由系 统支持的通道数决定,如图3所示,4比特长度的通道号可使系统最大支持16 个通道。请参阅图4所示,为本发明的收发串行申请流程示意图。对于本发明的可 靠的收发串行申请的处理步骤如下步骤l,査询通道的存储空间,发送申请管理模块203以通道号n为索引 去查询数据接收模块207,数据接收模块207返回n所对应通道的当前空闲存 储空间值、给发送申请管理模块203。步骤2,査询通道配置的阈值,发送申请管理模块203以通道号n为索引 去査询通道阈值配置模块201 ,通道阈值配置模块201返回n所対应通道的允 许向数据发送装置102发送申请的最小存储空间值i^ 。步骤3,判断是否允许向数据发送装置102发送申请,发送申请管理模块 203根据步骤1返回来的参数、和步骤2返回来的参数&决定是否允许串行器 204向数据发送装置102发送通道号为n的串行申请。如果、大于或等于i^ , 则允许向数据发送装置102发送申请,发送申请管理模块203向串行器204 发送启动发送申请命令,并将通道号n发送给串行器204,执行步骤4;否则 禁止发送该通道的申请,执行步骤5。步骤4,发送串行申请,串行器204接收到发送申请管理模块203传递过 来的发送申请命令和通道号n后,启动发送申请处理程序,首先发送两个比特 (bit)位的起始标志,然后将通道号n按低位先发送和每个比特连续两次发送 的原则串行发送出去,完成一次发送操作后,串行器204进入空闲状态,等待 下一次发送命令。步骤5,査询下一通道,在完成一次串行申请发送后,发送申请管理模块 203修改通道号n值,继续查询下一通道,执行步骤l。步骤6,检测起始标志,解串器205不断检测Request信号的状态,当检 测到R叫uest信号由低电平变为高电平后,执行步骤7,否则继续检测Request 信号的状态。步骤7,判断是否收到一个正确的起始标志,解串器205连续检测Request 信号两个时钟周期,如果在两个时钟周期内,都是检测到高电平,那么认为是 一个正确的起始标志,执行步骤8,否则认为是一个错误的起始标志,执行步步骤8,接收通道号n,解串器205在检测到一个正确的起始标志后,继 续接收通道号。每个比特位都需连续接收两次,并判断两次接收到的值是否一 样,只有两次接收到的值是一样时,才认为该比特位被正确发送和接收,如果 任意-一个比特位接收错误,则认为该申请的通道号n接收有误,并设置接收错 误标志位。当整个通道号n接收完成后,执行步骤9,否则继续接收后续比特 位。步骤9,判断接收到的通道号是否正确,解串器205根据步骤8设置的接 收错误标志位判断当前接收到的通道号n是否正确。如果正确,则将通道号n 传给接收申请管理模块206,执行步骤10,否则,丢弃通道号n,执行步骤13。步骤10,査询通道配置的最大申请数,接收申请管理模块206接收到解 串器205发送过来的通道号ti后,以通道号n为索引去查询通道申请配置模块 202,通道申请配置模块202返回为该通道配置的c;。步骤ll,判断是否允许增加申请数,接收申请管理模块206根据自己维护的申请数^和执行步骤io返回的最大申请数c;来判断是否增加申请数Cn。 如果当前申请数^大于或等于通道配置的最大申请数c;,则不允许再增加当前申请数c",执行步骤13;否则执行步骤12。步骤12,增加通道的申请数,接收申请管理模块206将自己维护的^值 增加1。步骤13,结束一个完整的串行申请接收处理流程,继续等待处理下一个 申请接收处理流程,执行步骤6。本发明提出的一种可靠的收发串行申请的方法及其装置,解决了现有技术 中收发串行申请不能克服外界环境干扰,导致申请丢失,进而导致数据传输中 断的问题和缺陷。与传统的方法相比,本发明方法具有更高的可靠性,具体表 现如下 1) ,首先本发明采用了不断发送申请的方法。这种方法就像Ready模式 一样,只要该通道能接收数据帧,就不断向数据发送装置传达能继续接收数据 帧的信息,所以,即使在发送申请的过程中,某个或者某些申请丢失了,只要 不是所有申请丢失,都能保证数据正确传输。该方法就好像使系统中每个通道 都工作在Ready模式。而传统方法是在假定每个申请都能正确接收的前提下 的,数据接收装置根据系统设置的最大发送的申请数来发送申请,当某个通道 发送的申请数达到最大值后,就不能继续发送,只有等到接收到一个数据帧后, 才能向数据发送装置发送一个申请,即申请和数据帧必须是一一对应的;因此 该方法不能解决当每个申请丢失后,系统自动补发一个申请;当某个通道丢失 的申请数达到最大值时,数据发送装置会因为没有该通道的申请而丢弃所有报 文,而数据接收装置还在那里认为数据发送装置没有数据发送。2) ,本发明方法通过一个允许发送申请的最小空闲空间来保证通道中的 每个数据帧都能被接收,保证FIFO队列不会出现溢出。在设置最小空闲空间 的参数值时,要多留一个数据帧的空间(^=(&+1)*丄),这是因为系统可能 出现在发送某个通道申请的时候,正好该通道正在接收一个数据帧,由于该数 据帧占有的存储空间并没有在发送申请管理模块査询的时候体现出来,因此需 要多留 一个数据帧的空间来防止存储空间溢出。3) ,本发明还有一个灵活之处可以配置数据发送装置中能接收到的每 个通道的最大申请数,这就为系统设计提供了更灵活的手段。而传统的方法所 有通道的最大申请数都是一个固定值,不能按通道控制。4) ,每个比特位发送和接收两次,可以在接收端发现一些传输错误。 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种收发串行申请装置,包括数据发送装置、数据接收装置,其特征在于,所述数据发送装置又包括一通道申请配置模块,用于配置每个通道允许接收的最大申请数;一接收申请管理模块,用于根据所述最大申请数和接收的通道号维护一管理每个通道当前申请数的计数器组,并根据所述最大申请数确定是否允许接收申请,根据所述当前申请数确定是否允许发送数据帧;一解串器,用于接收申请并将通道号传送至所述接收申请管理模块;及一数据发送模块,用于根据通道队列的数据帧情况和所述接收申请管理模块返回的数据帧标志确定是否发送数据帧;所述数据接收装置又包括一通道阈值配置模块,用于配置每个通道允许发送申请的最小空闲存储空间;一发送申请管理模块,用于通过查询每个通道的先进先出队列状态和所述最小空闲存储空间确定是否允许发送申请;一串行器,用于接收所述发送申请管理模块的发送指令和通道号,并按串行申请协议发送申请;及一数据接收模块,用于管理每个通道的先进先出队列,接收所述数据发送模块发送的数据帧并按通道存储。
2、 根据权利要求1所述的收发串行申请装置,其特征在于,所述每个通 道允许接收的最大申请数由所述数据发送装置配置;所述每个通道允许发送申 请的最小空闲存储空间由所述数据接收装置配置。
3、 -"种利用权利要求1或2所述装置实现收发串行申请的方法,其特征 在于,包括步骤一,发送申请管理模块査询数据接收模块和通道阈值配置模块,获得 允许发送申请的通道号,并将所述通道号与发送申请命令发送给串行器;步骤二,所述串行器接收所述通道号和所述发送申请命令,并将所述通道 号对应的申请按串行申请协议发送至解串器;步骤三,所述解串器接收所述通道号并发送至接收申请管理模块;及步骤四,所述接收申请管理模块接收所述通道号,并通过査询计数器组获 得所述通道号对应通道的当前申请数,通过査询通道申请配置模块获得最大申请数;再根据所述当前申请数、所述最大申请数维护所述计数器组,并根据所 述最大申请数确定是否允许接收申请及根据所述当前申请数确定是否允许所 述数据发送模块发送数据。
4、 根据权利要求3所述的收发串行申请方法,其特征在于,所述步骤二具体为所述串行器接收所述通道号和所述发送申请命令,发送两个比特位的 起始标志,并将所述通道号按低位先发送和每个比特连续发送方式发送申请; 所述串行器在完成所述申请发送后进入空闲状态,等待下一次发送申请命令。
5、 根据权利要求3或4所述的收发串行申请方法,其特征在于,所述步 骤二中,还包括一通过由所述发送申请管理模块比较所述数据接收模块的当前 空闲存储空间值与所述通道阈值配置模块的最小存储空间值判断是否允许所 述串行器发送申请的步骤,若所述当前空闲存储空间值大于或等于所述最小存 储空间值时,则允许所述串行器发送申请,否则,不允许所述串行器发送申请。
6、 根据权利要求5所述的收发串行申请方法,其特征在于,所述步骤三中,还包括由所述解串器通过检测所述起始标志检测所述申请信号的状态的步 骤;若所述申请信号的状态由低电平变为高电平,进一步判断所述解串器是否 收到一正确的起始标志,否则,所述解串器继续检测所述申请信号的状态。
7、 根据权利要求6所述的收发串行申请方法,其特征在于,由所述解串 器连接检测所述申请信号的两个时钟周期,若在所述两个时钟周期内所述申请 信号都处于高电平,则所述解串器收到正确的起始标志。
8、 根据权利要求7所述的收发串行申请方法,其特征在于,所述步骤三 中,还包括当所述解串器收到正确的起始标志后继续接收所述通道号,并对所 述通道号的每个比特位连续两次接收并判断两次接收到的比特位是否相同的 步骤,若相同,则该比特位被正确接收;否则,则所述解串器接收所述通道号 有误,设置接收错误标志位。
9、 根据权利要求8所述的收发串行申请方法,其特征在于,所述步骤三 中,还包括由所述解串器根据所述接收错误标志位判断接收的通道号是否正确 的步骤,若正确,则所述解串器传送该通道号给所述接收申请管理模块;否则, 所述解串器丢弃该通道号。
10、 根据权利要求3、 4或9所述的收发串行申请方法,其特征在于,所 述步骤四中,还包括一判断是否允许增加所述当前申请数的步骤,若所述当前 申请数小于所述最大申请数,则允许所述当前申请数加l,否则,保持所述当 前申请数不变。
11、 根据权利要求3、 4或9所述的收发串行申请方法,其特征在于,所 述步骤四中,还包括一判断是否允许所述数据发送模块发送数据帧的步骤,若 所述当前申请数大于零,则所述接收申请管理模块向所述数据发送模块返回--允许发送数据帧标志,允许发送数据帧;否则,所述接收申请管理模块向所述 数据发送模块返回一不允许发送数据帧标志,不允许发送数据帧。
全文摘要
本发明公开了一种收发串行申请装置及其方法,该装置包括数据发送装置、数据接收装置,其特征在于,数据发送装置又包括一通道申请配置模块、一接收申请管理模块、一解串器以及一数据发送模块;数据接收装置又包括一通道阈值配置模块、一发送申请管理模块、一串行器以及一数据接收模块。发送申请管理模块查询数据接收模块和通道阈值配置模块,并将通道号与发送申请命令发送给串行器;串行器将通道号对应的申请按串行申请协议发送至解串器;解串器接收通道号并发送至接收申请管理模块;接收申请管理模块确定是否允许数据发送模块发送数据。采用本发明取得容忍系统出现偶然传输错误的技术进步,达到了系统抗电子干扰的效果,提高了系统可靠性等。
文档编号H04L12/58GK101132377SQ20061011257
公开日2008年2月27日 申请日期2006年8月23日 优先权日2006年8月23日
发明者周广水, 翟红健, 郑斌儒 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1