CN113595966A - 串口通信控制、配置、测试方法、装置、电子设备和存储介质 - Google Patents
串口通信控制、配置、测试方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113595966A CN113595966A CN202010368247.4A CN202010368247A CN113595966A CN 113595966 A CN113595966 A CN 113595966A CN 202010368247 A CN202010368247 A CN 202010368247A CN 113595966 A CN113595966 A CN 113595966A
- Authority
- CN
- China
- Prior art keywords
- data
- function
- control
- field
- frame
- 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.)
- Granted
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明实施例提供了一种串口通信控制、配置、测试方法、装置、电子设备和存储介质。所述串口通信控制方法包括:控制设备确定帧结构;所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;所述控制设备向所述受控设备传输所述至少一个数据帧。在本发明实施例的方案中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的帧结构封装控制数据,实现了不同功能的控制数据封装,从而实现了对不同设备的兼容。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种串口通信控制、配置、测试方法、装置、电子设备和存储介质。
背景技术
物联网(The Internet of Things,简称IOT)是指通过各种信息传感器、射频识别技术、全球定位***、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电、力学、化学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。
在附属设备与物理网设备的数据传输过程中,需要对传输的数据基于传输协议进行组包或者解析,并按照设定做出相应的处理。但是需要耗用大量时间做协议对接,并且不利于升级等后期维护操作。
发明内容
有鉴于此,本发明实施例提供一种串口通信控制、配置、测试方法、装置、电子设备和存储介质,以解决或缓解上述问题。
根据本发明实施例的第一方面,提供了一种串口通信控制方法,包括:控制设备确定帧结构,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,其中,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;所述控制设备向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装。
根据本发明实施例的第二方面,提供了一种串口通信控制方法,包括:控制设备响应控制指令,生成用于控制受控设备的控制数据;所述控制设备基于帧结构,对所述控制数据进行封装处理,得到至少一个数据帧,其中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;所述控制设备向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装。
根据本发明实施例的第三方面,提供了一种串口通信控制方法,包括:受控设备接收控制设备发送的至少一个数据帧,其中,所述至少一个数据帧利用帧结构封装,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装用于控制所述受控设备的至少部分控制数据,所述数据功能指示字段用于封装所述至少部分控制数据的功能信息;所述受控设备基于所述帧结构,对所述至少一个数据帧进行解封装处理,得到所述控制数据。
根据本发明实施例的第四方面,提供了一种串口配置方法,包括:获取封装能力接口和/或解封装能力接口,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;通过调用所述封装能力接口和/或所述解封装能力接口,对串口进行配置。
根据本发明实施例的第五方面,提供了一种串口测试方法,包括:确定针对串口配置设定的多个测试节点,所述多个测试节点在所述串口配置正确调用所述封装能力接口和/或所述解封装能力接口时相应地返回多个不同运行参数,其中,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;基于所述多个不同运行参数,对所述串口配置进行测试。
根据本发明实施例的第六方面,提供了一种串口配置装置,包括:获取模块,获取封装能力接口和/或解封装能力接口,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;配置模块,通过调用所述封装能力接口和/或所述解封装能力接口,对串口进行配置。
根据本发明实施例的第七方面,提供了一种串口测试装置,包括:确定模块,确定针对串口配置设定的多个测试节点,所述多个测试节点在所述串口配置正确调用所述封装能力接口和/或所述解封装能力接口时相应地返回多个不同运行参数,其中,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;测试模块,基于所述多个不同运行参数,对所述串口配置进行测试。
根据本发明实施例的第八方面,提供了一种串口通信控制装置,包括:确定模块,确定帧结构,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;封装模块,基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,其中,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;传输模块,向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装。
根据本发明实施例的第九方面,提供了一种串口通信控制装置,包括:生成模块,响应控制指令,生成用于控制受控设备的控制数据;封装模块,基于帧结构,对所述控制数据进行封装处理,得到至少一个数据帧,其中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;传输模块,向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装。
根据本发明实施例的第十方面,提供了一种串口通信控制装置,包括:接收模块,接收控制设备发送的至少一个数据帧,其中,所述至少一个数据帧利用帧结构封装,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装用于控制所述受控设备的至少部分控制数据,所述数据功能指示字段用于封装所述至少部分控制数据的功能信息;解封装模块,基于所述帧结构,对所述至少一个数据帧进行解封装处理,得到所述控制数据。
根据本发明实施例的第十一方面,提供了一种电子设备,所述设备包括:一个或多个处理器;计算机可读介质,配置为存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面至第三方面中的任一方面所述的方法。
根据本发明实施例的第十二方面,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面至第三方面中的任一方面所述的方法。
在本发明实施例的方案中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的帧结构封装控制数据,实现了不同功能的控制数据封装,从而实现了对不同设备的兼容。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明的一个实施例的串口通信控制方法的示意性框图;
图2为本发明的另一实施例的串口通信控制方法的示意性流程图;
图3为本发明的另一实施例的串口通信控制方法的示意性流程图;
图4为本发明的另一实施例的串口通信控制方法的示意性流程图;
图5A-图5H为本发明的另一实施例的串口通信控制方法中的一些示例的帧结构的示意图;
图6A为本发明的另一实施例的串口通信控制方法的一个示例的缓冲区示意图;
图6B为本发明的另一实施例的串口通信控制方法的一个示例的缓冲区示意图;
图6C为本发明的另一实施例的串口通信控制方法的一个示例的示意性流程图;
图6D为本发明的另一实施例的串口通信控制方法的另一示例的缓冲区示意图;
图6E为本发明的另一实施例的串口通信控制方法的另一示例的缓冲区示意图;
图7为本发明的另一实施例的串口配置方法的示意性流程图;
图8为本发明的另一实施例的串口测试方法的示意性流程图;
图9为本发明的另一实施例的串口配置装置的示意性框图;
图10为本发明的另一实施例的串口测试装置的示意性框图;
图11为本发明的另一实施例的串口通信控制装置的示意性框图;
图12为本发明的另一实施例的串口通信控制装置的示意性框图;
图13为本发明的另一实施例的串口通信控制装置的示意性框图;
图14为本发明的另一实施例的电子设备的示意性结构图;
图15为本发明的另一实施例的电子设备的硬件结构。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
图1为本发明的一个实施例的串口通信控制方法的示意性框图。该实施例提供了一种控制设备与受控设备之间数据传输,以实现控制设备和受控设备之间的数据交互。该控制设备包括控制模组和无线通信模组。
控制模组与无线通信模组均相连。如图1所示,控制模组包括外部数据通道、数据总线、数据缓存区、数据转发通道和控制数据UART。无线通信模组为无线通信模组,具体对应为无线专网模组和无线公网模组,每个无线通信模组均包括数据UART、调试UART、CPU、基带芯片、射频发送模块和射频接收模块。
例如,控制模组的外部数据通道接收来自不同接口类型的控制设备(下简称控制设备)的终端数据帧,接口类型包括RS232、RJ485、ETH、LoRa、Zigbee 等,并将接收的终端数据帧通过数据总线存入数据缓冲区。例如,控制模组中的通道转发模块解析接收的不同类型的响应帧,对各个受控设备进行控制。例如,控制模组将上送数据帧存储至控制模组中的控制数据UART。例如,控制模组中的控制数据UART根据接入网类型判断接入无线通信模组中的哪一个或两个。当无线专网模组(主无线通信模组)使能时,控制模组中的控制数据UART与无线专网模组内的数据UART进行交互,将上送数据帧传输至数据 UART,无线专网模组内的CPU调度数据UART与基带芯片进行数据交互,并通过射频发送模块与上层射频信号建立通信连接,将上送数据帧发送出去。
另外,无线通信模组可根据接入网类型使能,可实现无线专网模组和无线公网模组之间的切换,可实现无线专网不同模式LTE230、LTE1800和IoT230 的切换,也可实现同一网络模式下不同子带之间的切换。例如,当无线通信模组使能时,无线专网模组内的CPU调度基带芯片与数据UART进行数据交互,通过数据UART将响应帧发送至控制模组中的控制数据UART。例如,控制模组中的控制数据UART接收到响应帧后,将其进行解封。
图2为本发明的另一实施例的串口通信控制方法的示意性流程图。图2 的串口通信控制方法,包括:
210:控制设备确定帧结构,帧结构中包括数据内容字段和与数据内容字段对应的数据功能指示字段。
应理解,还可以包括帧头字段、帧号字段、帧序号字段、校验字段、帧长度、帧尾字段中的至少一者,如图2B所示。帧结构可以包括一个数据内容字段,也可以包括多个数据内容字段。帧结构可以包括一个数据功能指示字段,也可以包括多个数据功能指示字段。例如,一个数据内容字段对应于多个数据功能指示字段。例如,多个数据内容字段对应于多个数据功能指示字段。例如,一个数据内容字段对应于一个数据功能指示字段。例如,多个数据内容字段对应于一个数据功能指示字段。
还应理解,在帧结构中,数据内容字段和数据功能指示字段可以形成数据功能字段。例如,所述帧结构可以包括一个数据功能字段,也可以多个数据功能字段。对于上述的一对一、一对多、多对一和多对多的对应关系而言,不同的数据功能字段可以具有相同或不同的对应关系。
还应理解,不同的数据功能字段可以基于相同类型的数据功能。例如,不同的数据功能字段可以具有相同的功能信息。
例如,所述数据功能字段中还可以包括数据功能序号字段。例如,所述数据功能字段中还可以包括数据长度字段。例如,所述数据功能字段中还可以包括数据校验字段。例如,多个数据功能字段包括指示不同功能类型的第一数据功能字段和第二数据功能字段。例如,第一数据功能字段可以包括数据长度字段。第二数据功能字段可以不包括长度字段。例如,第一数据功能字段可以包括数据功能序号字段。第二数据功能字段可以不包括数据功能序号字段。第一数据功能字段可以包括数据校验字段。第二数据功能字段可以不包括数据校验字段。例如,不同的长度字段可以包括不同的长度信息。例如,长度字段可以对应于数据内容字段、也可以对应于数据功能指示字段。例如,发送方(控制设备或受控设备)基于该长度信息进行封装。例如,接收方(控制设备或受控设备)可以基于该长度信息进行解封装。例如,当长度字段可以对应于数据内容字段时,基于该长度字段,将控制数据封装到目标数据内容字段中,或者对目标数据内容字段解封装,得到控制数据。例如,当长度字段对应于数据功能指示字段时,基于该长度字段,将控制数据封装到与数据功能指示字段对应的目标数据内容字段中,或者对与数据功能指示字段对应的目标数据内容字段解封装,得到控制数据。可选地,基于该长度字段和数据功能指示字段,对控制数据进行封装,或者进行解封装,得到控制数据。例如,基于该长度字段和数据功能指示字段,将控制数据封装到多个目标数据内容字段中,或者对多个目标数据内容字段解封装,得到控制数据。例如,不同的数据功能字段中的长度字段可以不同。
例如,多个数据功能字段可以为指示相同类型的数据功能字段。例如,上述的多个数据功能字段可以不包括数据长度字段。例如,发送方基于相同的预定长度进行封装和解封装。
例如,数据功能指示字段中的数据功能指示信息可以采用不同的索引方式或编码方式。应理解,上述的功能类型是指属于用于完成特定功能的同一控制数据流的功能。例如,音量开启控制、音量关闭控制、开机控制、音量调节控制可以为相同的功能类型,也可以为不同的功能类型。当完成上述的某一功能或某一特定操作的数据流被封装到不同的多个数据字段中时,该多个数据内容字段具有相同的数据功能指示信息。还应理解,上述的索引方式或编码方式可以为任意的。
220:控制设备基于帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,其中,数据内容字段用于封装至少部分控制数据,数据功能指示字段用于封装至少部分控制数据的功能信息。
应理解,基于帧结构,对用于控制受控设备的控制数据进行封装处理,可以包括:基于数据功能字段,对用于控制受控设备的控制数据进行封装处理。
还应理解,帧结构可以包括校验字段。所述校验字段中包括帧校验信息。例如,校验字段中包括数据功能校验信息。例如,校验字段可以对应于数据功能字段,用于校验该数据功能字段中的控制数据,例如,用于校验多个数据内容字段中的数据。例如,校验字段可以对应于数据内容字段,用于校验该数据内容段中的数据,例如,控制数据。
还应理解,帧结构中可以包括帧序号字段、数据功能序号字段中的至少一者。例如,在数据功能字段中包括指示同一功能类型的数据功能指示信息时,数据功能序号字段可以对应于数据功能字段,用于对不同的数据功能字段的数据进行组合,得到控制数据。例如,数据功能字段可以包括多个数据内容字段或多个数据功能指示字段。另外,数据功能序号字段可以对应于数据内容字段,用于对不同数据内容字段中的数据进行组合(例如,在封装或解封装时),得到控制数据。另外,数据功能序号字段可以对应于数据功能指示字段,用于对同一数据功能对应于的数据内容字段(一个数据内容字段或多个数据内容字段)中的数据进行组合,得到控制数据。
230:控制设备向受控设备传输至少一个数据帧,以便受控设备基于帧结构对至少一个数据帧进行解封装。
应理解,所述至少一个数据帧可以用于完成至少一个特定功能或操作。例如,音量开启控制、音量关闭控制、开机控制、关机控制、音量调节控制、部件控制、传感器控制、功率控制等。
在本发明实施例的方案中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的帧结构封装控制数据,实现了不同功能的控制数据封装,从而实现了对不同设备的兼容。
该控制设备实现的与受控设备之间的数据传输采用开放式框架设计以及标准化接口,可兼容无线公网模组与无线专网模组,实现双模共用,根据需求进行主备模组切换;另外,可兼容无线专网LTE 1800、LTE 230及IoT 230 模组,兼容同种制式下不同子带的模组,实现不同子带模组的即插即用。同时,该方法遵循通信规范,满足不同标准的要求,可承载多种控制数据。
换言之,本发明实施例的通讯协议对于协议进行了封装,简单直接,灵活多变,整体协议框架统一,不同的厂家只需要按照协议定义不同的命令字模块即可,解决了用户自定义的格式不同、内容不同、内容解析后的处理也不同的问题。因此,在不同厂家使用不同的协议进行对接的情况下,节省了大量时间和人力。
具体而言,在本发明实施例的协议中,可以将不同的功能封装成数据功能字段。例如,上述的数据功能字段还可以被称为功能字模块或命令功能模块。数据功能指示字段可以包括数据功能指示信息,例如,功能子。应理解,功能字可以采用不同的方式定义。例如,功能字主要为功能描述。例如,可以使用英文简写等并使用asc i i码做转换,使用特殊符号作为功能字查询符号。例如,长度字段中的长度信息用于记录数据内容长度。例如,发送方或接收方可以根据长度查找真正的数据内容。
例如,所述命令功能模块可以被定义为:{cmd}num l en content。其中,{cmd}可以作为功能字使用asc i i码做转换;{}可以作为功能字查询符号; num可以为序号,诸如1Byte;l en可以为长度,诸如1Byte。
应理解,上述的信息可以为数字信号,也可以为模拟信号。上述的信号可以采用各种调制方式。例如,采用频率调制、振幅调制、相位调制等。上述的各个字段中的信息可以采用不同的进制。例如,二进制、四进制、八进制、十六进制等。
在一个具体的对照明设备进行控制的实例中(即,所述照明设备作为受控设备),可以设置cmd作为控制命令。关灯命令内容定义为0x01。例如,控制关灯的功能模块数据为:0x7B,0x63,0x6D,0x64,0x7D,0x01,0x01, 0x01。还应理解,上述的命令内容的十六进制仅仅为示例性的,本发明实施例对此不作限定。其中,0x7B,0x63,0x6D,0x64,0x7D可以为命令字。后续的信息分别指示序号信息、长度信息、内容信息。
另外,可以规定状态功能模块为:{stat}mum l en content。其中,{stat} 作为状态功能字;num可以为序号,诸如1Byte;l en可以为长度,诸如1Byte。另外,可以规定关灯状态功能字为stat,关灯状态正常值为0x01。例如,正常关灯的功能模块数据可以为:0x7B,0x73,0x74,0x61,0x74,0x7D,0x01, 0x01,0x01。其中,0x7B,0x73,0x74,0x61,0x74为命令字。后续的内容分别指示序号信息、长度信息、内容信息。
可见,本发明实施例的数据帧协议,对于不同的厂家,可以规定不同的控制字。换言之,本发明实施例的数据帧使用控制字作为功能隔离,可以直接将需要的命令或者功能作为控制字,实现了灵活多变的数据内容封装。另外,实现了多命令或者多数据发送。
在本发明的另一实现方式中,控制设备在完成数据功能模块的封装之后,将数据模块存入数据功能模块缓冲区。在数据帧封装阶段,从数据功能模块缓冲区中读取数据功能模块,进行数据帧封装,封装完成之后,将其存储数据帧缓冲区。应理解,将数据功能模块存入数据功能模块缓冲区的过程与从数据功能模块缓冲区中读取数据功能模块的过程可以为并行的。当完成数据帧封装之后,将数据帧存入数据帧缓冲区,以便后续进行发送处理。应理解,发送数据帧的过程与存入数据帧的过程也可以是并行的。从而极大地提高了控制设备对数据传输的纠错能力。应理解,本示例中,仅仅对数据功能模块的封装完成之后的部分进行了图示与说明,但是应理解,在数据功能模块的封装完成之前的部分,也可以采用类似或其他方式进行处理。例如,可以创建更多的缓冲区进行封装处理,以便创建不同的队列,例如,以便提高数据纠错能力。也可以采用不创建缓冲区的方式进行处理。也可以将封装处理的子过程共用一个缓冲区进行处理。应理解,本发明实施例中的缓冲区可以为物理缓冲区,也可以为逻辑缓冲区。应理解,多个逻辑缓冲区可以映射到同一块物理缓冲区,本发明实施例对此不做限定。
作为一个示例,在帧结构中,数据内容字段和数据功能指示字段形成数据功能字段,其中,控制设备基于帧结构,对用于控制受控设备的控制数据进行封装处理,包括:控制设备基于数据功能字段,对用于控制受控设备的控制数据进行封装处理,得到数据功能模块封装队列;控制设备基于数据功能模块封装队列,进行数据功能模块封装处理,得到数据帧发送队列。
作为一个示例,控制设备基于数据功能字段,对用于控制受控设备的控制数据进行封装处理,得到数据功能模块封装队列,包括:控制设备确定用于控制受控设备的控制数据中的当前封装数据和当前封装数据的功能信息;控制设备基于数据功能字段,将当前封装数据封装到数据内容字段,并且将当前封装数据的功能信息封装到数据功能指示字段中,以得到当前数据功能模块;控制设备将当前数据功能模块存储在数据功能模块封装队列,以更新数据功能模块封装队列,并且确定控制数据中的下一封装数据和下一封装数据的功能信息。
作为一个示例,帧结构包括帧头和帧尾,其中,控制设备基于数据功能模块封装队列,进行数据功能模块封装处理,得到数据帧发送队列,包括:控制设备从数据功能模块封装队列中,确定当前待封装数据功能模块;控制设备利用帧头和帧尾,封装当前待封装数据功能模块,得到当前数据帧;控制设备将当前数据帧存储在数据帧发送队列中,以更新数据帧发送队列。
作为一个示例,所述方法还包括:控制设备确定用于多个备选受控设备的控制数据功能与功能信息之间的映射关系;控制设备基于映射关系,确定与用于控制受控设备的控制数据的功能对应的受控设备功能信息,控制设备基于帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,包括:控制设备基于帧结构,将控制数据封装到数据内容字段中,并且将受控设备功能信息封装到数据功能指示字段中,以得到至少一个数据帧。
作为一个示例,控制设备基于帧结构,对用于控制受控设备的控制数据进行封装处理,包括:控制设备基于帧结构,确定具有不同功能的第一控制数据和第二控制数据,以及第一控制数据的第一功能信息和第二控制数据的第二功能信息;分别将第一控制数据和第二控制数据封装到不同的数据内容字段中,并且分别将第一功能信息和第二功能信息封装到不同的数据功能指示字段中。
作为一个示例,在帧结构中,数据内容字段和数据功能指示字段形成数据功能字段,数据功能字段包括第一数据功能字段和第二数据功能字段,其中,第一控制数据和第一功能信息被封装到第一数据功能字段中,第二控制数据和第二功能信息被封装到第二数据功能字段中。
作为一个示例,控制设备基于帧结构,对用于控制受控设备的控制数据进行封装处理,包括:控制设备将用于控制受控设备的控制数据中的目标功能控制数据划分为多个数据段;控制设备将多个数据段分别封装到对应的多个目标数据内容字段中,并且将目标功能控制数据的功能信息封装到对应的多个目标数据功能指示字段中。
作为一个示例,控制设备将用于控制受控设备的控制数据中的目标功能控制数据划分为多个数据段,包括:控制设备确定目标功能控制数据的数据段重叠区间;控制设备基于数据段重叠区间,将目标功能控制数据划分为多个数据段。
作为一个示例,目标功能控制数据为用于进行连续控制的第一功能数据和第二功能数据,数据帧还包括与数据内容字段对应的序号字段,控制设备将用于控制受控设备的控制数据中的目标功能控制数据划分为多个数据段,包括:控制设备将第一功能数据划分为多个第一数据段,并且将第二功能数据划分为多个第二数据段;控制设备将多个第一数据段和多个第二数据段统一配置多个数据段序号;控制设备将多个数据段序号封装在相应的序号字段中。
作为一个示例,帧结构中还包括与数据内容字段对应的数据长度字段,其中,控制设备基于帧结构,对用于控制受控设备的控制数据进行封装处理,包括:所述控制设备基于帧结构,将控制数据的长度信息封装在数据长度字段中,以得到至少一个数据帧。
图3为本发明的另一实施例的串口通信控制方法的示意性流程图。图3 的串口通信控制方法,包括:
310:控制设备响应控制指令,生成用于控制受控设备的控制数据。
320:控制设备基于帧结构,对控制数据进行封装处理,得到至少一个数据帧,其中,帧结构中包括数据内容字段和与数据内容字段对应的数据功能指示字段,数据内容字段用于封装至少部分控制数据,数据功能指示字段用于封装至少部分控制数据的功能信息。
330:控制设备向受控设备传输至少一个数据帧,以便受控设备基于帧结构对至少一个数据帧进行解封装。
在本发明实施例的方案中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的帧结构封装控制数据,实现了不同功能的控制数据封装,从而实现了对不同设备的兼容。
图4为本发明的另一实施例的串口通信控制方法的示意性流程图。图4 的串口通信控制方法,包括:
410:受控设备接收控制设备发送的至少一个数据帧,其中,至少一个数据帧利用帧结构封装,帧结构中包括数据内容字段和与数据内容字段对应的数据功能指示字段,数据内容字段用于封装用于控制受控设备的至少部分控制数据,数据功能指示字段用于封装至少部分控制数据的功能信息。
应理解,还可以包括帧头字段、帧号字段、帧序号字段、校验字段、帧长度、帧尾字段中的至少一者。帧结构可以包括一个数据内容字段,也可以包括多个数据内容字段。帧结构可以包括一个数据功能指示字段,也可以包括多个数据功能指示字段。例如,一个数据内容字段对应于多个数据功能指示字段。例如,多个数据内容字段对应于多个数据功能指示字段。例如,一个数据内容字段对应于一个数据功能指示字段。例如,多个数据内容字段对应于一个数据功能指示字段。
还应理解,在帧结构中,数据内容字段和数据功能指示字段可以形成数据功能字段。例如,所述帧结构可以包括一个数据功能字段,也可以多个数据功能字段。对于上述的一对一、一对多、多对一和多对多的对应关系而言,不同的数据功能字段可以具有相同或不同的对应关系。
还应理解,不同的数据功能字段可以基于相同类型的数据功能。例如,不同的数据功能字段可以具有相同的功能信息。
例如,所述数据功能字段中还可以包括数据功能序号字段。例如,所述数据功能字段中还可以包括数据长度字段。例如,所述数据功能字段中还可以包括数据校验字段。例如,多个数据功能字段包括指示不同功能类型的第一数据功能字段和第二数据功能字段。例如,第一数据功能字段可以包括数据长度字段。第二数据功能字段可以不包括长度字段。例如,第一数据功能字段可以包括数据功能序号字段。第二数据功能字段可以不包括数据功能序号字段。第一数据功能字段可以包括数据校验字段。第二数据功能字段可以不包括数据校验字段。例如,不同的长度字段可以包括不同的长度信息。例如,长度字段可以对应于数据内容字段、也可以对应于数据功能指示字段。例如,发送方(控制设备或受控设备)基于该长度信息进行封装。例如,接收方(控制设备或受控设备)可以基于该长度信息进行解封装。例如,当长度字段可以对应于数据内容字段时,基于该长度字段,将控制数据封装到目标数据内容字段中,或者对目标数据内容字段解封装,得到控制数据。例如,当长度字段对应于数据功能指示字段时,基于该长度字段,将控制数据封装到与数据功能指示字段对应的目标数据内容字段中,或者对与数据功能指示字段对应的目标数据内容字段解封装,得到控制数据。可选地,基于该长度字段和数据功能指示字段,对控制数据进行封装,或者进行解封装,得到控制数据。例如,基于该长度字段和数据功能指示字段,将控制数据封装到多个目标数据内容字段中,或者对多个目标数据内容字段解封装,得到控制数据。例如,不同的数据功能字段中的长度字段可以不同。
例如,多个数据功能字段可以为指示相同类型的数据功能字段。例如,上述的多个数据功能字段可以不包括数据长度字段。例如,发送方基于相同的预定长度进行封装和解封装。
例如,数据功能指示字段中的数据功能指示信息可以采用不同的索引方式或编码方式。应理解,上述的功能类型是指属于用于完成特定功能的同一控制数据流的功能。例如,音量开启控制、音量关闭控制、开机控制、音量调节控制可以为相同的功能类型,也可以为不同的功能类型。当完成上述的某一功能或某一特定操作的数据流被封装到不同的多个数据字段中时,该多个数据内容字段具有相同的数据功能指示信息。还应理解,上述的索引方式或编码方式可以为任意的。
420:受控设备基于帧结构,对至少一个数据帧进行解封装处理,得到控制数据。
在本发明实施例的方案中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的帧结构封装控制数据,实现了不同功能的控制数据封装,从而实现了对不同设备的兼容。
在本发明的另一实现方式中,受控设备接收数据帧,并且将其存储数据帧缓冲区。受控设备然后从数据帧缓冲区中读取数据帧进行初始解封装,得到数据功能模块,并且将其存入数据功能模块缓冲区。受控设备从所述数据功能模块缓冲区中读取数据功能模块,以进行进一步解封装。应理解,上述的数据功能模块缓冲区和数据帧缓冲区仅仅为示例性的,本发明实施例还可以采用更多的缓冲区或更少的缓冲区,并且对此不作限定。例如,为了提高受控设备的数据纠错能力,可以配置更多的缓冲区,以便创建更多的解封装队列。例如,为了减少数据传输的时延,可以采用较少的缓冲区进行解封装。应理解,本发明实施例中的缓冲区可以为物理缓冲区,也可以为逻辑缓冲区。应理解,多个逻辑缓冲区可以映射到同一块物理缓冲区,本发明实施例对此不做限定。
应理解,本示例中,仅仅对数据功能模块的封装完成之后的部分进行了图示与说明,但是应理解,在数据功能模块的封装完成之前的部分,也可以采用类似或其他方式进行处理。例如,可以创建更多的缓冲区进行封装处理,以便创建不同的队列,例如,以便提高数据纠错能力。也可以采用不创建缓冲区的方式进行处理。也可以将封装处理的子过程共用一个缓冲区进行处理。应理解,本发明实施例中的缓冲区可以为物理缓冲区,也可以为逻辑缓冲区。应理解,多个逻辑缓冲区可以映射到同一块物理缓冲区,本发明实施例对此不做限定。
作为一个示例,在所述帧结构中,所述数据内容字段和所述数据功能指示字段形成数据功能字段,其中,所述受控设备基于帧结构,对至少一个数据帧进行解封装处理,得到控制数据,包括:所述受控设备对所述至少一个数据帧进行解封装处理,得到数据功能模块队列;所述受控设备基于所述数据功能模块队列,进行数据功能模块解封装处理,得到所述控制数据。
作为一个示例,所述受控设备基于所述数据功能模块队列,进行数据功能模块解封装处理,得到所述控制数据,包括:所述受控设备从所述数据功能模块队列中取出当前数据功能模块;所述受控设备基于所述数据功能字段,从所述数据功能指示字段中得到所述当前解封装数据的功能信息;基于当前解封装数据的功能信息,从所述数据内容字段中得到所述当前解封装数据,以便更新所述数据功能模块队列,并且从所述数据功能模块队列中取出下一数据功能模块。
作为一个示例,所述帧结构包括帧头和帧尾,其中,所述受控设备对所述至少一个数据帧进行解封装处理,得到数据功能模块队列,包括:所述受控设备从存储所述至少一个数据帧的数据帧接收队列中,取出当前数据帧;所述受控设备利用所述帧头和帧尾,解封装所述当前数据帧,得到当前数据功能模块;所述受控设备将所述当前数据功能模块存储在所述数据功能模块队列中,以更新所述数据功能模块队列。
作为一个示例,所述受控设备基于帧结构,对至少一个数据帧进行解封装处理,得到控制数据,包括:所述受控设备基于所述帧结构,从至少一个数据帧中,解封装所述数据功能指示字段,得到受控设备功能信息,其中,受控设备功能信息是由控制设备基于用于多个备选受控设备的控制数据功能与功能信息之间的映射关系确定的;受控设备基于受控设备功能信息,对数据内容字段解封装,得到控制数据。
作为一个示例,受控设备基于帧结构,对至少一个数据帧进行解封装处理,得到控制数据,包括:受控设备基于帧结构,对目标数据帧进行解封装处理,从不同的数据功能指示字段中得到第一功能信息和第二功能信息;受控设备基于所述第一功能信息和第二功能信息,从不同的数据内容字段中得到第一功能信息对应的第一控制数据和第二功能信息对应的第二控制数据。
作为一个示例,所述帧结构中,所述数据内容字段和所述数据功能指示字段形成数据功能字段,所述数据功能字段包括第一数据功能字段和第二数据功能字段,其中,所述第一控制数据和第一功能信息到所述第一数据功能字段中被解封装,所述第二控制数据和第二功能信息从所述第二数据功能字段中被解封装。
作为一个示例,受控设备基于帧结构,对至少一个数据帧进行解封装处理,得到控制数据,包括:受控设备基于帧结构,对至少一个数据帧进行解封装处理,从多个目标数据功能指示字段以及多个中,得到功能信息;受控设备基于所述功能信息,对多个目标数据内容字段解封装,得到所述功能信息对应的多个数据段;通过组合所述多个数据段,得到所述目标功能控制数据。
作为一个示例,所述通过组合所述多个数据段,得到所述目标功能控制数据,包括:所述受控设备确定所述目标功能控制数据的数据段重叠区间;所述受控设备基于数据段重叠区间,组合所述多个数据段,以得到目标功能控制数据。
作为一个示例,所述目标功能控制数据为用于进行连续控制的第一功能数据和第二功能数据,所述数据帧还包括与所述数据内容字段对应的序号字段,受控设备基于帧结构,对至少一个数据帧进行解封装处理,得到控制数据,包括:受控设备基于帧结构,对至少一个数据帧进行解封装处理,得到多个数据段序号;受控设备基于所述多个数据段序号,从多个第一数据段和所述多个第二数据段中,相应地得到多个第一数据段和多个第二数据段;受控设备通过分别组合多个第一数据段和多个第二数据段,得到第一功能数据和第二功能数据。
作为一个示例,所述帧结构中还包括与所述数据内容字段对应的数据长度字段,其中,受控设备基于帧结构,对至少一个数据帧进行解封装处理,得到控制数据,包括:受控设备基于所述帧结构,对至少一个数据帧进行解封装处理,从数据长度字段中,得到长度信息;受控设备基于所述长度信息,得到所述控制数据。
图5A-图5H为本发明的另一实施例的串口通信控制方法中的一些示例的帧结构的示意图。如图所示,图5A中的帧结构包括帧头字段、序号字段、数据功能指示字段1、数据功能指示字段2、校验字段和帧尾字段。应理解,在该示例中,数据功能指示字段1和数据功能指示字段2具有相同的功能。换言之,数据功能指示字段1和数据功能指示字段2中包括的数据功能指示信息指示同一类型的功能。例如,该功能用于实现特定操作的同一控制数据流命令。还应理解,在该示例中,数据功能字段包括数据功能指示字段、序号、内容字段,但这仅仅采用示例性的方式进行了图示,两个数据功能字段中的至少一个数据功能字段可以不包括序号字段。另外,至少一个数据功能字段还可以长度字段,用户包括数据的长度信息。另外,尽管已经示出,但是该帧结构中也可以不包括帧序号字段。另外,尽管未示出,但是该帧结构还可以包括帧长度字段。应理解,当数据功能字段中的序号字段和帧序号字段都存在时,该两个序号字段具有不同的功能。另外,当数据功能字段中的序号字段与帧序号字段不同时存在时,任一者都可以指示数据功能字段的序号。
在图5B中,示出了两个数据帧,上侧的第一数据帧包括N个数据功能字段。下侧的第二数据帧包括三个数据功能字段。另外,第一数据帧和第二数据帧存在对应的数据功能字段。在该示例中,可以将上述的对应的数据功能字段中包括相同的功能类型的数据。例如,每个数据帧的数据功能字段1-3 中都可以包括相同的功能的数据。或者,每个数据帧的一个对应的数据功能字段(数据功能字段1或数据功能字段2或数据功能字段3)中包括相同的功能类型的数据。例如,第一数据帧和第二数据帧为时域上相邻的两个数据帧。
另外,在该示例中,如果第二数据帧为在后数据帧,并且第一数据帧为在先数据帧,则第二数据帧对应的功能数据字段中的数据功能指示字段可以指示上述所有的对应的数据功能字段,即,上述的一个数据功能指示信息对应于多个数据内容的一对多的对应关系。例如,该数据功能指示信息可以指示按照上一数据帧的数据功能指示字段进行封装或解封装。相应地,接收方或发送方可以采用该数据功能指示信息实现相应的封装处理或解封装处理。由于在后数据帧利用了在先数据帧的字段进行相应的封装或解封装,从而节省了通信资源。另外,在该示例中,第一数据帧中的不对应的数据功能字段中可以包括数据功能指示字段和数据内容字段,从而在第一数据帧实现了两种结构的兼容,即,在使在后数据帧利用在先数据帧的字段的情形下,在不增加数据帧的情况下,允许在先数据帧传输更多的数据。应理解,在上述的第一数据帧和第二数据帧中,数据功能字段1和数据功能字段2可以包括不同的功能类型的数据。
与图5B不同,在图5C中,数据功能字段1和数据功能字段没有在时间上直接对应,而是交错地对应。在该示例中,在第一数据帧和第二数据帧中,数据功能字段1和数据功能字段2可以包括不同的功能类型的数据。在该示例中,可以将前多个数据功能字段(例如,前两个数据功能字段)进行统一封装处理,或者统一解封装处理。由于上述的数据功能字段较少,因此不会占用终端或设备的计算资源。换言之,采用该示例的方案,在串口通信中,在保证通信低时延的情况下,能够减小数据帧丢帧率,并且没有增加计算开销。换言之,本示例的方案由于可以在在后数据帧中传输在先数据帧中的在先数据,因此,在一定程度上实现了数据帧的纠错。
在图5D的示例中,数据功能字段1和数据功能字段2可以传输相同的功能类型的数据。另外,在数据功能字段3和数据功能字段4中可以传输相同的功能类型的数据。另外,数据功能字段1和数据功能字段2与数据功能字段3和数据功能字段4传输不同功能类型的数据。应理解,在每个数据功能字段中,如上所述,除了数据内容字段之外,可以包括其他的全部或部分字段。
在图5E的示例中的两个数据帧可以为相邻帧,也可以为非相邻帧。本示例对此不作限定。如图所示,数据功能字段1和数据功能字段2各自的数据功能指示字段中可以包括不同的数据功能指示信息。但是,应理解,上述的不同数据功能指示信息可以具有相同的功能类型,而只是不属于同一控制数据流命令。例如,可以指示属于同一功能类型的先后不同的控制数据流命令。另外,尽管未示出,上述的数据功能字段中还可以包括其他全部或部分字段,并且不同的数据功能字段所包括的其他字段可以相同,也可以不同。
在图5F的数据帧中,数据功能字段1和数据功能字段2各自的数据功能指示字段可以包括相同的数据功能指示信息。例如,相同的数据功能指示信息可以指示属于同一控制数据流命令。另外,尽管未示出,上述的数据功能字段中还可以包括其他全部或部分字段,并且不同的数据功能字段所包括的其他字段可以相同,也可以不同。
在图5G的示例中,上侧的第一数据帧和下侧的第二数据帧可以为相邻数据帧,也可以为非相邻数据帧。如图所示,第一数据帧的数据功能字段1与第二数据帧的数据功能字段2具有相同的数据功能指示信息。类似地,第一数据帧的数据功能字段2与第二数据帧的数据功能字段1具有相同的数据功能指示信息。例如,第一数据帧的数据功能字段1与第二数据帧的数据功能字段2可以采用统一的序号规则进行编号。例如,第一数据帧的数据功能字段2与第二数据帧的数据功能字段1可以采用统一的序号规则进行编号。另外,尽管未示出,上述的数据功能字段中还可以包括其他全部或部分字段,并且不同的数据功能字段所包括的其他字段可以相同,也可以不同。
在图5H的示例中,数据功能字段1和数据功能字段2具有相同的数据功能指示信息。例如,数据功能字段1和数据功能字段2可以采用统一的序号规则进行编号。另外,尽管未示出,上述的数据功能字段中还可以包括其他全部或部分字段,并且不同的数据功能字段所包括的其他字段可以相同,也可以不同。
图6A为本发明的另一实施例的串口通信控制方法的一个示例的缓冲区示意图。图6B为本发明的另一实施例的串口通信控制方法的一个示例的缓冲区示意图。如图所示,在图6A中,示出了数据功能模块缓冲区。图6B示出了数据帧缓冲区。应理解,上述的不同的缓冲区仅仅为示例性的,还可以采用其他多个缓冲区实现本发明实施例的封装处理与解封装处理。例如,可以采用更多的缓冲区来实现各个子步骤的封装处理与解封装处理。优选地,可以采用上述数据功能模块缓冲区和数据帧缓冲区两者,在控制设备侧或受控设备侧执行相应的封装处理与解封装处理。
图6C为本发明的另一实施例的串口通信控制方法的一个示例的示意性流程图。应理解,将结合图6B所示的数据帧缓冲区进行各步骤的说明和解释。但是,本示例还可以采用图6A所示的数据功能模块缓冲区执行处理。在本示例中,以受控设备侧为例进行了说明,但是应理解,在控制设备侧也可以进行相应的操作。
在接收器开始接收后,执行步骤S611。
S611:读取设备接收缓冲区。例如,读取设备端接收缓冲区到环形缓冲区。应理解,在本示例中,示出了数据帧缓存区。也可以采用多个缓冲区。例如,可以创建数据帧缓冲区和数据功能模块缓冲区。
S612:判断是否检测到帧头,如果为否,则继续执行步骤S612;如果为是,则执行步骤S613。例如,循环检测帧头和帧尾,每一帧数据以帧头作为起始,帧尾作为结束。
S613:判断是否检测到帧为,如果为否,则继续执行步骤S613,;如果为是,则执行步骤S614。例如,循环检测帧头和帧尾,每一帧数据以帧头作为起始,帧尾作为结束。
S614:循环查找数据功能结构。例如,检测到帧头后,开始循环查找功能字。
S615:判断是否查找到数据功能字段,如果为否,则继续执行步骤S614;如果为是,则执行步骤S616。
S616:读取数据长度。应理解,在本示例中,数据长度仅仅为示例性的,在不同的示例中,可以不包括数据长度。例如,在对所有的数据内容字段进行统一的解封装处理时,可以以统一的预定长度进行解封装,从而提高了数据处理效率。
S617:根据长度读取数据。
S618:根据数据解析功能。例如,根据功能字命令以及数据内容做出相应的功能处理。例如,可以从步骤S614开始循环检测下一个功能字头。
S619:进行数据校验,如果校验通过,则结束处理。可选地,本示例的数据校验处理也同样是示例性的,可以不通过数据校验处理来实现数据功能模块的解封装。可选地,可以只针对数据帧进行数据校验。可选地,可以对数据帧和数据功能模块都不进行数据校验。
图6D为本发明的另一实施例的串口通信控制方法的另一示例的缓冲区示意图。如图所示,控制设备在完成数据功能模块的封装之后,将数据模块存入数据功能模块缓冲区。在数据帧封装阶段,从数据功能模块缓冲区中读取数据功能模块,进行数据帧封装,封装完成之后,将其存储数据帧缓冲区。应理解,将数据功能模块存入数据功能模块缓冲区的过程与从数据功能模块缓冲区中读取数据功能模块的过程可以为并行的。当完成数据帧封装之后,将数据帧存入数据帧缓冲区,以便后续进行发送处理。应理解,发送数据帧的过程与存入数据帧的过程也可以是并行的。从而极大地提高了控制设备对数据传输的纠错能力。
应理解,本示例中,仅仅对数据功能模块的封装完成之后的部分进行了图示与说明,但是应理解,在数据功能模块的封装完成之前的部分,也可以采用类似或其他方式进行处理。例如,可以创建更多的缓冲区进行封装处理,以便创建不同的队列,例如,以便提高数据纠错能力。也可以采用不创建缓冲区的方式进行处理。也可以将封装处理的子过程共用一个缓冲区进行处理。应理解,本发明实施例中的缓冲区可以为物理缓冲区,也可以为逻辑缓冲区。应理解,多个逻辑缓冲区可以映射到同一块物理缓冲区,本发明实施例对此不做限定。
图6E为本发明的另一实施例的串口通信控制方法的另一示例的缓冲区示意图。如图所示,受控设备接收数据帧,并且将其存储数据帧缓冲区。受控设备然后从数据帧缓冲区中读取数据帧进行初始解封装,得到数据功能模块,并且将其存入数据功能模块缓冲区。受控设备从所述数据功能模块缓冲区中读取数据功能模块,以进行进一步解封装。应理解,上述的数据功能模块缓冲区和数据帧缓冲区仅仅为示例性的,本发明实施例还可以采用更多的缓冲区或更少的缓冲区,并且对此不作限定。例如,为了提高受控设备的数据纠错能力,可以配置更多的缓冲区,以便创建更多的解封装队列。例如,为了减少数据传输的时延,可以采用较少的缓冲区进行解封装。应理解,本发明实施例中的缓冲区可以为物理缓冲区,也可以为逻辑缓冲区。应理解,多个逻辑缓冲区可以映射到同一块物理缓冲区,本发明实施例对此不做限定。
应理解,本示例中,仅仅对数据功能模块的封装完成之后的部分进行了图示与说明,但是应理解,在数据功能模块的封装完成之前的部分,也可以采用类似或其他方式进行处理。例如,可以创建更多的缓冲区进行封装处理,以便创建不同的队列,例如,以便提高数据纠错能力。也可以采用不创建缓冲区的方式进行处理。也可以将封装处理的子过程共用一个缓冲区进行处理。应理解,本发明实施例中的缓冲区可以为物理缓冲区,也可以为逻辑缓冲区。应理解,多个逻辑缓冲区可以映射到同一块物理缓冲区,本发明实施例对此不做限定。
图7为本发明的另一实施例的串口配置方法的示意性流程图。图7的串口配置方法,包括:
710:获取封装能力接口和/或解封装能力接口,封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,解封装能力接口用于基于数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,数据功能字段中包括数据内容字段和与数据内容字段对应的数据功能指示字段;
720:通过调用封装能力接口和/或解封装能力接口,对串口进行配置。
在本发明实施例的方案中,数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的数据功能字段封装控制数据或者解封装得到控制数据,实现了不同功能的控制数据的封装或解封装,从而实现了对不同设备的兼容。
应理解,还可以获取数据功能模块队列能力接口、数据帧封装能力接口、数据帧发送队列能力接口中的任一者。其中,数据功能模块队列能力接口可以用于对输入的数据功能模块进行序列处理,返回数据功能模块队列。数据帧封装能力接口可以用于利用帧头和帧尾封装输入的数据功能模块,返回数据帧。数据帧发送队列能力接口可以用于对输入的数据帧进行序列处理,返回数据帧队列。
还应理解,数据内容字段可以用于封装至少部分控制数据,数据功能指示字段可以用于封装至少部分控制数据的功能信息。
还应理解,还可以获取数据功能模块队列能力接口、数据帧解封装能力接口、数据帧发送队列能力接口中的任一者。其中,数据功能模块队列能力接口可以用于对输入的数据功能模块队列进行序列取出处理,返回数据功能模块。数据帧解封装能力接口可以用于利用帧头和帧尾解封装数据帧,返回数据功能模块。数据帧发送队列能力接口可以用于对数据帧队列进行序列取出处理,返回数据帧。
还应理解,数据内容字段用于封装用于控制受控设备的至少部分控制数据,数据功能指示字段用于封装至少部分控制数据的功能信息。
图8为本发明的另一实施例的串口测试方法的示意性流程图。图8的串口测试方法,包括:
810:确定针对串口配置设定的多个测试节点,多个测试节点在串口配置正确调用封装能力接口和/或解封装能力接口时相应地返回多个不同运行参数,其中,封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,解封装能力接口用于基于数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,数据功能字段中包括数据内容字段和与数据内容字段对应的数据功能指示字段;
820:基于多个不同运行参数,对串口配置进行测试。
在本发明实施例的方案中,数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的数据功能字段封装控制数据或者解封装得到控制数据,实现了不同功能的控制数据的封装或解封装,从而实现了对不同设备的兼容。
在一个示例中,基于多个不同运行参数,对串口配置进行测试,可以包括:通过运行串口配置,将得到的参数与多个不同运行参数相比较;基于比较结果,对所述串口配置进行调试。
在另一示例中,基于多个不同运行参数,对串口配置进行测试,可以包括:通过运行串口配置,得到多个多个不同运行参数,则判定测试通过。
在另一示例中,基于多个不同运行参数,对串口配置进行测试,可以包括:通过运行串口配置,确定与目标运行参数不同的实际运行参数;基于所述实际运行参数,对串口配置进行调试。可以对串口配置进行多个测试。例如,基于所述实际运行参数,对串口配置进行调试,可以包括:针对当前运行参数对应的测试节点,更改串口配置,并且进行下次运行测试。
图9为本发明的另一实施例的串口配置装置的示意性框图。图9的串口配置装置可以为任意适当的具有数据处理能力的电子设备,包括但不限于:物联网设备、服务器、移动终端(如手机、PAD等)和PC机等。该装置包括:
获取模块910,获取封装能力接口和/或解封装能力接口,封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,解封装能力接口用于基于数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,数据功能字段中包括数据内容字段和与数据内容字段对应的数据功能指示字段。
配置模块920,通过调用封装能力接口和/或解封装能力接口,对串口进行配置。
在本发明实施例的方案中,数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的数据功能字段封装控制数据或者解封装得到控制数据,实现了不同功能的控制数据的封装或解封装,从而实现了对不同设备的兼容。
本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
图10为本发明的另一实施例的串口测试装置的示意性框图。图10的串口测试装置可以为任意适当的具有数据处理能力的电子设备,包括但不限于:物联网设备、服务器、移动终端(如手机、PAD等)和PC机等。该装置包括:
确定模块1010,确定针对串口配置设定的多个测试节点,多个测试节点在串口配置正确调用封装能力接口和/或解封装能力接口时相应地返回多个不同运行参数,其中,封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,解封装能力接口用于基于数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,数据功能字段中包括数据内容字段和与数据内容字段对应的数据功能指示字段;
测试模块1020,基于多个不同运行参数,对串口配置进行测试。
在本发明实施例的方案中,数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的数据功能字段封装控制数据或者解封装得到控制数据,实现了不同功能的控制数据的封装或解封装,从而实现了对不同设备的兼容。
本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
图11为本发明的另一实施例的串口通信控制装置的示意性框图。图11 的串口通信控制装置可以为任意适当的具有数据处理能力的电子设备,包括但不限于:物联网设备、服务器、移动终端(如手机、PAD等)和PC机等。
该装置包括:
确定模块1110,确定帧结构,帧结构中包括数据内容字段和与数据内容字段对应的数据功能指示字段;
封装模块1120,基于帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,其中,数据内容字段用于封装至少部分控制数据,数据功能指示字段用于封装至少部分控制数据的功能信息;
传输模块1130,向受控设备传输至少一个数据帧,以便受控设备基于帧结构对至少一个数据帧进行解封装。
在本发明实施例的方案中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的帧结构封装控制数据,实现了不同功能的控制数据封装,从而实现了对不同设备的兼容。
本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
图12为本发明的另一实施例的串口通信控制装置的示意性框图。图12 的串口通信控制装置可以为任意适当的具有数据处理能力的电子设备,包括但不限于:物联网设备、服务器、移动终端(如手机、PAD等)和PC机等。
该装置包括:
生成模块1210,响应控制指令,生成用于控制受控设备的控制数据;
封装模块1220,基于帧结构,对控制数据进行封装处理,得到至少一个数据帧,其中,帧结构中包括数据内容字段和与数据内容字段对应的数据功能指示字段,数据内容字段用于封装至少部分控制数据,数据功能指示字段用于封装至少部分控制数据的功能信息;
传输模块1230,向受控设备传输至少一个数据帧,以便受控设备基于帧结构对至少一个数据帧进行解封装。
在本发明实施例的方案中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的帧结构封装控制数据,实现了不同功能的控制数据封装,从而实现了对不同设备的兼容。
本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
图13为本发明的另一实施例的串口通信控制装置的示意性框图。图13 的串口通信控制装置可以为任意适当的具有数据处理能力的电子设备,包括但不限于:物联网设备、服务器、移动终端(如手机、PAD等)和PC机等。
该装置包括:
接收模块1310,接收控制设备发送的至少一个数据帧,其中,至少一个数据帧利用帧结构封装,帧结构中包括数据内容字段和与数据内容字段对应的数据功能指示字段,数据内容字段用于封装用于控制受控设备的至少部分控制数据,数据功能指示字段用于封装至少部分控制数据的功能信息;
解封装模块1320,基于帧结构,对至少一个数据帧进行解封装处理,得到控制数据。
在本发明实施例的方案中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,因此采用上述的帧结构封装控制数据,实现了不同功能的控制数据封装,从而实现了对不同设备的兼容。
本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
图14为本发明的另一实施例的电子设备的结构示意图;该电子设备可以包括:
一个或多个处理器1401;
计算机可读介质1402,可以配置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例所述的方法。
图15为本发明的另一实施例的电子设备的硬件结构;如图15所示,该电子设备的硬件结构可以包括:处理器1501,通信接口1502,计算机可读介质1503和通信总线1504;
其中处理器1501、通信接口1502、计算机可读介质1503通过通信总线 1504完成相互间的通信;
可选地,通信接口1502可以为通信模块的接口;
其中,处理器1501具体可以配置为:控制设备确定帧结构,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,其中,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;所述控制设备向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装,或者,
控制设备响应控制指令,生成用于控制受控设备的控制数据;所述控制设备基于帧结构,对所述控制数据进行封装处理,得到至少一个数据帧,其中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;所述控制设备向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装,或者,
受控设备接收控制设备发送的至少一个数据帧,其中,所述至少一个数据帧利用帧结构封装,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装用于控制所述受控设备的至少部分控制数据,所述数据功能指示字段用于封装所述至少部分控制数据的功能信息;所述受控设备基于所述帧结构,对所述至少一个数据帧进行解封装处理,得到所述控制数据,或者,
获取封装能力接口和/或解封装能力接口,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;通过调用所述封装能力接口和/ 或所述解封装能力接口,对串口进行配置,或者,
确定针对串口配置设定的多个测试节点,所述多个测试节点在所述串口配置正确调用所述封装能力接口和/或所述解封装能力接口时相应地返回多个不同运行参数,其中,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;基于所述多个不同运行参数,对所述串口配置进行测试。
处理器1501可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
计算机可读介质1503可以是,但不限于,随机存取存储介质(Random AccessMemory,RAM),只读存储介质(Read Only Memory,ROM),可编程只读存储介质(Programmable Read-Only Memory,PROM),可擦除只读存储介质(Erasable ProgrammableRead-Only Memory,EPROM),电可擦除只读存储介质(Electric Erasable ProgrammableRead-Only Memory, EEPROM)等。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含配置为执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本发明的方法中限定的上述功能。需要说明的是,本发明所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以但不限于是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储介质(RAM)、只读存储介质(ROM)、可擦式可编程只读存储介质(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储介质(CD-ROM)、光存储介质件、磁存储介质件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输配置为由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写配置为执行本发明的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络:包括局域网(LAN) 或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个配置为实现规定的逻辑功能的可执行指令。上述具体实施例中有特定先后关系,但这些先后关系只是示例性的,在具体实现的时候,这些步骤可能会更少、更多或执行顺序有调整。即在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例所描述的方法。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:控制设备确定帧结构,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,其中,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;所述控制设备向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装,或者,
控制设备响应控制指令,生成用于控制受控设备的控制数据;所述控制设备基于帧结构,对所述控制数据进行封装处理,得到至少一个数据帧,其中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;所述控制设备向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装,或者,
受控设备接收控制设备发送的至少一个数据帧,其中,所述至少一个数据帧利用帧结构封装,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装用于控制所述受控设备的至少部分控制数据,所述数据功能指示字段用于封装所述至少部分控制数据的功能信息;所述受控设备基于所述帧结构,对所述至少一个数据帧进行解封装处理,得到所述控制数据,或者,
获取封装能力接口和/或解封装能力接口,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;通过调用所述封装能力接口和/ 或所述解封装能力接口,对串口进行配置,或者,
确定针对串口配置设定的多个测试节点,所述多个测试节点在所述串口配置正确调用所述封装能力接口和/或所述解封装能力接口时相应地返回多个不同运行参数,其中,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;基于所述多个不同运行参数,对所述串口配置进行测试。
在本公开的各种实施方式中所使用的表述“第一”、“第二”、“所述第一”或“所述第二”可修饰各种部件而与顺序和/或重要性无关,但是这些表述不限制相应部件。以上表述仅配置为将元件与其它元件区分开的目的。例如,第一用户设备和第二用户设备表示不同的用户设备,虽然两者均是用户设备。例如,在不背离本公开的范围的前提下,第一元件可称作第二元件,类似地,第二元件可称作第一元件。
当一个元件(例如,第一元件)称为与另一元件(例如,第二元件)“(可操作地或可通信地)联接”或“(可操作地或可通信地)联接至”另一元件(例如,第二元件)或“连接至”另一元件(例如,第二元件)时,应理解为该一个元件直接连接至该另一元件或者该一个元件经由又一个元件(例如,第三元件)间接连接至该另一个元件。相反,可理解,当元件(例如,第一元件)称为“直接连接”或“直接联接”至另一元件(第二元件)时,则没有元件(例如,第三元件)***在这两者之间。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (22)
1.一种串口通信控制方法,包括:
控制设备确定帧结构,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;
所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,其中,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;
所述控制设备向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装。
2.根据权利要求1所述的方法,其中,在所述帧结构中,所述数据内容字段和所述数据功能指示字段形成数据功能字段,其中,
所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,包括:
所述控制设备基于所述数据功能字段,对用于控制受控设备的控制数据进行封装处理,得到数据功能模块封装队列;
所述控制设备基于所述数据功能模块封装队列,进行数据功能模块封装处理,得到数据帧发送队列。
3.根据权利要求2所述的方法,其中,所述控制设备基于所述数据功能字段,对用于控制受控设备的控制数据进行封装处理,得到数据功能模块封装队列,包括:
所述控制设备确定所述用于控制受控设备的控制数据中的当前封装数据和所述当前封装数据的功能信息;
所述控制设备基于所述数据功能字段,将所述当前封装数据封装到所述数据内容字段,并且将所述当前封装数据的功能信息封装到所述数据功能指示字段中,以得到当前数据功能模块;
所述控制设备将所述当前数据功能模块存储在数据功能模块封装队列,以更新所述数据功能模块封装队列,并且确定所述控制数据中的下一封装数据和所述下一封装数据的功能信息。
4.根据权利要求2所述的方法,其中,所述帧结构包括帧头和帧尾,其中,
所述控制设备基于所述数据功能模块封装队列,进行数据功能模块封装处理,得到数据帧发送队列,包括:
所述控制设备从所述数据功能模块封装队列中,确定所述当前待封装数据功能模块;
所述控制设备利用所述帧头和帧尾,封装所述当前待封装数据功能模块,得到所述当前数据帧;
所述控制设备将所述当前数据帧存储在所述数据帧发送队列中,以更新所述数据帧发送队列。
5.根据权利要求1所述的方法,其中,所述方法还包括:
所述控制设备确定用于多个备选受控设备的控制数据功能与功能信息之间的映射关系;
所述控制设备基于所述映射关系,确定与用于控制所述受控设备的控制数据的功能对应的受控设备功能信息,
所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,包括:
所述控制设备基于所述帧结构,将所述控制数据封装到所述数据内容字段中,并且将所述受控设备功能信息封装到所述数据功能指示字段中,以得到至少一个数据帧。
6.根据权利要求1所述的方法,其中,所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,包括:
所述控制设备基于所述帧结构,确定具有不同功能的第一控制数据和第二控制数据,以及所述第一控制数据的第一功能信息和所述第二控制数据的第二功能信息;
分别将所述第一控制数据和所述第二控制数据封装到不同的所述数据内容字段中,并且分别将所述第一功能信息和所述第二功能信息封装到不同的所述数据功能指示字段中。
7.根据权利要求1所述的方法,其中,所述帧结构中,所述数据内容字段和所述数据功能指示字段形成数据功能字段,所述数据功能字段包括第一数据功能字段和第二数据功能字段,其中,所述第一控制数据和第一功能信息被封装到所述第一数据功能字段中,所述第二控制数据和第二功能信息被封装到所述第二数据功能字段中。
8.根据权利要求1所述的方法,其中,所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,包括:
所述控制设备将用于控制受控设备的控制数据中的目标功能控制数据划分为多个数据段;
所述控制设备将所述多个数据段分别封装到对应的多个目标数据内容字段中,并且将所述目标功能控制数据的功能信息封装到对应的多个目标数据功能指示字段中。
9.根据权利要求8所述的方法,其中,所述控制设备将用于控制受控设备的控制数据中的目标功能控制数据划分为多个数据段,包括:
所述控制设备确定所述目标功能控制数据的数据段重叠区间;
所述控制设备基于数据段重叠区间,将所述目标功能控制数据划分为所述多个数据段。
10.根据权利要求8所述的方法,其中,所述目标功能控制数据为用于进行连续控制的第一功能数据和第二功能数据,所述数据帧还包括与所述数据内容字段对应的序号字段,
所述控制设备将用于控制受控设备的控制数据中的目标功能控制数据划分为多个数据段,包括:
所述控制设备将所述第一功能数据划分为多个第一数据段,并且将所述第二功能数据划分为多个第二数据段;
所述控制设备将所述多个第一数据段和所述多个第二数据段统一配置多个数据段序号;
所述控制设备将所述多个数据段序号封装在相应的序号字段中。
11.根据权利要求1所述的方法,其中,所述帧结构中还包括与所述数据内容字段对应的数据长度字段,其中,
所述控制设备基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,包括:
所述控制设备基于所述帧结构,将所述控制数据的长度信息封装在所述数据长度字段中,以得到所述至少一个数据帧。
12.一种串口通信控制方法,包括:
控制设备响应控制指令,生成用于控制受控设备的控制数据;
所述控制设备基于帧结构,对所述控制数据进行封装处理,得到至少一个数据帧,其中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;
所述控制设备向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装。
13.一种串口通信控制方法,包括:
受控设备接收控制设备发送的至少一个数据帧,其中,所述至少一个数据帧利用帧结构封装,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装用于控制所述受控设备的至少部分控制数据,所述数据功能指示字段用于封装所述至少部分控制数据的功能信息;
所述受控设备基于所述帧结构,对所述至少一个数据帧进行解封装处理,得到所述控制数据。
14.一种串口配置方法,包括:
获取封装能力接口和/或解封装能力接口,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;
通过调用所述封装能力接口和/或所述解封装能力接口,对串口进行配置。
15.一种串口测试方法,包括:
确定针对串口配置设定的多个测试节点,所述多个测试节点在所述串口配置正确调用所述封装能力接口和/或所述解封装能力接口时相应地返回多个不同运行参数,其中,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;
基于所述多个不同运行参数,对所述串口配置进行测试。
16.一种串口通信控制装置,包括:
确定模块,确定帧结构,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;
封装模块,基于所述帧结构,对用于控制受控设备的控制数据进行封装处理,得到至少一个数据帧,其中,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;
传输模块,向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装。
17.一种串口通信控制装置,包括:
生成模块,响应控制指令,生成用于控制受控设备的控制数据;
封装模块,基于帧结构,对所述控制数据进行封装处理,得到至少一个数据帧,其中,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装至少部分所述控制数据,所述数据功能指示字段用于封装至少部分所述控制数据的功能信息;
传输模块,向所述受控设备传输所述至少一个数据帧,以便所述受控设备基于所述帧结构对所述至少一个数据帧进行解封装。
18.一种串口通信控制装置,包括:
接收模块,接收控制设备发送的至少一个数据帧,其中,所述至少一个数据帧利用帧结构封装,所述帧结构中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段,所述数据内容字段用于封装用于控制所述受控设备的至少部分控制数据,所述数据功能指示字段用于封装所述至少部分控制数据的功能信息;
解封装模块,基于所述帧结构,对所述至少一个数据帧进行解封装处理,得到所述控制数据。
19.一种串口配置装置,包括:
获取模块,获取封装能力接口和/或解封装能力接口,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;
配置模块,通过调用所述封装能力接口和/或所述解封装能力接口,对串口进行配置。
20.一种串口测试装置,包括:
确定模块,确定针对串口配置设定的多个测试节点,所述多个测试节点在所述串口配置正确调用所述封装能力接口和/或所述解封装能力接口时相应地返回多个不同运行参数,其中,所述封装能力接口用于基于数据功能字段对输入的控制数据进行封装处理并且返回数据功能模块,所述解封装能力接口用于基于所述数据功能字段对输入的数据功能模块进行解封装处理并且返回控制数据,其中,所述数据功能字段中包括数据内容字段和与所述数据内容字段对应的数据功能指示字段;
测试模块,基于所述多个不同运行参数,对所述串口配置进行测试。
21.一种电子设备,所述设备包括:
一个或多个处理器;
计算机可读介质,配置为存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-15中任一项权利要求所述的方法。
22.一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-15中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010368247.4A CN113595966B (zh) | 2020-04-30 | 2020-04-30 | 串口通信控制、配置、测试方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010368247.4A CN113595966B (zh) | 2020-04-30 | 2020-04-30 | 串口通信控制、配置、测试方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113595966A true CN113595966A (zh) | 2021-11-02 |
CN113595966B CN113595966B (zh) | 2023-04-18 |
Family
ID=78237730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010368247.4A Active CN113595966B (zh) | 2020-04-30 | 2020-04-30 | 串口通信控制、配置、测试方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113595966B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629597A (zh) * | 2022-03-22 | 2022-06-14 | 广东工业大学 | 一种应用于串口的可靠传输方法和*** |
CN116185453A (zh) * | 2023-02-23 | 2023-05-30 | 广州达谙信息科技有限公司 | 一种低延迟Codesys控制器远程升级的方法和*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735252A (zh) * | 2004-08-12 | 2006-02-15 | 华为技术有限公司 | 一种通用自动化测试装置及方法 |
CN105162673A (zh) * | 2015-08-24 | 2015-12-16 | 北京大众益康科技有限公司 | 数据传输接口及方法 |
US20160197704A1 (en) * | 2013-08-09 | 2016-07-07 | Beijing Nufront Mobile Multimedia Technology Co., Ltd. | Method and device for frame acknowledgment |
CN106549845A (zh) * | 2016-10-26 | 2017-03-29 | 郑州云海信息技术有限公司 | 一种基于ntb硬件的通信方法及*** |
CN106603506A (zh) * | 2016-11-28 | 2017-04-26 | 北京航空航天大学 | 基于多现场总线的数据通信方法、设备及*** |
US20170222686A1 (en) * | 2016-02-01 | 2017-08-03 | Qualcomm Incorporated | Scalable, high-efficiency, high-speed serialized interconnect |
CN108646650A (zh) * | 2018-07-31 | 2018-10-12 | 上海应用技术大学 | 基于ttp通信的电机监控***及方法 |
US20190079894A1 (en) * | 2017-06-23 | 2019-03-14 | Goertek Inc. | Method, client device and data forwarding device for transmitting data through serial port |
-
2020
- 2020-04-30 CN CN202010368247.4A patent/CN113595966B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1735252A (zh) * | 2004-08-12 | 2006-02-15 | 华为技术有限公司 | 一种通用自动化测试装置及方法 |
US20160197704A1 (en) * | 2013-08-09 | 2016-07-07 | Beijing Nufront Mobile Multimedia Technology Co., Ltd. | Method and device for frame acknowledgment |
CN105162673A (zh) * | 2015-08-24 | 2015-12-16 | 北京大众益康科技有限公司 | 数据传输接口及方法 |
US20170222686A1 (en) * | 2016-02-01 | 2017-08-03 | Qualcomm Incorporated | Scalable, high-efficiency, high-speed serialized interconnect |
CN106549845A (zh) * | 2016-10-26 | 2017-03-29 | 郑州云海信息技术有限公司 | 一种基于ntb硬件的通信方法及*** |
CN106603506A (zh) * | 2016-11-28 | 2017-04-26 | 北京航空航天大学 | 基于多现场总线的数据通信方法、设备及*** |
US20190079894A1 (en) * | 2017-06-23 | 2019-03-14 | Goertek Inc. | Method, client device and data forwarding device for transmitting data through serial port |
CN108646650A (zh) * | 2018-07-31 | 2018-10-12 | 上海应用技术大学 | 基于ttp通信的电机监控***及方法 |
Non-Patent Citations (1)
Title |
---|
孙友伟、包浕: "电力线物联网络与以太网帧结构重构方案", 《西安邮电大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629597A (zh) * | 2022-03-22 | 2022-06-14 | 广东工业大学 | 一种应用于串口的可靠传输方法和*** |
CN114629597B (zh) * | 2022-03-22 | 2023-11-21 | 广东工业大学 | 一种应用于串口的可靠传输方法和*** |
CN116185453A (zh) * | 2023-02-23 | 2023-05-30 | 广州达谙信息科技有限公司 | 一种低延迟Codesys控制器远程升级的方法和*** |
CN116185453B (zh) * | 2023-02-23 | 2024-01-26 | 广州达谙信息科技有限公司 | 一种低延迟Codesys控制器远程升级的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN113595966B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112217831B (zh) | 关于物联网设备的信息交互方法、装置及设备 | |
ES2731948T3 (es) | Método y aparato para almacenamiento en caché flexible de medios distribuidos | |
CN112738042A (zh) | 一种基于mqtt协议的物联网设备模型及其数据穿透方法 | |
CN111050361B (zh) | 一种报文传送方法、装置及*** | |
WO2019233310A1 (zh) | 一种待配网设备接入网络热点设备的方法和装置 | |
CN113595966B (zh) | 串口通信控制、配置、测试方法、装置、电子设备和存储介质 | |
CN109561395A (zh) | 一种蓝牙传输方法及装置 | |
CN111294235B (zh) | 数据处理方法、装置、网关及可读存储介质 | |
CN110740481B (zh) | 基于服务质量的数据处理方法、设备和计算机存储介质 | |
CN112686358A (zh) | 数据传输方法及nfc电子标签、终端设备、存储介质 | |
CN112039796A (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
CN112804146B (zh) | 报文传输方法、通信装置和*** | |
TW202021405A (zh) | 基於藍牙廣播進行數據傳輸的方法、裝置及藍牙設備 | |
US10757032B2 (en) | Methods, apparatuses and computer-readable storage mediums for communication via user services platform | |
US20180131609A1 (en) | Protocol frame transmission method, apparatus, and system, and node device | |
CN114915555B (zh) | 网关驱动通信方法、装置、设备及存储介质 | |
JP2023075128A (ja) | データスケジューリング方法及びデータ伝送方法、ネットワーク機器、端末並びにコンピュータ記憶媒体 | |
RU2744479C1 (ru) | Способ передачи данных, передающий терминал и приемный терминал | |
CN115866013A (zh) | 一种通信节点、数据传输方法及存储介质 | |
US11153889B2 (en) | User equipment and uplink data transmission method thereof | |
CN114244758A (zh) | 安卓平台的网络诊断方法、存储介质、电子设备及*** | |
CN110430144A (zh) | 数据处理方法、装置、电子设备以及介质 | |
CN111201806B (zh) | 一种终端上报信息的方法及装置、计算机存储介质 | |
CN112039801A (zh) | 设置ip信息的方法、***和代理服务器 | |
CN114079675B (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 |