CN105681343A - 一种基于arm架构的状态控制协议的处理方法及其装置 - Google Patents
一种基于arm架构的状态控制协议的处理方法及其装置 Download PDFInfo
- Publication number
- CN105681343A CN105681343A CN201610131823.7A CN201610131823A CN105681343A CN 105681343 A CN105681343 A CN 105681343A CN 201610131823 A CN201610131823 A CN 201610131823A CN 105681343 A CN105681343 A CN 105681343A
- Authority
- CN
- China
- Prior art keywords
- valid data
- data
- control protocol
- original
- keyword
- 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
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/22—Parsing or analysis of headers
-
- 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/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
Abstract
本发明实施例公开了一种基于ARM架构的状态控制协议的处理方法及其装置,其中,该方法包括:发送方在原始有效数据中增加关键字;对包含关键字的有效数据进行打包,获得打包后的有效数据;将所述打包后的有效数据发送给接收方;接收方对打包后的有效数据进行有效数据的提取,获得原始有效数据。在本发明实施例中,在通信数据流中增加了若干关键字,支持数据长度可变,并在软件层分离了协议的编码和解码,大大提高可扩展性;屏蔽了协议传输的物理层,可应用于不同嵌入式平台、不同硬件接口,实现了后期协议的一致性;解决状态同步难、通信数据量小、硬件固件升级等问题,搞高了可维护性;让使用者无需关心底层序列化的编解码过程,可以节省使用时间。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种基于ARM架构的状态控制协议的处理方法及其装置。
背景技术
随着嵌入式处理器的快速迭代,各种智能终端设备层出不穷,主控对智能终端设备的通讯协议已经不局限于简单控制协议。
简单控制协议是一种轻量级的通信协议,特点是控制命令和数据较少,每一个命令往往由若干个字符组合而成,且长短不一,由具体命令的含义来定义具体的字符串长度,即命令与协议并没有分离开来。
以松下投影机的串口控制协议为例,其部分控制码有:
开机:0x02,0x50,0x4F,0x4E,0x03;
关机:0x02,0x50,0x4F,0x46,0x03;
视频:0x02,0x49,0x49,0x53,0x3A,0x56,0x49,0x44,0x03;
S视频:0x02,0x49,0x49,0x53,0x3A,0x53,0x56,0x44,0x03;
RGB1&电脑:0x02,0x49,0x49,0x53,0x3A,0x52,0x47,0x31,0x03;
RGB2:0x02,0x49,0x49,0x53,0x3A,0x52,0x47,0x32,0x03。
在实际应用中,通过RS232将相应的字符流发送给投影机,即可实现相应的功能。
在实际应用环境中,与嵌入式平台的数据交互并没有一个统一的规范,不同厂家的产品的通信协议都是单独定制的,但很多场合都会采取上述类似方案。这种简单控制协议的劣势显而易见,主要有以下几个方面:
没有将具体的命令含义与通信协议分开,不具备通信协议应有的纠错机制;
每增加一条控制命令都需要重新更改解析代码,扩展性差,易出错;
通信数据量小、数据长度固定,不适合固件升级等场合;
一致性差,不同控制命令之间的数据结构差别大。
若将此类协议应用于控制其他智能终端等产品,对于后期协议的一致性和可维护性,造成很大影响。
发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种基于ARM架构的状态控制协议的处理方法及其装置,可以提高扩展性和可维护性,实现了后期协议的一致性,可节省使用者的使用时间。
为了解决上述问题,本发明提出了一种基于ARM架构的状态控制协议的处理方法,所述方法包括:
发送方在原始有效数据中增加关键字;
对包含关键字的有效数据进行打包,获得打包后的有效数据;
将所述打包后的有效数据发送给接收方;
所述接收方对所述打包后的有效数据进行有效数据的提取,获得原始有效数据。
优选地,所述接收方对所述打包后的有效数据进行有效数据的提取的步骤包括:
对所述打包后的有效数据进行关键字剔除,获得原始有效数据。
优选地,在所述接收方对所述打包后的有效数据进行有效数据的提取的步骤之后,还包括:
对所述原始有效数据进行校验。
优选地,所述关键字包括:帧校验;所述对所述原始有效数据进行校验的步骤包括:根据帧校验的数据对所述原始有效数据进行校验。
优选地,所述关键字包括:帧数据长度,用于控制所述原始有效数据的长度。
相应地,本发明还提供一种基于ARM架构的状态控制协议的处理装置,所述装置包括:
增加模块,用于发送方在原始有效数据中增加关键字;
打包模块,用于对包含关键字的有效数据进行打包,获得打包后的有效数据;
发送模块,用于将所述打包后的有效数据发送给接收方;
提取模块,用于所述接收方对所述打包后的有效数据进行有效数据的提取,获得原始有效数据。
优选地,所述提取模块还用于对所述打包后的有效数据进行关键字剔除,获得原始有效数据。
优选地,所述装置还包括:校验模块,用于对所述原始有效数据进行校验。
优选地,所述关键字包括:帧校验;所述校验模块根据帧校验的数据对所述原始有效数据进行校验。
优选地,所述关键字包括:帧数据长度,用于控制所述原始有效数据的长度。
在本发明实施例中,在通信数据流中增加了若干关键字,支持数据长度可变,并在软件层分离了协议的编码和解码,可以大大提高可扩展性;屏蔽了协议传输的物理层,可应用于不同嵌入式平台、不同硬件接口(RS232、以太网等),实现了后期协议的一致性;解决状态同步难、通信数据量小、硬件固件升级等问题,搞高了可维护性;同时让使用者无需关心底层序列化的编解码过程,可以节省使用时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的基于ARM架构的状态控制协议的处理方法的流程示意图;
图2是本发明实施例中基于3188的安卓系统与控制面板、电源管理终端组成的系统结构示意图;
图3是本发明实施例的基于ARM架构的状态控制协议的处理装置的结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例的一种基于ARM架构的状态控制协议的处理方法的流程示意图,如图1所示,该方法包括:
S1,发送方在原始有效数据中增加关键字;
S2,对包含关键字的有效数据进行打包,获得打包后的有效数据;
S3,将打包后的有效数据发送给接收方;
S4,接收方对打包后的有效数据进行有效数据的提取,获得原始有效数据。
具体地,在S4中,对打包后的有效数据进行关键字剔除,获得原始有效数据。
在获得原始有效数据之后,对原始有效数据进行校验。具体地,根据帧校验的数据对原始有效数据进行校验。
下面结合实例对上述流程进行进一步说明。
如平台系统需要获取电源控制单元的功率值,那么有效数据是“读取功率的命令码+命令长度+设备号+是否应答字节”,对该原始有效数据添加关键字并进行打包后,实际发送的数据为:“帧头+帧类型+源地址+目的地址+帧数据长度+读取功率的命令码+命令长度+设备号+是否应答字节+帧校验+帧尾”。接收方接收到数据后,剔除打包后的有效数据中的关键字,如关键字“帧头”、“帧尾”、“帧数据长度”用于切割数据流,关键字“源地址”、“目的地址”用于区分应答对象,“帧校验”可以再次判断数据是否出错,关键字“帧数据长度”用于控制原始有效数据的长度,实现了数据长度可变。至此,根据关键字从打包后的有效数据提取的有效数据为“读取功率的命令码+命令长度+设备号+是否应答字节”。在本发明实施例中,事先约定状态控制协议,使用者了解或者制定该协议后,无需关心编解码过程,即可获取发送方的有效数据。
在本实施例中,该协议可用于基于3188的安卓系统通过RS232接口与控制面板、电源管理终端之间的数据交互。该系统结构组成如图2所示。
协议的最小单元称为“帧”,一帧数据的组成结构分为两部分来介绍,即应用层协议和帧数据格式。
应用层协议的结构如表1所示:
表1应用层协议结构表
其中,帧头和帧尾确保了一帧数据的完整性。
帧类型:‘1’表示数据流以字符(明文)传输;‘2’表示数据流以二进制ASCII传输。
源地址和目的地址明确了这一帧数据的发送方和接收方,同时还可以兼容在总线上进行数据传输。具体含义为:‘1’表示安卓应用,‘2’表示安卓驱动层,‘3’表示电源管理终端(简称PA),‘4’表示控制面板。
帧数据长度明确了帧数据的长度,具体应用时可以根据需求挂载长度可变的数据,避免了对存储空间的浪费。
帧数据是实际的应用数据。
帧校验确保了数据的可靠性,目前采用的是累加和校验方法,校验结果以十六进制拆分为两个字符存放,如校验结果为0x5F,那么实际存放内容为“5F”。
帧数据格式借鉴了TLV结构。ANS.1是一种ISO/ITU-T标准,其中一种编码(BasicEncodingRules,BER)使用<Tag,Length,Value>三元组编码,简称TLV编码。TLV编码具备很多优秀的特性,如兼容性和可扩展性、数据长度可变、易用性、自解释性、可嵌套性。
由于嵌入式设备的资源限制,以及实际应用时考虑到提高代码执行效率和减少协议的冗余,本协议中的帧数据格式仅参考了TLV结构的设计理念,与标准的TLV编码并不兼容,具体格式如下。
帧数据格式如表2所示:
表2帧数据格式表
其中,Tag表示命令码,最多支持65535条指令。
Len表示数据长度,赋值范围为0-255。
Val表示数据,数据个数取决于Len。
需要注意的是,多个TLV结构可以并列,如TLVTLVTLV;但不可以嵌套,如不可TLTLV。
协议结构确定之后,还需要有对应的程序实现它。本发明提供了基于C和C++编程语言的协议解码和编码接口,方便在实际应用中调用。
相应地,本发明实施例还提供一种基于ARM架构的状态控制协议的处理装置,如图3所示,该装置包括:
增加模块1,用于发送方在原始有效数据中增加关键字;
打包模块2,用于对包含关键字的有效数据进行打包,获得打包后的有效数据;
发送模块3,用于将打包后的有效数据发送给接收方;
提取模块4,用于接收方对所述打包后的有效数据进行有效数据的提取,获得原始有效数据。
其中,提取模块4还用于对打包后的有效数据进行关键字剔除,获得原始有效数据。
进一步地,该装置还包括:校验模块,用于对原始有效数据进行校验。
在本实施例中,关键字包括:帧校验;校验模块根据帧校验的数据对所述原始有效数据进行校验。
另外,关键字还包括:帧数据长度,用于控制原始有效数据的长度。
本发明的装置实施例中各功能模块的功能可参见本发明方法实施例中的流程处理,这里不再赘述。
在本发明实施例中,在通信数据流中增加了若干关键字,支持数据长度可变,并在软件层分离了协议的编码和解码,可以大大提高可扩展性;屏蔽了协议传输的物理层,可应用于不同嵌入式平台、不同硬件接口(RS232、以太网等),实现了后期协议的一致性;解决状态同步难、通信数据量小、硬件固件升级等问题,搞高了可维护性;同时让使用者无需关心底层序列化的编解码过程,可以节省使用时间。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的基于ARM架构的状态控制协议的处理方法及其装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于ARM架构的状态控制协议的处理方法,其特征在于,所述方法包括:
发送方在原始有效数据中增加关键字;
对包含关键字的有效数据进行打包,获得打包后的有效数据;
将所述打包后的有效数据发送给接收方;
所述接收方对所述打包后的有效数据进行有效数据的提取,获得原始有效数据。
2.如权利要求1所述的基于ARM架构的状态控制协议的处理方法,其特征在于,所述接收方对所述打包后的有效数据进行有效数据的提取的步骤包括:
对所述打包后的有效数据进行关键字剔除,获得原始有效数据。
3.如权利要求1或2所述的基于ARM架构的状态控制协议的处理方法,其特征在于,在所述接收方对所述打包后的有效数据进行有效数据的提取的步骤之后,还包括:
对所述原始有效数据进行校验。
4.如权利要求3所述的基于ARM架构的状态控制协议的处理方法,其特征在于,所述关键字包括:帧校验;所述对所述原始有效数据进行校验的步骤包括:根据帧校验的数据对所述原始有效数据进行校验。
5.如权利要求1或2所述的基于ARM架构的状态控制协议的处理方法,其特征在于,所述关键字包括:帧数据长度,用于控制所述原始有效数据的长度。
6.一种基于ARM架构的状态控制协议的处理装置,其特征在于,所述装置包括:
增加模块,用于发送方在原始有效数据中增加关键字;
打包模块,用于对包含关键字的有效数据进行打包,获得打包后的有效数据;
发送模块,用于将所述打包后的有效数据发送给接收方;
提取模块,用于所述接收方对所述打包后的有效数据进行有效数据的提取,获得原始有效数据。
7.如权利要求6所述的基于ARM架构的状态控制协议的处理装置,其特征在于,所述提取模块还用于对所述打包后的有效数据进行关键字剔除,获得原始有效数据。
8.如权利要求6所述的基于ARM架构的状态控制协议的处理装置,其特征在于,所述装置还包括:校验模块,用于对所述原始有效数据进行校验。
9.如权利要求8所述的基于ARM架构的状态控制协议的处理装置,其特征在于,所述关键字包括:帧校验;所述校验模块根据帧校验的数据对所述原始有效数据进行校验。
10.如权利要求6或7所述的基于ARM架构的状态控制协议的处理装置,其特征在于,所述关键字包括:帧数据长度,用于控制所述原始有效数据的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610131823.7A CN105681343A (zh) | 2016-03-09 | 2016-03-09 | 一种基于arm架构的状态控制协议的处理方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610131823.7A CN105681343A (zh) | 2016-03-09 | 2016-03-09 | 一种基于arm架构的状态控制协议的处理方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105681343A true CN105681343A (zh) | 2016-06-15 |
Family
ID=56307211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610131823.7A Pending CN105681343A (zh) | 2016-03-09 | 2016-03-09 | 一种基于arm架构的状态控制协议的处理方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681343A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685927A (zh) * | 2016-11-29 | 2017-05-17 | 深圳市元征科技股份有限公司 | 一种数据子帧结构的编制方法及相关设备 |
CN108279938A (zh) * | 2018-01-23 | 2018-07-13 | 芯颖科技有限公司 | 命令加载方法以及装置 |
CN108595289A (zh) * | 2018-01-12 | 2018-09-28 | 江苏华存电子科技有限公司 | 用于数据储存纠错码校验提高短码字信息校验率的方法 |
CN109660483A (zh) * | 2017-10-10 | 2019-04-19 | 深圳市美好创亿医疗科技有限公司 | 嵌入式硬件通信协议及通信系统 |
CN114826884A (zh) * | 2022-05-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 跨设备协议通信故障定位的方法、装置、设备及可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1953416A (zh) * | 2006-09-16 | 2007-04-25 | 华为技术有限公司 | 一种以太网传输IPv6报文方法、系统与装置 |
CN1992670A (zh) * | 2005-12-30 | 2007-07-04 | 华为技术有限公司 | 一种以太网承载帧中继的方法 |
CN101184030A (zh) * | 2007-11-06 | 2008-05-21 | 浙江工业大学 | 基于fpga的以太网接口驱动装置 |
CN101882975A (zh) * | 2010-06-29 | 2010-11-10 | 上海大学 | 一种利用以太帧前导码传输数据的方法 |
-
2016
- 2016-03-09 CN CN201610131823.7A patent/CN105681343A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1992670A (zh) * | 2005-12-30 | 2007-07-04 | 华为技术有限公司 | 一种以太网承载帧中继的方法 |
CN1953416A (zh) * | 2006-09-16 | 2007-04-25 | 华为技术有限公司 | 一种以太网传输IPv6报文方法、系统与装置 |
CN101184030A (zh) * | 2007-11-06 | 2008-05-21 | 浙江工业大学 | 基于fpga的以太网接口驱动装置 |
CN101882975A (zh) * | 2010-06-29 | 2010-11-10 | 上海大学 | 一种利用以太帧前导码传输数据的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685927A (zh) * | 2016-11-29 | 2017-05-17 | 深圳市元征科技股份有限公司 | 一种数据子帧结构的编制方法及相关设备 |
CN109660483A (zh) * | 2017-10-10 | 2019-04-19 | 深圳市美好创亿医疗科技有限公司 | 嵌入式硬件通信协议及通信系统 |
CN108595289A (zh) * | 2018-01-12 | 2018-09-28 | 江苏华存电子科技有限公司 | 用于数据储存纠错码校验提高短码字信息校验率的方法 |
CN108279938A (zh) * | 2018-01-23 | 2018-07-13 | 芯颖科技有限公司 | 命令加载方法以及装置 |
CN114826884A (zh) * | 2022-05-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 跨设备协议通信故障定位的方法、装置、设备及可读介质 |
CN114826884B (zh) * | 2022-05-30 | 2023-08-18 | 苏州浪潮智能科技有限公司 | 跨设备协议通信故障定位的方法、装置、设备及可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681343A (zh) | 一种基于arm架构的状态控制协议的处理方法及其装置 | |
CN112187632B (zh) | 工业设备一体化模型及构建方法、边缘网关装置、工业设备一体化系统 | |
CN105913847B (zh) | 语音控制系统、用户端设备、服务器和中央控制单元 | |
US9183032B2 (en) | Method and system for migration of multi-tier virtual application across different clouds hypervisor platforms | |
CN107797767B (zh) | 一种基于容器技术部署分布式存储系统及其存储方法 | |
CN102662705B (zh) | 一种对计算机集群的系统环境进行升级的系统及方法 | |
CN108170740A (zh) | 数据迁移方法、系统和计算机可读存储介质 | |
CN106648766B (zh) | 基于文件夹的补丁升级包生成及差分升级方法和装置 | |
CN108134690B (zh) | 网络业务部署流程控制方法、装置及系统 | |
CN105760272B (zh) | 基于插件的监控后台业务定制方法及其系统 | |
CN108427697A (zh) | 基于bim的装配式建筑数据导出方法及装置 | |
CN110807063B (zh) | 基于边缘计算的变电站实时数据快速分发同步系统及方法 | |
CN105975277A (zh) | 一种基于模板的混合云弹性伸缩组构建方法 | |
US11910486B2 (en) | Commit sets in a Kubernetes environment | |
CN103399895A (zh) | 一种基于svg的监控显示处理系统及方法 | |
CN107301067B (zh) | 基于iap技术的北斗用户机远程升级系统及其升级方法 | |
CN103577245A (zh) | 一种轻量级虚拟机迁移方法 | |
CN102736926B (zh) | 一种基于任务模板的升级方法及装置、批量升级系统 | |
CN107885582B (zh) | 异构容器集群迁移方法和控制器 | |
CN105302789A (zh) | 一种卫生信息共享文档模板缓冲存储的编辑方法 | |
WO2023151372A1 (zh) | 模块升级方法和系统 | |
CN115604070A (zh) | 基于mctp协议的消息传输方法、装置、设备及介质 | |
CN112231409B (zh) | 数据库同步的初始化装载方法、装置、设备和存储介质 | |
CN107276994A (zh) | 一种储能系统的通讯管理系统及方法 | |
CN113949728A (zh) | 不同平台设备同步的方法、第一平台和第二平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160615 |