一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于嵌入式设备的虚拟端口数据传输方法及其系统与流程

2022-02-22 05:29:23 来源:中国专利 TAG:


1.本发明涉及嵌入式设备领域,尤其涉及一种基于嵌入式设备的虚拟端口数据传输方法及其系统。


背景技术:

2.现有技术中,嵌入式设备在与计算机进行通信的时候通常使用的是usb传输,根据usb协议,嵌入式设备可以虚拟成cdc模式与计算机进行类似串口方式的主从通信。此时,计算机可以发送任意数据给嵌入式设备,嵌入式设备也可以发送任意数据给计算机,如果有连续性的大数据包需要进行传输,传输速率会由于嵌入式设备虚拟成cdc模式的原因而变慢,无法满足大数据包传输的需求。
3.因此,如何使嵌入式设备与计算机不仅能进行小数据量的主从通信,还可以实现将嵌入式设备中的大数据包传输到计算机是亟需解决的问题。


技术实现要素:

4.本发明提供一种基于嵌入式设备的虚拟端口数据传输方法及其系统,可以实现计算机快速读取嵌入式设备中数据量大的数据包的效果。
5.第一方面,本发明实施例提供一种基于嵌入式设备的虚拟端口数据传输方法,该基于嵌入式设备的虚拟端口数据传输方法包括:
6.当计算机需要读取嵌入式设备中存储的数据包时,计算机扫描数据包来判断数据包的数据量是否超过预设值,当所述数据包的数据量不超过预设值时,嵌入式设备与计算机通信采用默认的虚拟格式即cdc模式;
7.当数据包的数据量超过预设值时,计算机向嵌入式设备发送数据指令;
8.嵌入式设备根据获取到的数据指令将虚拟格式从cdc模式转换为u盘模式;
9.计算机从嵌入式设备中读取数据包。
10.第二方面,本发明实施例提供一种基于嵌入式设备的虚拟端口数据传输系统,包括计算机和嵌入式设备,该基于嵌入式设备的虚拟端口数据传输系统用于执行如前所述的基于嵌入式设备的虚拟端口数据传输方法。
11.上述基于嵌入式设备的虚拟端口数据传输方法及系统,当计算机需要读取嵌入式设备中存储的数据包时,计算机扫描数据包来判断数据包的数据量是否超过预设值,若数据包的数据量不超过预设值,嵌入式设备与计算机通信采取默认的虚拟格式即cdc模式,当数据包的数据量超过预设值时,计算机向嵌入式设备发送数据指令,嵌入式设备接收到该指令,并成功解析之后,将usb虚拟成u盘模式,此模式下,计算机可以通过u盘的方式读取嵌入式设备的数据量较大的数据包。即,嵌入式设备上电初始化时将usb虚拟成cdc模式,以实现与计算机进行小数据量的主从通信,当需要进行大数据包传输的时候,根据计算机的指令切换到u盘模式,从而既可以实现嵌入式设备与计算机的小数据量的主从通信,又可以实现嵌入式设备中的数据量大的数据包的读取。
附图说明
12.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
13.图1为本发明第一实施例提供的基于嵌入式设备的虚拟端口数据传输方法的流程图。
14.图2为本发明第二实施例提供的基于嵌入式设备的虚拟端口数据传输方法的流程图。
15.图3为本发明第三实施例提供的基于嵌入式设备的虚拟端口数据传输方法的流程图。
16.图4为本发明第一实施例提供的基于嵌入式设备的虚拟端口数据传输方法的子流程图。
17.图5为本发明第一实施例提供的嵌入式设备示意图。
18.图6为本发明第一实施例提供的基于嵌入式设备的虚拟端口数据传输系统示意图。
19.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
20.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
23.请结合参看图5,其为本发明第一实施例提供的嵌入式设备示意图。本发明可应用于各类配置有usb接口的嵌入式设备,在本实施例中,嵌入式设备900为便携式设备,可以是电子表状便携式设备、贴片状便携式设备或者其他的便携式设备,如睡眠筛查设备等,图5
仅做示例不做限定。
24.请结合参看图1,其为本发明第一实施例提供的基于嵌入式设备的虚拟端口数据传输方法的流程图。其中,本发明实施例提供的基于嵌入式设备的虚拟端口数据传输方法具体包括下面步骤。
25.步骤s101,当计算机需要读取嵌入式设备中存储的数据包时,计算机扫描数据包来判断数据包的数据量是否超过预设值。举例来说,用户可能利用嵌入式设备如睡眠筛查设备进行了一整晚的睡眠监测得到用户的睡眠情况数据包。用户需要将睡眠筛查设备中存储的数据包导入计算机进行分析,将计算机和睡眠筛查设备通过usb线进行连接。
26.嵌入式设备与计算机通信时,默认的虚拟格式为cdc模式,当数据包的数据量不超过预设值时,嵌入式设备与计算机采取默认的cdc模式进行通信。嵌入式设备开机时将嵌入式设备的虚拟格式初始化为cdc模式,之后计算机可以通过端口号识别到嵌入式设备的usb端口。计算机和嵌入式设备以cdc模式进行数据量小的数据交互。当计算机有文件读取需求时,扫描嵌入式设备中的数据包来判断数据包的数据量是否超过预设值,如1m。在本实施例中,1m仅做示例不做限定,具体的用于判定数据包大小的预设值根据实际情况设定。
27.在另一些可行的实施例中,在没有开发计算机端软件的情况下,可以使用串口工具进行计算机和嵌入式设备之间的数据通信。
28.步骤s102,当数据包的数据量超过预设值时,计算机向嵌入式设备发送数据指令。其中,数据指令用于指示嵌入式设备切换数据传输模式。数据指令包括起始符号、命令、长度、保留字段、校验和以及数据,其中数据为自然数。校验和中的长度定义为长度数值,而非长度转换为字节流参与累加。当计算机需要读取嵌入式设备中大数据包的时候,发送相应数据指令给嵌入式设备。
29.嵌入式设备例如,睡眠筛查设备在监测用户睡眠情况时,每小时产生的数据量为8m。用户进行了8小时的睡眠,利用睡眠筛查设备一晚上收集的数据包为64m。当计算机扫描到该数据包时,计算机向睡眠筛查设备发送数据指令。
30.步骤s103,嵌入式设备根据获取到的数据指令将虚拟格式从cdc模式转换为u盘模式。嵌入式设备将收到的数据指令进行解析,得到切换指令,并生成记录标志位写入嵌入式设备的flash(断电不丢失)中,然后重启嵌入式设备。在重启嵌入式设备的时候,会读取到flash中记录的标志位,进而将虚拟格式变成u盘模式。具体请参照步骤s1031-步骤s1034。
31.步骤s104,计算机从嵌入式设备中读取数据包。计算机通过usb口检测到有u盘接入,因此计算机可以随意读取u盘中的大数据包。例如,计算机直接读取嵌入式设备中64m的数据包。当数据包读取结束时,清除flash中的标志位,这样设备重启后又恢复默认的cdc模式。
32.上述实施例中,当计算机需要读取嵌入式设备中存储的数据包时,计算机扫描数据包来判断数据包的数据量是否超过预设值,若数据包的数据量不超过预设值,嵌入式设备与计算机通信采取默认的虚拟格式即cdc模式,当数据包的数据量超过预设值时,计算机向嵌入式设备发送数据指令,嵌入式设备接收到该指令,并成功解析之后,将usb虚拟成u盘模式,此模式下,计算机可以通过u盘的方式读取嵌入式设备的数据包。即,嵌入式设备上电初始化的时候将usb虚拟成cdc模式,以实现与计算机之间小数据量的主从通信,当需要进行大数据包传输的时候,根据计算机的指令切换到u盘模式,从而既可以实现嵌入式设备与
计算机的小数据量的主从通信,又可以实现将嵌入式设备中的数据量大的数据包的读取。
33.请结合参看图2,其为本发明第二实施例提供的基于嵌入式设备的虚拟端口数据传输方法的流程图。其中,第二实施例提供的基于嵌入式设备的虚拟端口数据传输方法与第一实施例提供的基于嵌入式设备的虚拟端口数据传输方法的差异在于在嵌入式设备根据获取到的数据指令将虚拟格式从cdc模式转换为u盘模式之前,第二实施例提供的基于嵌入式设备的虚拟端口数据传输方法还包括下面步骤。
34.步骤s201,嵌入式设备根据数据包计算出第一校验值。第一校验值是根据数据包的大小,数据包的采集时间,用户姓名等参数进行计算的。这里列举的各项参数仅做示例不做限定。
35.步骤s202,嵌入式设备将第一校验值发送至计算机。
36.请结合参看图3,其为本发明第三实施例提供的基于嵌入式设备的虚拟端口数据传输方法的流程图。其中,第三实施例提供的基于嵌入式设备的虚拟端口数据传输方法与第二实施例提供的基于嵌入式设备的虚拟端口数据传输方法的差异在于在计算机从嵌入式设备中读取数据包之后,第三实施例提供的基于嵌入式设备的虚拟端口数据传输方法还包括下面步骤。
37.步骤s301,计算机根据数据包计算出第二校验值。第二校验值是根据数据包的大小,数据包的获取时间,用户姓名等参数进行计算的。这里列举的各项参数仅做示例不做限定。
38.步骤s302,计算机比较第一校验值和第二校验值是否一致。
39.步骤s303,当第一校验值和第二校验值不一致时,计算机重新从嵌入式设备中读取数据包。
40.上述实施例中,计算机对读取的数据包进行检验,保证了数据包的准确性,以睡眠筛查设备为例,可避免因读取数据错误而导致的睡眠分析失败或者睡眠分析不准确等情况的出现。
41.请结合参看图4,其为本发明第一实施例提供的步骤s103的子步骤流程图。步骤s103,嵌入式设备根据获取到的数据指令将虚拟格式从cdc模式转换为u盘模式,具体包括下面步骤。
42.步骤s1031,嵌入式设备根据数据指令解析出切换指令。数据解析的过程中,如果出现错误包时,每次只丢掉一个字节,再重头开始进行解析。
43.步骤s1032,嵌入式设备根据切换指令生成记录标志位。
44.步骤s1033,嵌入式设备将记录标志位写入flash。
45.步骤s1034,重启嵌入式设备,并根据flash中的记录标志位,将嵌入式设备的虚拟格式设置为u盘模式。
46.在本案中一些可行的实施例中,嵌入式设备在u盘模式下的数据传输完成后,清除flash中的记录标志位。进一步地,当嵌入式设备再次上电时,嵌入式设备重新恢复为cdc模式。
47.上述实施例,可以在保证计算机与嵌入式设备进行自由通讯交换数据的前提下,完成计算机与嵌入式设备之间大数据包的传输功能,提高传输速率,简化操作。
48.本案还提供了一种基于嵌入式设备的虚拟端口数据传输系统1000,该基于嵌入式
设备的虚拟端口数据传输系统1000包括计算机100和嵌入式设备900。该基于嵌入式设备的虚拟端口数据传输系统1000用于执行基于嵌入式设备的虚拟端口数据传输方法。请结合参看图6,其为本发明第一实施例提供的基于嵌入式设备的虚拟端口数据传输系统1000示意图。
49.在本案中一些可行的实施例中,嵌入式设备获取到计算机发送的数据指令。当计算机需要读取嵌入式设备中存储的数据包时,计算机扫描数据包来判断数据包的数据量是否超过预设值,当数据包的数据量超过预设值时,计算机向嵌入式设备发送数据指令,数据指令用于指示嵌入式设备切换数据传输模式。数据指令包括起始符号、命令、长度、保留字段、校验和以及数据,其中数据为自然数。校验和中的长度定义为长度数值,而非长度转换为字节流参与累加。
50.当计算机需要读取嵌入式设备中大数据包的时候,发送相应数据指令给嵌入式设备,嵌入式设备从默认的cdc模式小数据量的主从通信模式切换到u盘模式。计算机和嵌入式设备通过usb线进行连接。
51.具体地,以睡眠筛查设备为例,用户进行了一整晚的睡眠监测得到用户的睡眠情况数据包。用户需要将睡眠筛查设备中存储的数据包导入计算机进行分析,将计算机和睡眠筛查设备通过usb线进行连接。将睡眠筛查设备的虚拟格式初始化为cdc模式,之后计算机可以通过端口号识别到睡眠筛查设备的usb端口。计算机和睡眠筛查设备进行数据量小的数据交互。计算机扫描睡眠筛查设备中的数据包来判断数据包的数据量是否超过预设值如1m。在本实施例中,1m仅做示例不做限定,具体的用于判定数据包大小的预设值根据实际情况设定。
52.在另一些可行的实施例中,在没有开发计算机端软件的情况下,可以使用串口工具进行计算机和嵌入式设备之间的数据通信。
53.例如,睡眠筛查设备在监测用户睡眠情况时,每小时产生的数据量为8m。用户进行了8小时的睡眠,利用睡眠筛查设备一晚上收集的数据包为64m。当计算机扫描到该数据包时,睡眠筛查设备收到计算机发送的数据指令。
54.嵌入式设备根据获取到的数据指令将虚拟格式从cdc模式转换为u盘模式。其中,嵌入式设备将收到的数据指令进行解析,得到切换指令,并生成记录标志位写入嵌入式设备的flash中(断电不丢失),然后重启嵌入式设备。在重启嵌入式设备的时候,会读取到flash中记录的标志位,进而将虚拟格式变成u盘模式。
55.嵌入式设备供计算机读取数据包。具体地,嵌入式设备通过usb口以u盘的虚拟接口形式接入计算机,因此计算机可以随意读取u盘中的大数据包。例如,计算机直接读取中64m的数据包。
56.上述基于嵌入式设备的虚拟端口数据传输系统中,嵌入式设备上电初始化的时候将usb虚拟成cdc模式,以实现与计算机之间小数据量的主从通信,当需要进行大数据包传输的时候,计算机发送相应指令,嵌入式设备接收到该指令,并成功解析之后,将usb切换成u盘模式,此模式下,计算机可以通过u盘的方式读取嵌入式设备的数据包,从而既可以实现嵌入式设备与计算机进行小数据量的主从通信,又可以实现嵌入式设备中的数据量大的数据包的读取。当数据包读取结束时,清除flash中的标志位,这样设备重启后又恢复默认的cdc模式。
57.进一步地,嵌入式设备根据数据包计算出第一校验值。第一校验值是根据数据包的大小,数据包的采集时间,用户姓名等参数进行计算的。这里列举的各项参数仅做示例不做限定。嵌入式设备将第一校验值发送至计算机。
58.可选的,嵌入式设备判断是否获取到计算机发送的结束指令,若是,则结束数据包读取,清除flash中的标志位,这样设备重启后又恢复默认的cdc模式。
59.当嵌入式设备未获取到计算机发送的结束指令时,嵌入式设备保持u盘模式供计算机进行读取。
60.上述实施例中,计算机对读取的数据包进行检验,保证了数据包的准确性,以睡眠筛查设备为例,可避免因读取数据错误而导致的睡眠分析失败或者睡眠分析不准确等情况的出现。
61.嵌入式设备根据获取到的数据指令将虚拟格式从cdc模式转换为u盘模式,具体包括下面步骤。嵌入式设备根据数据指令解析出切换指令。嵌入式设备根据切换指令生成记录标志位。嵌入式设备将记录标志位写入flash。重启嵌入式设备,并根据flash中的记录标志位,将虚拟格式设置为u盘模式。
62.上述实施例中,可以在保证计算机与嵌入式设备进行自由通讯交换数据的前提下,完成计算机与嵌入式设备之间大数据包的传输功能,提高传输速率,简化操作。
63.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
64.以上所列举的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献