CN102510323B - 一种串口数据的帧识别方法 - Google Patents
一种串口数据的帧识别方法 Download PDFInfo
- Publication number
- CN102510323B CN102510323B CN201110283839.7A CN201110283839A CN102510323B CN 102510323 B CN102510323 B CN 102510323B CN 201110283839 A CN201110283839 A CN 201110283839A CN 102510323 B CN102510323 B CN 102510323B
- Authority
- CN
- China
- Prior art keywords
- frame
- data
- byte
- frame head
- buffer memory
- 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
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种串口数据的帧识别方法,采用两级缓冲的机制对接收到的串行数据进行数据帧识别。在第一级缓冲中,利用帧头、帧尾、帧长和校验匹配段为接收参数,对接收到的数据进行数据帧识别,并将识别出的正确数据帧输出到第二级缓冲。在第二级缓冲中,采用先入先出的队列对第一级缓冲输出的数据帧进行存取。采用本发明在实现串行数据包中数据帧的识别和提取的前提下,实现了对串口数据的通用与快速接收。
Description
技术领域
本发明涉及一种串口数据的帧识别方法。
背景技术
串行通讯是工控场合比较常用的经济、有效的数据传输方法,比如RS232,RS422或RS485。由于这些硬件协议是面向字节型的,一次收发的基本单元都是8位数据.为了能够一次性传输一条8位的命令以及超过8位长度的数据,常采用的方法是通信双方事先约定一套通信协议。系统采用数据打包方式进行传输,将数据编辑成帧格式:定长的或变长的,发送和接收方按照约定的格式协议进行编帧和解帧。帧中包含了多个组成部分。简单的帧格式包括帧头域、数据域以及校验和,包括这个帧的帧首、帧结束、帧类型、地址、数据、错误冗余等。这些部分并不全是必需的。一个帧中可以只包含其中的某几部分。不同设备的通信格式与数据各不相同,如何提取有效的数据帧并进行校验和解码是获取数据的重点之一。
在工控的实时应用中,对帧格式的识别提取帧问题主要关心的指标是:解帧的速度、解帧的完整性等。同时在现场应用中由于受到现场恶劣环境及传输过程中的干扰,经常会有误码发生,从而造成帧丢失或误识别,从串行接收到的数据包中筛选出完整正确的数据帧的实现方法有几种。
基于状态机的解帧法,设立这样的一个状态机,该状态机在每收到一个字节数据后,根据当前状态和数据类型进行状态更新和处理,以达到解帧的目的。每次收到一字节数据,状态机将根据当前状态之一:复位、收到同步头A、又收到同步头A、收到同步头B等,决定将数据放入接收缓冲区,还是抛弃抑或调整缓冲区内容(完整帧数据输出,抛弃部分数据)等操作。
基于接收数据缓冲的解帧算法:是设置一个比较大的缓冲区,计算缓冲区内的字节数若不小于帧的数据个数,则读取缓冲区内的数据,然后根据校验命令字判断是否对该帧进行校验。当缓冲区的数据足够多时再由主程序调用一个帧识别和解码子程序对缓冲区中的数据进行处理。当不校验或校验成功提取出此帧。此种方法的不足是从一帧数据接收完毕到解码时间较长,另外对缓冲区进行管理需要占用大量的CPU时间,因而实时性较差,鉴于以上各种方法不具有通用性,不能满足通用、快速从数据包中快速提取有效帧的要求,不同格式的通讯数据识别提取帧内容的软件编码复用性、通用性、快速性差。
发明内容
本发明的技术解决问题是:针对现有技术的不足,提供了一种串口数据的帧识别方法。采用本发明在实现串行数据包中数据帧的识别和提取的前提下,实现了对串口数据的通用与快速接收。
本发明的技术解决方案是:一种串口数据的帧识别方法,通过第一级缓冲和第二级缓冲实现对数据帧的接收:
(1)根据待接收的数据帧,确定数据帧的帧头、帧尾、帧长和校验的字节内容,并分别构造帧头、帧尾、帧长和校验匹配段;所述帧头、帧尾、帧长和校验匹配段为接收参数。
(2)在第一级缓冲中,将接收的数据进行缓冲,并利用接收参数段进行模式匹配,完成数据帧的提取并输出到第二级缓冲;
(3)在第二级缓冲中,将第一级缓冲提取出的数据帧进行存储,并根据帧格式将第二级缓冲中的数据帧输出。
在所述步骤(2)中,第一级缓冲利用接收参数中的帧头、帧尾、帧长度和校验匹配段对缓存的数据帧进行模式匹配:
(21)进行帧头匹配段的模式匹配,匹配成功,则返回帧头匹配段在第一级缓冲数据帧中的位置;
(22)若帧头匹配成功,则根据帧头匹配段在第一级缓冲数据帧的位置开始,依次进行帧长、帧尾匹配段的模式匹配,若匹配成功,则根据帧头、帧尾匹配段的匹配位置,确定一个完整的数据帧;
(23)利用校验匹配段对确定的完整数据帧进行校验,校验成功则为正确接收的数据帧,否则为校验错误的数据帧;返回(21)完成第一级缓冲中全部数据帧的提取后,将确定的完整数据帧输出,并更新第一级缓冲。
在所述步骤(3)中,第二级缓冲采用先入先出的队列对数据帧进行存取。
本发明与现有技术相比具有如下优点:
1.实现多种帧格式配置的设计,方便识别不同格式的串行数据帧,减少因帧格式不同重新进行数据帧的识别工作,具有多种帧格式适应性。
2.两级不同类型的缓冲结构处理既保证接收数据不丢失,又保证识别后的数据帧得到保护。
3.引入两级缓冲结构保证帧识别的快速性,第一级缓冲在接收数据的同时对数据帧即时识别,同时去除不正确的数据;第二级缓冲提供多数据帧同时输出方法,保证识别后的数据帧能够快速提取。
4.第二级缓冲先入先出的队列结构保证了数据帧的正确时序。
5.校验错误的数据帧转存及数量统计利于用于后期数据进一步分析。
6.适用于RS232,RS422或RS485类型的串行数据帧识别,通用性好;
附图说明
图1为本发明模式匹配原理图1;
图2为本发明模式匹配原理图2;
图3为本发明模式匹配原理图3;
图4为帧头匹配流程图;
图5为第一级缓冲帧识别流程图;
图6为第二级缓冲处理流程图;
图7为第二级缓冲处理数据帧提取流程图。
图8为两级缓冲结构图。
具体实施方式
下面就结合附图对本发明做进一步介绍。
本发明所述一种串口数据的帧识别方法,利用两级缓存技术和帧格式预置的帧结构模式匹配方法实现。第一级缓存接收数据前设置帧格式中的帧头、帧尾、数据长度、校验方法,利用第一级缓存保存待识别的串行数据帧,在保存字节的同时进行识别;第二级帧结构缓存保存识别后的整帧数据,其中包括识别正确的帧结构数据,以及计数帧数量。还包括识别错误的帧数据,以及错帧的统计。
方案的具体实现:
串行数据帧格式一般包括帧头域、帧尾域、数据域以及校验和几部分内容,常见的是这个帧的帧首、帧结束、帧类型、地址、数据、错误冗余等。这些部分并不全是必需的。一个帧中可以只包含其中的某几部分,为了实现通用性,考虑到串口通信协议的完整性、多样性,本发明在进行数据帧的接收前,首先对数据帧的接收格式信息预先设置,通过此操作从而保证了数据帧接收的通用性。
设置信息包含以下内容:设置数据帧格式中的帧头、帧尾结构包括统计帧头、帧尾的字节个数,帧头、帧尾分别包含的字节内容,以及数据帧长度、校验方法。在数据帧的格式设计当中,数据包头标志与数据包尾标志原则上应选取成不可能出现在真实数据中的字节。数据包标志头、尾应取字节个数视具体问题而定。一般来说,字节数目越多,作为标志的连续字节越不可能出现在真实数据中,但带来的问题是数据包将会更长,且用于区分标志与真实数据的指令就越多.识别的运行效率将变差,严重时,将导致因不能及时解析接收串行数据,发生丢包现象。因此,分别针对数据帧的结构,将与数据帧帧头和帧尾内容相同的字节段作为帧头匹配段和帧尾匹配段,结合数据帧长度及校验有效性确定上述匹配段对数据帧进行识别,同时,本方法对于帧头字节超过预定数目,比如设置超过5个帧头字节时,考虑帧识别的实时性以及帧丢失概率将识别算法采用粗识别与精识别结合的方法。
然后进行帧的识别,关键算法是如何将完整的数据帧提取出来,接收到的是按字节BYTE发送来的二进制数据,由于接收到的数据很多,并且通信双方的上电时序不同导致接收时有可能不是从一帧开头接收,而是上一帧的后半部分和下一帧的前半部分组成的。正确判断提取完整数据帧并且满足通信实时性,需要对接收到的数据进行实时判别与缓存结合的方法进行处理。
在对连续收到的数据帧字节进行数据帧的识别时,首先将接收到的串行数据字节依次添加至第一级字节缓存中,然后利用预先设定的帧头、帧尾、帧长和校验匹配段对接收到的数据帧进行识别处理,识别过程直至到第一级缓存中不再有未识别的数据,识别后的帧结果保存至第二级完整帧缓存中,清除第一级缓存中的字节数据。这样识别后的帧数据就保存在第二级缓存中,并且依据先进先出的队列结构存放。
在第一级缓冲中,对帧头和帧尾的识别问题可以归类为检索字符子串。假设有两个字符串T和P,要查找T中是否含有和P相等的子串。这类运算在数据结构与算法中称为模式匹配,T为目标,P称为模式。由于帧头和帧尾分别包含的多个字节内容各不相同,必须将接收到的字节数据与帧头、帧尾匹配段的每个字节依次比较,分析帧头与帧尾的查找方式的区别仅在于从接收到的串行数据的起始位置不同,帧头从接收到的第一个数据开始查找,为提高查找效率节约查找帧尾的时间,可以从帧头后的符合数据帧长度的数据后开始查找,而帧头、帧尾核心匹配内容算法则一致,具体模式匹配法的原理如图1所示。图1中,t对列为接收到的数据帧字节,P队列为帧头或者帧尾匹配段的字节内容,查找帧头或者帧尾的工作需要从一级缓存中查找到连续符合帧头队列内容,也就是如果t0=p0,t1=p1,t2=p2…tm-1=pm-1则匹配成功,返回模式p0在t中的位置,如果在其中某个位置i比较不等,则将p右移一位再从头开始比较,如图2所示。如此反复执行,直到出现以下两种情况之一:一是执行到某处,模式所有字符匹配,返回与P匹配的第0个字符位置,如图3;另一种情况是P移到最后,没有一次可以和T中子串匹配,即匹配失败,在第一级缓存中未能识别出帧头或者帧尾。
需要指出的是,为了在第一级缓冲中满足匹配速度的要求,选取长度为m小于等于5的帧头或帧尾字节内容作为帧头或帧尾匹配段,当m>5时,将帧头字节截取前5个字节进行粗匹配,匹配成功后依据校验作进一步取舍。
进一步如图4所示,为在第一级缓冲对数据帧进行识别的流程图。具体流程为:
1.获取第一级缓存中数据,设置帧头在缓存中的起始位置为-1,置查找成功标识为假
2.依次取与帧头匹配段相同的字节,判断帧头字节是否是最后字节,如果是最后字节,查找成功标识为真,返回正确起始位置,如果标识为假,返回-1查找失败。
取出字节非最后字节,执行3的操作;
3.设置查找成功标志为假,从第一级缓存中查找起始位置开始顺序查找遍历缓存中的数据字节,如果与帧头匹配段取出字节匹配失败,判断如果首字节匹配失败,继续从第一缓存中查找匹配首字节,首字节已匹配成功,递归实施此算法,从步骤1重新开始查找过程;
4.若找到与帧头匹配段取出字节匹配的数据,设置查找成功标定为真,将查找起始位置后移一个字节,如果取出的是帧头首字节,记录该缓存中的位置,将帧头在缓存中的起始位置设为该位置。进行下一帧头字节匹配过程,继续执行2、3、4的操作。
5.若遍历至缓存结束也没有与帧头取出字节匹配的数据,结束算法,返回-1失败;
特别指出,当帧头字节数等于或者大于5个时,为提高匹配效率,将帧头匹配段选取为前5个字节的内容,并进行匹配。
帧头识别结束后,一级缓存中的数据需要进行更新处理,及时清除帧头前的无效数据,保存帧头起始位置后的数据字节作后续的识别。
查找帧尾的过程与帧头相仿,唯一的区别在于帧头从缓存的第一个字节起始位置查找,为提高查找效率,帧尾从帧头结束的位置累加上数据帧长度参数后的位置开始查找,具体流程参考帧头查找流程。
帧尾查找结束后,如果帧尾在缓存中的位置合法后,在进入二级缓存前还需对数据的正确性进行检查,对帧头、帧尾间的数据以及完整帧的数据长度保存至帧结构中,根据通讯协议中的校验算法计算出该帧的校验字节,然后与接收到的帧结构中的校验字节比对,校验正确表示该帧数据完整、无误,解析过程有效。特别指出帧头超过5个字节时,取前五个帧头字节匹配提取出的帧结构,根据正确帧头、帧尾的校验算法计算出粗识别帧结构的正确性,鉴于校验算法出错的概率极小,粗识别的帧经过校验验证正确的认为识别正确。识别错误的帧再做第二轮识别,将帧头个数从5个增加至完整,采用上述算法重新识别,这样既降低了丢帧的几率同时又提高了多字节帧头的识别效率。在第一级缓冲中对数据帧进行识别的完整过程如图5所示。
识别出来的完整帧数据就保存在第一级缓存中,为了接收数据不会导致溢出以及解析提取帧的实时性,引入第二级缓存,第二级缓存的结构与第一级不同,如图8所示第一级是串行数据接收到的一个个数据帧字节,其缓存指针移动的基准是单个的字节。缓存大小的计数是字节数。第二级缓存保存的是帧结构,缓存指针移动的基准是帧结构,缓存大小的计数是帧个数。第二级缓存的大小根据内存大小动态设定,容量计数基准不同于常规计算机内存的兆基准,这里的最小单位是帧结构,根据具体的通讯协议每帧数据大小不等,例如:第二级缓存的大小可以设定为正确帧16M的帧结构。如果第二级缓存中数据已满,提示缓存满,请读出数据清空二级缓存,如果缓存不满,第一级缓存识别正确的帧结构可以将压栈进入第二级缓存结构中。该帧数据进入第二级缓存后,需要对第一级缓存中相应数据字节清除,识别不正确的帧结构对应的字节也要从第一级缓存中清除,为了将识别过程中错误的数据保留下来,供通讯双方了解通信过程中的异常数据清况,可以引入错帧统计,该项属于可配置项,在需要的错帧统计计数时,将错误帧数据填入错帧结构中,同时对错误帧进行帧数累加,作为衡量通讯效率的一个标准。第二级缓存处理过程如图6所示,首先判断第二级缓存是否已满,缓存满提示请及时取走缓存中的数据,否则继续压栈将造成数据帧的丢失。第二级缓存的大小根据计算机内存动态设定,可设为多级帧结构的大小,与第一级缓存结构不同,第一级缓存大小为BYTE字节数,缓存当前指针指向最后接收的字节。第二级缓存大小单元是帧结构。缓存当前指针指向最后进栈的数据帧,若第二级缓存不满,则将第一缓存内识别完整的数据帧添加至第二级缓存中,同时对第一级缓存中的对应字节进行清除。
提供获取第二级缓存中的帧结构的方法为依进入缓存中的帧结构的次序依次弹出,同时弹出数据后及时更新第二级缓存的帧结构的顺序以及第二级缓存的容量大小。
从第二级缓冲进行数据提取的过程如图7所示。第二级缓存采取一种先进先出的存取机制,从第二级缓存中获取帧数据的过程是首先判断第二级缓存中有无数据,当二级缓存数据个数大于零,即缓存中中帧结构数大于零,每次读取获取缓存中的第一个帧结构,同时清除第二级缓存中的第一个帧结构单元。这样基于帧结构的特点进行实时接收时就地识别,利用二级缓存协同工作进行接收数据的缓冲保存的过程能够实现串行数据包中帧数据的的快速识别。
本发明未详细说明部分属本领域技术人员公知常识。
Claims (2)
1.一种串口数据的帧识别方法,其特征在于通过第一级缓冲和第二级缓冲实现对数据帧的接收:
(1)根据待接收的数据帧,确定数据帧的帧头、帧尾、帧长和校验的字节内容,并分别构造帧头、帧尾、帧长和校验匹配段;所述帧头、帧尾、帧长和校验匹配段为接收参数;
(2)在第一级缓冲中,将接收的数据进行缓冲,并利用接收参数段进行模式匹配,完成数据帧的提取并输出到第二级缓冲;
第一级缓冲利用接收参数中的帧头、帧尾、帧长度和校验匹配段对缓存的数据帧进行模式匹配:
(21)进行帧头匹配段的模式匹配,匹配成功,则返回帧头匹配段在第一级缓冲数据帧中的位置;帧头超过5个字节时,取前五个帧头字节匹配提取出的帧结构,根据正确帧头、帧尾的校验算法计算出粗识别帧结构的正确性,识别错误的帧再做第二轮识别,将帧头个数从5个增加至完整,重新识别;
(211)获取第一级缓存中数据,设置帧头在缓存中的起始位置为-1,置查找成功标识为假;
(212)依次取与帧头匹配段相同的字节,判断帧头字节是否是最后字节,如果是最后字节,查找成功标识为真,返回正确起始位置,如果标识为假,返回-1查找失败;取出字节非最后字节,执行(213)的操作;
(213)设置查找成功标志为假,从第一级缓存中查找起始位置开始顺序查找遍历缓存中的数据字节,如果与帧头匹配段取出字节匹配失败,判断如果首字节匹配失败,继续从第一缓存中查找匹配首字节,首字节已匹配成功,递归实施此算法,从步骤(211)重新开始查找过程;
(214)若找到与帧头匹配段取出字节匹配的数据,设置查找成功标定为真,将查找起始位置后移一个字节,如果取出的是帧头首字节,记录该缓存中的位 置,将帧头在缓存中的起始位置设为该位置,进行下一帧头字节匹配过程,继续执行(212)、(213)、(214)的操作;
(215)若遍历至缓存结束也没有与帧头取出字节匹配的数据,结束算法,返回-1失败;
(22)若帧头匹配成功,则根据帧头匹配段在第一级缓冲数据帧的位置开始,依次进行帧长、帧尾匹配段的模式匹配,若匹配成功,则根据帧头、帧尾匹配段的匹配位置,确定一个完整的数据帧;
帧尾从帧头结束的位置累加上数据帧长度参数后的位置开始查找,其余步骤同(21);
(23)利用校验匹配段对确定的完整数据帧进行校验,校验成功则为正确接收的数据帧,否则为校验错误的数据帧;返回(21)完成第一级缓冲中全部数据帧的提取后,将确定的完整数据帧输出,并更新第一级缓冲;
(3)在第二级缓冲中,将第一级缓冲提取出的数据帧进行存储,并根据帧格式将第二级缓冲中的数据帧输出。
2.根据权利要求1所述的一种串口数据的帧识别方法,其特征在于:在所述步骤(3)中,第二级缓冲采用先入先出的队列对数据帧进行存取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110283839.7A CN102510323B (zh) | 2011-09-22 | 2011-09-22 | 一种串口数据的帧识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110283839.7A CN102510323B (zh) | 2011-09-22 | 2011-09-22 | 一种串口数据的帧识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102510323A CN102510323A (zh) | 2012-06-20 |
CN102510323B true CN102510323B (zh) | 2014-11-26 |
Family
ID=46222377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110283839.7A Active CN102510323B (zh) | 2011-09-22 | 2011-09-22 | 一种串口数据的帧识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102510323B (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724122B (zh) * | 2012-06-21 | 2015-04-29 | 广东威创视讯科技股份有限公司 | 基于硬件系统的串口可靠传输方法及装置 |
CN103517027B (zh) * | 2012-06-29 | 2017-05-24 | 联想(北京)有限公司 | 视频数据的处理方法及电子设备 |
CN104008023B (zh) * | 2014-06-11 | 2017-02-22 | 西北工业大学 | 基于fifo模式的串行通信总线数据智能纠错方法 |
CN105703875B (zh) * | 2014-11-25 | 2020-08-07 | 南京中兴新软件有限责任公司 | 一种消息传输的方法,设备和系统 |
CN104639290B (zh) * | 2015-01-29 | 2018-03-02 | 深圳怡化电脑股份有限公司 | 用于金融设备的通讯数据处理方法及装置 |
CN104698479B (zh) * | 2015-02-16 | 2017-03-01 | 清华大学 | 导航电文的解码方法和解码装置 |
CN105068966B (zh) * | 2015-08-19 | 2018-07-06 | 长沙威胜信息技术有限公司 | 串口自动识别方法 |
CN105187420B (zh) * | 2015-08-27 | 2018-03-30 | 哈尔滨工业大学 | 一种基于rs422总线的通讯协议匹配方法 |
CN105760134B (zh) * | 2016-02-03 | 2018-11-13 | 四川九洲电器集团有限责任公司 | 一种数据处理方法及电子设备 |
CN105681134B (zh) * | 2016-03-04 | 2018-08-10 | 西安航天动力技术研究所 | 一种通用型多种串口通信协议检测识别方法 |
CN105915518B (zh) * | 2016-04-15 | 2019-03-29 | 中国航空工业集团公司洛阳电光设备研究所 | 一种以太网数据帧实时解析方法及装置 |
CN106095910B (zh) * | 2016-06-08 | 2018-01-19 | 广东欧珀移动通信有限公司 | 一种音频文件的标签信息解析方法、装置及终端 |
CN105893314A (zh) * | 2016-06-13 | 2016-08-24 | 江西洪都航空工业集团有限责任公司 | 一种基于rs422/485串口通信的通用数据解码方法 |
CN106294266B (zh) * | 2016-07-27 | 2019-04-19 | 江西洪都航空工业集团有限责任公司 | 一种基于rs422串口数字通信的飞行器信号量处理方法 |
CN106445462B (zh) * | 2016-09-19 | 2019-07-23 | 济南超感智能科技有限公司 | 一种Unity3D平台的串口数据处理方法 |
CN107395565B (zh) * | 2017-06-15 | 2020-03-17 | 北京机械设备研究所 | 一种定长单字节格式报文协议下串口接收预处理方法 |
CN109558279A (zh) * | 2017-09-26 | 2019-04-02 | 株洲中车时代电气股份有限公司 | 一种串口数据接收方法以及异常监测定位方法 |
CN108198394A (zh) * | 2017-12-21 | 2018-06-22 | 河海大学 | 一种基于循环队列缓存的智能铁鞋数据传输处理方法及通信数据终端 |
CN108418820B (zh) * | 2018-02-28 | 2021-07-30 | 重庆零壹空间航天科技有限公司 | 串行数据的接收方法及装置 |
CN108880746A (zh) * | 2018-05-25 | 2018-11-23 | 共享智能铸造产业创新中心有限公司 | 射频通信数据中正确数据的采集方法及其采集系统 |
CN109510686B (zh) * | 2018-09-13 | 2022-05-31 | 红色江山(湖北)导航技术有限公司 | 一种通用的二进制流数据转换处理方法 |
CN109889267B (zh) * | 2018-09-28 | 2020-09-29 | 曹一宁 | 基于光通信的编码信息的发送方法、光标签和扫码设备 |
CN111290305B (zh) * | 2018-12-06 | 2021-05-04 | 航天科工惯性技术有限公司 | 多套惯导系统多路数字量采集与处理防冲突方法及系统 |
CN112152753A (zh) * | 2019-06-28 | 2020-12-29 | 北京京东尚科信息技术有限公司 | 一种与下位机传输数据的方法及装置 |
CN110515881A (zh) * | 2019-08-23 | 2019-11-29 | 西安爱生技术集团公司 | 一种串口通信帧的同步系统及同步高性能方法 |
CN110704356A (zh) * | 2019-09-25 | 2020-01-17 | 天津津航计算技术研究所 | 一种通用的解析串口数据方法 |
CN110908949A (zh) * | 2019-09-29 | 2020-03-24 | 中国人民解放军陆军工程大学 | 一种基于slip协议的完整数据帧的接收方法 |
CN111181819B (zh) * | 2019-12-25 | 2022-03-08 | 交控科技股份有限公司 | 一种基于链表结构的接收多字节数据帧的串口通讯方法 |
CN111339020A (zh) * | 2020-02-25 | 2020-06-26 | 东莞市峰谷科技有限公司 | 一种串口数据的收发方法 |
CN111651256B (zh) * | 2020-05-31 | 2023-07-28 | 西安爱生技术集团公司 | 一种基于FreeRTOS的串行通信数据同步方法 |
CN113259055B (zh) * | 2021-05-19 | 2022-11-25 | 金华卓远实业有限公司 | 一种单线uart高效通讯方法 |
CN113392060A (zh) * | 2021-06-16 | 2021-09-14 | 天津津航计算技术研究所 | 一种通用的串口数据接收处理方法 |
CN114003522A (zh) * | 2021-10-29 | 2022-02-01 | 四川虹美智能科技有限公司 | 基于串口的通讯方法、装置及计算机可读介质 |
CN114828094B (zh) * | 2022-05-13 | 2024-09-24 | 淮阴工学院 | 一种基于mqtt协议的消息流乱序纠正方法及串口波形显示系统 |
CN115801181B (zh) * | 2022-10-14 | 2024-08-06 | 北京机电工程研究所 | 一种基于双缓存结构的数字量遥测方法 |
CN116112581A (zh) * | 2022-12-27 | 2023-05-12 | 卡斯柯信号有限公司 | 一种串口通信大数据分包传输与处理方法、设备及介质 |
CN116561045B (zh) * | 2023-05-12 | 2024-03-29 | 重庆赛力斯凤凰智创科技有限公司 | 一种双处理器核间通信方法、装置、tbox及存储介质 |
CN116743951B (zh) * | 2023-08-09 | 2024-01-12 | 山东云海国创云计算装备产业创新中心有限公司 | 一种视频数据处理方法、系统、存储介质和电子设备 |
CN116795756B (zh) * | 2023-08-28 | 2023-10-27 | 成都量芯集成科技有限公司 | 一种基于串口通讯的帧数据流软件接收方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571412A (zh) * | 2004-05-13 | 2005-01-26 | 中兴通讯股份有限公司 | 一种基带数据传输的装置及其帧同步方法 |
CN101707506A (zh) * | 2009-11-06 | 2010-05-12 | 中兴通讯股份有限公司 | 一种光传送网中业务时钟透传的方法及系统 |
CN102098131A (zh) * | 2009-12-15 | 2011-06-15 | 航天科工惯性技术有限公司 | 一种基于动态参数配置的串口数据帧通用组帧解帧方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217305B (zh) * | 2008-01-02 | 2011-05-04 | 华为技术有限公司 | 专用物理数据信道数据的处理方法和装置 |
-
2011
- 2011-09-22 CN CN201110283839.7A patent/CN102510323B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571412A (zh) * | 2004-05-13 | 2005-01-26 | 中兴通讯股份有限公司 | 一种基带数据传输的装置及其帧同步方法 |
CN101707506A (zh) * | 2009-11-06 | 2010-05-12 | 中兴通讯股份有限公司 | 一种光传送网中业务时钟透传的方法及系统 |
CN102098131A (zh) * | 2009-12-15 | 2011-06-15 | 航天科工惯性技术有限公司 | 一种基于动态参数配置的串口数据帧通用组帧解帧方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102510323A (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102510323B (zh) | 一种串口数据的帧识别方法 | |
US7903689B2 (en) | Method and system for packet reassembly based on a reassembly header | |
CN107608750B (zh) | 用于型式辨识的装置 | |
CN109450900B (zh) | 拟态判决方法、装置及系统 | |
US9258013B1 (en) | Data compression with Huffman code on multicore processors | |
US8774194B2 (en) | Method and apparatus for a high-speed frame tagger | |
CN102148805B (zh) | 特征匹配方法和装置 | |
CN105337991A (zh) | 一种一体化的报文流查找与更新方法 | |
CN103514238A (zh) | 基于分类查找的敏感词识别处理方法 | |
CN103955539B (zh) | 一种获取二进制协议数据中控制字段划分点的方法及装置 | |
CN100495407C (zh) | 一种多字符串匹配方法和芯片 | |
CN104679596A (zh) | 一种提高服务器端并发性能的消息处理方法及其系统 | |
CN109902125A (zh) | 一种基于现有数据库的分布式储存方法 | |
CN103023613A (zh) | 一种对数据帧长度进行校验的方法及装置 | |
CN114442954B (zh) | 一种lz4编码压缩装置 | |
CN109375870A (zh) | 一种加速ssd主控芯片d2h无映射读取的方法及其系统 | |
CN112559482B (zh) | 一种基于分布式的二进制数据分类处理方法和系统 | |
CN103078646A (zh) | 字典查询压缩、解压缩方法及其装置 | |
CN118093338A (zh) | 一种基于fpga数据库性能高速评判系统和使用方法 | |
CN102270223B (zh) | 消息解码库的生成方法、装置及消息解码方法、装置 | |
CN102629235A (zh) | 一种提高ddr存储器读写速率的方法 | |
CN102073682B (zh) | 一种基于编码方式的文档数据恢复系统及其快速恢复方法 | |
CN103279329A (zh) | 支持同步edac校验的高效取指流水线 | |
CN101702100A (zh) | 一种文字输入方法和文字输入装置 | |
US20160079996A1 (en) | Compression ratio for a compression engine |
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 |