CN108829629B - 通讯方法和装置 - Google Patents
通讯方法和装置 Download PDFInfo
- Publication number
- CN108829629B CN108829629B CN201810633895.0A CN201810633895A CN108829629B CN 108829629 B CN108829629 B CN 108829629B CN 201810633895 A CN201810633895 A CN 201810633895A CN 108829629 B CN108829629 B CN 108829629B
- Authority
- CN
- China
- Prior art keywords
- command
- address
- data
- slave
- respond
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本申请涉及一种通讯方法和装置,其中的方法包括:发送端采用SSBP对待通讯的内容进行封装;发送端将封装后的数据发送给接收端;其中,所述SSBP包括地址层协议和数据命令层协议。本申请能够实现的有益效果是,定义数据链路层的基本功能,帮助多个通讯主体之间正确识别通讯对象。
Description
技术领域
本申请涉及通讯技术领域,尤其涉及一种通讯方法和装置。
背景技术
在物联网的潮流下,设备与设备之间的信息交互和通讯是必不可少的。设备之间的信息实时交互不仅能方便人们的生活,提高用户的体验感,更有利于提高产品的安全可靠性。设备之间要完成信息交互需要使用通信协议,比如串行通信协议等,而现有的一些通信协议较为复杂。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种通讯方法和装置。
根据本申请实施例的第一方面,提供一种通讯方法,包括:
发送端采用简单串口总线协议(Simple Serial Bus Protocol,SSBP)对待通讯的内容进行封装;
发送端将封装后的数据发送给接收端;
其中,所述SSBP包括地址层协议和数据命令层协议。
可选地,所述采用SSBP对待通讯的内容进行封装,包括:
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;
采用地址层协议对数据命令层数据进行封装,得到封装后的数据。
可选地,所述数据命令层协议包括如下部分:命令字和参数;其中:
所述命令字共八位,所述命令字的最高位用于表示接收端接收到命令后是否需要回应;所述命令字的低七位为命令号;
所述参数为与命令号对应的待通讯的内容;
当发送端为主机,接收端为从机时,所述命令字的最高位可选设置为需要回应或者不需要回应;当发送端为从机,接收端为主机时,所述命令字的最高位固定设置为不需要回应。
可选地,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层数据的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
可选地,当所述发送端为主机,所述接收端为从机时,主机将封装后的
数据发送给从机之后,所述方法还包括:
从机接收到封装后的数据后,从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
可选地,若所述命令字的最高位为1,表示所述从机需要回应;若所述命令字的最高位为0,表示所述从机不需要回应。
根据本申请实施例的第二方面,提供一种通讯装置,包括:
封装模块,用于使发送端采用SSBP对待通讯的内容进行封装;
发送模块,用于使发送端将封装后的数据发送给接收端;
其中,所述SSBP包括地址层协议和数据命令层协议。
可选地,所述封装模块具体用于:
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;
采用地址层协议对数据命令层数据进行封装,得到封装后的数据。
可选地,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
可选地,所述装置还包括:处理模块;
在当所述发送端为主机,所述接收端为从机时,主机将封装后的数据发送给从机之后,所述处理模块用于:
从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
根据本申请实施例的第三方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由控制器的处理器执行时,使得控制器侧能够执行一种通讯方法,所述方法包括:
发送端采用SSBP对待通讯的内容进行封装;
发送端将封装后的数据发送给接收端;
其中,所述SSBP包括地址层协议和数据命令层协议。
可选地,所述采用SSBP对待通讯的内容进行封装,包括:
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;
采用地址层协议对数据命令层数据进行封装,得到封装后的数据。
可选地,所述数据命令层协议包括如下部分:命令字和参数;其中:
所述命令字共八位,所述命令字的最高位用于表示接收端接收到命令后是否需要回应;所述命令字的低七位为命令号;
所述参数为与命令号对应的待通讯的内容;
当发送端为主机,接收端为从机时,所述命令字的最高位可选设置为需要回应或者不需要回应;当发送端为从机,接收端为主机时,所述命令字的最高位固定设置为不需要回应。
可选地,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层数据的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
可选地,当所述发送端为主机,所述接收端为从机时,主机将封装后的
数据发送给从机之后,所述方法还包括:
从机接收到封装后的数据后,从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
可选地,若所述命令字的最高位为1,表示所述从机需要回应;若所述命令字的最高位为0,表示所述从机不需要回应。
根据本申请实施例的第四方面,提供一种通讯装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
发送端采用SSBP对待通讯的内容进行封装;
发送端将封装后的数据发送给接收端;
其中,所述SSBP包括地址层协议和数据命令层协议。
可选地,所述采用SSBP对待通讯的内容进行封装,包括:
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;
采用地址层协议对数据命令层数据进行封装,得到封装后的数据。
可选地,所述数据命令层协议包括如下部分:命令字和参数;其中:
所述命令字共八位,所述命令字的最高位用于表示接收端接收到命令后是否需要回应;所述命令字的低七位为命令号;
所述参数为与命令号对应的待通讯的内容;
当发送端为主机,接收端为从机时,所述命令字的最高位可选设置为需要回应或者不需要回应;当发送端为从机,接收端为主机时,所述命令字的最高位固定设置为不需要回应。
可选地,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层数据的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
可选地,当所述发送端为主机,所述接收端为从机时,主机将封装后的数据发送给从机之后,所述处理器还被配置为:
从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
可选地,若所述命令字的最高位为1,表示所述从机需要回应;若所述命令字的最高位为0,表示所述从机不需要回应。
本申请提供的技术方案可以包括以下有益效果:
由于发送端采用SSBP对待通讯的内容进行封装,且SSBP包括地址层协议和数据命令层协议。在实施时,地址层进行目标寻址,识别通讯对象;数据命令层数据是通讯数据的具体内容,包括操作命令类数据和命令回应类数据;然后发送端将上述封装后的数据发送给接收端。这一过程,实现了定义数据链路层的基本功能,帮助多个通讯主体之间正确识别通讯对象。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种通讯方法的流程示意图。
图2是根据一示例性实施例示出的一种数据命令层的结构示意图。
图3是根据一示例性实施例示出的一种协议层的结构示意图。
图4是根据一示例性实施例示出的一种SSBP数据包的整体结构示意图。
图5是根据另一示例性实施例示出的一种通讯装置的结构示意图。
图6是根据另一示例性实施例示出的一种通讯装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种通讯方法的流程示意图。
如图1所示,本实施例提供的方法包括:
步骤S11,发送端采用SSBP对待通讯的内容进行封装;
步骤S12,发送端将封装后的数据发送给接收端;
其中,所述SSBP包括地址层协议和数据命令层协议。
进一步地,所述采用SSBP对待通讯的内容进行封装,包括:
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;
采用地址层协议对数据命令层数据进行封装,得到封装后的数据。
其中,数据命令层为SSBP的内层,数据命令层数据是通讯数据的具体内容,包括操作命令类数据(比如地址查询命令、地址设置命令、波特率修改命令等)和命令回应类数据(比如,根据地址查询命令查询到的结果等);地址层为SSBP的外层,地址层协议封装于数据命令层之外,主要用于目标寻址,识别通讯对象。
本实施例中,由于发送端采用SSBP对待通讯的内容进行封装,且SSBP包括地址层协议和数据命令层协议。在实施时,地址层进行目标寻址,识别通讯对象;数据命令层数据是通讯数据的具体内容,包括操作命令类数据和命令回应类数据;然后发送端将上述封装后的数据发送给接收端。这一过程,实现了定义数据链路层的基本功能,帮助多个通讯主体之间正确识别通讯对象。
进一步地,本实施例中,参见图2,所述数据命令层协议包括如下部分:命令字21和参数22;其中:
所述命令字共八位,所述命令字的最高位用于表示接收端接收到命令后是否需要回应;所述命令字的低七位为命令号;
所述参数为与命令号对应的待通讯的内容;
当发送端为主机,接收端为从机时,所述命令字的最高位可选设置为需要回应或者不需要回应;当发送端为从机,接收端为主机时,所述命令字的最高位固定设置为不需要回应。
比如,当发送端为主机,接收端为从机时,若命令字的最高位为1,表示从机需要回应;若命令字的最高位为0,表示从机不需要回应。
需要说明的是,对于一些特殊情况,从机是否需要回应也可以不由命令字的最高位来决定。比如,当主机发送的封装后的数据中的地址为广播地址时,所有从机都会受到命令,不管命令字的最高位是否为1,所有从机都不会回应;当主机发送的封装后的数据中的地址不是广播地址,但封装后的数据中的命令为查询命令,则无论命令字的最高位是否为1,从机都会发出回应。
另外,命令字的低七位为命令号,范围是00x0~0x7F。其中,00x0~0x1F对应的是基本命令,0x20~0x7F对应的是扩展命令,0x70~0x7F对应的是保留命令。根据命令的不同,参数的长度和内容也不同,参数的长度最短为0个字节,最长为254个字节。
需要说明的是,从机在需要回应时,回应的数据命令包的结构也遵从该数据命令层协议的说明。不同的是,从机回复给主机的数据命令包中的命令字最高位一定是0,即主机接收到从机回复的数据命令包后不做回应。
进一步地,参见图3,所述地址层协议包括如下部分:地址31、长度32和校验和33;其中:
所述长度为所述数据命令层数据的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
其中,地址占1个字节。当发送端为主机,接收端为从机时,该地址的有效值为0x01~0x0F,0x00作为保留地址不允许使用。0xFF作为广播地址,表示对所有从机发送命令。当发送端为从机,接收端为主机时,该地址的有效范围是0x01~0xFF。
长度占1个字节,该长度为无符号整数,指数据命令层数据的字节长度,最小值为0x00,表示没有数据;最大值为0xFF,表示数据命令层数据总长度为255个字节。
校验和占2个字节,且校验和为16位无符号整数,指从地址开始到校验和之前的所有字节累加和(不包括校验和),参见图4,校验和低八位在前,校验和高八位在后。
进一步地,当所述发送端为主机,所述接收端为从机时,主机将封装后的数据发送给从机之后,所述方法还包括:
从机接收到封装后的数据后,从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号。
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
其中,如果所述地址为从机地址,所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,若命令字最高位是1,则根据命令向主机回应查询到的数据;若命令字最高位是0,则不向主机回应。
如果所述地址为广播地址,则读取命令字,并执行命令字中的命令号所对应的命令,然后根据命令字的最高位确定是否向主机回应。一般来讲,如果所述地址为广播地址,命令字的最高位是0,即从机不需要向主机回应数据。
另外,出现以下任何一种情况,从机既不执行任何操作也不回应任何数据:
从机接收到的协议数据包不完整,或者接收到的协议数据包校验和不正确;
从机未收到任何命令;
所述地址既不是从机地址,也不是广播地址。
为了更好的理解本申请,下面对采用SSBP对待通讯内容封装之后得到的数据包的整体结构进行说明,如图4所示。
需要说明的是,长度是指整个数据命令层数据的字节长度,校验和是除校验和本身之外的所有数据字节的累加和。
图5是根据另一示例性实施例示出的一种通讯装置的结构示意图。
如图5所示,本实施例提供的装置包括:
封装模块51,用于采用SSBP对待通讯的内容进行封装;
发送模块52,用于将封装后的数据发送给接收端;
其中,所述SSBP包括地址层协议和数据命令层协议。
进一步地,所述封装模块具体用于:
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;
采用地址层协议对数据命令层数据进行封装,得到封装后的数据。
进一步地,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
进一步地,所述装置还包括:处理模块53;
在当所述发送端为主机,所述接收端为从机时,主机将封装后的数据发送给从机之后,所述处理模块用于:
从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
本申请另一个实施例提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由控制器的处理器执行时,使得控制器侧能够执行一种会员认证方法,所述方法包括:
发送端采用SSBP对待通讯的内容进行封装;
发送端将封装后的数据发送给接收端;
其中,所述SSBP包括地址层协议和数据命令层协议。
可选地,所述采用SSBP对待通讯的内容进行封装,包括:
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;
采用地址层协议对数据命令层数据进行封装,得到封装后的数据。
可选地,所述数据命令层协议包括如下部分:命令字和参数;其中:
所述命令字共八位,所述命令字的最高位用于表示接收端接收到命令后是否需要回应;所述命令字的低七位为命令号;
所述参数为与命令号对应的待通讯的内容;
当发送端为主机,接收端为从机时,所述命令字的最高位可选设置为需要回应或者不需要回应;当发送端为从机,接收端为主机时,所述命令字的最高位固定设置为不需要回应。
可选地,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层数据的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
可选地,当所述发送端为主机,所述接收端为从机时,主机将封装后的
数据发送给从机之后,所述方法还包括:
从机接收到封装后的数据后,从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
可选地,若所述命令字的最高位为1,表示所述从机需要回应;若所述命令字的最高位为0,表示所述从机不需要回应。
本实施例的具体实现方案可以参见上述实施例中的相关说明,此处不再赘述。
本实施例中,由于发送端采用SSBP对待通讯的内容进行封装,且SSBP包括地址层协议和数据命令层协议。在实施时,地址层进行目标寻址,识别通讯对象;数据命令层数据是通讯数据的具体内容,包括操作命令类数据和命令回应类数据;然后发送端将上述封装后的数据发送给接收端。这一过程,实现了定义数据链路层的基本功能,帮助多个通讯主体之间正确识别通讯对象。
图6是根据另一示例性实施例示出的一种通讯装置的结构示意图。
如图6所示,本实施例提供的通讯装置包括:
处理器61;用于存储处理器可执行指令的存储器62;其中,所述处理器61被配置为:
发送端采用SSBP对待通讯的内容进行封装;
发送端将封装后的数据发送给接收端;
其中,所述SSBP包括地址层协议和数据命令层协议。
进一步地,所述采用SSBP对待通讯的内容进行封装,包括:
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;
采用地址层协议对数据命令层数据进行封装,得到封装后的数据。
进一步地,所述数据命令层协议包括如下部分:命令字和参数;其中:
所述命令字共八位,所述命令字的最高位用于表示接收端接收到命令后是否需要回应;所述命令字的低七位为命令号;
所述参数为与命令号对应的待通讯的内容;
当发送端为主机,接收端为从机时,所述命令字的最高位可选设置为需要回应或者不需要回应;当发送端为从机,接收端为主机时,所述命令字的最高位固定设置为不需要回应。
进一步地,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层数据的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
进一步地,当所述发送端为主机,所述接收端为从机时,主机将封装后的数据发送给从机之后,所述处理器还被配置为:
从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
进一步地,若所述命令字的最高位为1,表示所述从机需要回应;若所述命令字的最高位为0,表示所述从机不需要回应。
本实施例中,由于发送端采用SSBP对待通讯的内容进行封装,且SSBP包括地址层协议和数据命令层协议。在实施时,地址层进行目标寻址,识别通讯对象;数据命令层数据是通讯数据的具体内容,包括操作命令类数据和命令回应类数据;然后发送端将上述封装后的数据发送给接收端。这一过程,实现了定义数据链路层的基本功能,帮助多个通讯主体之间正确识别通讯对象。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (7)
1.一种通讯方法,其特征在于,包括:
发送端采用SSBP对待通讯的内容进行封装;其中,所述SSBP包括地址层协议和数据命令层协议;
采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;采用地址层协议对数据命令层数据进行封装,得到封装后的数据;
所述数据命令层协议包括如下部分:命令字和参数;其中:
所述命令字共八位,所述命令字的最高位用于表示接收端接收到命令后是否需要回应;所述命令字的低七位为命令号;
所述参数为与命令号对应的待通讯的内容;当发送端为主机,接收端为从机时,所述命令字的最高位可选设置为需要回应或者不需要回应;当发送端为从机,接收端为主机时,所述命令字的最高位固定设置为不需要回应;
发送端将封装后的数据发送给接收端。
2.根据权利要求1所述方法,其特征在于,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层数据的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
3.根据权利要求1所述的方法,其特征在于,当所述发送端为主机,所述接收端为从机时,主机将封装后的数据发送给从机之后,所述方法还包括:
从机接收到封装后的数据后,从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
4.根据权利要求1所述的方法,其特征在于,
若所述命令字的最高位为1,表示所述从机需要回应;
若所述命令字的最高位为0,表示所述从机不需要回应。
5.一种通讯装置,其特征在于,包括:
封装模块,用于使发送端采用SSBP对待通讯的内容进行封装;所述SSBP包括地址层协议和数据命令层协议;采用数据命令层协议对待通讯的内容进行封装,得到数据命令层数据;采用地址层协议对数据命令层数据进行封装,得到封装后的数据;所述数据命令层协议包括如下部分:命令字和参数;其中:所述命令字共八位,所述命令字的最高位用于表示接收端接收到命令后是否需要回应;所述命令字的低七位为命令号;所述参数为与命令号对应的待通讯的内容;当发送端为主机,接收端为从机时,所述命令字的最高位可选设置为需要回应或者不需要回应;当发送端为从机,接收端为主机时,所述命令字的最高位固定设置为不需要回应;
发送模块,用于使发送端将封装后的数据发送给接收端。
6.根据权利要求5所述的装置,其特征在于,所述地址层协议包括如下部分:地址、长度和校验和;其中:
所述长度为所述数据命令层的字节长度;
所述校验和为从所述地址开始到校验和之前的所有字节累加和;
当发送端为主机,接收端为从机时,所述地址为接收端的地址,当发送端为从机,接收端为主机时,所述地址为发送端的地址。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:处理模块;
在当所述发送端为主机,所述接收端为从机时,主机将封装后的数据发送给从机之后,所述处理模块用于:
从封装后的数据中读取地址;
在所述地址为从机地址时,从封装后的数据中读取命令号;
如果所述命令号为查询命令对应的命令号,则从机执行所述查询命令,并向主机回应查询到的内容;
如果所述命令号为非查询命令对应的命令号,则从机执行命令号所对应的命令,并从封装后的数据中读取命令字的最高位,以及,根据命令字的最高位确定是否向主机回应;
在所述地址为广播地址时,从封装后的数据中读取命令字,执行命令字中的命令号所对应的命令,并根据命令字的最高位确定是否向主机回应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810633895.0A CN108829629B (zh) | 2018-06-19 | 2018-06-19 | 通讯方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810633895.0A CN108829629B (zh) | 2018-06-19 | 2018-06-19 | 通讯方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108829629A CN108829629A (zh) | 2018-11-16 |
CN108829629B true CN108829629B (zh) | 2020-12-01 |
Family
ID=64142578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810633895.0A Expired - Fee Related CN108829629B (zh) | 2018-06-19 | 2018-06-19 | 通讯方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108829629B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132062A (zh) * | 2019-12-31 | 2021-07-16 | 华为技术有限公司 | 报文传输方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527561A (zh) * | 2003-09-22 | 2004-09-08 | 中兴通讯股份有限公司 | 实现rs-485多点通讯的方法 |
CN102223273A (zh) * | 2011-07-14 | 2011-10-19 | 中山爱科数字科技有限公司 | 一种数字传感网络及通讯方法 |
CN102890661A (zh) * | 2011-07-19 | 2013-01-23 | 北京精益达明电子科技有限责任公司 | 一种主从机通讯协议 |
CN104038550A (zh) * | 2014-06-18 | 2014-09-10 | 华为技术有限公司 | 数据通信方法及其装置、存储系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2736737B1 (fr) * | 1995-07-12 | 1997-08-14 | Alcatel Nv | Dispositif de gestion de relations entre des objets |
TW525053B (en) * | 2000-03-29 | 2003-03-21 | Mitac Int Corp | Apparatus of PCI bus cycle single step interrupt debug card and its method |
CN102033846B (zh) * | 2010-11-25 | 2012-12-05 | 青岛海信信芯科技有限公司 | 通信接口的转换方法、系统及串行控制器、电视机 |
CN102123007A (zh) * | 2011-03-01 | 2011-07-13 | 上海奈凯电子科技有限公司 | 数控系统中实现数据传输的通信方法 |
CN103581139A (zh) * | 2012-08-03 | 2014-02-12 | 王当当 | 一种加密的无线通讯协议 |
CN106713325B (zh) * | 2016-12-28 | 2020-06-30 | 深圳市英威腾电气股份有限公司 | 一种通讯协议转换卡 |
CN107294976A (zh) * | 2017-06-28 | 2017-10-24 | 济南浪潮高新科技投资发展有限公司 | 基于串口的通信方法及系统、接收端 |
-
2018
- 2018-06-19 CN CN201810633895.0A patent/CN108829629B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1527561A (zh) * | 2003-09-22 | 2004-09-08 | 中兴通讯股份有限公司 | 实现rs-485多点通讯的方法 |
CN102223273A (zh) * | 2011-07-14 | 2011-10-19 | 中山爱科数字科技有限公司 | 一种数字传感网络及通讯方法 |
CN102890661A (zh) * | 2011-07-19 | 2013-01-23 | 北京精益达明电子科技有限责任公司 | 一种主从机通讯协议 |
CN104038550A (zh) * | 2014-06-18 | 2014-09-10 | 华为技术有限公司 | 数据通信方法及其装置、存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108829629A (zh) | 2018-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210365542A1 (en) | Vehicle network system whose security is improved using message authentication code | |
US10756930B2 (en) | Gateway device, vehicle network system, transfer method, and non-transitory computer-readable recording medium storing program | |
CN108965484B (zh) | 一种物联网数据的传输方法、系统及终端 | |
JP5723062B2 (ja) | メモリの大きさに対して調整される直列データ伝送のための方法及び装置 | |
US20150156285A1 (en) | Message tunneling in industrial networks | |
US20210160353A1 (en) | Data sending method and device, data receiving method and device, and system | |
CN112817617A (zh) | 软件升级方法、装置和系统 | |
CN110495149B (zh) | 数据传输方法和装置 | |
CN106603506B (zh) | 基于多现场总线的数据通信方法、设备及系统 | |
CN107426770B (zh) | 基于数据链路层的数据通讯方法、数据终端及系统 | |
EP3745657A1 (en) | Gateway device, vehicle network system, transfer method, and program | |
CN103647759A (zh) | 一种mss的协商方法及装置 | |
CN105847101A (zh) | 一种基于车辆总线的数据传输方法 | |
CN106612245A (zh) | 一种基于gtpu隧道协议的报文传输方法和系统 | |
CN111209240A (zh) | 数据传输的方法、电子设备及存储介质 | |
CN108829629B (zh) | 通讯方法和装置 | |
WO2021134418A1 (zh) | 一种数据校验方法及装置 | |
US10649947B2 (en) | Stack timing adjustment for serial communications | |
JP2023543182A (ja) | 通信リンク開始方法及び装置 | |
CN109639555B (zh) | 链路层报文生成方法、链路层报文生成装置及终端设备 | |
CN111147597A (zh) | 文件传输方法、终端、电子设备及存储介质 | |
CN107171915B (zh) | 一种通信协议的变更方法及装置 | |
CN108928213B (zh) | 控制面板的参数配置方法、控制面板及被控设备 | |
CN104219178A (zh) | 基于Openflow控制报文处理方法、发送装置、接收装置和系统 | |
CN112732606A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201201 Termination date: 20210619 |