CN110071914B - 通讯方法、帧结构的构建方法、装置、mcu、系统及介质 - Google Patents
通讯方法、帧结构的构建方法、装置、mcu、系统及介质 Download PDFInfo
- Publication number
- CN110071914B CN110071914B CN201910267479.8A CN201910267479A CN110071914B CN 110071914 B CN110071914 B CN 110071914B CN 201910267479 A CN201910267479 A CN 201910267479A CN 110071914 B CN110071914 B CN 110071914B
- Authority
- CN
- China
- Prior art keywords
- mcu
- field
- data frame
- describing
- designated position
- 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
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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种通讯方法、帧结构的构建方法、装置、MCU、通讯系统及存储介质,所述通讯方法包括:与通讯终端建立连接;当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段;基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限,本发明能够使得不同产品之间即使都有同一种类的MCU芯片,也能够基于自身的产品信息字段实现指令上的隔离。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于MCU通讯协议的通讯方法、基于MCU通讯协议的帧结构的构建方法、装置、MCU、通讯系统及计算机可读存储介质。
背景技术
微控制单元(MCU),又称单片微型计算机(Single Chip Microcomputer)或者单片机,是把中央处理器(CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。MCU通讯流程分为两大部分,设备连接和指令通讯。设备连接包括以下步骤:1、数据链路层建立MCU与通讯终端的连接,如果已经连接可以跳过;2、通讯终端的软件发现MCU设备,并连接;3、如果连接成功,即可开始发送指令进行通讯;指令通讯包括以下步骤:4、通讯终端发送指令给MCU;5、MCU收到指令后,通过帧头帧尾、验证码判断指令是否有效;6、如果指令有效,执行指令,返回结果给通讯终端;7、重复发送指令,即重复4-6步骤;8、通讯完成后,可以断开连接。
但是,发明人在实现本发明的过程中,发现:同一种MCU芯片的不同产品指令是相通的,随着使用到MCU芯片的产品越来越多元化,对于使用同一种MCU芯片的不同产品,并没有在通讯协议上实现隔离,即使用同一种MCU芯片的两个不同产品A和B,发送给产品A的指令发送给产品B也是同样有效的,这样会导致误执行的发生,影响正常通讯过程。
发明内容
有鉴于此,本发明提供一种基于MCU通讯协议的通讯方法、基于MCU通讯协议的帧结构的构建方法、装置、MCU、通讯系统及计算机可读存储介质。
根据本发明实施例的第一方面,提供一种基于MCU通讯协议的通讯方法,所述方法包括:
与通讯终端建立连接;
当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段;
基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限。
优选地,所述指定位置为数据帧的帧头、帧尾或者数据段。
优选地,所述指定位置的字段还包括用于描述所述MCU的用户信息的字段。
优选地,还包括:
当检测到所述数据帧中的所述指定位置上已配置了用于描述所述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段时,不执行所述初始化的操作。
优选地,所述指定位置的字段为加密字段。
优选地,所述指定位置的字段通过异或运算进行加密。
优选地,所述初始化的过程基于所述通讯终端的第一应用进程或者第二应用进程发送的初始化指令所执行的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述初始化之后,指定位置的字段的值与配置后的数据帧的相应位置的值匹配;所述第二应用进程所发送的指令的数据帧结构中,指定位置的字段的值为通用字段。
优选地,所述第二应用进程对所述MCU的访问权限高于所述第一应用进程对所述MCU的访问权限。
优选地,所述第二应用进程的访问权限包括更改所述数据帧的配置的权限。
根据本发明实施例的第二方面,提供一种基于MCU通讯协议的帧结构的构建方法,所述方法包括:
获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数;
将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置。
优选地,所述指定位置为数据帧的帧头、帧尾或者数据段。
优选地,所述待配置参数还包括描述所述MCU的用户信息的参数。
优选地,还包括:
当检测到所述数据帧中的所述指定位置上已写入了描述所述MCU的产品信息的字段以及描述所述MCU的用户信息的字段时,丢弃所述待配置参数。
优选地,所述待配置参数为加密字段。
优选地,所述待配置参数通过异或运算进行加密。
优选地,所述待配置参数为与自身建立连接的通讯终端的第一应用进程或者第二应用进程发送的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述待配置参数写入数据帧之后,指定位置的字段的值为所述待配置参数;所述第二应用进程所发送的指令的数据帧结构中,指定位置的字段的值为通用字段。
优选地,所述第二应用进程对所述MCU的访问权限高于所述第一应用进程对所述MCU的访问权限。
优选地,所述第二应用进程的访问权限包括更改所述数据帧的指定位置上所述待配置参数的权限。
根据本发明实施例的第三方面,提供一种基于MCU通讯协议的通讯装置,所述装置包括:
连接模块,用于与通讯终端建立连接;
初始配置模块,用于当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段;
通讯模块,用于基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限。
根据本发明实施例的第四方面,提供一种基于MCU通讯协议的帧结构的构建装置,所述装置包括:
配置参数获取模块,用于获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数;
数据帧构建模块,用于将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置。
根据本发明实施例的第五方面,提供一种MCU,所述MCU被配置为:
与通讯终端建立连接;
当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段;
基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限。
根据本发明实施例的第六方面,提供一种通讯系统,包括如第五方面所述的MCU,以及一通讯终端;
所述通讯终端包括一处理器,以及用于存储处理器可执行指令的存储器;
其中所述处理器被配置为执行以下步骤:
与所述MCU建立连接;
向所述MCU发送初始化指令,以使所述MCU将数据帧的结构配置为所述自定义的帧结构;其中,在所述初始化指令的帧结构与所述MCU的数据帧的帧结构匹配。
根据本发明实施例的第七方面,提供一种MCU,所述MCU被配置为:
获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数;
将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置。
根据本发明实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现本发明实施例的第一方面中任一所述方法的步骤。
根据本发明实施例的第九方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现本发明实施例的第二方面中任一所述方法的步骤。
本发明的实施例提供的技术方案可以包括以下有益效果:
首先与通讯终端建立连接,当初始化时,根据自定义的帧结构对数据帧进行配置,所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段,最后基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限,本发明实现了基于自定义的帧结构对数据帧中的指定位置的字段进行配置,且根据自身所属产品的产品信息字段进行配置,使得不同产品设备之间即使都有同一种类的MCU芯片,也能够基于自身的产品信息字段实现指令上的隔离,使得具有相同MCU芯片的产品之间的指令命令不会相互影响,避免误执行现象的发生,保证MCU的正常运行与通讯,而且能够基于程序流程实现初始化配置的过程,无需另外准备一份固件程序生成升级文件,并烧录到MCU中,降低了MCU固件程序的维护成本,也无需增加MCU生产流程步骤,实现简洁快速的配置过程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
图1为本发明根据一示例性实施例示出的一种基于MCU通讯协议的通讯方法的流程图;
图2为本发明根据一示例性实施例示出的一种基于MCU通讯协议的通讯装置的实施例结构图;
图3为本发明根据一示例性实施例示出的一种MCU的硬件结构图;
图4为本发明根据一示例性实施例示出的一种通讯系统的硬件结构图;
图5为本发明根据一示例性实施例示出的一种基于MCU通讯协议的帧结构的构建方法的流程图;
图6为本发明根据一示例性实施例示出的一种基于MCU通讯协议的帧结构的构建装置的实施例结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为解决使用同一种MCU芯片的不同产品指令是相通的,从而造成的MCU误执行的问题,本发明第一实施例提供一种基于MCU通讯协议的通讯方法,图1是本发明根据一示例性实施例示出的一种基于MCU通讯协议的通讯方法的流程图,如图1所示,可以应用在MCU中,包括:
步骤101,与通讯终端建立连接。
步骤102,当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段。
步骤103,基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限。
在一实施例中,所述基于MCU通讯协议的通讯方法可集成于所述MCU中,由所述MCU来执行;需要说明的是,所述MCU通讯协议是指建立在数据链路层上的数据帧格式,通过数据链路层进行通讯有很多种方式,比如使用RS232接口、USB接口、红外接口、光纤接口、无线接口或者PIN接口进行通讯都是基于数据链路层进行通讯的过程;在数据链路层以数据帧的格式进行数据传送,一个完整的数据帧通常包括帧头、地址信息、数据段、校验码以及帧尾;所述帧头和帧尾用于数据帧完整性的判别,通常选择一定长度的固定字节组成,可以根据帧头以及帧尾提取完整的一帧数据;所述地址信息主要用于多机通讯中,通过地址信息的不同来识别不同的通讯终端,在一对多的通讯系统中,可以只包含目的地址信息,同时包含源地址和目的地址则适用于多对多的通讯系统,当然,在一对一的通讯系统中,可以没有地址信息这个参数,其中,所述通讯系统指由两个或两个以上的通讯终端、以及通讯协议组成的可通讯的系统;所述数据段是主要的数据部分,包括数据类型、数据长度和数据块,数据类型可以表示后面紧接的是命令还是数据,数据长度用于指示有效数据的个数;所述校验码用来检验数据的完整性和正确性,通常对数据段进行相关的运算得到,比如可以是对数据段做异或运算获得,也可以是对数据进行CRC运算获得,本发明对此不做任何限制,可依据实际情况进行具体设置,在一个例子中,一个数据帧的格式为:0xAA 0xBB 0x01 0x020x33 0x44 0x74 0xCC,其中,“0x”表示十六进制,“0xAA 0xBB”为数据帧的帧头,“0x01”为数据类型,“0x02”为数据长度,“0x33 0x44”为数据块,“0x74”为校验码,其通过数据段的异或运算获得的,“0xCC”为数据帧的帧头。
以下,以一对一的通讯系统为例对本发明的通讯方法进行说明:
在步骤101中,所述MCU通过数据链路层与通讯终端建立连接,在连接成功之后,作为例子,本发明可以利用通讯终端上的一个应用进程与MCU交互,这个应用进程可以是一个定制化的应用程序所触发的进程,当然,也并不排除对其他已有的应用进程的功能进行升级使其具有与本申请的MCU实现交互的能力;其中,所述应用进程的数据帧结构被预先设置为自定义的帧结构,所述自定义的帧结构在指定位置上的字段具有自定义的含义,需要说明的是,所述MCU可作为外设与所述通讯终端的所述应用进程建立连接,也可作为所述通讯终端的内部设备与所述应用程序建立连接,本发明对此不做任何限制。
在步骤102中,在所述MCU与所述通讯终端的应用进程建立连接之后,所述应用进程向所述MCU发送初始化查询指令,在一个例子中,所述查询初始化指令的数据帧格式可以为“0xFF 0xFF 0x03 0x01 0x21 0x23 0xFE”,其中,“0xFF0xFF”为数据帧的帧头,“0x03”为数据类型,“0x01”为数据长度,“0x21”为数据块,其表示查询是否已经初始化,“0x23”为校验码,异或运算“0x03xor 0x01xor 0x21=0x23”,“xor”为异或运算符,“0xFE”为数据帧的帧尾,对于数据类型字段,可以根据实际需要设置不同的数据类型,比如设置4个数据类型,用“0x01”表示初始化类型指令,“0x02”表示执行类型指令,0x03表示查询类型指令,0x04表示设置类型指令,所述MCU在接收到所述初始化查询指令之后,查询数据帧的指定位置上是否配置了用于描述所述MCU的产品信息的字段,如果没有,则对应地向所述通讯终端的所述应用进程发送包括有未初始化消息的响应,在所述应用进程接收到这个包括有未初始化消息的响应后,向所述MCU发送初始化指令,所述初始化指令用于将所述MCU将数据帧的结构配置为所述自定义的帧结构,当初始化时,所述MCU根据所述自定义的帧结构对数据帧进行配置,所述自定义的帧结构包括指定位置的字段,所述指定位置可以是数据帧的帧头、帧尾或者在数据段中的某一位置,例如在帧头后面的位置或者数据段的其他位置,所述指定位置的字段包括用于描述MCU的产品信息的字段,比如用字段“0x01”代表1号产品,字段“0x02”代表2号产品,字段“0xFF”代表所有的产品,从而实现使用同一MCU芯片的不同产品之间的隔离,避免误执行的发生,而且,需要说明的是,本发明基于软件程序流程实现初始化配置的过程,无需另外准备一份固件程序生成升级文件,烧录到MCU中,从而降低了MCU固件程序的维护成本,也无需增加MCU生产流程步骤,实现简洁快速的配置过程;其中,固件程序是指运行在MCU芯片的程序,MCU通讯实际上是运行在MCU芯片的固件程序与运行在通讯终端的程序进行通讯;升级文件是指固件程序编写完成后,打包成为一个用于给MCU芯片烧录的文件,可以通过烧录工具将该文件烧录到MCU芯片,从而实现给固件程序升级的功能。
在一实施例中,由于存在同一种MCU芯片接受不同的用户定制,用户之间仍然没办法隔离的情况,例如用户A和B都购买了有同一种MCU芯片的同一款产品,用户A提出需要通讯协议以便自行开发可以控制该产品的软件,但由于通讯协议相同,用户A开发的软件可以控制用户B所购买的同款产品,使得用户A开发的软件失去针对性和专属价值,因此,本发明在对MCU的数据帧进行配置时,不仅让所述指定位置的字段包括用于描述MCU的产品信息的字段,进一步,所述指定位置的字段还包括用于描述所述MCU的用户信息的字段,例如,用“0xAA”代表用户A,“0xBB”代表用户B,“0xFF”代表所有的用户,从而实现使用同一MCU的不同用户之间,指令可以相互隔离,则在所述指定位置上配置了用于描述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段的数据帧,基于产品信息字段以及用户信息字段的不同,使得自定义帧结构的数据帧可以有多种含义,例如字段“0xAA 0x01”表示用户A的1号产品,字段“0xAA 0x02”表示用户A的2号产品,字段“0xAA0xFF”表示用户A的所有产品,字段“0xBB 0x01”表示用户B的1号产品,字段“0xBB 0x02”表示用户B的2号产品,字段“0xBB 0xFF”表示用户B的所有产品,字段“0xFF 0xFF”表示任意用户的任意产品;则在本实施例中,所述通讯终端的应用程序向所述MCU发送初始化查询指令后,所述MCU需要查询数据帧的指定位置上是否配置了用于描述所述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段。
在一实施例中,为保证数据的安全性,对所述指定位置的字段进行加密,加密算法包括但不限于异或运算、DES算法、3DES算法、RC2算法、RC4算法或者IDEA算法等等,以异或运算为例,所述通讯终端以及所述MCU双方预先设置一个相同的异或参数,比如“0x80”,所述应用进程欲将所述MCU的数据帧的帧头配置为“0xAA 0xFF”,则所述通讯终端向所述MCU发送初始化指令,以对所述MCU的数据帧的帧头进行配置,所述初始化指令为“0xFF 0xFF0x01 0x02 0x2A 0x7F 0x56 0xFE”,其中,“0xFF 0xFF”为数据帧的帧头,“0x01”为数据类型,表示初始化类型指令,“0x02”为数据长度,“0x2A 0x7F”为数据块,“0x56”为校验码,“0xFE”为数据帧的帧尾,对于数据块“0x2A 0x7F”,其为所述通讯终端通过将“0xAA 0xFF”分别异或“0x80”得到的,从而使得待配置的帧头的字段不会直接暴露在指令中,从而保证了数据安全性,所述MCU在获取到数据块“0x2A 0x7F”之后,通过“0x2A 0x7F”分别异或“0x80”进行解密运算,0x2A xor 0x80=0xAA,0x7F xor 0x80=0xFF,从而得到即将配置的帧头“0xAA 0xFF”,所述MCU将所述帧头字段写入数据帧的帧头,以完成自定义帧结构的配置。
在一实施例中,当所述MCU接收到所述应用进程发送的初始化指令时,检测所述数据帧中的所述指定位置上是否已配置了用于描述所述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段,若已配置,则所述MCU不执行所述初始化的操作,从而保证初始化指令只有一次生效,后续再操作也不再生效,保证通讯的规范性,避免频繁的修改数据帧格式增加了不必要的工作量,以及造成了所述应用进程与所述MCU之间通讯协议的不统一。
在一实施例中,所述应用进程可以是第一应用进程,所述第一应用进程的数据帧结构被预先设置为自定义的帧结构,且所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段;由于在初始化之前,所述MCU的数据帧的指定位置上还未配置与所述第一应用进程的数据帧的指定位置上相同的字段,此时所述MCU只能识别在所述指定位置上包括有通用字段的数据帧,因此,所述第一应用进程被预先配置了初始化权限,所述初始化权限规定所述第一应用进程能够通过指定位置上包括通用字段的数据帧向所述MCU发送初始化查询指令以及初始化指令。
在一实施例中,所述应用进程可以是第二应用进程,所述第一应用进程的数据帧结构被预先设置为自定义的帧结构,且所述自定义的帧结构包括指定位置的字段,所述指定位置的字段为通用字段,在一个例子中,用“0xFF”表示任意产品,“0xFF”表示任意用户,当所述MCU需要在数据帧的指定位置上配置用于描述所述MCU的产品信息的字段时,其通用字段为“0xFF”,当所述MCU需要在数据帧的指定位置上配置用于描述所述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段时,则其通用字段为“0xFF 0xFF”,基于指定位置上包括有通用字段的数据帧能够与所有的MCU通讯,即是说,所述第二应用进程对所述MCU的访问权限高于所述第一应用进程对所述MCU的访问权限,所述第二应用进程的访问权限不仅包括通过指定位置上包括通用字段的数据帧向所述MCU发送初始化查询指令以及初始化指令,而且还包括更改配置后的数据帧的原有配置的权限,在一个例子中,所述第一应用进程执行初始化指令,想要将所述MCU的数据帧配置为帧头包括“0xAA 0xFF”字段的数据帧格式,但是将数据帧的帧头错配置为“0xAB 0xFF”,此时初始化指令不生效了,需要通过第二应用进程执行更改配置指令,其数据帧格式为“0xFF 0xFF0x04 0x02 0x2A 0x7F 0x530xFE”,其中,“0xFF 0xFF”为数据帧的帧头,其为通用字段;“0x04”为数据类型,表示设置类型指令;“0x02”为数据长度;“0x2A 0x7F”为数据块;“0x56”为校验码;“0xFE”为数据帧的帧尾。
需要说明的是,所述第一应用进程以及所述第二应用进程之间并没有关联性,其并不限于安装在同一通讯终端上,也可以分别安装在两台通讯终端上,本发明对此不做任何限制。
在步骤103中,在完成数据帧的配置之后,在所述配置后的数据帧的帧格式中,所述指定位置包括有用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段,即是说,所述MCU能够基于配置后的数据帧与所述第一应用进程通讯,在一个例子中,所述MCU的数据帧为被配置为帧头的字段是“0xAA 0x01”的数据帧,则数据帧的帧头位置预先被配置为“0xAA 0x01”的第一应用软件,能够基于帧头为“0xAA 0x01”的数据帧与所述MCU通讯,比如用户A向其装有MCU的1号产品发送执行指令,执行指令的数据帧格式为“0xAA 0x010x02 0x01 0x31 0x32 0xFE”,其中,“0xAA 0x01”为数据帧帧头,表示用户A的1号产品。
本发明实施例提供了一种基于MCU通讯协议的通讯方法,首先与通讯终端建立连接,当初始化时,根据自定义的帧结构对数据帧进行配置,所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段,最后基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限,本发明实现了基于自定义的帧结构对数据帧中的指定位置的字段进行配置,且根据自身所属产品的产品信息字段进行配置,使得不同产品之间即使都有同一种类的MCU芯片,也能够基于自身的产品信息字段实现指令上的隔离,使得具有相同MCU芯片的产品之间的指令命令不会相互影响,避免误执行现象的发生,保证MCU的正常运行与通讯,而且基于软件流程实现初始化配置的过程,无需另外准备一份固件程序生成升级文件,并烧录到MCU中,降低了MCU固件程序的维护成本,也无需增加MCU生产流程步骤,实现简洁快速的配置过程。
与本发明基于MCU通讯协议的通讯方法的实施例相对应,本发明还提供了基于MCU通讯协议的通讯装置、MCU、通讯系统以及计算机可读存储介质的实施例。
请参阅图2,为本发明基于MCU通讯协议的通讯装置的一个实施例框图,该装置包括:
连接模块11,用于与通讯终端建立连接。
初始配置模块12,用于当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段。
通讯模块13,用于基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限。
优选地,所述指定位置为数据帧的帧头、帧尾或者数据段。
优选地,所述指定位置的字段还包括用于描述所述MCU的用户信息的字段。
优选地,还包括:
检测模块,用于当检测到所述数据帧中的所述指定位置上已配置了用于描述所述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段时,不执行所述初始化的操作。
优选地,所述指定位置的字段为加密字段。
优选地,所述指定位置的字段通过异或运算进行加密。
优选地,所述初始化的过程基于所述通讯终端的第一应用进程或者第二应用进程发送的初始化指令所执行的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述初始化之后,指定位置的字段的值与配置后的数据帧的相应位置的值匹配;所述第二应用进程所发送的指令的数据帧结构中,指定位置的字段的值为通用字段。
优选地,所述第二应用进程对所述MCU的访问权限高于所述第一应用进程对所述MCU的访问权限。
优选地,所述第二应用进程的访问权限包括更改所述数据帧的配置的权限。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,如图3所示本发明还提供一种MCU30,包括有用于存储可执行指令的存储器32,所述存储器32包括计算机程序33;其中,所述MCU30被配置为:
与通讯终端建立连接;
当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段;
基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限。
所述存储器32存储所述基于MCU通讯协议的通讯方法的计算机程序,所述存储器32可以包括至少一种类型的存储介质,存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,MCU30可以与通过网络连接执行存储器的存储功能的网络存储装置协作。存储器32可以是MCU30的内部存储单元,例如MCU30的硬盘或内存。存储器32也可以是MCU30的外部存储设备,例如MCU30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器32还可以既包括MCU30的内部存储单元也包括外部存储设备。存储器32用于存储计算机程序33以及设备所需的其他程序和数据。存储器32还可以用于暂时地存储已经输出或者将要输出的数据。
这里描述的各种实施方式可以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器中并且由控制器执行。
MCU30可包括,但不仅限于,存储器32。本领域技术人员可以理解,图3仅仅是MCU30的示例,并不构成对MCU30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如设备还可以包括输入输出设备、网络接入设备、总线等。
上述设备中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
相应的,如图4所示,本发明还提供一种通讯系统20,包括如图3所示的MCU30,以及一通讯终端40;
所述通讯终端40包括一处理器41,以及用于存储处理器可执行指令的存储器42;
其中所述处理器41被配置为执行以下步骤:
与所述MCU建立连接;
向所述MCU发送初始化指令,以使所述MCU将数据帧的结构配置为所述自定义的帧结构;其中,在所述初始化指令的帧结构与所述MCU的数据帧的帧结构匹配。
需要说明的是,在配置完成之后,所述初始化指令的帧结构与所述MCU的数据帧的帧结构都为自定义的帧结构,但其指定位置上的字段的含义并不相同,所述初始化指令的数据帧结构中,指定位置上的字段为通用字段,所述MCU的数据帧结构中,指定位置上的字段包括用于描述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段。
所述处理器41执行所述存储器42中包括的计算机程序43,所述处理器41可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器42存储所述通讯终端执行的计算机程序,所述存储器42可以包括至少一种类型的存储介质,存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,通讯终端40可以与通过网络连接执行存储器的存储功能的网络存储装置协作。存储器42可以是通讯终端40的内部存储单元,例如通讯终端40的硬盘或内存。存储器42也可以是通讯终端40的外部存储设备,例如通讯终端40上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器42还可以既包括通讯终端40的内部存储单元也包括外部存储设备。存储器42用于存储计算机程序43以及设备所需的其他程序和数据。存储器42还可以用于暂时地存储已经输出或者将要输出的数据。
这里描述的各种实施方式可以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器中并且由控制器执行。
通讯终端40可包括,但不仅限于,处理器41,存储器42。本领域技术人员可以理解,图4仅仅是通讯终端40的示例,并不构成对通讯终端40的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如设备还可以包括输入输出设备、网络接入设备、总线等。
上述系统中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行上述基于MCU通讯协议的通讯方法。
本发明第二实施例提供一种基于MCU通讯协议的帧结构的构建方法,图5是本发明根据一示例性实施例示出的基于MCU通讯协议的帧结构的构建方法的流程图,如图5所示,可以应用在MCU中,包括:
步骤301,获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数。
步骤302,将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置。
在步骤301中,所述设备通过数据链路层与通讯终端建立连接,在连接成功之后,本发明可以利用通讯终端上的一个应用进程与MCU交互,这个应用进程可以是一个定制化的应用程序所触发的进程,当然,也并不排除对其他已有的应用进程的功能进行升级使其具有与本申请的MCU实现交互的能力;其中,所述应用进程的数据帧结构被预先设置为自定义的帧结构,所述自定义的帧结构在指定位置上的字段具有自定义的含义,需要说明的是,所述MCU可作为外设与所述通讯终端的所述应用进程建立连接,也可作为所述通讯终端的内部设备与所述应用程序建立连接,本发明对此不做任何限制。
在所述应用进程与所述MCU建立连接之后,所述应用进程向所述MCU发送初始化查询指令,在一个例子中,所述查询初始化指令的数据帧格式可以为“0xFF 0xFF 0x03 0x010x21 0x23 0xFE”,其中,“0xFF 0xFF”为数据帧的帧头,“0x03”为数据类型,“0x01”为数据长度,“0x21”为数据块,其表示查询是否已经初始化,“0x23”为校验码,异或运算“0x03xor0x01xor 0x21=0x23”,“xor”为异或运算符,“0xFE”为数据帧的帧尾,所述MCU在接收到所述初始化查询指令之后,查询数据帧的指定位置上是否已写入了所述MCU的产品信息的字段,如果没有,则对应地向所述应用进程发送包括有未初始化消息的响应,在所述通讯终端的第一应用进程接收到这个包括有未初始化消息的响应后,向所述MCU发送初始化指令,所述初始化指令的数据帧的数据段中包括有待配置参数,所述待配置参数包括描述MCU的产品信息的参数,例如“0x01”代表1号产品,“0x02”代表2号产品,“0xFF”代表所有的产品。
在步骤302中,所述MCU将待配置参数写入数据帧中的指定位置,以构建自定义帧结构的数据帧,所述指定位置为数据帧的自定义帧结构的指定位置,所述指定位置可以是数据帧的帧头、帧尾或者在数据段中的某一位置,例如在帧头后面的位置或者数据段的其他位置。
在一实施例中,所述待配置参数还包括描述所述MCU的用户信息的参数,例如,用“0xAA”代表用户A,“0xBB”代表用户B,“0xFF”代表所有的用户,从而实现使用同一MCU的不同用户之间,指令可以相互隔离。
在一实施例中,所述待配置参数为加密字段,加密算法包括但不限于异或运算、DES算法、3DES算法、RC2算法、RC4算法或者IDEA算法等等,以异或运算为例,所述通讯终端以及所述MCU双方预先设置一个相同的异或参数,比如“0x80”,所述应用进程欲将所述MCU的数据帧的帧头配置为“0xAA 0xFF”,所述通讯终端向所述MCU发送初始化指令,所述初始化指令为“0xFF 0xFF 0x01 0x02 0x2A 0x7F 0x56 0xFE”,其中,“0xFF 0xFF”为数据帧的帧头,其为通用字段,“0x01”为数据类型,表示初始化类型指令,“0x02”为数据长度,“0x2A0x7F”为数据块,“0x56”为校验码,“0xFE”为数据帧的帧尾,其中数据块“0x2A 0x7F”即为将要使用的待配置参数,其为所述通讯终端通过将“0xAA 0xFF”分别异或“0x80”得到的,从而使得用户的专属帧头的值不会直接暴露在指令中,从而保证了数据安全性,所述MCU在获取到加密的待配置参数“0x2A 0x7F”之后,通过“0x2A0x7F”分别异或“0x80”进行解密运算,0x2A xor 0x80=0xAA,0x7F xor 0x80=0xFF,从而得到用户的帧头“0xAA 0xFF”,所述MCU将所述帧头字段写入数据帧的帧头,以实现针对于该用户的自定义的数据帧格式的配置。
在一实施例中,当所述MCU接收到所述应用进程发送的初始化指令时,检测所述数据帧中的所述指定位置上是否已写入了描述所述MCU的产品信息的字段以及描述所述MCU的用户信息的字段,若已写入,则所述MCU丢弃从初始化指令中获取的所述待配置参数,从而保证初始化指令只有一次生效,后续再操作也不再生效,保证通讯的规范性,避免频繁的修改数据帧格式增加了不必要的工作量,以及造成了所述应用进程与所述MCU之间通讯协议的不统一。
在一实施例中,所述应用进程可以是第一应用进程,所述第一应用进程的数据帧结构被预先设置为自定义的帧结构,且所述自定义的帧结构的指定位置上包括描述MCU的产品信息的参数以及描述MCU的用户信息的参数;由于在初始化之前,所述MCU的数据帧的指定位置上还未写入与所述第一应用进程的数据帧的指定位置上相同的待配置参数,此时所述MCU只能识别在所述指定位置上包括有通用字段的数据帧,因此,所述第一应用进程被预先配置了初始化权限,所述初始化权限规定所述第一应用进程能够通过指定位置上包括通用字段的数据帧向所述MCU发送初始化查询指令以及初始化指令,以使所述MCU进行自定义帧结构的数据帧的构建,在所述MCU将所述待配置参数写入数据帧之后,所述第一应用进程就能够基于指定位置包括描述MCU的产品信息的参数以及描述MCU的用户信息的参数的数据帧与所述MCU通讯。
在一实施例中,所述应用进程可以是第二应用进程,所述第一应用进程的数据帧结构被预先设置为自定义的帧结构,且所述自定义的帧结构包括指定位置的字段,所述指定位置的字段为通用字段,在一个例子中,用“0xFF”表示任意产品,“0xFF”表示任意用户,当所述MCU需要在数据帧的指定位置上配置用于描述所述MCU的产品信息的字段时,其通用字段为“0xFF”,当所述MCU需要在数据帧的指定位置上配置用于描述所述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段时,则其通用字段为“0xFF 0xFF”,基于指定位置上包括有通用字段的数据帧能够与所有的MCU通讯,即是说,所述第二应用进程对所述MCU的访问权限高于所述第一应用进程对所述MCU的访问权限,所述第二应用进程的访问权限不仅包括通过指定位置上包括通用字段的数据帧向所述MCU发送初始化查询指令以及初始化指令,而且还包括更改所述数据帧的指定位置上所述待配置参数的权限,在一个例子中,所述第一应用进程执行初始化指令,想要将所述MCU的数据帧配置为帧头包括“0xAA0xFF”字段的数据帧格式,但是将数据帧的帧头错配置为“0xAB 0xFF”,此时初始化指令不生效了,需要通过第二应用进程执行更改配置指令,其数据帧格式为“0xFF 0xFF 0x040x02 0x2A 0x7F 0x53 0xFE”,其中,“0xFF 0xFF”为数据帧的帧头,其为通用字段;“0x04”为数据类型,表示设置类型指令;“0x02”为数据长度;“0x2A 0x7F”为数据块,即为待配置的更改配置参数;“0x56”为校验码;“0xFE”为数据帧的帧尾。
本发明实施例提供了一种基于MCU通讯协议的帧结构的构建方法,首先获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数,然后将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置,实现自定义帧结构的构建,使得不同产品之间即使都有同一种类的MCU芯片,也能够基于自身的产品信息字段实现指令上的隔离,使得具有相同MCU芯片的产品之间的指令命令不会相互影响,避免误执行现象的发生,保证MCU的正常运行与通讯,而且基于程序流程实现初始化配置的过程,无需另外准备一份固件程序生成升级文件,并烧录到MCU中,降低了MCU固件程序的维护成本,也无需增加MCU生产流程步骤,实现简洁快速的配置过程。
与本发明基于MCU通讯协议的帧结构的构建方法的实施例相对应,本发明还提供了基于MCU通讯协议的帧结构的构建装置、MCU以及计算机可读存储介质的实施例。
请参阅图6,为本发明基于MCU通讯协议的帧结构的构建装置的一个实施例框图,该装置包括:
配置参数获取模块21,用于获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数。
数据帧构建模块22,用于将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置。
优选地,所述指定位置为数据帧的帧头、帧尾或者数据段。
优选地,所述待配置参数还包括描述所述MCU的用户信息的参数。
优选地,还包括:
检测模块,用于当检测到所述数据帧中的所述指定位置上已写入了描述所述MCU的产品信息的字段以及描述所述MCU的用户信息的字段时,丢弃所述待配置参数。
优选地,所述待配置参数为加密字段。
优选地,所述待配置参数通过异或运算进行加密。
优选地,所述待配置参数为与自身建立连接的通讯终端的第一应用进程或者第二应用进程发送的其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述待配置参数写入数据帧之后,指定位置的字段的值为所述待配置参数;所述第二应用进程所发送的指令的数据帧结构中,指定位置的字段的值为通用字段。
优选地,所述第二应用进程对所述MCU的访问权限高于所述第一应用进程对所述MCU的访问权限。
优选地,所述第二应用进程的访问权限包括更改所述数据帧的指定位置上所述待配置参数的权限。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本发明还提供一种MCU,包括有用于存储可执行指令的存储器,所述存储器包括计算机程序;其中,处理器被配置为:
获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数;
将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置。
所述存储器存储所述基于MCU通讯协议的帧结构的构建方法的计算机程序,所述存储器可以包括至少一种类型的存储介质,存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,设备可以与通过网络连接执行存储器的存储功能的网络存储装置协作。存储器可以是MCU的内部存储单元,例如MCU的硬盘或内存。存储器也可以是MCU的外部存储设备,例如MCU上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括MCU的内部存储单元也包括外部存储设备。存储器用于存储计算机程序以及设备所需的其他程序和数据。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
这里描述的各种实施方式可以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器中并且由控制器执行。
MCU可包括,但不仅限于,存储器。本领域技术人员可以理解,可以包括比上述部件更多或更少的部件,或者组合某些部件,或者不同的部件,例如设备还可以包括输入输出设备、网络接入设备、总线等。
上述设备中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行上述基于MCU通讯协议的帧结构的构建方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (23)
1.一种基于MCU通讯协议的通讯方法,其特征在于,包括以下步骤:
与通讯终端建立连接;
当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段和用于描述所述MCU的用户信息的字段;
基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限;所述初始化的过程基于所述通讯终端的第一应用进程发送的初始化指令所执行的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述初始化之后,指定位置的字段包括用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段。
2.根据权利要求1所述的基于MCU通讯协议的通讯方法,其特征在于,所述指定位置为数据帧的帧头、帧尾或者数据段。
3.根据权利要求1所述的基于MCU通讯协议的通讯方法,其特征在于,还包括:
当检测到所述数据帧中的所述指定位置上已配置了用于描述所述MCU的产品信息的字段以及用于描述所述MCU的用户信息的字段时,不执行所述初始化的操作。
4.根据权利要求1所述的基于MCU通讯协议的通讯方法,其特征在于,所述指定位置的字段为加密字段。
5.根据权利要求4所述的基于MCU通讯协议的通讯方法,其特征在于,所述指定位置的字段通过异或运算进行加密。
6.根据权利要求1所述的基于MCU通讯协议的通讯方法,其特征在于,所述初始化的过程还基于所述通讯终端的第二应用进程发送的初始化指令所执行的;其中,所述第二应用进程所发送的指令的数据帧结构中,指定位置的字段的值为通用字段。
7.根据权利要求6所述的基于MCU通讯协议的通讯方法,其特征在于,所述第二应用进程对所述MCU的访问权限高于所述第一应用进程对所述MCU的访问权限。
8.根据权利要求7所述的基于MCU通讯协议的通讯方法,其特征在于,所述第二应用进程的访问权限包括更改所述数据帧的配置的权限。
9.一种基于MCU通讯协议的帧结构的构建方法,其特征在于,包括以下步骤:
获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数和描述所述MCU的用户信息的参数;
将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置;所述待配置参数为与自身建立连接的通讯终端的第一应用进发送的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述初始化之后,指定位置的字段包括用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段。
10.根据权利要求9所述的帧结构的构建方法,其特征在于,所述指定位置为数据帧的帧头、帧尾或者数据段。
11.根据权利要求9所述的帧结构的构建方法,其特征在于,还包括:
当检测到所述数据帧中的所述指定位置上已写入了描述所述MCU的产品信息的字段以及描述所述MCU的用户信息的字段时,丢弃所述待配置参数。
12.根据权利要求9所述的帧结构的构建方法,其特征在于,所述待配置参数为加密字段。
13.根据权利要求12所述的帧结构的构建方法,其特征在于,所述待配置参数通过异或运算进行加密。
14.根据权利要求9所述的帧结构的构建方法,其特征在于,所述待配置参数还由与自身建立连接的通讯终端的第二应用进程发送的;其中,所述第二应用进程所发送的指令的数据帧结构中,指定位置的字段的值为通用字段。
15.根据权利要求14所述的帧结构的构建方法,其特征在于,所述第二应用进程对所述MCU的访问权限高于所述第一应用进程对所述MCU的访问权限。
16.根据权利要求15所述的帧结构的构建方法,其特征在于,所述第二应用进程的访问权限包括更改所述数据帧的指定位置上所述待配置参数的权限。
17.一种基于MCU通讯协议的通讯装置,其特征在于,包括:
连接模块,用于与通讯终端建立连接;
初始配置模块,用于当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段和用于描述所述MCU的用户信息的字段;
通讯模块,用于基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限;所述初始化的过程基于所述通讯终端的第一应用进程发送的初始化指令所执行的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述初始化之后,指定位置的字段包括用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段。
18.一种基于MCU通讯协议的帧结构的构建装置,其特征在于,包括:
配置参数获取模块,用于获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数和描述所述MCU的用户信息的参数;
数据帧构建模块,用于将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置;所述待配置参数为与自身建立连接的通讯终端的第一应用进发送的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述初始化之后,指定位置的字段包括用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段。
19.一种MCU,其特征在于,所述MCU被配置为:
与通讯终端建立连接;
当初始化时,根据自定义的帧结构对数据帧进行配置;所述自定义的帧结构包括指定位置的字段,所述指定位置的字段包括用于描述MCU的产品信息的字段和用于描述所述MCU的用户信息的字段;
基于配置后的数据帧与所述通讯终端通讯,以使所述通讯终端基于所述指定位置的字段确定对所述MCU的访问权限;所述初始化的过程基于所述通讯终端的第一应用进程发送的初始化指令所执行的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述初始化之后,指定位置的字段包括用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段。
20.一种通讯系统,其特征在于,包括如权利要求19所述的MCU,以及一通讯终端;
所述通讯终端包括一处理器,以及用于存储处理器可执行指令的存储器;
其中所述处理器被配置为执行以下步骤:
与所述MCU建立连接;
向所述MCU发送初始化指令,以使所述MCU将数据帧的结构配置为自定义的帧结构;其中,在所述初始化指令的帧结构与所述MCU的数据帧的帧结构匹配;其中,所述初始化指令的数据帧结构中,指定位置的字段为通用字段,且在所述初始化之后,处理器所发送的指令的数据帧结构中指定位置的字段包括用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段。
21.一种MCU,其特征在于,所述MCU被配置为:
获取待配置参数,所述待配置参数包括描述MCU的产品信息的参数和描述所述MCU的用户信息的参数;
将待配置参数写入数据帧中的指定位置,所述指定位置为数据帧的自定义帧结构的指定位置;所述待配置参数为与自身建立连接的通讯终端的第一应用进发送的;其中,所述第一应用进程所发送的指令的数据帧结构中,指定位置的字段的初始值为通用字段,且在所述初始化之后,指定位置的字段包括用于描述MCU的产品信息的字段以及用于描述MCU的用户信息的字段。
22.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至8任一所述方法的步骤。
23.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求9至16任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267479.8A CN110071914B (zh) | 2019-04-03 | 2019-04-03 | 通讯方法、帧结构的构建方法、装置、mcu、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267479.8A CN110071914B (zh) | 2019-04-03 | 2019-04-03 | 通讯方法、帧结构的构建方法、装置、mcu、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110071914A CN110071914A (zh) | 2019-07-30 |
CN110071914B true CN110071914B (zh) | 2022-07-01 |
Family
ID=67367099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910267479.8A Active CN110071914B (zh) | 2019-04-03 | 2019-04-03 | 通讯方法、帧结构的构建方法、装置、mcu、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110071914B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111654470B (zh) * | 2020-05-13 | 2021-08-24 | 北京理工大学 | 一种机器人系统状态监测方法、设备及存储介质 |
CN111740949B (zh) * | 2020-05-13 | 2021-08-24 | 北京理工大学 | 一种机器人系统加密控制方法、设备及存储介质 |
CN112800033B (zh) * | 2021-03-18 | 2021-06-25 | 太平金融科技服务(上海)有限公司 | 数据操作请求处理方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456241A (zh) * | 2010-10-21 | 2012-05-16 | 西安龙飞软件有限公司 | 一种基于无线射频技术的手机门禁系统实现方法 |
CN107305730A (zh) * | 2016-04-18 | 2017-10-31 | 湖南双佳水务集团有限公司 | 无线远程抄表系统电源管理方法 |
CN109522256A (zh) * | 2018-12-21 | 2019-03-26 | 联想(北京)有限公司 | 一种串口通信方法、网络设备、控制设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9871669B2 (en) * | 2013-12-19 | 2018-01-16 | Stmicroelectronics, Inc. | Powerline communications automotive network |
CN103716329A (zh) * | 2014-01-06 | 2014-04-09 | 深圳市兴源智能仪表科技有限公司 | 一种主从多通讯协议实现方法 |
US20170083468A1 (en) * | 2015-09-21 | 2017-03-23 | Qualcomm Incorporated | Identifying multiple identical devices on a shared bus |
CN105260337B (zh) * | 2015-11-02 | 2018-03-02 | 深圳市共济科技股份有限公司 | 一种单片机的自动编址方法及系统 |
CN106200454B (zh) * | 2016-06-21 | 2019-03-29 | 沈阳东软医疗系统有限公司 | 一种多mcu的通信系统及方法 |
CN107612941B (zh) * | 2017-10-31 | 2021-01-29 | 广东小天才科技有限公司 | 一种权限管理的方法、装置、设备及存储介质 |
CN207529368U (zh) * | 2017-12-04 | 2018-06-22 | 山东高云半导体科技有限公司 | 一种基于fpga芯片的i3c总线测试验证平台 |
-
2019
- 2019-04-03 CN CN201910267479.8A patent/CN110071914B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456241A (zh) * | 2010-10-21 | 2012-05-16 | 西安龙飞软件有限公司 | 一种基于无线射频技术的手机门禁系统实现方法 |
CN107305730A (zh) * | 2016-04-18 | 2017-10-31 | 湖南双佳水务集团有限公司 | 无线远程抄表系统电源管理方法 |
CN109522256A (zh) * | 2018-12-21 | 2019-03-26 | 联想(北京)有限公司 | 一种串口通信方法、网络设备、控制设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110071914A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110071914B (zh) | 通讯方法、帧结构的构建方法、装置、mcu、系统及介质 | |
US9032107B2 (en) | USB key and a method for communication between the USB key and a terminal | |
CN110061896B (zh) | 一种modbus-rtu总线地址冲突检测方法 | |
US10884729B2 (en) | Method and system for updating or upgrading firmware of a RFID reader | |
CN109995805B (zh) | 一种智能机器人的管理方法、终端设备及介质 | |
CN110083628B (zh) | 一种车辆电子控制单元ecu的寻址方法及装置 | |
CN110891005A (zh) | Iot设备的控制方法、云服务器及iot设备控制系统 | |
EP3972202A1 (en) | Smart home system control method and apparatus, electronic device and storage medium | |
JP7122969B2 (ja) | マイクロコントローラのデータ転送をプログラミングするシステムおよび方法 | |
CN103957198A (zh) | 一种传感数据接收转换方法及系统 | |
CN110413487A (zh) | 一种服务器的指示灯管理方法、系统及基板管理控制器 | |
CN103838591A (zh) | 一种基于串行总线的多单片机升级方法及装置 | |
CN111159659A (zh) | 一种多系统软件注册方法及终端设备 | |
CN107885674B (zh) | 蓝牙设备模拟器及其工作方法、蓝牙设备作业系统 | |
CN111351669B (zh) | 故障诊断方法和装置、存储介质和车辆 | |
CN107528898B (zh) | 一种实现物联网模块的方法及装置 | |
US9798649B1 (en) | Debugging code controlling resource-constrained intelligent devices contemporaneously with executing object code | |
CN114442590A (zh) | 车辆诊断方法、设备、诊断通信装置、服务器及存储介质 | |
CN114326673A (zh) | 车辆远程诊断方法、装置、连接器及存储介质 | |
KR101470168B1 (ko) | 제어기 내 cpu의 리프로그래밍 방법 | |
CN109976778B (zh) | 车辆电子产品的软件更新方法与系统、上位机及存储介质 | |
CN113037880A (zh) | 网关ip地址的配置方法、装置、网关及可读存储介质 | |
CN107086899B (zh) | 串口智能测试装置及测试方法 | |
CN113282532A (zh) | 一种通信装置、通信装置的通信方法和电子设备 | |
US20210334120A1 (en) | Computer Back Control System and Method |
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 |