CN113612760A - 应用于上下位机串口通讯协议的控制方法及控制装置 - Google Patents
应用于上下位机串口通讯协议的控制方法及控制装置 Download PDFInfo
- Publication number
- CN113612760A CN113612760A CN202110865880.9A CN202110865880A CN113612760A CN 113612760 A CN113612760 A CN 113612760A CN 202110865880 A CN202110865880 A CN 202110865880A CN 113612760 A CN113612760 A CN 113612760A
- Authority
- CN
- China
- Prior art keywords
- data
- segment
- serial port
- byte
- length
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明提供了一种应用于上下位机串口通讯协议的控制方法,应用于发送端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,其特征在于,所述控制方法包括以下步骤:根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据,其中任一要素数据对应有一标签;将所有标签化数据组合形成数据域;根据所述数据头、所述命令字、所述数据长度、所述数据域、所述结束符和所述校验位组成串口协议包;将所述串口协议包发送至接收端。
Description
技术领域
本发明涉及串口通讯协议技术领域,尤其涉及一种应用于上下位机串口通讯协议的控制方法及控制装置。
背景技术
串口通讯通常用于设备之间的数据传输,而被广泛应用于各个领域当中。其中在通讯过程中传输的数据流通过上下位机提前商定的协议格式组包,现有的串口数据协议格式通常为(数据头(STX)+命令字(CMD)+数据长度(LEN)+数据域(DATA)+结束符(EXT)+校验位(LRC))。由于在实际数据交互时“数据域(DATA)”是由不同要素组成,当存在多个要素需要同时进行传输时,为了解决这一问题,目前使用的办法是采用每个要素固定长度区域和固定排列顺序的方式,或者分多次交互,每次协议包只包含一种要素的方式。
然而现有采用的这种方法存在如下问题:数据格式固化、可扩展性差、协议维护不友好、采用多次交互的方式增加时间成本,影响响应速度。因此,需要一种能够既满足多个要素需要同时进行传输又避免出现上述问题的应用于上下位机串口通讯协议的控制方法及控制装置。
发明内容
本发明提供了一种应用于上下位机串口通讯协议的控制方法及控制装置,旨在解决背景技术中提及的技术问题。
本发明提供了一种应用于上下位机串口通讯协议的控制方法,应用于发送端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,所述控制方法包括以下步骤:
根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据,其中任一要素数据对应有一标签;
将所有标签化数据组合形成数据域;
根据所述数据头、所述命令字、所述数据长度、所述数据域、所述结束符和所述校验位组成串口协议包;
将所述串口协议包发送至接收端。
进一步的,所述“根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据”具体包括:
根据要素种类生成与其对应的标签段,其中所述标签段的属性为bit,由16进制表示,字节数量固定为两个;
根据要素数据占据的字节数量的信息生成与其对应的数据长度段;
将所述标签段、所述数据长度段和数据段组合形成标签化数据,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据段为待发送的数据中的一要素数据。
进一步的,所述数据长度段的属性为bit,所述控制方法包括:
当所述数据长度段所占字节为1个字节时,所述数据长度段的最左边字节的最左bit位为0,且该字节剩余的7个bit即是所述数据段所占据的字节数量;
当所述数据长度段所占字节大于1个字节时,所述数据长度段的最左边字节的最左bit位为1,最左边字节的剩余7个bit位即是所述数据长度段所占据的字节数量,此时所述数据长度段中的除最左字节的其他字节即是所述数据段所占据的字节数量。
本发明还提供了一种应用于上下位机串口通讯协议的控制方法,应用于接收端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,所述控制方法包括以下步骤:
接收串口协议包,其中所述串口协议包是由发送端发送至所述接收端的;
获取所述串口协议包中的数据域;
根据标签将所述数据分为多个标签化数据;
将所述标签化数据解析为对应的要素数据。
进一步的,所述“获取所述串口协议包中的数据域”具体包括:
根据预先设定的串口通讯协议提取所述数据域。
进一步的,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据长度段的属性为bit,所述数据段为待发送的数据中的一要素数据所述“将所述标签化数据解析为对应的要素数据”具体包括:
识别所述标签段;
判断所述标签段后的第一个字节的最左bit位是否为0;
若为0,则识别该字节的剩余7个bit位对应的值,并根据该值读取对应长度的数据段;
若为1,则识别该字节的剩余7个bit位对应的值,并根据该值截取该字节往后的对应数量的字节,并根据截取得到的字节对应的值读取对应长度的数据段。
本发明还提供了一种控制装置,应用于上下位机串口通讯协议的控制方法,应用于发送端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,所述控制装置包括:
标签化模块,用于根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据,其中任一要素数据对应有一标签;
数据域生成模块,用于将所有标签化数据组合形成数据域;
串口协议包生成模块,用于根据所述数据头、所述命令字、所述数据长度、所述数据域、所述结束符和所述校验位组成串口协议包;
发送模块,用于将所述串口协议包发送至接收端。
进一步的,所述标签化模块具体包括:
标签段生成模块,用于根据要素种类生成与其对应的标签段,其中所述标签段的属性为bit,由16进制表示,字节数量固定为两个;
数据长度段生成模块,用于根据要素数据占据的字节数量的信息生成与其对应的数据长度段;
整合模块,用于将所述标签段、所述数据长度段和数据段组合形成标签化数据,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据段为待发送的数据中的一要素数据。
本发明还提供了一种控制装置,应用于上下位机串口通讯协议的控制方法,应用于接收端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,所述控制装置包括:
接收模块,用于接收串口协议包,其中所述串口协议包是由发送端发送至所述接收端的;
提取模块,用于获取所述串口协议包中的数据域;
标签识别模块,用于根据标签将所述数据分为多个标签化数据;
解析模块,用于将所述标签化数据解析为对应的要素数据。
进一步的,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据长度段的属性为bit,所述数据段为待发送的数据中的一要素数据,所述标签识别模块具体包括:
识别模块,用于识别所述标签段;
判断模块,用于判断所述标签段后的第一个字节的最左bit位是否为0;
第一执行模块,用于当所述标签段后的第一个字节的最左bit位是0时,识别该字节的剩余7个bit位对应的值,并根据该值读取对应长度的数据段;
第二执行模块,用于当所述标签段后的第一个字节的最左bit位是1时,则识别该字节的剩余7个bit位对应的值,并根据该值截取该字节往后的对应数量的字节,并根据截取得到的字节对应的值读取对应长度的数据段。
本发明中通过标签化编码规则对要素数据进行做编码,不同要素通过不同的标签做区分。如果一个交互协议中需要传输多个要素数据,那么数据域就由多个标签化数据组成,并且排序不限。这样在设备通过串***互时,在交互设备中集成数据编码器和数据解析器,就能快速的对传输要素数据做编码和解析。
这种方式一方面可以简化数据的组织难度,特别是一个数据包中需要包含多个不同元素数据时,通过将不同元素标签化,优势更为明显;另一方面标签化的方式可以增加协议的灵活性,当需要对传输的数据做增删时,直接增删标签即可,而不需要重新修改协议格式。标签化的方式可以提高协议的维护性,通过元素标签化,能很清楚的知道元素代表的内容,协议的维护更友好。标签化的方式可以提高程序编码效率和运行效率,数据特征统一化,集成统一的数据编码器和解码器,快速对数据做编码和解码操作。
应当理解的是,以上的一般描述和后面的细节描述仅仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是本发明提供的一实施例的应用于发送端的应用上下位机串口通讯协议的控制方法的步骤流程图。
图2是本发明提供的一实施例的应用于发送端的应用上下位机串口通讯协议的控制装置的模块图
图3是本发明提供的一实施例的应用于接收端的应用上下位机串口通讯协议的控制方法的步骤流程图。
图4是本发明提供的一实施例的应用于接收端的应用上下位机串口通讯协议的控制装置的模块图
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作***或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
请参阅图1,本发明提供了一种应用于上下位机串口通讯协议的控制方法,应用于发送端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,所述控制方法包括以下步骤:
S101:根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据,其中任一要素数据对应有一标签。
S102:将所有标签化数据组合形成数据域。
S103:根据所述数据头、所述命令字、所述数据长度、所述数据域、所述结束符和所述校验位组成串口协议包。
串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,其中。
S104:将所述串口协议包发送至接收端。
串口协议包组成之后,发送端将其发送至接收端,完成一次基于上下位机串口通讯协议的数据交互。
本发明的一种实施例中,所述步骤S101具体包括:
S101a:根据要素种类生成与其对应的标签段,其中所述标签段的属性为bit,由16进制表示,字节数量固定为两个。
本实施例中,发送端首先把待发送数据中的每个元素标签化,每个元素按TLV规则分配特定的标签段Tag,一标签对应一种元素。例如某个交互中有一个元素为***,可以给***这个元素分配标签段Tag为“FF01”。而且通过固定字节数量以便于准确识别标签段,进而避免数据混乱造成读取困难。
S101b:根据要素数据占据的字节数量的信息生成与其对应的数据长度段。
通过要素数据占据的字节数量的信息转换为数据长度段,利用数据长度段进行存储要素数据占据的字节数量的信息,从而可以准确识别该标签对应的要素数据信息,避免误读导致信息混乱。
S101c:将所述标签段、所述数据长度段和数据段组合形成标签化数据,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据段为待发送的数据中的一要素数据。
本实施例中使用TLV编码方式,TLV(tag-length-value)格式,即每个子域由tag标签段(T),数据长度段(L)和数据段(V)构成,而数据域则是由多个子域组成。
具体的,本发明的一种实施例中,所述数据长度段的属性为bit,所述控制方法还包括:
当所述数据长度段所占字节为1个字节时,所述数据长度段的最左边字节的最左bit位为0,且该字节剩余的7个bit即是所述数据段所占据的字节数量;
当所述数据长度段所占字节大于1个字节时,所述数据长度段的最左边字节的最左bit位为1,最左边字节的剩余7个bit位即是所述数据长度段所占据的字节数量,此时所述数据长度段中的除最左字节的其他字节即是所述数据段所占据的字节数量。
本实施例中,当所述数据长度段最左边字节的最左bit位(即bit8)为0,表示该数据长度段占一个字节,它的后续7个bit位(即bit7~bit1)表示所述数据段的长度,采用二进制数表示所述数据段长度的十进制数。例如,某个数据段取值占3个字节,那么其对应的数据长度段表示为“00000011”。综合可知,若子域取值的长度在1~127字节之间,那么该数据长度段本身仅占一个字节。
当所述数据长度段最左边字节的最左bit位(即bit8)为1,表示该数据长度段不止占一个字节,那么它到底占几个字节由该最左字节的后续7个bit位(即bit7~bit1)的十进制取值表示。例如,若所述数据长度段的最左字节为10000010,表示此数据长度段除最左字节外,后面还有两个字节,然后其后续的字节对应的十进制取值表示子域取值的长度。例如,若所述数据长度段表示为“1000000111111111”,表示该数据段取值占255个字节。所以,若数据段取值的长度在127~255字节之间,那么所述数据长度段本身需占两个字节。
本发明的一种实施例中,所述数据段采用16进制表示,每隔两个位即为一个字节,例如数据段为“6226888899990000”,转换成16进制则为“36323236383838383939393930303030”(0x36、0x320x320x360x380x380x380x380x390x390x390x390x300x300x300x30)。
本实施例中,每个元素按TLV规则分配特定的标签段,通过TLV编码器把元素和数据做绑定,假设某次交互当中有一个元素为***,***长度为16,***内容为6226888899990000,那么我们可以给***这个元素分配Tag为“FF01”,通过TLV规则,***的元素的数据编码就为“FF011036323236383838383939393930303030”(以上编码为16进制数据),则形成一个标签化数据,并将该标签化数据作为数据域的一部分写入,最后按照串口协议组成发送的数据包。
在一种实施例中,本发明还提供了一种控制装置100,应用于上下位机串口通讯协议的控制方法,应用于发送端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,所述装置100存储有多条指令,所述指令适于由处理器加载并执行应用于上下位机串口通讯协议的控制方法,包括:
S101:根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据,其中任一要素数据对应有一标签。
S102:将所有标签化数据组合形成数据域。
S103:根据所述数据头、所述命令字、所述数据长度、所述数据域、所述结束符和所述校验位组成串口协议包。
S104:将所述串口协议包发送至接收端。
为了便于描述,将所述装置100拆分为功能模块架构,如图2所示,包括:
标签化模块101,用于根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据,其中任一要素数据对应有一标签。
数据域生成模块102,用于将所有标签化数据组合形成数据域。
串口协议包生成模块103,用于根据所述数据头、所述命令字、所述数据长度、所述数据域、所述结束符和所述校验位组成串口协议包.
发送模块104,用于将所述串口协议包发送至接收端。
进一步的,所述标签化模块101具体包括:
标签段生成模块,用于根据要素种类生成与其对应的标签段,其中所述标签段的属性为bit,由16进制表示,字节数量固定为两个。
数据长度段生成模块,用于根据要素数据占据的字节数量的信息生成与其对应的数据长度段。
整合模块,用于将所述标签段、所述数据长度段和数据段组合形成标签化数据,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据段为待发送的数据中的一要素数据。
请参阅图3,本发明还提供了一种应用于上下位机串口通讯协议的控制方法,应用于接收端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,所述控制方法包括以下步骤:
S201:接收串口协议包,其中所述串口协议包是由发送端发送至所述接收端的。
S202:获取所述串口协议包中的数据域。
S203:根据标签将所述数据分为多个标签化数据。
S204:将所述标签化数据解析为对应的要素数据。
具体的,本发明的一种实施例中,所述步骤S202具体包括:
根据预先设定的串口通讯协议提取所述数据域。
本实施例中,由于串口通讯协议预先设置好,且串口通讯协议包括数据头、命令字、数据长度、数据域、结束符和校验位。
具体的,本发明的一种实施例中,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据长度段的属性为bit,所述数据段为待发送的数据中的一要素数据所述“将所述标签化数据解析为对应的要素数据”具体包括:
识别所述标签段。
判断所述标签段后的第一个字节的最左bit位是否为0。
若为0,则识别该字节的剩余7个bit位对应的值,并根据该值读取对应长度的数据段。
若为1,则识别该字节的剩余7个bit位对应的值,并根据该值截取该字节往后的对应数量的字节,并根据截取得到的字节对应的值读取对应长度的数据段。
本实施例中,由于上文中提及的发送端发送中预设的标签化规则,接收端根据该规则方向解析以得到要素数据。假设接收端接收到的单个标签化数据为“FF011036323236383838383939393930303030”,通过解析器解析后,可以解析出所述标签段Tag为“FF01”,所述数据长度段Length为16(0x10),所述数据段Value为6226888899990000(0x36、0x320x320x360x380x380x380x380x390x390x390x390x300x300x300x30),这样就能清楚的知道该条数据代表的要素种类及要素数据内容了,当接收端收到多个元素时,用同样的方式解析出来,这样就完成了数据的传输。
本发明还提供了一种控制装置200,应用于上下位机串口通讯协议的控制方法,应用于接收端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,所述装置200存储有多条指令,所述指令适于由处理器加载并执行应用于上下位机串口通讯协议的控制方法,包括:
S201:接收串口协议包,其中所述串口协议包是由发送端发送至所述接收端的。
S202:获取所述串口协议包中的数据域。
S203:根据标签将所述数据分为多个标签化数据。
S204:将所述标签化数据解析为对应的要素数据。
为了便于描述,将所述装置200拆分为功能模块架构,如图4所示,包括:
接收模块201,用于接收串口协议包,其中所述串口协议包是由发送端发送至所述接收端的。
提取模块202,用于获取所述串口协议包中的数据域。
标签识别模块203,用于根据标签将所述数据分为多个标签化数据。
解析模块204,用于将所述标签化数据解析为对应的要素数据。
进一步的,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据长度段的属性为bit,所述数据段为待发送的数据中的一要素数据,所述标签识别模块203具体包括:
识别模块,用于识别所述标签段.
判断模块,用于判断所述标签段后的第一个字节的最左bit位是否为0。
第一执行模块,用于当所述标签段后的第一个字节的最左bit位是0时,识别该字节的剩余7个bit位对应的值,并根据该值读取对应长度的数据段。
第二执行模块,用于当所述标签段后的第一个字节的最左bit位是1时,则识别该字节的剩余7个bit位对应的值,并根据该值截取该字节往后的对应数量的字节,并根据截取得到的字节对应的值读取对应长度的数据段。
本发明中通过标签化编码规则对要素数据进行做编码,不同要素通过不同的标签做区分。如果一个交互协议中需要传输多个要素数据,那么数据域就由多个标签化数据组成,并且排序不限。这样在设备通过串***互时,在交互设备中集成数据编码器和数据解析器,就能快速的对传输要素数据做编码和解析。
这种方式一方面可以简化数据的组织难度,特别是一个数据包中需要包含多个不同元素数据时,通过将不同元素标签化,优势更为明显;另一方面标签化的方式可以增加协议的灵活性,当需要对传输的数据做增删时,直接增删标签即可,而不需要重新修改协议格式。标签化的方式可以提高协议的维护性,通过元素标签化,能很清楚的知道元素代表的内容,协议的维护更友好。标签化的方式可以提高程序编码效率和运行效率,数据特征统一化,集成统一的数据编码器和解码器,快速对数据做编码和解码操作。
电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例所述的应用程序多开方法中的全部或部分流程,也可以通过计算机程序来指相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上文方法实施例所述的应用于上下位机串口通讯协议的控制方法的步骤。其中,所述算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请的说明书和权利要求书中,词语“包括/包含”和词语“具有/包括”及其变形,用于指定所陈述的特征、数值、步骤或部件的存在,但不排除存在或添加一个或多个其他特征、数值、步骤、部件或它们的组合。
本发明的一些特征,为阐述清晰,分别在不同的实施例中描述,然而,这些特征也可以结合于单一实施例中描述。相反,本发明的一些特征,为简要起见,仅在单一实施例中描述,然而,这些特征也可以单独或以任何合适的组合于不同的实施例中描述。
以上对本发明的应用于上下位机串口通讯协议的控制方法及装置的各个具体实施方式进行了具体描述。最后,应当说明的是,以上各具体实施方式仅用以说明本发明的技术方案而非对其进行限制。尽管参照上述具体实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解,依然可以对本发明的具体实施方式进行修改或对部分技术特征进行等同替换,而在不脱离本发明的技术方案的精神下,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (10)
1.一种应用于上下位机串口通讯协议的控制方法,应用于发送端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,其特征在于,所述控制方法包括以下步骤:
根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据,其中任一要素数据对应有一标签;
将所有标签化数据组合形成数据域;
根据所述数据头、所述命令字、所述数据长度、所述数据域、所述结束符和所述校验位组成串口协议包;
将所述串口协议包发送至接收端。
2.根据权利要求1所述的控制方法,其特征在于,所述“根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据”具体包括:
根据要素种类生成与其对应的标签段,其中所述标签段的属性为bit,由16进制表示,字节数量固定为两个;
根据要素数据占据的字节数量的信息生成与其对应的数据长度段;
将所述标签段、所述数据长度段和数据段组合形成标签化数据,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据段为待发送的数据中的一要素数据。
3.根据权利要求2所述的控制方法,其特征在于,所述数据长度段的属性为bit,所述控制方法包括:
当所述数据长度段所占字节为1个字节时,所述数据长度段的最左边字节的最左bit位为0,且该字节剩余的7个bit即是所述数据段所占据的字节数量;
当所述数据长度段所占字节大于1个字节时,所述数据长度段的最左边字节的最左bit位为1,最左边字节的剩余7个bit位即是所述数据长度段所占据的字节数量,此时所述数据长度段中的除最左字节的其他字节即是所述数据段所占据的字节数量。
4.一种应用于上下位机串口通讯协议的控制方法,应用于接收端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,其特征在于,所述控制方法包括以下步骤:
接收串口协议包,其中所述串口协议包是由发送端发送至所述接收端的;
获取所述串口协议包中的数据域;
根据标签将所述数据分为多个标签化数据;
将所述标签化数据解析为对应的要素数据。
5.根据权利要求4所述的控制方法,其特征在于,所述“获取所述串口协议包中的数据域”具体包括:
根据预先设定的串口通讯协议提取所述数据域。
6.根据权利要求4所述的控制方法,其特征在于,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据长度段的属性为bit,所述数据段为待发送的数据中的一要素数据所述“将所述标签化数据解析为对应的要素数据”具体包括:
识别所述标签段;
判断所述标签段后的第一个字节的最左bit位是否为0;
若为0,则识别该字节的剩余7个bit位对应的值,并根据该值读取对应长度的数据段;
若为1,则识别该字节的剩余7个bit位对应的值,并根据该值截取该字节往后的对应数量的字节,并根据截取得到的字节对应的值读取对应长度的数据段。
7.一种控制装置,应用于上下位机串口通讯协议的控制方法,应用于发送端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,其特征在于,所述控制装置包括:
标签化模块,用于根据待发送数据中不同的要素种类对要素数据进行标签化,以生成标签化数据,其中任一要素数据对应有一标签;
数据域生成模块,用于将所有标签化数据组合形成数据域;
串口协议包生成模块,用于根据所述数据头、所述命令字、所述数据长度、所述数据域、所述结束符和所述校验位组成串口协议包;
发送模块,用于将所述串口协议包发送至接收端。
8.根据权利要求7所述的控制装置,其特征在于,所述标签化模块具体包括:
标签段生成模块,用于根据要素种类生成与其对应的标签段,其中所述标签段的属性为bit,由16进制表示,字节数量固定为两个;
数据长度段生成模块,用于根据要素数据占据的字节数量的信息生成与其对应的数据长度段;
整合模块,用于将所述标签段、所述数据长度段和数据段组合形成标签化数据,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据段为待发送的数据中的一要素数据。
9.一种控制装置,应用于上下位机串口通讯协议的控制方法,应用于接收端,串口协议包由数据头、命令字、数据长度、数据域、结束符和校验位组成,其特征在于,所述控制装置包括:
接收模块,用于接收串口协议包,其中所述串口协议包是由发送端发送至所述接收端的;
提取模块,用于获取所述串口协议包中的数据域;
标签识别模块,用于根据标签将所述数据分为多个标签化数据;
解析模块,用于将所述标签化数据解析为对应的要素数据。
10.根据权利要求9所述的控制装置,其特征在于,所述标签化数据包括标签段、数据长度段和数据段,所述数据长度段中包含有所述数据段占据的字节数量的信息,所述数据长度段的属性为bit,所述数据段为待发送的数据中的一要素数据,所述标签识别模块具体包括:
识别模块,用于识别所述标签段;
判断模块,用于判断所述标签段后的第一个字节的最左bit位是否为0;
第一执行模块,用于当所述标签段后的第一个字节的最左bit位是0时,识别该字节的剩余7个bit位对应的值,并根据该值读取对应长度的数据段;
第二执行模块,用于当所述标签段后的第一个字节的最左bit位是1时,则识别该字节的剩余7个bit位对应的值,并根据该值截取该字节往后的对应数量的字节,并根据截取得到的字节对应的值读取对应长度的数据段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110865880.9A CN113612760A (zh) | 2021-07-29 | 2021-07-29 | 应用于上下位机串口通讯协议的控制方法及控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110865880.9A CN113612760A (zh) | 2021-07-29 | 2021-07-29 | 应用于上下位机串口通讯协议的控制方法及控制装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113612760A true CN113612760A (zh) | 2021-11-05 |
Family
ID=78306023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110865880.9A Pending CN113612760A (zh) | 2021-07-29 | 2021-07-29 | 应用于上下位机串口通讯协议的控制方法及控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113612760A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140376405A1 (en) * | 2013-06-25 | 2014-12-25 | Nest Labs, Inc. | Efficient Communication for Devices of a Home Network |
CN107995206A (zh) * | 2017-12-13 | 2018-05-04 | 大唐融合通信股份有限公司 | 用于工业大数据的tlv通信协议格式的实现装置及方法 |
CN109981651A (zh) * | 2019-03-27 | 2019-07-05 | 努比亚技术有限公司 | 数据传输方法、装置、移动终端及可读存储介质 |
CN110324222A (zh) * | 2019-07-05 | 2019-10-11 | 厦门金龙联合汽车工业有限公司 | 一种车辆can总线数据交互***及其交互方法 |
CN111740960A (zh) * | 2020-05-25 | 2020-10-02 | 杭州涂鸦信息技术有限公司 | 物联网设备的通信方法、物联网设备及存储介质 |
-
2021
- 2021-07-29 CN CN202110865880.9A patent/CN113612760A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140376405A1 (en) * | 2013-06-25 | 2014-12-25 | Nest Labs, Inc. | Efficient Communication for Devices of a Home Network |
CN107995206A (zh) * | 2017-12-13 | 2018-05-04 | 大唐融合通信股份有限公司 | 用于工业大数据的tlv通信协议格式的实现装置及方法 |
CN109981651A (zh) * | 2019-03-27 | 2019-07-05 | 努比亚技术有限公司 | 数据传输方法、装置、移动终端及可读存储介质 |
CN110324222A (zh) * | 2019-07-05 | 2019-10-11 | 厦门金龙联合汽车工业有限公司 | 一种车辆can总线数据交互***及其交互方法 |
CN111740960A (zh) * | 2020-05-25 | 2020-10-02 | 杭州涂鸦信息技术有限公司 | 物联网设备的通信方法、物联网设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10997481B2 (en) | System and method for collecting and analyzing multi-fields two-dimensional code | |
CN101526963A (zh) | 网页编码识别方法、装置和终端设备 | |
CN111131403A (zh) | 一种物联网设备的消息编解码方法及装置 | |
CN111402570A (zh) | 红外遥控信号接收方法、接收***、接收设备及存储介质 | |
CN103036641A (zh) | 数据交换方法、***及反序列化方法 | |
CN106033551A (zh) | 数据解析方法、装置及*** | |
CN113612760A (zh) | 应用于上下位机串口通讯协议的控制方法及控制装置 | |
CN113742294A (zh) | 一种asn.1-per信令消息解码方法、***、装置及介质 | |
CN113676290A (zh) | 一种基于基金***的数据传输方法及相关设备 | |
CN112822265A (zh) | 数据编码方法、装置、设备端及存储介质 | |
CN116150119A (zh) | 日志处理方法、***、电子设备及计算机可读存储介质 | |
CN110347567B (zh) | 一种基于协议匹配的二进制数据日志分析方法和*** | |
CN112486885B (zh) | 数据帧的生成方法、存储介质及计算机设备 | |
CN104036210A (zh) | 一种超高频阅读器对多标签识别性能测试方法 | |
CN107612919B (zh) | 协议配置方法及装置 | |
US5793984A (en) | Method of computer representation of data | |
US7243341B2 (en) | Scripting language for processing typed structured data | |
CN110110073B (zh) | 一种文字展示方法及装置 | |
US10915547B2 (en) | Optimizing data conversion using pattern frequency | |
CN110489121B (zh) | 一种皮肤包文件的生成方法及*** | |
CN113691532B (zh) | 基于fast协议的万兆通信数据的并行解析方法及装置 | |
CN112559478B (zh) | 一种日志生成方法、装置、终端设备及存储介质 | |
CN111178008A (zh) | 一种面向数字字符的数据编码方法、解析方法及*** | |
CN111352751A (zh) | 数据文件生成方法、装置、计算机设备及存储介质 | |
CN108712394A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211105 |
|
RJ01 | Rejection of invention patent application after publication |