串行通信中的帧接收监视方法与流程

文档序号:11589605阅读:455来源:国知局
串行通信中的帧接收监视方法与流程

本公开的实施例涉及一种串行通信中的帧接收的监视方法。



背景技术:

在串行通信中,传输终端将一个帧划分成多个子帧以将其以一定的时间间隔发送到可编程逻辑控制器(plc)。这时,传输终端通过缓冲器向plc发送子帧,并且子帧的数目根据缓冲器的尺寸而不同。

例如,如果组成一个帧的子帧的数目是三(3)个且缓冲器的尺寸是三(3),则传输终端可通过缓冲器同时地向plc发送三个子帧。在上述情况下,传输终端可按缓冲器的尺寸通过缓冲器每次向plc发送多个(即三个)子帧,并且因此其传输速率很高。然而,此类缓冲器所装配的uart控制器不利地是昂贵的。

针对另一示例,如果组成一个帧的子帧的数目是三(3)个且缓冲器的尺寸是一(1),则传输终端可通过缓冲器向plc发送第一子帧。在完成第一子帧的传输之后,其可通过缓冲器向plc发送第二子帧。然后,在完成第二子帧的传输之后,其可通过缓冲器向plc发送第三子帧。在上述情况下,传输终端可通过缓冲器各个地向plc发送多个(即三个)子帧,并且因此其传输速率很低。然而,此类缓冲器所装配的uart控制器有利地是价格低廉的。

尽管如此,在上述示例中,存在以下问题,即在其中第一子帧和第二子帧的接收时间之间的时间差不小于特定时间(例如,3.5char时间)或者第二子帧和第三子帧的接收时间之间的时间差不小于特定时间的情况下,plc可能将第一、第二和第三子帧中的每一个识别为是不同帧。

在这种情况下,由于所识别的帧不同于意图要接收的对象帧,所以所识别的帧被丢弃,并且结果接收过程未完成。同样地,plc具有以下问题,即难以保持兼容性并实现平滑的通信,这是因为各种类型的单元仪器以各自的格式执行传输。



技术实现要素:

本公开的一方面是提供一种串行通信中的帧接收监视方法,其可以一定的时间间隔向由传输终端接收到的子帧分配时间戳并将其存储,使得可以使用相应子帧的时间戳来计算子帧的接收时间之间的间隔信息。

本公开的另一方面是提供一种串行通信中的帧接收监视方法,其可根据使用子帧的时间戳计算的子帧的接收时间之间的间隔信息来控制待被识别成一个帧的子帧之间的间隔,以控制子帧的组合,并且因此可以与任何类型的串行通信仪器进行平滑的通信。

本公开的其它目的不限于上述目的,并且通过参考本公开的实施例描述的以下描述可以认识到上述目的及其它目的和优点。最后,将很容易认识到的是用所附权利要求中叙述的手段及其组合可以实现本发明的目的和优点。

根据本发明的一个方面,串行通信中的帧接收监视方法包括:当组成帧的多个子帧每个以一定的时间间隔进入接收缓冲器时,允许相应子帧被存储在临时缓冲器上;允许被存储在临时缓冲器上的所述多个子帧在预定的子帧间超时时间内进入服务缓冲器;使用进入服务缓冲器中的所述多个子帧来生成组合帧;以及使用组合帧来执行控制。

如上所述,本公开以一定的时间间隔向由传输终端接收到的子帧分配时间戳并将其存储,使得可以使用对应子帧的时间戳来有利地计算子帧的接收时间之间的间隔信息。

此外,本公开可以根据使用子帧的时间戳计算的子帧的接收时间之间的间隔信息来控制要被识别为一个帧的子帧之间的间隔,以控制子帧的组合,并且因此可以有利地与任何类型的串行通信仪器进行平滑通信。

附图说明

图1是用于图示出uart控制器中的帧发送/接收过程的图。

图2是用于图示出根据本公开的一个实施例的串行通信中的帧接收监视方法的流程图。

图3是用于图示出根据本公开的一个实施例的帧接收监视装置的内部结构的框图。

图4是用于图示出根据本公开的一个实施例的帧接收监视过程的图。

图5是用于更详细地图示出图4的帧接收监视过程的图。

图6是用于图示出计算子帧的接收时间之间的间隔信息的过程的图。

图7是在帧监视器上显示多个子帧的接收时间之间的间隔信息的示例性视图。

图8是用于图示出基于预定子帧间超时时间的帧接收监视过程的图。

具体实施方式

根据参考附图的以下详细描述,上述目的、特征和优点将变得显而易见。足够详细地描述了实施例以使得本领域的技术人员能够容易地实施本公开的技术思想。可省略众所周知的功能或配置的详细公开以免不必要地使本公开的主旨含糊难懂。在下文中,将参考附图来详细地描述本公开的优选实施例。遍及各图,相同的参考标号指代相同元件。

图1是用于图示出uart控制器中的帧发送/接收过程的图。

参考图1,传输终端30将一个帧划分成多个子帧以便以一定的时间间隔将其发送到plc20。这时,传输终端30通过相应缓冲器来向plc20发送不同数目的子帧,子帧的数目取决于相应缓冲器的尺寸。

例如,如果组成一个帧的子帧的数目是三(3)个且缓冲器的尺寸是三(3),则传输终端30可通过缓冲器同时地向plc20发送三个子帧。在上述情况下,因为缓冲器的尺寸很大,所以传输终端30可通过缓冲器每次向plc发送多个(即三个)子帧,并且因此其传输速率很高。然而,此类缓冲器所装配的uart控制器不利地是昂贵的。

针对另一示例,如果组成一个帧的子帧的数目是3(三)个且缓冲器的尺寸是1(一),则传输终端30可通过缓冲器向plc发送第一子帧。在完成第一子帧的传输之后,其可通过缓冲器向plc20发送第二子帧。然后,在完成第二子帧的传输之后,其可通过缓冲器向plc20发送第三子帧。在上述情况下,传输终端可通过缓冲器各个地向plc20发送多个(即三个)子帧,并且因此其传输速率很低。然而,此类缓冲器所装配的uart控制器有利地是价格低廉的。

尽管如此,在上述示例中,存在问题,即在其中第一子帧和第二子帧的接收时间之间的时间差不小于特定时间(例如,3.5char时间)或者第二子帧和第三子帧的接收时间之间的时间差不小于特定时间的情况下,plc20可将第一、第二和第三子帧中的每一个识别为是不同帧。

也就是说,当以一定时间间隔向plc20发送第一至第三子帧中的每一个时,传输终端30预期plc20将第一、第二和第三子帧中的每一个识别为一个帧,如在图1的(a)中那样。

然而,当第一子帧和第二子帧的接收时间之间的时间差不小于特定时间或者第二子帧和第三子帧的接收时间之间的时间差不小于特定时间时,plc20将第一、第二和第三子帧中的每一个识别成不同的帧,如在图1的(b)中那样。

在这种情况下,由于所识别的帧不同于意图要接收的对象帧,所以所识别的帧被丢弃,并且结果接收过程未完成。同样地,plc具有以下问题,即难以保持兼容性并实现平滑的通信,这是因为各种类型的单元仪器以各自的格式执行传输。

图2是用于图示出根据本公开的一个实施例的串行通信中的帧接收监视方法的流程图。

参考图2,当组成帧的多个子帧每个以一定的时间间隔进入接收缓冲器时(步骤s210),帧接收监视装置将相应子帧存储在临时缓冲器上(步骤s220)。

这时,当将进入接收缓冲器中的子帧存储在临时缓冲器上时,帧接收监视装置向子帧分配时间戳,并且然后将子帧存储在临时缓冲器上。

如上所述地向子帧分配时间戳的原因是利用分配给子帧的时间戳来计算子帧的接收时间之间的间隔信息,从而确定子帧间超时时间(inter-sub-framestime-outtime)。下面将更详细地描述确定子帧间超时时间的过程。

在下文中,将描述分别地向多个子帧分配时间戳的过程。当所述多个子帧以一定的时间间隔被接收到接收缓冲器中时,帧接收监视装置利用各子帧的接收完成时间点处的时间信息来向相应子帧分配时间戳。

例如,当多个子帧中的第二子帧被接收到接收缓冲器中时,帧接收监视装置利用第二子帧的接收完成时间点处的时间信息(1200μs)来向第二子帧分配时间戳1200μs。

帧接收监视装置允许在临时缓冲器上存储的所述多个子帧在预定子帧间超时时间期间进入服务缓冲器(步骤s230)。

这时,先前确定子帧间超时时间的原因是要确定从传输终端发送的子帧可以被识别成一个帧时的时间点。也就是说,先前确定了子帧间超时时间以便将跨特定时间点接收到的第一子帧至任何子帧识别为一个帧。

因此,本公开可以利用预定子帧间超时时间来将在指定时间段期间存储在临时缓冲器上的子帧识别成一个帧。

然而,将子帧间超时时间确定成太短可致使子帧间超时时间在组成一个帧的所有子帧都通过接收缓冲器被存储在临时缓冲器上之前到期。

例如,子帧间超时时间可能在接收到子帧a、b和c时到期,虽然帧是由子帧a、b、c、d和e组成的。在这种情况下,即使子帧a、b和c被用来生成组合帧,该组合帧也被丢弃,这是因为其不同于意图要接收的对象帧。

相反地,将子帧间超时时间确定成太长可致使组成一个帧的所有子帧通过接收缓冲器且然后被存储在临时缓冲器上。然而,由于预定子帧间超时时间尚未到期,这具有以下问题,即其应等到预定子帧间超时时间到期为止。

例如,组成一个帧的所有子帧a、b、c、d和e可被接收到。这时,如果剩下了预定子帧间超时时间,则其应等到预定子帧间超时时间到期。

因此,本公开可利用组成一个帧的多个子帧的接收时间之间的间隔信息来预先确定子帧间超时时间,从而防止上述问题。

在下文中,将描述利用多个子帧的时间戳来计算子帧的接收时间之间的间隔信息的过程。

帧接收监视装置利用所述多个子帧中的第一子帧的接收完成时间点处的时间信息和所述多个子帧中的第二子帧的接收开始时间点处的时间信息来计算第一子帧和第二子帧的接收时间之间的间隔信息。

这时,帧接收监视装置利用第一子帧的时间戳来确定第一子帧的接收完成时间点处的时间信息。然而,帧接收监视装置不能知道第二子帧的接收开始时间点处的时间信息。因此,帧接收监视装置利用第二子帧的接收完成时间点处的时间信息、第二子帧的长度以及通信状态来追溯第二子帧的接收开始时间点处的时间信息。

然后,帧接收监视装置可利用由上述过程确定的第一子帧的接收完成时间点处的时间信息和第二子帧的接收开始时间点处的时间信息,从而计算第一子帧和第二子帧的接收时间之间的间隔信息。

可通过重复地执行前述过程来知道所述多个子帧的接收时间之间的间隔信息。此外,可以通过利用此类间隔信息来预先确定子帧间超时时间来控制子帧的组合,使得可以实现与任何类型的串行通信仪器的平滑通信。

帧接收监视装置利用进入服务缓冲器中的多个子帧来生成组合帧(步骤s240),并且检查组合帧是否与意图要接收的对象帧相同(步骤s250)。

响应于组合帧与意图要接收的对象帧相同(步骤s250),帧接收监视装置利用组合帧来执行控制(步骤s260)。

图3是用于图示出根据本公开的一个实施例的帧接收监视装置的内部结构的框图。

参考图3,帧接收监视装置包括通信模块110、接收缓冲器120、临时缓冲器130、服务缓冲器140以及控制模块150。

通信模块110以一定的时间间隔接收多个子帧,其组合一个帧。然后,控制模块150允许通过通信模块110接收到的所述多个子帧中的每一个进入接收缓冲器120中。控制模块150向进入接收缓冲器120中的子帧分配时间戳并允许子帧移动至临时缓冲器130。

也就是说,控制模块150利用进入接收缓冲器120的各子帧的接收完成时间点处的时间信息来向相应子帧分配时间戳,并且然后允许子帧移动至临时缓冲器120。

如上所述地向子帧分配时间戳的原因是利用分配给子帧的时间戳来计算子帧的接收时间之间的间隔信息,从而确定子帧间超时时间。也就是说,先前确定了子帧间超时时间以便将跨特定时间点接收到的第一子帧至任何子帧识别为一个帧。

控制模块150允许存储在所述临时缓冲器130上的所述多个子帧在预定子帧间超时时间内进入服务缓冲器140。

这时,先前确定子帧间超时时间的原因是要确定从传输终端发送的子帧可以被识别成一个帧时的时间点。

因此,本公开可以利用预定子帧间超时时间来将在指定时间段期间存储在临时缓冲器上的子帧识别成一个帧。

然而,将子帧间超时时间设定成太短可致使预定子帧间超时时间在组成一个帧的所有子帧都通过接收缓冲器被存储在临时缓冲器上之前到期。

相反地,将预定子帧间超时时间设定成太长可致使组成一个帧的所有子帧通过接收缓冲器且然后被存储在临时缓冲器上。然而,由于预定子帧间超时时间尚未到期,这具有以下问题,即其应等到预定子帧间超时时间到期为止。

因此,本公开可以利用组成一个帧的多个子帧的接收时间之间的间隔信息来预先确定子帧间超时时间,从而防止上述问题。

为此,控制模块150利用前一子帧的基于当前子帧的时间戳确定的接收完成时间点处的时间信息、当前帧的长度以及通信速率来计算当前子帧的接收开始时间点处的时间信息。

然后,控制模块150可利用前一子帧的基于前一子帧的时间戳确定的接收完成时间点处的时间信息和由上述过程确定的当前子帧的接收开始时间点处的时间信息,从而计算前一子帧和当前子帧的接收时间之间的间隔信息。

可通过重复地执行前述过程来知道多个子帧之间的时间间隔。此外,可以通过利用此类间隔信息来确定子帧间超时时间来控制子帧的组合,使得可以实现与任何类型的串行通信仪器的平滑通信。

控制模块150利用进入服务缓冲器中的多个子帧来生成组合帧,并且检查组合帧是否与意图要接收的对象帧相同。

图4是用于图示出根据本公开的一个实施例的帧接收监视过程的图。

参考图3和4,帧接收监视装置通过通信模块110连续地接收组成一个帧的多个子帧以允许其进入接收缓冲器120。帧接收监视装置允许进入接收缓冲器120的子帧移动至临时缓冲器130。

这时,当将被接收到接收缓冲器120中的子帧存储在临时缓冲器130上时,帧接收监视装置向子帧分配时间戳,并且然后将子帧存储在临时缓冲器130上。

如上所述地向子帧分配时间戳的原因是利用分配给子帧的时间戳来计算子帧的接收时间之间的间隔信息,从而确定子帧间超时时间。

也就是说,可以通过利用多个子帧的接收时间之间的间隔信息来预先确定子帧间超时时间30来控制子帧的组合,使得可以实现与任何类型的串行通信仪器的平滑通信。

控制模块150允许存储在所述临时缓冲器130上的所述多个子帧在预定子帧间超时时间30期间进入服务缓冲器140。然后,控制模块150利用进入服务缓冲器140中的所述多个子帧来生成组合帧,并且当组合帧与意图要接收的对象帧相同时通过使用组合帧来执行控制。

图5是用于更详细地图示出图4的帧接收监视过程的图。

参考图3和5,帧接收监视装置通过通信模块110来接收第一子帧21,其组成一个帧的一部分。帧接收监视装置允许接收到的第一子帧21进入接收缓冲器120,并且然后将进入接收缓冲器120的第一子帧21存储在临时缓冲器130上。

这时,在将被接收到接收缓冲器120中的第一子帧21存储在临时缓冲器130上时,帧接收监视装置利用第一子帧21的接收完成时间点处的时间信息来向第一子帧21分配时间戳,并且然后允许将第一子帧21存储在临时缓冲器130上。如在图5中,其可利用第一子帧21的接收完成时间点处的时间信息2100μs来向第一子帧21分配时间戳2100μs。

然后,帧接收监视装置通过通信模块110接收组成一个帧的一部分的第二子帧22。帧接收监视装置允许接收到的第二接收子帧22进入接收缓冲器120中,并且然后将进入接收缓冲器120中的第二子帧22存储在临时缓冲器130上。

这时,在将被接收到接收缓冲器120中的第二子帧22存储在临时缓冲器130上时,帧接收监视装置利用第二子帧22的接收完成时间点处的时间信息来向第二子帧22分配时间戳,并且然后允许将第二子帧22存储在临时缓冲器130上。如在图5中,其可利用第二子帧22的接收完成时间点处的时间信息3100μs来向第二子帧22分配时间戳3100μs。

然后,帧接收监视装置允许存储在临时缓冲器上的第一子帧21和第二子帧22在预定子帧间超时时间2000μs内进入服务缓冲器140。服务缓冲器140可使用第一子帧21和第二子帧22来生成组合帧23。

本公开利用第一子帧21和第二子帧22的各自时间戳来计算第一子帧21和第二子帧22的接收时间之间的间隔信息。然后,本公开可利用计算出间隔信息来确定子帧间超时时间。

然而,为了计算多个子帧的接收时间之间的间隔信息,应知道所述多个子帧的各接收开始时间点处的时间信息。尽管如此,分配给各子帧的时间戳仅指示子帧的接收完成时间点。

因此,本公开追溯并计算当前帧的接收开始时间点处的时间信息。接下来,其可利用前一子帧的、基于前一子帧的时间戳确定的接收完成时间点处的时间信息和当前子帧的接收开始时间点处的时间信息,从而计算前一子帧和当前子帧的接收时间之间的间隔信息。在下文中,将参考图6来更详细地描述前述过程。

图6是用于图示出计算子帧的接收时间之间的间隔信息的过程的图。

参考图6,帧接收监视装置利用所述多个子帧10、11和12的第一子帧10的接收完成时间点处的时间信息和所述多个子帧的第二子帧11的接收开始时间点处的时间信息来计算第一子帧10和第二子帧11的接收时间之间的间隔信息。

这时,帧接收监视装置利用第一子帧10的时间戳来确定第一子帧10的接收完成时间点处的时间信息。此外,帧接收监视装置通过使用以下等式1来计算第二子帧11的接收开始时间点处的时间信息:

【等式1】

ht:根据通信速率的第二或更多子帧的第一位的接收完成时间点处的时间信息

t:基于被分配给相应子帧的时间戳确定的相应子帧的接收完成时间点处的时间信息

帧接收监视装置可用基于第二子帧11的时间戳确定的第二子帧11的接收完成时间点处的时间信息t2、通信速率以及第二子帧11的长度代替等式1来计算第二子帧11的接收开始时间点ht2。

然后,帧接收监视装置可利用第一子帧10的接收完成时间点处的时间信息t1和由等式1确定的第二子帧11的接收开始时间点处的时间信息ht2,从而计算第一子帧10和当前子帧的接收时间之间的间隔信息δt1。

此外,帧接收监视装置利用所述多个子帧10、11和12的第二子帧11的接收完成时间点处的时间信息和所述多个子帧的第三子帧12的接收开始时间点处的时间信息来计算第二子帧11和第三子帧12的接收时间之间的间隔信息。

这时,帧接收监视装置利用第二子帧11的时间戳来确定第二子帧11的接收完成时间点处的时间信息。此外,帧接收监视装置通过使用上述等式1来计算第三子帧12的接收开始时间点处的时间信息。

即,通过与确定第二子帧11的接收开始时间点处的时间信息的过程同样地使用上述等式1,可以计算第三子帧12的接收开始时间点处的时间信息ht3。

然后,帧接收监视装置可利用第二子帧11的接收完成时间点处的时间信息t2和由等式1确定的第三子帧12的接收开始时间点处的时间信息ht3,从而确定第二子帧11和第三子帧12的接收时间之间的间隔信息δt2。

图7是在帧监视器上显示多个子帧的接收时间之间的间隔信息的示例性视图。

参考图7,组成一个帧的多个子帧每个以一定的时间间隔被接收到接收缓冲器中,并且然后帧接收监视装置在允许将进入接收缓冲器的子帧存储在临时缓冲器上时向子帧分配时间戳,并且然后允许将子帧存储在临时缓冲器上。

然后,帧接收监视装置在诸如帧监视器之类的应用上显示被分配给子帧的时间戳。因此,用户可以有利地确认了根据他/她已设定的子帧间超时时间来精确地操作串行通信。

例如,用户可通过使用子帧112233的如710所表示的时间戳10021μs来获悉子帧112233的接收完成时间点处的时间信息是10021μs。此外,用户然后可通过使用子帧445566的如720所表示的时间戳10022μs来获悉子帧445566的接收完成时间点处的时间信息是10022μs。

图8是用于图示出基于预定子帧间超时时间的帧接收监视过程的图。图8的实施例涉及其中当子帧间超时时间已被设置成0时可以监视帧接收的实施例。

参考图8,帧接收监视装置以一定的时间间隔通过通信模块来接收组成一个帧的多个子帧。帧接收监视装置允许所述多个子帧分别地进入接收缓冲器120。

然而,帧接收监视装置向进入接收缓冲器120的子帧分配时间戳,并且然后直接地将其提供给服务缓冲器140而不通过临时缓冲器130(图2),因为子帧间超时时间已被设置成0。

例如,帧接收监视装置通过通信模块来接收组成一个帧的所述多个子帧的第一子帧,并允许其进入接收缓冲器120。并且,帧接收监视装置向进入接收缓冲器120的第一子帧分配时间戳,并且然后直接地将其提供给服务缓冲器140而不通过临时缓冲器130。

如上所述,本公开以一定的时间间隔向被传输终端接收到的子帧分配时间戳并将其存储,使得可以使用相应子帧的时间戳来有利地计算子帧的接收时间之间的间隔信息。

此外,本公开可以根据使用子帧的时间戳计算的子帧的接收时间之间的间隔信息来控制将被识别为一个帧的子帧之间的间隔,以控制子帧的组合,并且因此可以有利地与任何类型的串行通信仪器进行平滑通信。

在不脱离本公开的范围和精神的情况下,本发明相关领域的技术人员可以不同的方式替换、改变以及修改上文所述的本公开。因此,本公开不限于上述示例性实施例和附图。

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