一种hdlc数据处理的方法和系统的制作方法

文档序号:7898281阅读:213来源:国知局
专利名称:一种hdlc数据处理的方法和系统的制作方法
技术领域
本发明涉及通信技术领域,更具体的说是涉及一种HDLC数据处理的方法和系统。
背景技术
高级数据链路控制(HDLC,High-level Data Link)协议是面向比特的数据链路层 协议,是通信领域中应用最广泛的协议之一,。在HDLC协议规定的通信方式中,所有信息都 是以帧的形式发送的。HDLC的帧格式如图1所示,它包括标志序列(F)、地址字段(A)、控制字段(C)、 信息字段(I)和帧校验字段(FCS)。HDLC中采用“01111110”作为标志序列,称为F标志。 HDLC协议规定所有的帧都必须以F标志开始和结束。接收方可以通过搜索“01111110”来 探知帧的开始和结束,以此建立帧同步。为了确保F标志字段是独一无二的,发送方在发送 信息时采用“0”比特插入技术,即发送方在发送除标志字符外的所有信息时,只要遇到连续 的5个“ 1”,就自动插入一个“0” ;反之,接收方在接收数据时,只要遇到连续的5个“ 1”,就 自动将其后的“0”删掉,恢复原来的数据。基于HDLC协议传输数据时,数据接收方需要对接收的数据进行处理以还原出原 始的数据。接收方对数据进行的处理包括数据预处理和合包操作,其中数据预处理包括 帧标识检测和去插零操作。接收端接收的数据会保存在先进先出存储器(fifo,frst in first out)中,进行数据预处理的时,从fifo中读取若干比特的数据,并进行并串转化,从 该若干比特的数据中首个比特数据与之前接收到的该通道中末尾未去插零的数据组成八 比特数据串,进行连1数检测,以便检测帧标识,并确定是否需进行去插零操作。然后再依 次对当前接收到的若干比特的数据中的后续比特数据逐个进行相同的帧标识检测,以及去 插零操作。最后,进行串并转换后,当预处理后的数据满足合包条件时,进行合包还原为原 始数据包。但由于现有基于HDLC的数据接收方,接收数据进行处理时需要逐个比特的进行 连1检测,完成帧标识检测以及去插零操作,因此每个处理周期只能处理一个比特的数据, 数据处理效率较低。

发明内容
有鉴于此,本发明提供一种HDLC数据处理的方法和系统,能提高HDLC数据处理的效率。为实现上述目的,本发明提供如下技术方案一种HDLC数据处理的方法,包括读取接收的当前八比特数据,统计该当前八比特数据的连一数;参考当前八比特数据所属的通道,提取预先保存的该通道中前一八比特数据及其 状态信息,所述状态信息包括前一八比特数据的从高到低连一数和前一八比特数据的状态 标识信息;依据当前八比特数据、当前八比特数据的连一数和前一八比特数据从高到低的连一数,进行帧标识检测,并根据检测结果标示出状态标识信息;根据前一八比特数据的标识信息和当前八比特数据的状态标识信息,进行五连一 检测,以完成去插零操作;将去插零操作后得到的净荷数据进行合包,以还原成原数据包。优选的,所述前一八比特数据的标识信息包括前一八比特数据的尾包指示信息、 和\或数据状态信息。优选的,所述统计该当前八比特数据的连一数,包括统计当前八比特数据从低到
高的连一数。优选的,所述依据当前八比特数据、当前八比特数据的连一数和前一八比特数据 的从高到低的连一数,进行帧标识检测,并根据检测结果给出状态标识信息,包括依据当前八比特数据、当前八比特数据的从低到高连一数和前一八比特数据的从 高到低的连一数,检测当前八比特数据,以及当前八比特数据和前一八比特数据组成的数 据流中的连一数,如果检测到六连一,则检测到帧头或帧尾,为该帧头或帧尾标示出相应的 尾包信号;如果检测到七个或七个以上的连一数,则检测到帧终止,并为该帧终止标示出相 应的尾包信号和帧终止信号;如果没有检测到六个或六个以上的连一,则确定当前八比特数据为普通数据,并 为当前数据标示出数据信号。优选的,所述根据前一八比特数据的状态标识信息和当前八比特数据的状态标识 信息,进行五连一检测,包括依据前一八比特数据的尾包信号、帧终止信号或数据信号,以及当前数据的尾包 信号、帧终止信号或数据信号,判断当前数据和前一数据是否属于同一数据包,如果是,则 对当前八比特数据和前一八比特数据组成的数据流、以及当前八比特数据进行五连一检 测;如果否,则仅对当前八比特数据进行五连一检测。优选的,所述统计该当前八比特数据的连一数,还包括统计当前八比特数据从高 到低的连一数;所述将去插零操作后得到的净荷数据进行合包,以还原成原数据包之前还包括将当前八比特数据的从高到低的连一数、当前八比特数据的状态标识信息保存到 中间处理状态,以便当处理下一八比特数据时,读取该中间处理状态的信息,进行帧标识检 测和去插零操作。对应本发明的方法,本发明还提供了一种HDLC数据处理的系统,其特征在于,包 括统计单元,用于读取接收的当前八比特数据,统计该当前八比特数据的连一数;信息提取单元,用于参考当前八比特数据所属的通道,提取预先保存的该通道中 前一八比特数据及其状态信息,所述状态信息包括前一八比特数据的从高到低连一数和前 一八比特数据的状态标识信息;帧标识检测单元,用于依据当前八比特数据、当前八比特数据的连一数和前一八 比特数据从高到低的连一数,进行帧标识检测,并根据检测结果标示出状态标识信息;五连一检测单元,用于根据前一八比特数据的标识信息和当前八比特数据的状态标识信息,进行五连一检测,以完成去插零操作;合包单元,用于将去插零操作后得到的净荷数据进行合包,以还原成原数据包。优选的,所述前一八比特数据的标识信息包括前一八比特数据的尾包指示信息、 和\或数据状态信息。优选的,所述统计单元包括第一统计单元,用于统计当前八比特数据从低到高的
连一数。优选的,所述帧标识检测单元具体包括用于依据当前八比特数据、当前八比特数 据的从低到高连一数和前一八比特数据的从高到低的连一数,检测当前八比特数据,以及 当前八比特数据和前一八比特数据组成的数据流中的连一数,如果检测到六连一,则检测 到帧头或帧尾,为该帧头或帧尾标示出相应的尾包信号;如果检测到七个或七个以上的连一数,则检测到帧终止,并为该帧终止标示出相 应的尾包信号和帧终止信号;如果没有检测到六个或六个以上的连一,则确定当前八比特数据为普通数据,并 为当前数据标示出数据信号。优选的,所述五连一检测单元包括五连一检测子单元,用于依据前一八比特数据 的尾包信号、帧终止信号或数据信号,以及当前数据的尾包信号、帧终止信号或数据信号, 判断当前数据和前一数据是否属于同一数据包,如果是,则对当前八比特数据和前一八比 特数据组成的数据流、以及当前八比特数据进行五连一检测;如果否,则仅对当前八比特数 据进行五连一检测。优选的,所述统计单元还包括第二统计单元,用于统计当前数据从高到低的连一 数;所述系统还包括中间状态保存单元,用于将当前八比特数据的从高到低的连一 数、当前八比特数据的状态标识信息保存到中间处理状态,以便当处理下一八比特数据时, 读取该中间处理状态的信息,进行帧标识检测和去插零操作。经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种HDLC数据处 理的方法和系统,该方法不需要对通道内的数据进行串并转换,直接统计读取到的某一通 道八比特数据的连一数,并提取该通道中上一八比特数据的从高到低连一数和状态标识信 息,依据当前八比特数据、当前八比特数据的连一数和前一八比特数据的连一数,进行帧标 识检测,并给出状态标识信息,然后利用当前八比特数据的状态标识信息和前一八比特数 据的状态标识信息进行相应的五连一检测,以便完成去插零操作,并进行后续的合包操作。 由于本发明不需要对通道内的并行8比特数据进行并串转换,直接统计读取的八比特数据 具有的连一数,然后对该八比特数据整体进行帧标识检测和五连一检测,因此每个处理周 期内可以处理八比特的数据量,处理的数据量增加,提高了数据处理的效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。
图1为本发明实施例一种HDLC数据处理的方法的步骤流程图;图2为本发明另一实施例的一种HDLC数据处理的方法的步骤流程图;图3为本发明实施例一种HDLC数据处理的系统的结构框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。参见图1,为本发明实施例一种HDLC数据处理的方法的步骤流程图,该方法包括步骤SlOl 读取接收的当前八比特数据,统计该当前八比特数据的连一数;基于HDLC的数据接收端在数据处理的前端接收多个端口的数据,经过现场可编 程逻辑门阵列(FPGA,Field Programmable Logic_Gate Array)芯片仲裁处理后成为一路 信号。也就是说,接收端通过多个端口接收数据,然后通过FPGA仲裁处理后成为一路,再按 顺序处理每个端口的数据。一般接收端接收的数据会保存在先进先出存储器(fifo,first in first out) 中,再从fifo中读取数据进行处理。现有技术中采用逐个比特的进行连一数检测,造成帧标识检测和五连一检测过程 中工作带宽较小,即,一个处理周期内只能处理一个比特的数据,处理效率较低。为了克服 现有技术中的缺陷,本发明直接统计该当前八比特数据的连一数,以便后续对该当前八比 特数据进行帧标识检测和五连一检测(目的是进行去插零操作)时无需逐个比特的检测。 也就是说,接收到某个通道中的数据为八比特,则只需统计该数据中这八比特数据中的连 一数,以便后续对这八比特数据一次完成帧标识检测和去插零操作。其中,数据都是以“0”、“1”的形式发送和接收的。F帧为“01111110”代表一帧的 开始和结束,在数据的发送中,为了确保F标志字段是独一无二的,发送方在发送信息时采 用“0”比特插入技术,即发送方在发送除标志字符外的所有信息时,只要遇到连续的5个 “1”,就自动插入一个“0”。因此接收当需要判断数据流中的连一数,以判断当前八比特数据 和前一八比特数据相接处,以及当前八比特数据本身的连一数。为了能判断当前八比特数据和前一八比特数据相接处连续为一的比特数据,统计 当前八比特数据的连一数包括统计当前八比特数据从低到高的连一数,即该八比特数据 从低位到高位的连一数。例如当前八比特数据为从高位到低位依次为“11100101”,则该数 据从低到高的连一数为3。为了能为后续接收到的下一八比特数据的检测提供依据,统计当前八比特数据的 连一数还应包括统计当前八比特数据从高到低的连一数。仍以上面的数据“11100101”为 例,该数据从高到低的连一数为1。步骤S102 根据当前八比特数据所属的通道,提取预先保存的该通道中前一八比 特数据及其状态信息,所述状态信息包括前一数据的从高到低连一数和前一八比特数据的 状态标识信息;其中fifo中的数据是由很多数据组合在一起的,里面包括要处理的数据和它对应的通道号等信息。由于每个端口包含多个通道,各个通道之间是通过通道号来区分的, 根据当前接收到的八比特数据的通道号,可以知道当前八比特数据所属的通道,然后依据 该通道号找到预先保存的该通道中前一八比特数据和前一八比特数据相关状态信息。该前 一八比特数据可以保存在中间处理状态中,是前一八比特数据进行去插零操作前的相关信 息。其中前一八比特数据的状态信息包括前一八比特数据从高到低的连一数和前一八比 特数据的状态标识信息。其中,状态标识信息是用于表明某八比特数据为帧头、帧尾、帧终止或仅仅为普通 的八比特数据的信息。状态标识信息可以包括尾包信号、帧终止信号、和/或数据信号。例 如,当某八比特数据流中存在6个连1的比特数据,则表明检测到帧头或帧尾,则需要标示 出尾包信号(laSt_packet_Sign);当某八比特数据流中存在7个或7个以上连1的比特数 据,则检测到帧终止,则标示出尾包信号(laSt_packet_Sign)和帧终止信号(status_reg =1)。如果某八比特数据流既不是帧头(帧尾)又不是帧终止,则该八比特数据流为普通 数据字段,标示出数据信号。也就是说,根据前一八比特数据的标识信息可以判断出前一八 比特数据为帧头(帧尾)、帧终止或普通数据字段。步骤S103 依据当前八比特数据、当前八比特数据的连一数和前一八比特数据从 高到低的连一数,进行帧标识检测,并根据检测结果标出状态标识信息;其中,帧标识检测为检测多个比特数据组成的数据流中连续为一的比特数目,根 据该连续为一的比特数目,判断数据流中是否存在帧头、帧尾或帧终止。具体的检测过程为检测当前八比特数据本身的连一数,并依据当前八比特数据 的从低到高连一数和前一八比特数据的从高到低的连一数,确定当前八比特数据和前一八 比特数据组成的数据流中的连一数,判断所述数据流中和当前八比特数据中是否存在六连 一,如果是,则检测到帧头或帧尾,为该帧头或帧尾标示出相应的尾包信号;如果否,则判断 是否检测到七个或七个以上的连一数,如果是,则检测到帧终止,并为该帧终止标示出相应 的尾包信号和帧终止信号;如果否,则确定当前八比特数据为普通数据,并为当前数据标示 出数据信号。也就是说,进行帧标识检测时,需要检测当前八比特数据,以及当前八比特数据和 前一八比特数据组成的数据流中的连一数,判断当前八比特数据是否为帧头、帧尾或帧终 止,并判断当前八比特数据和前一八比特数据组成的数据流中是否存在帧头、帧尾或帧终 止。其中需要对当前八比特数据和前一8比特数据组成的数据流进行帧标识检测的原因 为由于基于HDLC协议发送数据时,为了确保F标志字段是独一无二的,发送信息时采用 “0”比特插入技术,即发送方在发送除标志字符外的所有信息时,只要遇到连续的5个“1”, 就自动插入一个“0”,这样接收到的八比特数据可能不会是一个完整帧头、帧尾或帧终止, 因此需要检测当前接收的八比特数据和前一八比特数据组成的数据流中是否存在帧头、帧 尾或帧终止。例如,当前接收的八比特数据从高位到低位依次为“11100010”,前一八比特数据 从高位到低位依次为“01100111”,则当前八比特数据中从低到高的连一数位为3,前一八 比特数据从高到低的连一数为3,则可知道当前8比特数据和前一八比特数据组成的数据 流中存在6连1,则检测到帧头或帧尾。并为该帧头或帧尾标示出尾包信号。又如,当前八比特数据为“01111110”,前一八比特数据为“01100111”,当前数据从低到高的连一数位0,前一八比特数据从高到低的连一数为3,当前八比特数据存在6连 1,当前八比特数据位帧头或帧尾。步骤S104 依据前一八比特数据的标识信息和当前八比特数据的状态标识信息, 进行五连一检测,以完成去插零操作;由于基于HDLC协议的数据发送方会在除帧标识以外的五连一数据后插零,因此 数据接收方应检测接收的数据中的五连一数据,并将五连一后的零去除,来恢复原来的数 据。其中,分析前一八比特数据和当前八比特数据标示的状态标识信息,是为了判断 当前八比特数据和前一八比特数据是否属于同一数据包,如果是,则检测当前八比特数据 和前一八比特数据相接处是否存在五连一,以及当前八比特数据的五连一;如果否,则仅检 测当前八比特数据中是否存在五连一。判断是否需要对当前八比特数据和前一八比特数据相接处进行五连一检测,可以 为,根据前一八比特数据中的尾包信号或数据状态信息,以及当前八比特数据的尾包信号 或数据状态信息,判断当前数据和前一数据是否为同一数据包,如果是,则检测当前数据和 前一数据相连处的五连一数。其中,当前八比特数据和前一八比特数据相接处,是指前一八 比特数据从高位到低位与当前八比特数据的高位的数据流接连处。如,当前八比特数据从 高位到低位为“11011110”,前一八比特数据从高位到低位为“01100111”则二者相接处有 五个连一的比特数据。例如,如果当前八比特数据为数据数据状态,则当前八数据和前一八比特数据为 同一个数据包,需要检测当前八比特数据和前一八比特数据相接处的五连一;如果当前八 比特数据的尾包信号和前一数据的尾包信号都为零,则当前八数据和前一八比特数据为同 一个数据包,需要检测当前八比特数据和前一八比特数据相接处的五连一;如前一八比特 数据的尾包信号为1,当前一八比特数据的尾包信号为0或1,则当前八数据和前一八比特 数据不属于同一个数据包,则只需检测当前八比特数据的五连一。当然还可以通过其他方 法判断当前八比特数据和前一八比特数据是否为同一数据包,在此不一一列举。步骤S105 将去插零操作后得到的净荷数据进行合包,并以包为单位进行校验, 以还原成原数据。接收方对接收到的数据进行帧标识检测、以及去插零后,得到的数据为净荷数据, 由于进行去插零后的净荷数据可能不足8比特数据,因此需要等到基于该通道的数据,组 合为8比特的数据模块后,在进行后续的基于该通道内的数据进行合包操作。其中在步骤S105将去插零操作后得到的净荷数据进行合包,以还原成原数据包 之前还包括将当前八比特数据的从高到低连一数、当前八比特数据的状态标识信息保存 到中间处理状态,以便当处理下一八比特数据时,读取该中间处理状态的信息,进行帧标识 检测和去插零操作。在对数据合包后还需要以包为单位校验FCS (frame check sequence帧校验序列 字段)。HDLC采用16位循环冗余校验码CRC-16 (Cyclic Redundancy Code),其生成多项式 为CCITT多项式X~16+X~12+X~5+l,标志位和按透明规则插入的所有“0”不在校验的范围 内。中间处理状态中保存着相对于需要进行帧标识检测的八比特数据之前的八比特数据的信息,如,前一八比特数据的从高到低的连一数,前一八比特数据的状态信息。当然 还可以根据需要保存前一八比特数据的其他信息。另外,当当前八比特数据的相关信息还未保存到中间处理状态时,读取到该通道 的下一八比特数据时,需要将新读取到的八比特数据寄存,以便完成所述当前八比特数据 的相关信息的保存后在进行处理下一八比特数据。为能清楚的描述本发明的处理HDLC数据的步骤,参见图2,为本发明另一实施例 一种HDLC数据处理的方法的步骤流程图,该方法包括步骤S201 读取接收到的当前八比特数据,统计该当前八比特数据的从高到低的 和从低到高的连续为一的比特数;步骤S202 根据当前八比特数据的通道号,判断当前八比特数据所属的通道,提 取中间处理状态中预先保存的该通道中前一八比特数据及其状态信息,所述状态信息包括 前一数据的从高到低连一数和前一八比特数据的状态标识信息;步骤S203 依据当前八比特数据、当前八比特数据的从高到低的连一数和前一八 比特数据从高到低的连一数,进行帧标识检测,并根据检测结果标出状态标识信息;步骤S204 依据前一八比特数据的标识信息和当前八比特数据的状态标识信息, 判断当前八比特数据和前一八比特数据是否为同一包的数据,如果是,则对前一八比特数 据和当前八比特数据相接处,以及当前八比特数据进行五连一检测;如果否则仅对当前八 比特数据进行五连一检测;步骤S205 将当前八比特数据从高到低的连一数,以及当前八比特数据的状态标 识信息存入中间处理状态中,以便进行下一八比特数据处理时提取;步骤S206 对进行五连一检测后的当前八比特数据进行去插零操作;步骤S207 将去插零操作后得到的净荷数据进行合包,以还原成原数据包。对应本发明的方法,本发明还提供了一种HDLC数据处理的系统,参见图3为本发 明实施例的一种HDLC数据处理的系统的结构框图,该系统包括统计单元301,用于读取接收的当前八比特数据,统计该当前八比特数据的连一 数;信息提取单元302,用于参考当前八比特数据所属的通道,提取预先保存的该通道 中前一八比特数据及其状态信息,所述状态信息包括前一八比特数据的从高到低连一数和 前一八比特数据的状态标识信息;帧标识检测单元303,用于依据当前八比特数据、当前八比特数据的连一数和前 一八比特数据从高到低的连一数,进行帧标识检测,并根据检测结果标示出状态标识信 息;五连一检测单元304,用于根据前一八比特数据的标识信息和当前八比特数据的 状态标识信息,进行五连一检测,以完成去插零操作;合包单元305,用于将去插零操作后得到的净荷数据进行合包,以还原成原数据 包。其中,信息提取单元302提取的所述前一八比特数据的标识信息包括前一八比 特数据的尾包指示信息、和\或数据状态信息。为了能判断当前八比特数据和前一八比特数据相接处连续为一的比特数据,所述
10统计单元包括第一统计单元,用于统计当前八比特数据从低到高的连一数。对应第一统计单元,所述帧标识检测单元具体包括用于依据当前八比特数据、当前八比特数据的从低到高连一数和前一八比特数据 的从高到低的连一数,检测当前八比特数据,以及当前八比特数据和前一八比特数据组成 的数据流中的连一数,如果检测到六连一,则检测到帧头或帧尾,为该帧头或帧尾标示出相 应的尾包信号;如果检测到七个或七个以上的连一数,则检测到帧终止,并为该帧终止标示出相 应的尾包信号和帧终止信号;如果没有检测到六个或六个以上的连一,则确定当前八比特数据为普通数据,并 为当前数据标示出数据信号。进一步的,所述五连一检测单元包括五连一检测子单元,用于依据前一八比特 数据的尾包信号、帧终止信号或数据信号,以及当前数据的尾包信号、帧终止信号或数据信 号,判断当前数据和前一数据是否属于同一数据包,如果是,则对当前八比特数据和前一八 比特数据组成的数据流、以及当前八比特数据进行五连一检测;如果否,则仅对当前八比特 数据进行五连一检测。为了能为后续接收到的下一八比特数据的检测提供依据,所述统计单元还包括第二统计单元,用于统计当前八比特数据从高到低的连一数;同时,本发明的系统还包括中间状态保存单元,用于将当前八比特数据的从高到 低的连一数、当前八比特数据的状态标识信息保存到中间处理状态,以便当处理下一八比 特数据时,读取该中间处理状态的信息,进行帧标识检测和去插零操作。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说 明即可。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
权利要求
1.一种HDLC数据处理的方法,其特征在于,包括读取接收的当前八比特数据,统计该当前八比特数据的连一数;参考当前八比特数据所属的通道,提取预先保存的该通道中前一八比特数据及其状态 信息,所述状态信息包括前一八比特数据的从高到低连一数和前一八比特数据的状态标识 fn息;依据当前八比特数据、当前八比特数据的连一数和前一八比特数据从高到低的连一 数,进行帧标识检测,并根据检测结果标示出状态标识信息;根据前一八比特数据的标识信息和当前八比特数据的状态标识信息,进行五连一检 测,以完成去插零操作;将去插零操作后得到的净荷数据进行合包,以还原成原数据包。
2.根据权利要求1所述的方法,其特征在于,所述前一八比特数据的标识信息包括前一八比特数据的尾包指示信息、和\或数据状态信息。
3.根据权利要求1所述的方法,其特征在于,所述统计该当前八比特数据的连一数,包括统计当前八比特数据从低到高的连一数。
4.根据权利要求3所述的方法,其特征在于,所述依据当前八比特数据、当前八比特数 据的连一数和前一八比特数据的从高到低的连一数,进行帧标识检测,并根据检测结果给 出状态标识信息,包括依据当前八比特数据、当前八比特数据的从低到高连一数和前一八比特数据的从高到 低的连一数,检测当前八比特数据,以及当前八比特数据和前一八比特数据组成的数据流 中的连一数,如果检测到六连一,则检测到帧头或帧尾,为该帧头或帧尾标示出相应的尾包 信号;如果检测到七个或七个以上的连一数,则检测到帧终止,并为该帧终止标示出相应的 尾包信号和帧终止信号;如果没有检测到六个或六个以上的连一,则确定当前八比特数据为普通数据,并为当 前数据标示出数据信号。
5.根据权利要求4所述的方法,其特征在于,所述根据前一八比特数据的状态标识信 息和当前八比特数据的状态标识信息,进行五连一检测,包括依据前一八比特数据的尾包信号、帧终止信号或数据信号,以及当前八比特数据的尾 包信号、帧终止信号或数据信号,判断当前八比特数据和前一八比特数据是否属于同一数 据包,如果是,则对当前八比特数据和前一八比特数据组成的数据流、以及当前八比特数据 进行五连一检测;如果否,则仅对当前八比特数据进行五连一检测。
6.根据权利要求1所述的方法,其特征在于,所述统计该当前八比特数据的连一数,还 包括统计当前八比特数据从高到低的连一数;所述将去插零操作后得到的净荷数据进行合包,以还原成原数据包之前还包括将当前八比特数据的从高到低的连一数、当前八比特数据的状态标识信息保存到中间 处理状态,以便当处理下一八比特数据时,读取该中间处理状态的信息,进行帧标识检测和 去插零操作。
7.一种HDLC数据处理的系统,其特征在于,包括统计单元,用于读取接收的当前八比特数据,统计该当前八比特数据的连一数; 信息提取单元,用于参考当前八比特数据所属的通道,提取预先保存的该通道中前 一八比特数据及其状态信息,所述状态信息包括前一八比特数据的从高到低连一数和前 一八比特数据的状态标识信息;帧标识检测单元,用于依据当前八比特数据、当前八比特数据的连一数和前一八比特 数据从高到低的连一数,进行帧标识检测,并根据检测结果标示出状态标识信息;五连一检测单元,用于根据前一八比特数据的标识信息和当前八比特数据的状态标识 信息,进行五连一检测,以完成去插零操作;合包单元,用于将去插零操作后得到的净荷数据进行合包,以还原成原数据包。
8.根据权利要求7所述的系统,其特征在于,所述前一八比特数据的标识信息包括 前一八比特数据的尾包指示信息、和\或数据状态信息。
9.根据权利要求7所述的系统,其特征在于,所述统计单元包括 第一统计单元,用于统计当前八比特数据从低到高的连一数。
10.根据权利要求9所述的系统,其特征在于,所述帧标识检测单元具体包括用于依据当前八比特数据、当前八比特数据的从低到高连一数和前一八比特数据的从 高到低的连一数,检测当前八比特数据,以及当前八比特数据和前一八比特数据组成的数 据流中的连一数,如果检测到六连一,则检测到帧头或帧尾,为该帧头或帧尾标示出相应的 尾包信号;如果检测到七个或七个以上的连一数,则检测到帧终止,并为该帧终止标示出相应的 尾包信号和帧终止信号;如果没有检测到六个或六个以上的连一,则确定当前八比特数据为普通数据,并为当 前数据标示出数据信号。
11.根据权利要求10所述的系统,其特征在于,所述五连一检测单元包括五连一检测子单元,用于依据前一八比特数据的尾包信号、帧终止信号或数据信号,以 及当前数据的尾包信号、帧终止信号或数据信号,判断当前数据和前一数据是否属于同一 数据包,如果是,则对当前八比特数据和前一八比特数据组成的数据流、以及当前八比特数 据进行五连一检测;如果否,则仅对当前八比特数据进行五连一检测。
12.根据权利要求7所述的系统,其特征在于,所述统计单元还包括 第二统计单元,用于统计当前八比特数据从高到低的连一数;所述系统还包括中间状态保存单元,用于将当前八比特数据的从高到低的连一数、当 前八比特数据的状态标识信息保存到中间处理状态,以便当处理下一八比特数据时,读取 该中间处理状态的信息,进行帧标识检测和去插零操作。
全文摘要
本发明公开了一种HDLC数据处理的方法和系统,该方法包括读取接收的当前八比特数据并统计其连一数;提取预先保存的与当前八比特数据相同的通道中前一八比特数据及其状态信息;依据当前八比特数据、当前八比特数据的连一数和前一八比特数据从高到低的连一数,进行帧标识检测,并根据检测结果标示出状态标识信息;根据前一八比特数据的标识信息和当前八比特数据的状态标识信息,进行五连一检测,以完成去插零操作;将去插零操作后得到的净荷数据进行合包,以还原成原数据包。本发明的方法每个处理周期内可以处理八比特的数据量,处理的数据量增加,提高了数据处理的效率。
文档编号H04L1/00GK102098333SQ20101061747
公开日2011年6月15日 申请日期2010年12月31日 优先权日2010年12月31日
发明者张海东, 曹志强, 贾林, 路海良 申请人:北京中创信测科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1