CN108259381B - 数据帧处理方法、装置及车载单元 - Google Patents
数据帧处理方法、装置及车载单元 Download PDFInfo
- Publication number
- CN108259381B CN108259381B CN201611246285.2A CN201611246285A CN108259381B CN 108259381 B CN108259381 B CN 108259381B CN 201611246285 A CN201611246285 A CN 201611246285A CN 108259381 B CN108259381 B CN 108259381B
- Authority
- CN
- China
- Prior art keywords
- data
- buffer queue
- fifo
- data frame
- byte
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6245—Modifications to standard FIFO or LIFO
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明实施例提供一种数据帧处理方法、装置及车载单元,属于通信技术领域。所述方法包括:若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入所述队列时,将第一数据帧逐字节输入所述队列直至第一数据帧的最后一个字节数据进入所述队列;若所述队列为未满且第一数据帧的最后一个字节数据已进所述队列,或者所述队列为空且第一数据帧的最后一个字节数据已出所述队列时,则将第二数据帧逐字节输入所述队列直至第二数据帧的最后一个字节数据进入所述队列。所述方法采用硬件FIFO数据缓存器队列机制可缩短第一数据帧与第二数据帧的最短时间间隔。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据帧处理方法、装置及车载单元。
背景技术
在国标GB/T20851中定义了数据链路层中下行链路帧与后面相邻的下行链路帧的最短间隔时间T3的值为10us。最短时间间隔可以保证两个相邻数据帧间不发生干扰。
现有技术中,通常对于下行链路数据帧的处理,采用的是软件解码的方式来实现的,即将接收到的多个数据帧先存储在RAM中,然后待处理完其中一个数据帧之后,才能处理其下一个相邻数据帧。
然而,软件解码的方式实现起来比较复杂,处理下一个相邻的数据帧时等待时间较长,且在RAM中读写数据速度不高。因此软件解码方式处理起来耗时较长,难以满足GB/T20851中关于最短时间间隔T3的要求。
发明内容
有鉴于此,本发明实施例提供的数据帧处理方法、装置及车载单元,用以至少解决现有技术中存在的上述问题。
本发明实施例第一个方面提供一种数据帧处理方法。该数据帧处理方法包括:
S1,若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列;
S2,若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
可选地,在本发明一具体实施例中,该数据帧处理方法还包括:
S3,若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N小于等于FIFO数据缓存器队列中已有数据的字节数。
可选地,在本发明一具体实施例中,步骤S1包括:若FIFO数据缓存器队列为空时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列。
可选地,在本发明一具体实施例中,步骤S2包括:若FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列。
可选地,在本发明一具体实施例中,步骤S3包括:若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N等于FIFO数据缓存器队列中已有数据的字节数。
本发明实施例第二个方面提供一种数据帧处理装置。该数据帧处理装置包括:入队列处理模块;入队列处理模块,用于若FIFO硬件队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列;若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
可选地,在本发明一具体实施例中,入队列处理模块包括:第一入队列处理子模块和第二入队列处理子模块;
第一入队列处理子模块,用于若FIFO硬件队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列;
第二入队列处理子模块,用于若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
可选地,在本发明一具体实施例中,第一入队列处理子模块具体用于若FIFO数据缓存器队列为空时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列。
可选地,在本发明一具体实施例中,第二入队列处理子模块具体用于若FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列。
可选地,在本发明一具体实施例中,该数据帧处理装置还包括:出队列处理模块;出队列处理模块,用于若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N小于等于FIFO数据缓存器队列中已有数据的字节数。
可选地,在本发明一具体实施例中,出队列处理模块具体用于若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N等于FIFO数据缓存器队列中已有数据的字节数。
本发明实施例第三个方面提供一种车载单元。该车载单元包括:至少一个处理器;处理器用于若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列;若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
可选地,在本发明一具体实施例中,处理器还用于若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N小于等于FIFO数据缓存器队列中已有数据的字节数。
由以上技术方案可见,本发明实施例通过硬件FIFO数据缓存器队列机制对第一数据帧进行处理的过程中,在第一数据帧还未处理完成时即可对第二数据帧进行处理,即不需要等待第一数据帧处理完成后才处理第二数据帧,且FIFO数据缓存器队列的数据出队列速度远大于数据入队列速度,因此可缩短第一数据帧与第二数据帧的最短时间间隔T3,提高了通信效率,克服了现有技术因软件解码方式难以满足GB/T20851中关于最短时间间隔T3的要求的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的数据帧处理方法流程图。
图2为本发明实施例二提供的数据帧处理方法流程图。
图3为本发明实施例三提供的数据帧处理装置结构图。
图4为本发明实施例四提供的车载单元结构图。
图5为本申请执行本发明实施例一或二提供的数据帧处理方法的一些电子设备的硬件结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
本发明实施例中的FIFO数据缓存器,指的是先进先出(First In First Out,FIFO)数据缓存器,属于先进先出硬件队列,具有“先进入该缓存器的数据先从该缓存器中读出”的特点。并且,由于它是通过硬件直接实现数据先进先出的,因此比起通过软件方式实现数据先进先出,还具有处理速度更快的优点。FIFO数据缓存器通常集成在处理器芯片内,由处理器直接访问,其容量通常为几个字节到上百个字节不等。
数据帧(Dataframe),是数据链路层的协议数据单元,它包括三部分:帧头、数据部分和帧尾。数据帧本质上是由若干字节数据组成的,从帧头到帧尾方向对应着第一个字节数据到最后一个字节数据的方向。
图1为本发明实施例一提供的数据帧处理方法流程图。如图1所示,本发明实施例一提供的数据帧处理方法包括:
S101,若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列。
具体地,本步骤可通过FIFO数据缓存器队列的“空/满”标志来判断FIFO数据缓存器队列是否为“未满”状态,即当“满”标志为假时,则判断FIFO数据缓存器队列为未满状态。通过计数方式,例如每向FIFO数据缓存器队列输入一个字节数据则将计数器累加1,然后将计数器与第一数据帧的长度进行对比,即可得到最后一个字节数据是否进入FIFO数据缓存器队列。由此,可判断若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列即逐字节入队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列。其中,在将第一数据帧逐字节输入FIFO数据缓存器队列的过程中,如遇FIFO数据缓存器队列为“满”状态时,则可暂停向FIFO数据缓存器队列输入字节数据,待FIFO数据缓存器队列中的数据出队列后例如读出或取出后,继续将剩余字节数据输入FIFO数据缓存队列,直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列。
S102,若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
具体地,本步骤可通过FIFO数据缓存器队列的“空/满”标志标志来判断FIFO数据缓存器队列是否为“未满”状态,即当“满”标志为假时,则判断FIFO数据缓存器队列为“未满”状态;当“空”标志为真时,则判断判断FIFO数据缓存器队列为“空”状态。通过计数方式例如步骤S101中示例的方式即可得到第一数据帧的最后一个字节数据是否已进入FIFO数据缓存器队列,通过对最后一个字据数据进行跟踪即可得到其是否已出队列。由此,判断若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列即逐字节入队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。其中,在将第二数据帧逐字节输入FIFO数据缓存器队列的过程中,如遇FIFO数据缓存器队列为“满”状态时,则可暂停向FIFO数据缓存器队列输入字节数据,待FIFO数据缓存器队列中的数据出队列后例如读出或取出后,再继续将剩余字节数据输入FIFO数据缓存队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列。
上述步骤中,第一数据帧可以是下行数据链路上的当前数据帧,第二数据帧则可以是当前数据帧的下一个相邻数据帧,FIFO数据缓存器可以是车载单元处理器芯片中的FIFO数据缓存器。
本发明实施例一所述数据帧处理方法可应用在ETC系统的路侧单元RSU与车载单元OBU在数据链路层的数据处理上。例如OBU收到下行链路上的第一数据帧即当前数据帧时,由OBU的处理器判断若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则直接将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列。不失一般性,处理器在对FIFO数据缓存器队列进行入队列操作的同时,还可以对FIFO数据缓存器队列进行出队列操作例如将数据从FIFO数据缓存器队列中取出并发送到应用层进行后续处理。这相当于处理器一边将第一数据帧逐字节输入FIFO数据缓存器队列,一边将FIFO数据缓存器队列中的数据取出发送给应用层进行后续处理。当处理器判断FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,即第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列并且FIFO数据缓存器队列有空余位置时或者所述最后一个字节数据已出所队列即所述队列为空时,则可直接将第二数据帧即当前帧的下帧数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列。
本发明实施例通过采用硬件FIFO数据缓存器队列机制对第一数据帧进行处理的过程中,在第一数据帧还未处理完成时即可对第二数据帧进行处理,即不需要等待第一数据帧处理完成后才处理第二数据帧,且FIFO数据缓存器队列的数据出队列速度远大于数据入队列速度,因此可缩短第一数据帧与第二数据帧的最短时间间隔T3,提高了通信效率,克服了现有技术因软件解码方式难以满足GB/T20851中关于最短时间间隔T3的要求的问题。同时由于采用的是先进先出的处理机制,因此也能保证第一数据帧与第二数据帧不发生数据干扰等问题。
图2为本发明实施例二提供的数据帧处理方法流程图。如图2所示,在实施例一的基础上,所述数据帧处理方法包括:
S201,若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列。
S202,若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
步骤S201~S202分别对应步骤S101~S102,其实现原理同步骤S101~S102类似,在此不再赘述。
S203,若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N小于等于FIFO数据缓存器队列中已有数据的字节数。
具体地,本步骤可通过FIFO数据缓存器队列的“空/满”标志标志来判断FIFO数据缓存器队列是否为“未空”状态,即当“空”标志为假时,则判断FIFO数据缓存器队列为“未空”状态,即FIFO数据缓存器队列中存有数据,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,其中N小于等于FIFO数据缓存器队列中已有数据的字节数。当N为1时,相当于逐字节取出数据,当N等于FIFO数据缓存器队列中已有数据的字节数时,相当于一次性取出FIFO数据缓存器队列中的全部数据。通常,取N等于FIFO数据缓存器队列中已有数据的字节数。
综上所述,可以看出步骤S201、S202完成的是数据入队列的工作,步骤S203完成的则是数据出队列的工作。将这三个步骤结合在一起,即可最大限度地对FIFO数据缓存器队列进行利用,以提高其处理数据帧的能力。
实际应用中,步骤S203可实时予以执行,即步骤S203可以在步骤S201前执行,可以与步骤S201同时执行,可以在步骤S201后、S202之前执行,可以和步骤S202同时执行,也可以在步骤S202后执行,图3以步骤S203在步骤S202之后执行为例。也就是说对FIFO数据缓存器队列而言,数据入队列和数据出队列可以同时执行,也可以相互穿插执行。
可选地,步骤S201具体可以是:若FIFO数据缓存器队列为空时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列。即判断若FIFO数据缓存器队列中无数据时,则直接将将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列。
例如,接收到第一数据帧时,若FIFO数据缓存器队列为空时,则直接将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列。此时,假设FIFO数据缓存器队列的容量为M个字节,M小于等于第一数据帧的字节长度,那么则可以将第一数据帧的前M个字据数据一次性输入到FIFO数据缓存器队列中,相应地也就提高了第一数据帧的入队列速度。
可选地,步骤S202具体可以是:若FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列。此时,假设FIFO数据缓存器队列的容量为N个字节,N小于等于第二数据帧的字节长度,那么则可以将第二数据帧的前N个字据数据一次性输入到FIFO数据缓存器队列中,相应地也就提高了第二数据帧的入队列速度,进而可以减少第一数据帧与第二数据帧的最小时间间隔T3。
上述数据帧处理方法可通过编写驱动程序的方式在硬件中予以实现。
图3为本发明实施例三提供的数据帧处理装置结构图。如图3所示,本发明实施例三提供的数据帧处理装置包括:入队列处理模块1。
入队列处理模块1,用于判断若FIFO硬件队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列;判断若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列时,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
可选地,入队列处理模块1包括:第一入队列处理子模块11和第二入队列处理子模块12。
第一入队列处理子模块11,用于判断若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列。
第二入队列处理子模块12,用于判断若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
进一步地,第一入队列处理子模块11具体用于判断若FIFO数据缓存器队列为空时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列。
进一步地,第二入队列处理子模块12具体用于判断若FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列。
可选地,数据帧处理装置还包括:出队列处理模块2。
出队列处理模块2,用于判断若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N小于等于FIFO数据缓存器队列中已有数据的字节数。
进一步地,出队列处理模块具体用于判断若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N等于FIFO数据缓存器队列中已有数据的字节数。
本实施例提供的数据帧处理装置具体用于执行实施例一或二所述的数据帧处理方法,其实现原理、功能、用途等与实施例一或二类似,在此不再赘述。
图4为本发明实施例四提供的车载单元结构图。如图4所示,本发明实施例四提供的车载单元包括:至少一个处理器3。处理器3用于判断若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列;判断若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧。
可选地,处理器3还用于判断若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N小于等于FIFO数据缓存器队列中已有数据的字节数。
本实施例提供的车载单元包含有可执行实施例一或二所述数据帧处理方法的至少一个处理器3,其实现原理、功能、用途等与实施例一或二类似,在此不再赘述。
图5为本申请执行本发明实施例一或二提供的数据帧处理方法的一些电子设备的硬件结构示意图。根据图5所示,该电子设备包括:一个或多个处理器510以及存储器520,图5中以一个处理器510为例。
执行所述的数据帧处理方法的设备还可以包括:输入装置530和输出装置540。
处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的所述数据帧处理方法对应的程序指令/模块。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现所述数据帧处理方法。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据本发明实施例三提供的数据帧处理装置的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器520,还可以包括非易失性存储器520,例如至少一个磁盘存储器520件、闪存器件、或其他非易失性固态存储器520件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器520,这些远程存储器520可以通过网络连接至所述数据帧处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可接收输入的数字或字符信息,以及产生与所述编码信息处理装置的用户设置以及功能控制有关的键信号输入。输入装置530可包括按压模组等设备。
所述一个或者多个模块存储在所述存储器520中,当被所述一个或者多个处理器510执行时,执行所述的数据帧处理方法。
上述产品可执行本申请相应实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请相应实施例所提供的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
当然,实施本发明实施例的任一技术方案必不一定需要同时达到以上的所有优点。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种数据帧处理方法,用于数据链路层中下行链路数据帧的处理,其特征在于,包括:
S1,若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列,包括:若FIFO数据缓存器队列为空时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列;
S2,若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧,包括:若FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,若FIFO数据缓存器队列的容量为N个字节,N小于等于第二数据帧的字节长度,那么则将第二数据帧的前N个字节 数据一次性输入到FIFO数据缓存器队列中;
S3,若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N小于或等于FIFO数据缓存器队列中已有数据的字节数;其中,步骤S3在步骤S1前执行,或者与步骤S1同时执行,或者在步骤S1后、S2之前执行,或者和步骤S2同时执行,或者在步骤S2后执行,以使得数据入队列和数据出队列同时执行。
2.根据权利要求1所述的数据帧处理方法,其特征在于,步骤S1包括:若FIFO数据缓存器队列为空时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列。
3.根据权利要求1所述的数据帧处理方法,其特征在于,步骤S2包括:若FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列。
4.一种数据帧处理装置,用于数据链路层中下行链路数据帧的处理,其特征在于,包括:入队列处理模块;所述入队列处理模块包括:第一入队列处理子模块和第二入队列处理子模块;具体地,第一入队列处理子模块用于若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据未进入FIFO数据缓存器队列时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至第一数据帧的最后一个字节数据进入FIFO数据缓存器队列,包括:若FIFO数据缓存器队列为空时,则将第一数据帧逐字节输入FIFO数据缓存器队列直至当前数据帧的最后一个字节数据进入FIFO数据缓存器队列;第二入队列处理子模块用于若FIFO数据缓存器队列为未满且第一数据帧的最后一个字节数据已进入FIFO数据缓存器队列,或者FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,第二数据帧为第一数据帧的下一个相邻数据帧,包括:若FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列,若FIFO数据缓存器队列的容量为N个字节,N小于等于第二数据帧的字节长度,那么则将第二数据帧的前N个字节 数据一次性输入到FIFO数据缓存器队列中;
所述数据帧处理装置还包括出队列处理模块;出队列处理模块用于若FIFO数据缓存器队列为未空时,则从FIFO数据缓存器队列中取出N个字节数据发送到应用层进行处理,N小于或等于FIFO数据缓存器队列中已有数据的字节数;其中,出队列处理模块在第一入队列处理子模块之前执行,或者与第一入队列处理子模块同时执行,或者在第一入队列处理子模块后、第二入队列处理子模块之前执行,或者和第二入队列处理子模块同时执行,或者在第二入队列处理子模块后执行,以使得数据入队列和数据出队列同时执行。
5.根据权利要求4所述的数据帧处理装置,其特征在于,第二入队列处理子模块具体用于若FIFO数据缓存器队列为空且第一数据帧的最后一个字节数据已出FIFO数据缓存器队列时,则将第二数据帧逐字节输入FIFO数据缓存器队列直至第二数据帧的最后一个字节数据进入FIFO数据缓存器队列。
6.一种车载单元,其特征在于,包括:至少一个处理器;处理器用于执行如权利要求1~3中任意一项所述的数据帧处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246285.2A CN108259381B (zh) | 2016-12-29 | 2016-12-29 | 数据帧处理方法、装置及车载单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246285.2A CN108259381B (zh) | 2016-12-29 | 2016-12-29 | 数据帧处理方法、装置及车载单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108259381A CN108259381A (zh) | 2018-07-06 |
CN108259381B true CN108259381B (zh) | 2022-06-07 |
Family
ID=62720680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611246285.2A Active CN108259381B (zh) | 2016-12-29 | 2016-12-29 | 数据帧处理方法、装置及车载单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108259381B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115802095B (zh) * | 2023-01-06 | 2023-04-18 | 北京象帝先计算技术有限公司 | 视频流传输装置、系统、设备及视频流传输方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717440A (en) * | 1986-10-06 | 1998-02-10 | Hitachi, Ltd. | Graphic processing having apparatus for outputting FIFO vacant information |
CN102209042A (zh) * | 2011-07-21 | 2011-10-05 | 迈普通信技术股份有限公司 | 一种避免先入先出队列溢出的方法及设备 |
CN104052831A (zh) * | 2014-06-11 | 2014-09-17 | 华为技术有限公司 | 一种基于队列的数据传输方法、装置及通信系统 |
CN104125424A (zh) * | 2014-08-06 | 2014-10-29 | 中航华东光电(上海)有限公司 | 一种基于fpga的高速、可变帧视频显存设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446699A (zh) * | 2015-12-07 | 2016-03-30 | 中国电子科技集团公司第十研究所 | 数据帧队列管理方法 |
-
2016
- 2016-12-29 CN CN201611246285.2A patent/CN108259381B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717440A (en) * | 1986-10-06 | 1998-02-10 | Hitachi, Ltd. | Graphic processing having apparatus for outputting FIFO vacant information |
CN102209042A (zh) * | 2011-07-21 | 2011-10-05 | 迈普通信技术股份有限公司 | 一种避免先入先出队列溢出的方法及设备 |
CN104052831A (zh) * | 2014-06-11 | 2014-09-17 | 华为技术有限公司 | 一种基于队列的数据传输方法、装置及通信系统 |
CN104125424A (zh) * | 2014-08-06 | 2014-10-29 | 中航华东光电(上海)有限公司 | 一种基于fpga的高速、可变帧视频显存设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108259381A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105793813B (zh) | 智能辅助电子设备 | |
US9626985B2 (en) | Audio processing method and apparatus | |
WO2016000569A1 (en) | Voice communication method and system in game applications | |
CN105141603B (zh) | 通信数据传输方法及系统 | |
US8051222B2 (en) | Concatenating secure digital input output (SDIO) interface | |
WO2023240998A1 (zh) | 数据包处理方法、通信芯片及计算机设备 | |
US11671678B2 (en) | Method and device, equipment, and storage medium for data processing | |
CN104468509A (zh) | 手机网络游戏数据传输的方法、系统和手机用户端 | |
US9330033B2 (en) | System, method, and computer program product for inserting a gap in information sent from a drive to a host device | |
CN112199174A (zh) | 消息发送的控制方法、装置、电子设备及计算机可读存储介质 | |
US20180136905A1 (en) | First-in-first-out buffer | |
CN115237500A (zh) | 一种池化平台的数据处理方法、装置、设备和介质 | |
CN108259381B (zh) | 数据帧处理方法、装置及车载单元 | |
KR20120072134A (ko) | 가상 데스크톱 가속 장치 및 방법 | |
CN111026532B (zh) | 用于语音数据的消息队列管理方法 | |
US9544401B2 (en) | Device and method for data communication using a transmission ring buffer | |
CN110958216B (zh) | 安全的在线网络分组传输 | |
CN110445578B (zh) | 一种spi数据传输方法及装置 | |
CN115955441A (zh) | 一种基于tsn队列的管理调度方法、装置 | |
CN114363379A (zh) | 车辆数据传输的方法、装置、电子设备及介质 | |
CN115867894A (zh) | 用于远程直接存储器访问的设备和方法 | |
CN113992707A (zh) | 一种数据传输方法、装置、车载以太网设备及存储介质 | |
KR101614045B1 (ko) | 효율성이 향상된 csma/ca 통신 프로토콜을 사용하는 통신 장치 및 시스템 | |
CN112286456B (zh) | 存储方法及装置 | |
CN117579232A (zh) | 通信方法、装置、计算机设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |