伺服系统、数据传输系统及其数据传输的方法

文档序号:156554 发布日期:2021-10-26 浏览:39次 >En<

阅读说明:本技术 伺服系统、数据传输系统及其数据传输的方法 (Servo system, data transmission system and data transmission method thereof ) 是由 陈玮玲 林柏翰 陈瑞和 于 2021-02-03 设计创作,主要内容包括:本发明为一种伺服系统、数据传输系统及其数据传输的方法。数据传输的方法包括以下步骤:使伺服系统将一数据分割为复数的封包;使伺服系统传输第n封包至设备端,其中n大于或等于1;使伺服系统于第n封包传输完后继续传输第n+1封包;以及使伺服系统接收来自设备端根据第n封包产生的第n回应信号;其中第n+1封包开始传输的时间早于接收第n回应信号的时间。(The invention relates to a servo system, a data transmission system and a data transmission method thereof. The data transmission method comprises the following steps: enabling the servo system to divide a data into a plurality of packets; enabling the servo system to transmit an nth packet to the equipment end, wherein n is greater than or equal to 1; after the nth packet is transmitted, the servo system continues to transmit the (n &#43; 1) th packet; and enabling the servo system to receive an nth response signal generated by the equipment end according to the nth packet; wherein the time of starting transmission of the (n &#43; 1) th packet is earlier than the time of receiving the nth response signal.)

伺服系统、数据传输系统及其数据传输的方法

技术领域

本发明涉及一种伺服系统、数据传输系统及其数据传输的方法,特别是一种能够有效缩短数据传输的时间的伺服系统、数据传输系统及其数据传输的方法。

背景技术

目前市面上连网装置受限于其规格,可能仅能单工执行空中下载技术(Over-the-Air Technology,OTA)时。所以于现有技术中是使用一问一答的方式传送更新封包与回应信号,一边传输一边更新至结束。

在此请参考图1是现有技术的数据传输程序的示意图。

在更新开始时,伺服系统91传送更新要求R给设备端92,待设备端92回复回应信号(Ack)A之后开始分批传送封包。伺服系统91传送封包P1后,设备端92会开始对封包P1做检查以及写入存储器里做更新,封包P1确认无误且写入成功后会回送对应的回应信号A1,以上完成第一个封包P1的传输。上述流程会直到最后的封包Pn传送且接收最后的回应信号An才能将全部文件传送完毕。最后伺服系统91发送结束更新程序的结束请求End,待设备端92回复回应信号A,结束此次的更新。所以每一笔封包所耗时皆须等待封包传送时间(Packagesending time)、封包存储处理时间(Processing time)、传送回应信号时间(Ack sendingtime)以及伺服系统91在准备处理下一笔封包的一些零碎时间。依实际测量结果,若文件大小为100k bytes,封包大小为128bytes,封包数量总计800个。在传送大小为128bytes的封包,鲍(Baud)率115200的情况下,略需耗时约0.0133秒。且根据实际测量结果,伺服系统91继续下一封包的准备时间略为0.004秒,设备端92存储处理封包时间为0.015秒,传送回应信号时间约为0.0003秒。所以理论上从要求更新开始至更新结束,约需耗时(0.0133+0.015+0.0003+0.004)*800=26.08秒。上述的算式为理想状态下的估算结果,在实际操作时不同封包的处理时间可能不同,所以有可能产生误差。故经实际测量后,在文件大小为100k的情况下,实作成果更新时间约26.3秒,在文件大小400k的情况下,实作成果更新时间约78.3秒,在文件大小900k的情况下,实作成果更新时间约165.5秒。一问一答的方式若封包过大,会面临更新时间过长。如果在无特别显示的设备端92上更新时间过长,容易被使用者误为死机。

因此,有必要发明一种新的伺服系统、数据传输系统及其数据传输的方法,以解决现有技术的缺失。

发明内容

本发明的主要目的是在提供一种数据传输系统,其具有有效缩短数据传输的时间的效果。

本发明的另一主要目的是在提供一种用于上述数据传输系统的数据传输的方法。

本发明的又一主要目的是在提供一种伺服系统。

为实现上述的目的,本发明的数据传输系统包括伺服系统及设备端。伺服系统包括封包产生模块及第一传输模块。封包产生模块用以将数据分割为复数的封包。第一传输模块电性连接封包产生模块,用以传输复数的封包。设备端包括第二传输模块及封包处理模块。第二传输模块用以接收该复数的封包。封包处理模块电性连接第二传输模块,用以存储复数的封包,并根据复数的封包产生复数的回应信号,以经由第二传输模块回传至伺服系统的第一传输模块;其中于伺服系统的第一传输模块传输第n封包到设备端后,设备端的封包处理模块根据第n封包以产生第n回应信号,其中n大于或等于1但小于m,其中m为复数的封包的总数量;伺服系统的封包产生模块于第n封包传输完后继续利用第一传输模块传输第n+1封包,且自设备端接收第n回应信号;其中第一传输模块开始传输第n+1封包的时间早于接收第n回应信号的时间。

本发明的数据传输的方法包括以下步骤:使伺服系统将一数据分割为复数的封包;使伺服系统传输第n封包至该设备端,其中n大于或等于1但小于m,其中m为复数的封包的总数量;使伺服系统于第n封包传输完后开始传输第n+1封包;以及使伺服系统接收来自设备端根据第n封包产生的第n回应信号;其中第n+1封包开始传输的时间早于接收第n回应信号的时间。

本发明的伺服系统连线至设备端。伺服系统包括封包产生模块及第一传输模块。封包产生模块用以将数据分割为复数的封包。第一传输模块电性连接该封包产生模块,用以传输该复数的封包至设备端;其中于第一传输模块传输第n封包到设备端后,继续传输第n+1封包到设备端,且自设备端接收第n回应信号,其中n大于或等于1但小于m,其中m为复数的封包的总数量;其中第一传输模块开始传输第n+1封包的时间早于接收第n回应信号的时间。

附图说明

图1是现有技术的数据传输程序的示意图。

图2是本发明的数据传输系统的架构示意图。

图3是本发明的数据传输的方法的步骤流程图。

图4是本发明的数据传输程序的示意图。

附图标记说明:

现有技术

伺服系统91

设备端92

更新请求R

封包P1、Pn

回应信号A、A1、An

结束请求End

本发明

数据传输系统1

伺服系统10

封包产生模块11

第一传输模块12

设备端20

第二传输模块21

封包处理模块22

更新请求R

封包P1、P2、P3、Pm

回应信号A、A1、A2、Am-1、Am

结束请求End

具体实施方式

为能更了解本发明的技术内容,特举优选具体实施例说明如下。

以下请先参考图2是本发明的数据传输系统的架构示意图。

本发明的数据传输系统1包括伺服系统10及设备端20。伺服系统10可将数据传输到设备端20,例如将传输要更新或控制设备端20的数据,但本发明并不限于此。设备端20为一使用单核心处理器的物联网(IOT)设备,也可以为电脑系统或是一般的家电设备,本发明并不限制设备端20的种类。伺服系统10包括封包产生模块11及第一传输模块12。封包产生模块11用以将要传输的数据分割为复数的封包。第一传输模块12电性连接该封包产生模块11,并具有有线或无线传输功能,用以传输封包产生模块11所切割的该复数的封包到设备端20。设备端20包括第二传输模块21及封包处理模块22。第二传输模块21可为与第一传输模块12具有相同数据传输功能的模块,用以接收自第一传输模块12传输得来的该复数的封包。于本发明的一实施例中,第一传输模块12及第二传输模块21之间是利用有线的UART(Universal Asynchronous Receiver/Transmitter)接口互相连接,但本发明并不限于此连接方式。封包处理模块22电性连接该第二传输模块21,用以根据该复数的封包产生复数的回应信号,并经由该第二传输模块21回传至该伺服系统10的该第一传输模块12。最终封包处理模块22将复数的封包还原成更新数据。由于上述将数据分隔成复数的封包及还原的技术并非本发明的重点所在,故在此不再赘述。

而于该伺服系统10的该第一传输模块12传输封包后,会经过封包传送时间(Package sending time)、封包存储处理时间(Processing time)、传送回应信号时间(Acksending time),以接收回应信号后才算是一个封包传输的完整流程。于本发明的一实施方式中的过程中,第一传输模块12继续传输封包,不会等到接收回应信号后才传输下一个封包,借此节省传输的时间。也就是当第一传输模块12传输第n封包到设备端20后,设备端20的封包处理模块22根据该第n封包以产生第n回应信号,其中该n大于或等于1但小于该复数的封包的总数量。且伺服系统10的封包产生模块11于第n封包传输完后就利用该第一传输模块12继续传输第n+1封包,因为传输时间的关系,第n+1封包开始传输的时间会早于接收该第n回应信号的时间,也就是封包产生模块11会于开始传输该第n+1封包后才自该第一传输模块12接收该第n回应信号。

接着于该设备端20的该封包处理模块22处理完毕该第n封包及该伺服系统10的该第一传输模块12接收到该第n回应后,该伺服系统10的该封包产生模块11才利用该第一传输模块12传送下一个第n+2封包。最后当该伺服系统10的第一传输模块12连续接收一第m-1回应信号及一第m回应信号后但没有传输新的封包后,该封包产生模块11才结束数据传输流程,其中m大于1且为该复数的封包的总数量。

需注意的是,数据传输系统1具有的各模块可以为硬件装置、软件程序结合硬件装置、固件结合硬件装置等方式架构而成,但本发明并不以上述的方式为限。此外,本实施方式仅例示本发明的优选实施例,为避免赘述,并未详加记载所有可能的变化组合。然而,本领域的通常知识者应可理解,上述各模块或元件未必皆为必要。且为实施本发明,亦可能包含其他较细节的现有模块或元件。各模块或元件皆可能视需求加以省略或修改,且任两模块间未必不存在其他模块或元件。

接着请参考图3是本发明的数据传输的方法的步骤流程图及图4是本发明的数据传输程序的示意图。此处需注意的是,以下虽以上述数据传输系统1为例说明本发明的数据传输的方法,但本发明的数据传输的方法并不以使用在上述相同结构的数据传输系统1为限。

首先于伺服系统10进行步骤300:将一数据分割为复数的封包。

首先封包产生模块11用以将要传输的数据分割为复数的封包,才能进行后续的传输流程。且需注意的是,在数据传输开始时,伺服系统10都需传送更新要求R给设备端20,待设备端20回复回应信号A之后才开始分批传送封包。最后伺服系统10发送结束更新程序的结束请求End,待设备端20回复回应信号A,即结束此次的数据传输。由于上述的过程非本发明的重点所在,故在此不再赘述。

其次进行步骤301:传输一第n封包至该设备端。

其次第一传输模块12会传输第n封包,也就是开始将第一封包P1传输到设备端20的第二传输模块21。此时封包处理模块22就存储第一封包P1,并根据第一封包P1产生第一回应信号A1,以回传到伺服系统10。在同时伺服系统10会继续进行步骤302:于该第n封包传输完后继续传输一第n+1封包。

伺服系统10会在第n封包传输完后继续传输一第n+1封包,使得第一传输模块12传输完毕第一封包P1后,封包产生模块11就让第一传输模块12再继续传输第二封包P2。如此一来,该封包产生模块11利用该第一传输模块12传输该第n封包及该第n+1封包之间的时间间隔略大于伺服系统10传输单一封包至设备端20的时间,也就是第一传输模块12传输某两个连续的封包之间的时间间隔要大于伺服系统10传输单一封包至设备端20的时间。在传送大小为128bytes的封包,鲍(Baud)率115200的情况下,伺服系统10传输单一封包至设备端20的时间略需耗时约0.0133秒。而传输完毕第一封包P1到封包产生模块11让第一传输模块12再传输第二封包P2之间,可等待一缓冲时间0.001秒后再传送,以避免重叠造成时序混乱。故在第一封包P1开始传送0.0133+0.001秒后,就会接着传送第二封包P2。

之后伺服系统10才会进行步骤303:接收来自该设备端根据该第n封包产生的一第n回应信号。

在第一传输模块12传输第二封包P2之后,才会收到第二传输模块21所传来的第一回应信号A。因此该封包产生模块11利用该第一传输模块12传输该第一封包P1及该第二封包P2之间的时间间隔小于伺服系统10接收第一回应信号A的时间,也就是小于伺服系统10传输单一封包至设备端20的时间、封包处理模块22存储处理封包时间及传送回应信号时间的总和,使得伺服系统10在接收第n回应之前就会发出第n+1封包。于本实施例中封包处理模块22存储处理封包时间为0.015秒,传送回应信号时间为0.0003秒,所以第一封包P1与第二封包P2之间的时间间隔小于0.0153秒,但大于0.0133秒。

此时第二传输模块21会同步接收第二封包P2,让封包处理模块22根据该第二封包以产生一第二回应信号,借此存储第二封包P2后,产生第二回应信号A2,再传回伺服系统10。

接着伺服系统10进行步骤304:传送一第n+2封包。

接着伺服系统10再传送第n+2封包,即封包产生模块11再利用第一传输模块12传输第三封包P3到设备端20。封包产生模块11利用第一传输模块12传输该第一封包P1及该第三封包P3之间的时间间隔要大于伺服系统10传输单一封包至设备端20的时间、封包处理模块22存储处理封包时间及传送回应信号时间的总和,也就是伺服系统10在接收第n回应之后才会发出第n+2封包,避免传送时间太密集而造成通道的堵塞。于本实施例中封包处理模块22存储处理封包时间为0.015秒,传送回应信号时间为0.0003秒,所以第一封包P1与第三封包P3之间的时间间隔会大于0.0153秒。并且第一封包P1及第二封包P2之间的时间间隔会小于伺服系统10传输单一封包至设备端20的时间、封包处理模块22存储处理封包的时间及传送回应信号的时间的总和。

以理论值来说,第一封包P1、第二封包P2及第三封包P3的传送时间要考量伺服系统10传输单一封包至设备端20的时间,剩余封包因处理时间与传送回应信号会重叠,所以传送时间估计可以降低。故第一传输模块12传输该第一封包P1及该第二封包P2之间的时间间隔小于伺服系统10传输单一封包至设备端20的时间、封包处理模块22存储处理封包时间及传送回应信号时间的总和。且第一传输模块12传输该第一封包P1及该第三封包P3之间的时间间隔要大于伺服系统10传输单一封包至设备端20的时间、封包处理模块22存储处理封包时间及传送回应信号时间的总和。而之后第一传输模块12接着传输第n封包及第n+1封包之间的时间间隔只要小于封包处理模块22存储处理封包时间及传送回应信号时间的总和,第一传输模块12传输第n封包及第n+2封包之间的时间间隔只要大于封包处理模块22存储处理封包时间及传送回应信号时间的总和,其中该n大于或等于2,但小于m。

借此,第一传输模块12传输某两个连续的封包(即第n封包及第n+1封包)之间的时间间隔可以缩短来增加速度,且第一传输模块12再传输第三个的封包的时间(即第n封包及第n+2封包之间的时间间隔)不会太密集而造成通道的堵塞。由于上述相关的封包大小、传输速度及处理速度等皆为已知的数值,故封包产生模块11可以利用上述数值来设定该第n封包及该第n+1封包之间的时间间隔以及该第n封包及该第n+2封包之间的时间间隔。

经由上述的连续步骤后,设备端20会传输第m-1回应信号Am-1,伺服系统10最后会进行步骤305:于连续接收一第m-1回应信号及一第m回应信号后,结束数据传输流程。其中m大于1且为该复数的封包的总数量。

此时第二传输模块21将第m-1回应信号Am-1回传到伺服系统10,第一传输模块12将第m封包Pm传输到设备端20。再让设备端20接收第m封包以产生一第m回应信号Am,借此将第m回应信号Am回传到伺服系统10。所以伺服系统10会继续接收第m-1回应信号Am-1及接收第m回应信号Am之后,封包产生模块11才结束数据传输流程。

此处需注意的是,本发明的数据传输的方法并不以上述的步骤次序为限,只要能实现本发明的目的,上述的步骤次序亦可加以改变。

如此一来,以理论值来说,第一封包P1到第二封包P2的传送时间间隔0.0133+0.001秒,剩余封包因处理时间与传送回应信号会重叠,所以将传送时间估计降低为0.009秒。而伺服系统10继续下一封包的准备时间略为0.004秒,设备端20存储处理封包时间为0.015秒,传送回应信号时间约为0.0003秒。因此第二封包P2之后每笔封包时间约为0.009+0.015+0.0003+0.004秒。如此一来,若封包数量总计800个时,从第一封包P1到最后的封包时间估算为约需耗时0.0133+0.001+(0.009+0.015+0.0003+0.004)*799=22.626秒。

须注意的是,上述的算式为理想状态下的估算结果,在实际操作时不同封包的处理时间可能不同,有可能产生误差。所以经实际测量后,在文件大小为100k的情况下,本发明的实作成果更新时间约23.7秒,较现有技术减少2.6秒,减少约9.8%的时间。本发明在文件大小400k的情况下,实作成果更新时间约68.6秒,较现有技术减少9.7秒,减少约12.3%的时间。在文件大小900k的情况下,本发明的实作成果更新时间约140.9秒,较现有技术减少24.6秒,减少约14.8%的时间。故本发明的数据传输系统1可以有效缩短数据传输的时间,且在文件越大的情况下能达到较佳的优化效果。

需注意的是,上述实施方式仅例示本发明的优选实施例,为避免赘述,并未详加记载所有可能的变化组合。然而,本领域的通常知识者应可理解,上述各模块或元件未必皆为必要。且为实施本发明,亦可能包含其他较细节的现有模块或元件。各模块或元件皆可能视需求加以省略或修改,且任两模块间未必不存在其他模块或元件。只要不脱离本发明基本架构者,皆应为本专利所主张的权利要求,而应以专利申请范围为准。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种移动边缘计算成本效益优化方法、系统及应用

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!