数据传输方法、装置、电子设备及存储介质与流程

文档序号:18702682发布日期:2019-09-17 23:09阅读:191来源:国知局
数据传输方法、装置、电子设备及存储介质与流程

本申请涉及缝制技术领域,特别是涉及智能缝制设备中的数据传输方法、装置、电子设备及存储介质。



背景技术:

现代缝制设备,例如刺绣机等,由缝制设备的控制系统发送控制指令控制机械部件运动,实现自动化乃至智能化生产。在现代缝制设备中,can总线的应用非常广泛。can(controllerareanetwork)是控制器局域网络的简称,由以研发和生产汽车电子产品著称的德国bosch公司开发,并最终成为国际标准(iso11898),是国际上应用最普遍的现场总线之一。

can总线具有很多优点,但其缺陷也比较突出。can协议的数据帧(dataframe)中可使用的数据部分最大仅8个字节,在很多场合8个字节的数据量是远远不足的。例如,现代刺绣机的控制系统分设上位机和下位机的形式比较普遍,即一套完整的刺绣机控制系统包括至少一台上位机和至少一台下位机,上位机和下位机在结构上相互独立,通过线缆等方式连接。上位机和下位机的主要区别在于上位机具有人机交互装置,例如触摸显示屏等,人机交互装置可以向刺绣机的使用者显示刺绣机的运行信息,接收刺绣机的使用者发出的操作命令;下位机不具备人机交互装置,主要作用是根据上位机接收的操作命令向刺绣机发出控制指令,采集刺绣机的运行信息传输给上位机。上位机和下位机之间的数据传输,直接使用can总线,数据量无法满足要求。目前利用双口ram实现上位机和下位机的通讯,可以保证数据量,但缺点是成本较高,上位机和下位机的空间距离受到限制,不能相距太远。

本申请提供一种全新的数据传输方法,通过can总线传输数据,但数据量不受can协议的数据帧的限制,数据传输过程能够充分发挥can总线实时、可靠、长距离(可以达到40米甚至更远)、低成本等优势。当然,本申请技术方案也适用于其他总线。



技术实现要素:

本申请提供一种数据传输方法、装置、电子设备及存储介质,生成数据包,以数据包标识来标记数据包,数据包可以通过先拆分为数据段再合并的方式进行传输,使用通信协议时不再受其数据帧的限制。

第一方面,本申请提供一种数据传输方法,包括:

生成数据包,所述数据包顺序包括数据头、主数据和数据尾,所述数据头以数据包标识起始,所述数据尾以相同的所述数据包标识结束;

根据通信协议将数据包拆分为数据段,或者,将数据段合并为数据包。

进一步的,所述通信协议为can协议。

进一步的,所述数据包标识为无语义字符串。

进一步的,所述数据头或者数据尾还包括主数据标识信息。

更进一步的,所述主数据标识信息包括主数据长度、发送设备标识、接收设备标识以及主数据校验码。

第二方面,本申请提供一种数据传输装置,包括:数据包处理装置以及数据段处理装置;所述数据包处理装置用于生成数据包,所述数据包顺序包括数据头、主数据和数据尾,所述数据头以数据包标识起始,所述数据尾以相同的所述数据包标识结束;所述数据段处理装置根据通信协议将数据包拆分为数据段,或者,将数据段合并为数据包。

第三方面,本申请提供一种电子设备,包括处理器和存储器;所述存储器用于存储计算机指令;所述处理器用于执行所述存储器中存储的计算机指令,以使得所述电子设备执行上述第一方面任一项所述的数据传输方法。

第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被执行时实现如上述第一方面任一项所述的数据传输方法。

本申请提供的数据传输方法、装置、电子设备及存储介质,生成数据包,以数据包标识来标记数据包,再根据通信协议将数据包拆分为数据段或者将数据段合并为数据包。这样,无论通信协议规定的数据帧的数据量是多少,数据包都可以通过先拆分为数据段再合并的方式进行传输,使用通信协议时不再受其数据帧的限制。

附图说明

为了更清楚的说明本申请或现有技术中的技术方案,对描述本申请或现有技术所需使用的附图进行简单介绍。对于本领域技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例一中数据传输方法的流程图。

图2为本申请实施例一中示例性的数据包的数据格式的示意图。

图3本申请实施例二中数据传输装置的架构示意图。

图4本申请实施例三中电子设备的硬件结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整的描述。显然,所描述的实施例是本申请的一部分而非全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都应当属于本申请在授权后保护的范围。

本申请的权利要求书、说明书及说明书附图中的术语“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不应当理解为描述特定的顺序或先后次序,上述“第一”、“第二”、“第三”等在不影响语义准确性情况下可以互换。此外,术语“包括”、“包含”、“具有”以及类似的任何变形,其语义为非排他,例如,包含一系列步骤或单元的过程、方法、系统、产品或设备,其语义不局限于已清楚列出的那些步骤或单元,还可以包含没有被清楚列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请技术方案适用于现代缝制设备,例如刺绣机等。缝制设备的控制系统具有数据处理功能,数据传输和通讯很多情况下依靠总线(bus)以及基于总线的通信协议。不同控制系统或者控制系统的不同部件之间通过总线连接,可以视为一个非常简单的局域网路。利用osi(opensysteminterconnection)模型中的概念进行描述,上述局域网络只包括osi模型中的物理层、数据链路层和应用层。物理层、数据链路层由总线及基于总线的通信协议确定,can总线等总线的应用领域非常广泛,并不只针对特定的控制系统。应用层通常由缝制设备的控制系统的研发人员进行设计开发。

实施例一:

图1为本申请实施例一数据传输方法的流程图,数据传输方法包括了如下步骤。

s101、生成数据包,数据包顺序包括数据头、主数据和数据尾,数据头以数据包标识起始,数据尾以相同的数据包标识结束。

不同的缝制设备控制系统或者同一缝制设备控制系统的不同部件之间通过总线连接进行通信时,将需要发送数据的控制系统或部件称为发送设备,对应的将需要接收数据的控制系统或部件称为接收设备。发送设备和接收设备是针对某一次具体的数据传输过程而言的,而非针对整个通信过程定义,存在某个控制系统或部件在发送设备和接收设备的角色间交替甚至同时作为发送设备和接收设备等情况。

某一次具体的数据传输过程,发送设备将一批数据发送给接收设备,将该批数据称为主数据。基于主数据生成数据包,数据包顺序包括数据头、主数据和数据尾,顺序指数据包中的数据必须按照数据头、主数据、数据尾的次序排列,不得随意调换次序。数据包中的主数据是接收设备真正需要的数据,数据头和数据尾是为了保证数据包的正确传输而添加的辅助数据,辅助数据本身并不是接收设备需要的。

数据包标识起到识别数据包的作用,在数据包的起始处和结束处设置相同的数据包标识,能够准确的将数据包抓取出来。数据包顺序包括数据头、主数据和数据尾时,数据头以数据包标识起始,数据尾以相同的数据包标识结束,可以保证数据包的起始处和结束处为相同的数据包标识。

数据包标识应当便于识别,通常采用无语义的字符串。字符串包括一个或多个字符,无语义指字符串在基于总线的通信协议和/或开发缝制设备控制系统中软件使用的程序语言中无语义,这样字符串容易被识别,不会和数据包中其他有语义的部分混淆。可以将由使用频率极低的字符(很多此类字符无法由标准键盘直接输入,需要利用专用的软件输入法)组成的字符串作为数据包标识。

除了数据包标识,数据头或者数据尾中还可以包括主数据标识信息。主数据标识信息一般设置在数据头中,对主数据起到标识、校验等作用。常见的主数据标识信息包括主数据长度、发送设备标识、接收设备标识、主数据校验码等。主数据长度记录数据包中主数据的长度(数据大小)。主数据校验码能够校验主数据在传输过程中是否存在错误。发送设备标识、接收设备标识记录发送设备和接收设备的信息。设备标识常采用设备id号,发送设备标识为发送设备的id号,接收设备标识为接收设备的id号,这样可以校验发送设备和接收设备是否正确。

一个示例性的数据包的数据格式如图2所示。图2中的数据包,数据头包括了数据包标识以及主数据长度、发送设备id、接收设备id、主数据校验码4项主数据标识信息,数据尾包括了数据包标识。对数据包格式进行设计时,除了数据头以数据包标识起始、数据尾以相同的数据包标识结束这一硬性规则必须遵守外,主数据标识信息设置在数据头还是数据尾、主数据标识信息中具体包含哪些信息以及这些信息的顺序等可以根据主数据的情况灵活设计。数据包格式确认后,主数据标识信息所包含的信息及这些信息的位置不能再随意变动,通常会对主数据标识信息中包含的每一项信息设置固定的数据长度,识别出数据包标识后,直接根据数据长度读取主数据标识信息中包含的信息,不再为主数据标识信息本身设置标识。

s102、根据通信协议将数据包拆分为数据段,或者,将数据段合并为数据包。

本申请技术方案可以视为在数据链路层和应用层之间设置传输层,传输层有相应的缓冲区进行数据处理。

发送设备向接收设备发送数据时,发送设备的应用层将需要发送的数据下发到发送设备的传输层,传输层按照步骤s101的描述生成数据包,随后传输层根据基于总线的通信协议将数据包拆分为数据段,数据段的长度不超过通信协议支持的数据帧中可供使用的数据部分的最大长度。常见的拆分方法是从数据包的起始位置开始按照数据帧中可供使用的数据部分的最大长度顺序拆分直到数据包的结束位置,接近数据包的结束位置时剩余数据的长度可能小于数据部分的最大长度,此时所有的剩余数据作为一个数据段。例如,对于can协议,数据帧中可供使用的数据部分的最大长度8个字节,如果数据包的长度1300个字节,则拆分为个数据段([x]表示不超过x的最大整数),其中前162个数据段长8个字节,最后一个数据段长4个字节。

发送设备的传输层将数据段顺序发送到数据链路层,数据链路层基于数据段形成数据帧,向接收设备顺序发送数据帧。

对应的,接收设备的传输层从数据链路层顺序获取数据段,所有数据段先存储在缓冲区中。接收设备的传输层遍历数据段,根据数据包标识来判断哪些数据段属于同一个数据包,将属于同一个数据包的数据段合并,还原数据包。经校验无误的数据包,传输层去除数据头和数据尾,将主数据上传接收设备的应用层。如果出现异常情况,例如所有数据段中无数据包标识或者只有一个数据包标识、主数据标识信息中的主数据长度与数据包中的实际主数据长度不一致、利用主数据标识信息中的主数据校验码进行校验发现主数据存在错误等,接收设备的传输层可以按照预设的规则处理,例如向发送设备的传输层发送报文要求重传等。

本申请提供的数据传输方法,可以实现不同的缝制设备控制系统或者同一缝制设备控制系统的不同部件之间的通信全部通过总线进行,不受限于基于总线的通信协议中数据帧的可用数据量。can总线具有实时、可靠、长距离、低成本等很多优势,通信全部通过can总线进行在保证缝制设备控制系统性能的前提下能够有效降低缝制设备控制系统的成本,增加缝制设备控制系统的使用灵活性。

实施例二:

图3为本申请实施例二数据传输装置的架构示意图。数据传输装置30,包括数据包处理装置31和数据段处理装置32。数据包处理装置31用于生成数据包,数据包顺序包括数据头、主数据和数据尾,数据头以数据包标识起始,数据尾以相同的数据包标识结束。数据段处理装置32用于根据通信协议将数据包拆分为数据段,或者,将数据段合并为数据包。

本实施例中所述装置的具体实现方式可参见实施例一所述内容,其实现原理和技术效果类似,本实施例此处不再赘述。

本实施例中所述的装置,应理解为主要通过计算机程序等方式实现的功能模块构架。本实施例所述装置的划分与实施例一所述的方法步骤对应,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个装置可以结合或集成为另一个装置,或者一些装置可以忽略或不执行。

作为本实施例中所述的装置承载实体的物理单元的实施方式具有多样性,可以所有的装置分布于一个物理单元,也可以一个或数个装置分布于不同的物理单元上。承载装置的物理单元可以通过线缆、无线网络等方式电连接,不一定有直接的物理接触或机械连接关系。

实施例三:

图4为本申请实施例三电子设备的硬件结构示意图。如图4所示,该电子设备40包括:至少一个处理器41和存储器42。可选的,该电子设备40还包括总线43,处理器41和存储器42通过总线43连接。本实施例中所述总线43和实施例一中所述的总线不是同一对象,根据上下文能够判断总线的具体涵义。

在电子设备的运行过程中,存储器42存储有计算机指令,至少一个处理器41执行所述存储器42存储的计算机指令,以使得电子设备40执行如实施例一所述的数据传输方法。

电子设备40的具体执行过程可参见实施例一,其实现原理和技术效果类似,本实施例此处不再赘述。

本实施例中,应理解,处理器可以是中央处理单元(英文:centralprocessingunit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:applicationspecificintegratedcircuit,简称:asic)等。通用处理器可以是微处理器或者其他常规的处理器。执行存储器52存储的计算机指令,可以直接由硬件处理器执行完成,或者由处理器中的硬件及软件模块组合执行完成。

存储器可能包括高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器。

总线可以是工业标准体系结构(industrystandardarchitecture,isa)总线、外部设备互连(peripheralcomponent,pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅为一根总线或一种类型的总线。

实施例四:

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时,实现如实施例一所述的数据传输方法。

上述计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘或光盘等。可读存储介质可以是通用或专用的计算机或类似电子设备能够存取的任何可用介质。

计算机可读存储介质可以耦合至处理器,从而使处理器能够从上述介质中读取信息,且可以向上述介质写入信息。当然,上述介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(applicationspecificintegratedcircuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于电子设备中。

本申请技术方案如果以软件的形式实现并作为产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括计算机程序或者若干指令。该计算机软件产品使得计算机设备(可以是个人计算机、服务器、网络设备或者类似的电子设备)执行本申请实施例一所述方法的全部或部分步骤。前述的存储介质可以是u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以理解,实现实施例一所述的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行实施例一所述的全部或部分的步骤。前述的存储介质包括rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是,本申请各实施例仅用以说明本申请的技术方案,而非对其进行限制。尽管各实施例已对本申请进行了详细的说明,本领域技术人员应当理解,其依然可以对本申请各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1