数据通信方法及相关装置、设备、系统和存储介质与流程

文档序号:28321927发布日期:2022-01-04 23:19阅读:69来源:国知局
数据通信方法及相关装置、设备、系统和存储介质与流程

1.本技术涉及计算机通信技术领域,特别是涉及一种数据通信方法及相关装置、设备、系统和存储介质。


背景技术:

2.近年来,随着工控技术和计算机网络通信技术的发展,诸如rs422、rs485等工业总线标准应运而生,朝着支持多个分节点、高通信速率、远距离传输、高接收灵敏度以及较低成本方向不断发展演进。
3.然而,采用现有总线协议往往存在通信效率低等问题,因此并不适用于某些应用场合,特别是在诸如机载多乘员间数据交互等对速度要求较高的场景。有鉴于此,如何提高数据通信效率成为亟待解决的问题。


技术实现要素:

4.本技术主要解决的技术问题是提供一种数据通信方法及相关装置、设备、系统和存储介质,能够提高数据通信效率。
5.为了解决上述技术问题,本技术第一方面提供了一种数据通信方法,包括:在连接至传输总线的若干通信设备中,轮流选择目标设备;其中,若干通信设备包括本端设备和至少一个从机设备;获取目标设备对传输总线的需求情况;其中,需求情况包括目标设备是否需要占用传输总线;基于需求情况,确定是否将传输总线授权给目标设备。
6.为了解决上述技术问题,本技术第二方面提供了一种数据通信方法,包括:检测是否在本轮被选择为目标设备,响应于本端设备在本轮被选择为目标设备,回应对传输总线的需求情况,以供主机设备基于需求情况,确定是否将传输总线授权给目标设备;其中,传输总线上连接有若干通信设备,若干通信设备包括至少一个从机设备和主机设备,本端设备为其中一个从机设备,且若干通信设备轮流被选择作为目标设备,需求情况包括目标设备是否需要占用传输总线。
7.为了解决上述技术问题,本技术第三方面提供了一种数据通信方法,包括:主机设备在连接至传输总线的若干通信设备中,轮流选择目标设备;其中,若干通信设备包括至少一个从机设备和主机设备;从机设备响应于在本轮被选择为目标设备,回应对传输总线的需求情况;其中,需求情况包括目标设备是否需要占用传输总线;主机设备基于需求情况,确定是否将传输总线授权给目标设备。
8.为了解决上述技术问题,本技术第四方面提供了一种数据通信装置,包括:选择模块、获取模块和确定模块,选择模块,用于在连接至传输总线的若干通信设备中,轮流选择目标设备;其中,若干通信设备包括本端设备和至少一个从机设备;获取模块,用于获取目标设备对传输总线的需求情况;其中,需求情况包括目标设备是否需要占用传输总线;确定模块,用于基于需求情况,确定是否将传输总线授权给目标设备。
9.为了解决上述技术问题,本技术第五方法提供了一种数据通信装置,包括检测模
块和回应模块,检测模块用于检测是否在本轮被选择为目标设备,回应模块用于响应于本端设备在本轮被选择为目标设备,回应对传输总线的需求情况,以供主机设备基于需求情况,确定是否将传输总线授权给目标设备;其中,传输总线上连接有若干通信设备,若干通信设备包括至少一个从机设备和主机设备,本端设备为其中一个从机设备,且若干通信设备轮流被选择作为目标设备,需求情况包括目标设备是否需要占用传输总线。
10.为了解决上述技术问题,本技术第六方面提供了一种通信设备,包括非易失性存储器、易失性存储器和处理模组,非易失性存储器和易失性存储器均耦接至处理模组,且非易失性存储器中存储有程序指令,易失性存储器用于在数据通信过程中缓存数据,处理模组用于执行程序指令以实现上述第一方面或第二方面中的数据通信方法。
11.为了解决上述技术问题,本技术第七方面提供了一种数据通信系统,包括若干从机设备和传输总线,主机设备、若干从机设备均连接至传输总线,且主机设备用于执行上述第一方面中的数据通信方法,从机设备用于执行上述第二方面中的数据通信方法。
12.为了解决上述技术问题,本技术第八方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,程序指令用于实现上述第一方面中的数据通信方法,或实现上述第二方面中的数据通信方法,或实现上述第三方面中的数据通信方法。
13.上述方案,在连接至传输总线的若干通信设备中,轮流选择目标设备,且若干通信设备包括本端设备和至少一个从机设备,获取目标设备对传输总线的需求情况,且需求情况包括目标设备是否需要占用传输总线,在此基础上,再基于需求情况,确定是否将传输总线授权给目标设备,由于在数据通信过程中,轮流在各个通信设备选择目标设备进行授权,并基于目标设备的需求情况,确定是否将传输总线授权给目标设备,即通过循环授权机制实现数据通信,故有利于提升数据通信效率。
附图说明
14.图1是本技术数据通信方法一实施例的流程示意图;
15.图2是本技术数据通信系统一实施例的框架示意图;
16.图3是本技术数据通信方法一实施例的过程示意图;
17.图4是报文格式一实施例的框架示意图;
18.图5是本技术数据通信方法另一实施例的流程示意图;
19.图6是本技术数据通信方法又一实施例的流程示意图;
20.图7是本技术数据通信装置一实施例的框架示意图;
21.图8是本技术数据通信装置另一实施例的框架示意图;
22.图9是本技术通信设备一实施例的框架示意图;
23.图10是本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
24.下面结合说明书附图,对本技术实施例的方案进行详细说明。
25.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
26.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅
是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
27.请参阅图1,图1是本技术数据通信方法一实施例的流程示意图。
28.具体而言,可以包括如下步骤:
29.步骤s11:在连接至传输总线的若干通信设备中,轮流选择目标设备。
30.本公开实施例中,若干通信设备包括本端设备和至少一个从机设备。需要说明的是,在本公开实施例中,本端设备为主机设备。此外,请结合参阅图2,图2是本技术数据通信系统一实施例的框架示意图。如图2所示,通信系统可以包括主机设备、若干从机设备和传输总线(如图2中加粗线条所示),从机设备可以为1个、2个、3个、4个等,在此不做限定。主机设备和从机设备可以执行本技术数据通信方法实施例中步骤,具体可以参阅本技术数据通信方法实施例。此外,各个通信设备可以通过t型的接线方式连接至传输总线。
31.在一个实施场景中,传输总线可以包括但不限于rs485总线等,在此不做限定。需要说明的是,rs485总线采用平衡发送和差分接收实现通信,发送端将串行口的ttl(transistor transistorlogic,晶体管

晶体管逻辑)电平信号转换成差分信号a,b两路输出,经线缆传输之后在接收端将差分信号还原成ttl电平信号。
32.在一个实施场景中,若干通信设备可以以预设顺序轮流作为目标设备。以若干通信设备包括主机设备以及与主机设备由近及远的7个从机设备,为了便于描述,7个从机设备可以从1至7进行编号,则预设顺序可以为:主机设备、1号从机设备、2号从机设备、3号从机设备、4号从机设备、5号从机设备、6号从机设备、7号从机设备,在此情况下,可以照此顺序,轮流选择目标设备。其他情况可以以此类推,在此不再一一举例。
33.在一个实施场景中,若干通信设备在预设间隔(如,16毫秒、20毫秒等)内均被选择作为目标设备。具体而言,在预设间隔内,若干通信设备可以均被选择至少一次(如,1次、2次、3次等)作为目标设备。为了便于描述,可以将预设间隔记为t0,以在t0内若干通信设备均被选择一次作为目标设备为例,通过本公开实施例,可以再t0间隔内,轮流循环给传输总线上各个通信设备授权,且在t0间隔内,各个通信设备可以分时复用传输总线,从而能够避免同时驱动传输总线。其他情况可以以此类推,在此不再一一举例。
34.步骤s12:获取目标设备对传输总线的需求情况。
35.本公开实施例中,需求情况包括目标设备是否需要占用传输总线,即需求情况具体可以包括:目标设备需要占用传输总线,或者目标设备无需占用传输总线。
36.在一个实施场景中,请结合参阅图3,图3是本技术数据通信方法一实施例的过程示意图。如图3所示,在选择从机设备作为目标设备的情况下,可以通过传输总线广播总线授权报文,并基于目标设备回应总线授权报文的应答授权报文,获取需求情况。上述方式,通过在传输总线广播报文的方式获取需求情况,能够使得数据在传输总线中透明,有利于提升数据通信的鲁棒性。
37.在一个具体的实施场景中,可以响应于应答授权报文为接受授权报文,确定需求情况包括目标设备需要占用传输总线。上述方式,目标设备通过回应接受授权报文,以确定需要占用传输总线,有利于提高需求情况的准确性。
38.在一个具体的实施场景中,可以响应于未接收到应答授权报文,确定需求情况包
括目标设备无需占用传输总线。也就是说,在未接收到从机设备的应答授权报文的情况下,可以认为从机设备无需占用传输总线。此外,还可以设定一个等待时间(如,0.5毫秒、1毫秒等),若在等待时间内未接收到应答授权报文,则可以认为从机设备无需占用传输总线。上述方式,在未接收到应答授权报文的情况下,确定需求情况包括目标设备无需占用传输总线,从而能够有利于提升获取需求情况的鲁棒性。
39.在一个具体的实施场景中,可以响应于应答授权报文为放弃授权报文,确定需求情况包括目标设备无需占用传输总线。上述方式,目标设备通过回应放弃授权报文,以确定无需占用传输总线,有利于提高需求情况的准确性。
40.在一个实施场景中,请继续参阅图3,如图3所示,在选择主机设备作为目标设备的情况下,若主机设备有数据需要传输,则可以确定需求情况包括目标设备需要占用传输总线,反之若主机设备无数据需要传输,则可以确定需求情况包括目标设备无需占用传输总线。
41.在一个具体的实施场景中,在主机设备无数据需要传输的情况下,可以等待预设时长,若仍然无数据需要传输,则可以确定需求情况包括目标设备无需占用传输总线,反之若在等待过程中有数据需要传输,则可以确定需求情况包括目标设备需要占用传输总线。为了便于描述,预设时长可以记为t1,预设时长t1可以包括但不限于0.5毫秒、1毫秒等等,在此不做限定。
42.在一个具体的实施场景中,需要说明的是,区别于前述选择从机设备作为目标设备的情况,在选择主机设备作为目标设备时,由于主机设备本身就承担传输总线授权的任务,故在选择主机设备作为目标设备的情况下,为了提升通信效率,可以无需在传输总线广播总线授权报文。
43.步骤s13:基于需求情况,确定是否将传输总线授权给目标设备。
44.在一个实施场景中,在需求情况包括目标设备需要占用传输总线的情况下,可以确定将传输总线授权给目标设备,在此情况下,目标设备可以通过传输总线与传输总线上其他设备进行信息交互。
45.在一个具体的实施场景中,通信设备在传输总线进行信息交互的过程中,可以以逐个字节的形式进行交互,具体可以参阅本技术通信设备实施例中相关描述,在此暂不赘述。
46.在一个具体的实施场景中,目标设备可以通过传输总线传输若干帧数据。此外,为了便于区分各帧数据,相邻两帧数据之间的时间间隔不低于预设数值个字节时间。预设数值可以为3.5个、4个等等,且每个字节时间代表传输一个字节所需要的时间。
47.在一个具体的实施场景中,目标设备可以通过传输总线以广播的形式传输若干帧数据,即数据在传输总线上也是透明的。
48.在一个具体的实施场景中,响应于目标设备已在传输总线传输完最后一个数据,可以重新执行前述在连接至传输总线的若干通信设备中,轮流选择目标设备的步骤以及后续步骤。具体地,可以对各帧数据进行标记,如对于第一帧数据可以设置第一标记,表示该帧数据为起始帧,对于最后一帧数据可以设置第二标记,表示该帧数据为结束帧,从而可以根据各帧数据的标记判断是否为最后一帧数据。此外,对于未设置标记,或虽然设置了标记但在传输过程中丢失的情况,若在预设时长(如,0.5毫秒、1毫秒等)内仍未等到下一帧数
据,则可以认为当前帧数据即为最后一帧数据。上述方式,在需求情况包括目标设备需要占用传输总线的情况下,响应于目标设备已在传输总线传输完最后一帧,重新执行轮流选择目标设备的步骤以及后续步骤,能够有利于提升数据通信效率。
49.在一个实施场景中,在需求情况包括目标设备无需占用传输总线的情况下,可以确定不将传输总线授权给目标设备,此时可以重新执行前述在连接至传输总线的若干通信设备中,轮流选择目标设备的步骤以及后续步骤。上述方式,在需求情况包括目标设备无需占用传输总线的情况下,重新执行轮流选择目标设备的步骤以及后续步骤,能够有利于提升数据通信效率。
50.在一个实施场景中,通信设备之间通过传输总线广播报文以实现信息交互,如前所述的总线授权报文、接受授权报文、放弃授权报文、数据报文等等,且报文中包括设备地址和报文标志,设备地址为通信对端的识别地址,报文标志用于表征报文的用途。在此基础上,传输总线上各个通信设备在接收到报文之后,可以解析报文,得到通信对端的设备地址,从而通信设备可以比对自身的识别地址与报文中的设备地址是否一致,若一致,则可以认为通信对端即为其自身,并根据报文中的报文标志获悉该报文的用途,以做回应,反之若不一致,则可以认为通信对端不为其自身,故可以忽略该报文。上述方式,通信设备之间通过传输总线广播报文以实现信息交互,且报文中包含设备地址和报文标志,故通信设备能够实现按需分拣传送总线上广播的报文,有利于提高数据通信的鲁棒性。
51.在一个具体的实施场景中,若干通信设备均连接至传输总线之后,主机设备可以为传输总线上各个通信设备分配识别地址,以使得传输总线上每一通信设备均具有唯一地址;或者,若干通信设备的识别地址也可以由通信设备自身的硬件决定,如识别地址可以包括但不限于mac(media access control,媒体存取控制)地址等,在此不做限定。请结合参阅图4,图4是报文格式一实施例的框架示意图。如图4所示,报文可以包括8bit的识别地址,此外t1

t2

t3

t4表示相邻两帧之间的帧间隔,具体可以参阅前述相关描述,在此不再赘述。
52.在一个具体的实施场景中,对于不同种类的报文,其报文标志可以设置为不同。以报文采用十六进制为例,示例性地,可以将报文标志设置为0,以表示报文为总线授权报文;可以将报文标志设置为1,以表示报文为接受授权报文;可以将报文标志设置为2,以表示报文为放弃授权报文;可以将报文标志设置为3,以表示报文为数据报文,其他情况可以以此类推,在此不再一一举例。请继续结合参阅图4,报文可以包括8bit的报文标志。
53.在一个具体的实施场景中,如前所述,通信设备之间通过传输总线广播报文以实现信息交互,在此基础上,为了尽可能地降低误码率,报文可以包括多位报文标志,且各个报文标志均用于表征报文的用途。示例性地,可以采用4位报文标志、8位报文标志等,在此不做限定。仍以报文采用十六进制且采用4位报文标志为例,示例性地,可以采用0000表示报文为总线授权报文,可以采用1111表示报文为接受授权报文,可以采用2222表示报文为放弃授权报文,可以采用3333表示报文为数据报文,其他情况可以以此类推,在此不再一一举例。上述方式,通信设备之间通过传输总线广播报文以实现信息交互,报文包括多位报文标志,且各个报文标志均用于表征报文的用途,故只要有一位报文标志有效,即能够表征报文的用途,从而能够大大降低远距离信号传输导致的误码对报文解析的影响。
54.在一个具体的实施场景中,以总线授权报文为例,通信对端为目标地址,报文中的
设备地址即为通信对端的识别地址,报文标志根据实际情况进行设置,具体可以参阅前述相关描述。在此基础上,主机设备在传输总线广播总线授权报文之后,传输总线上各个通信设备均可以接收到该总线授权报文,并进行解析,以获取得到报文标志和通信对端的识别地址,由于在通信之前已经约定不同报文标志分别代表的含义,各个通信设备通过解析得到的报文标志可以获悉当前接收到的报文为总线授权报文,并比较自身的识别地址和解析得到的识别地址是否一致,显然仅有目标设备的识别地址与解析得到的识别地址一致,在此情况下,其他设备可以忽略该报文,目标设备可以根据自身需要(即是否需要占用传输总线进行数据传输)来决定是否回应该总线授权报文,以及回应何种报文。
55.在一个具体的实施场景中,以接受授权报文为例,通信对端为主机设备(即本公开实施例所述的本端设备),报文中的设备地址即为通信对端的识别地址,报文标志根据实际情况进行设置,具体可以参阅前述相关描述。在此基础上,目标设备根据自身需要占用传输总线进行数据传输的需求情况,通过传输总线广播接受授权报文,传输总线上各个通信设备均可以接收到该接受授权报文,并进行解析,以获取到报文标志和通信对端的识别地址,并比较自身的识别地址和解析得到的识别地址是否一致,显然仅有主机设备的识别地址和解析得到的识别地址一致,在此情况下,其他设备可以忽略该报文,由于在通信之前已经约定不同报文标志分别代表的含义,主机设备通过解析得到的报文标志可以获悉当前接收到的报文为接受授权报文,由此可知目标设备需要占用传输总线进行数据传输,从而可以将传输总线授权给目标设备。
56.在一个具体的实施场景中,以数据报文为例,通信对端可以为若干通信设备中除目标设备之外的任一通信设备,仍以数据通信系统中包含7个从机设备为例,在目标设备为1号从机设备的情况下,通信对端可以包括主机设备、2号从机设备至7号从机设备中任一通信设备,在此不做限定。进一步地,报文中的设备地址即为通信对端的识别地址,报文标志根据实际情况进行设置,具体可以参阅前述相关描述。在此基础上,目标设备通过传输总线广播数据报文。请继续结合参阅图4,数据报文中可以包括n*8bit的数据,n可以设置为1、2、3、4等等,在此不做限定。基于此,传输总线上各个通信设备均可以接收到该数据报文,并进行解析,以获取到报文标志和通信对端的识别地址,并比较自身的识别地址和解析得到的识别地址是否一致,显然仅有通信对端的识别地址和解析得到的识别地址一致,在此情况下,其他设备可以忽略该报文,由于在通信之前已经约定不同报文标志分别代表的含义,通信对端可以进一步解析得到n*8bit的数据。
57.在一个具体的实施场景中,以放弃授权报文为例,通信对端为主机设备(即本公开实施例所述的本端设备),报文中的设备地址即为通信对端的识别地址,报文标志根据实际情况进行设置,具体可以参阅前述相关描述。在此基础上,目标设备根据自身无需占用传输总线进行数据传输的需求情况,通过传输总线广播放弃授权报文,传输总线上各个通信设备均可以接收到该放弃授权报文,并进行解析,以获取到报文标志和通信对端的识别地址,并比较自身的识别地址和解析得到的识别地址是否一致,显然仅有主机设备的识别地址和解析得到的识别地址一致,在此情况下,其他设备可以忽略该报文,由于在通信之前已经约定不同报文标志分别代表的含义,主机设备通过解析得到的报文标志可以获悉当前接收到的报文为放弃授权报文,由此可知目标设备无需占用传输总线进行数据传输,从而可以重新执行上述轮流选择目标设备的步骤以及后续步骤。
58.在一个具体的实施场景中,请继续结合参阅图4,报文中除识别地址、报文标志等关键字段之外,其他字段可以由用户自行定义,从而能够大大提升灵活性和通用性。
59.在一个具体的实施场景中,请继续结合参阅图4,如前所述,通信设备之间通过传输总线广播报文以实现信息交互,且报文的初始位置还可以设有前导码,用于异步传输的信号同步。此外,由于在初始位置设置前导码,还能够大大减少驱动器开关时产生的毛刺对真实数据的影响。
60.在一个实施场景中,请结合参阅图4,通信设备在每个采样周期可以采集第一数值位(如,16位、32位等)的电平信号,则可以基于第一数值位电平信号中高电平和低电平各自的占比,确定对应采样周期的最终电平。具体地,可以将占比较高的一种电平,作为对应采样周期的最终电平。例如,在高电平占比较高的情况下,可以将高电平作为对应采样周期的最终电平,反之在低电平占比较高的情况下,可以将低电平作为对应采样周期的最终电平。以在采样周期采集16位电平信号为例,只要高电平超过8位,即可以将高电平作为对应采样周期的最终电平。上述方式,通过基于第一数值位电平信号中高电平和低电平各自的占比,确定对应采样周期的最终电平,能够忽略高低电平的位置分布,实现“少数服从多数”的投票机制,有利于大大降低由于信号反射等诸多因素而导致的误码率。
61.在一个实施场景中,经实验验证,采用本技术公开实施例方案,5米内串口最大传输速率可达16mbps,20米+的范围实现数据速率6.25mbps的稳定可靠传输。此外,由信号反射等因素而导致的误码率显著下降(帧误码率1/100k,数据误码率更低)。
62.在一个实施场景中,为了进一步提升数据通信效率,上述循环授权、分时复用、报文广播以及按需分拣可以相结合,以实现对传输总线的自动仲裁,尽可能地避免各个通信设备对传输总线的竞争,有利于提升数据通信效率。
63.上述方案,在连接至传输总线的若干通信设备中,轮流选择目标设备,且若干通信设备包括本端设备和至少一个从机设备,获取目标设备对传输总线的需求情况,且需求情况包括目标设备是否需要占用传输总线,在此基础上,再基于需求情况,确定是否将传输总线授权给目标设备,由于在数据通信过程中,轮流在各个通信设备选择目标设备进行授权,并基于目标设备的需求情况,确定是否将传输总线授权给目标设备,即通过循环授权机制实现数据通信,故有利于提升数据通信效率。
64.请参阅图5,图5是本技术数据通信方法另一实施例的流程示意图。
65.具体而言,可以包括如下步骤:
66.步骤s51:检测是否在本轮被选择为目标设备。
67.本公开实施例中,传输总线上连接有若干通信设备,若干通信设备包括至少一个从机设备和主机设备,且若干通信设备轮流被选择作为目标设备,而执行本公开实施例方案的本端设备可以为其中一个从机设备,具体可以结合参阅图2以及前述公开实施例中相关描述,在此不再赘述。
68.在一个实施场景中,本端设备可以接收主机设备通过传输总线广播的总线授权报文,并基于总线授权报文,确定在本轮是否被选择为目标设备。具体地,如前所述公开实施例所述,通信设备之间通过传输总线广播报文实现信息交互,且报文可以包括设备地址和报文标志,设备地址为通信对端的识别地址,报文表示用于表征报文的用途。在此基础上,本端设备在接收到总线授权报文之后,可以解析该报文,获取报文标志和通信对端的识别
地址,并基于此比较自身的识别地址和解析得到的识别地址是否一致,若一致,可以认为本端设备即为通信对端,且由于在通信之前已约定各种报文标志分别代表的含义,从而可以获悉该报文为总线授权报文,进而可以确定本端设备在本轮被选择为目标设备,反之若不一致,则可以直接忽略该报文。
69.步骤s52:响应于本端设备在本轮被选择为目标设备,回应对传输总线的需求情况,以供主机设备基于需求情况,确定是否将传输总线授权给目标设备。
70.本公开实施例中,需求情况包括目标设备是否需要占用传输总线,具体可以参阅前述公开实施例中相关描述,在此不再赘述。具体地,可以响应于本轮被选择为目标设备,通过应答授权报文回应总线授权报文,以供主机设备基于应答授权报文获取需求情况。上述方式,通过报文广播的方式获取需求情况,有利于提升确定需求情况的准确性。
71.在一个实施场景中,可以基于本端设备无需占用传输总线,通过传输总线广播放弃授权报文,关于放弃授权报文的具体情况,可以参阅前述公开实施例中相关描述,在此不再赘述。
72.在一个实施场景中,可以基于本端设备无需占用传输总线,不发送任何报文,在此情况下,由于主机设备未接收到应答授权报文,主机设备可以确定需求情况包括目标设备无需占用传输总线,具体可以参阅前述公开实施例中相关描述,在此不再赘述。
73.在一个实施场景中,可以基于本端设备需要占用传输总线,通过传输总线广播接受授权报文,关于接受授权报文的具体情况,可以参阅前述公开实施例中相关描述,在此不再赘述。
74.在一个实施场景中,在确定将传输总线授权给目标设备的情况下,即在本端设备被选择为目标设备、本端设备也回应需要占用传输总线的情况下,主机设备可以将传输总线授权给本端设备,在此情况下,本端设备可以通过传输总线传输第二数值帧数据,且相邻两帧数据之间的时间间隔不低于第三数值个字节时间。具体可以参阅前述公开实施例中相关描述,在此不再赘述。此外,每帧数据可以以一定格式的报文进行传输,具体可以结合参阅图4以及前述公开实施例中相关描述,在此不再赘述。上述方式,在确定将传输总线授权给目标设备的情况下,通过传输总线传输第二数值帧数据,且相邻两帧数据之间的时间间隔不低于第三数值个字节时间,故能够区分各帧数据,有利于提升数据通信的准确性。
75.需要说明的是,上述各种报文均可以一定格式通过传输总线进行广播,各种报文的具体格式可以结合参阅图4以及前述公开实施例中相关描述,在此不再赘述。此外,本公开实施例主要描述与前述公开实施例之间的不同之处,相同及相似之处可以参阅前述公开实施例,在此不再赘述。
76.上述方案,检测是否在本轮被选择为目标设备,并响应于本端设备在本轮被选择为目标设备,回应对传输总线的需求情况,以供主机设备基于需求情况,确定是否将传输总线授权给目标设备,且传输总线上连接有若干通信设备,若干通信设备包括至少一个从机设备和主机设备,本端设备为其中一个从机设备,且若干通信设备轮流被选择作为目标设备,需求情况包括目标设备是否需要占用传输总线,即通过循环授权机制实现数据通信,故有利于提升数据通信效率。
77.请参阅图6,图6是本技术数据通信方法又一实施例的流程示意图。
78.具体而言,可以包括如下步骤:
79.步骤s61:主机设备在连接至传输总线的若干通信设备中,轮流选择目标设备。
80.本公开实施例中,若干通信设备包括至少一个从机设备和主机设备,具体可以结合参阅图2和前述公开实施例中相关描述,在此不再赘述。
81.步骤s62:从机设备响应于在本轮被选择为目标设备,回应对传输总线的需求情况。
82.本公开实施例中,需求情况包括目标设备是否需要占用传输总线。具体地,从机设备可以接收主机设备通过传输总线广播的总线授权报文,并基于总线授权报文,确定在本轮是否被选择为目标设备,以及响应于在本轮被选择为目标设备,通过应答授权报文回应总线授权报文,以供给主机设备基于应答授权报文获取需求情况,具体可以参阅前述公开实施例中相关描述,在此不再赘述。
83.步骤s63:主机设备基于需求情况,确定是否将传输总线授权给目标设备。
84.在一个实施场景中,主机设备可以基于需求情况包括目标设备无需占用传输总线,确定不将传输总线授权给目标设备,在此情况下,可以重新执行上述主机设备在连接至传输总线的若干通信设备中,轮流选择目标设备的步骤以及后续步骤,具体可以参阅前述公开实施例中相关描述,在此不再赘述。
85.在一个实施场景中,主机设备可以基于需求情况包括目标设备需要占用传输总线,确定将传输总线授权给目标设备,在此情况下,目标设备可以通过传输总线传输若干帧数据,并响应于目标设备已在传输总线传输完最后一帧数据,重新执行上述主机设备在连接至传输总线的若干通信设备中,轮流选择目标设备的步骤以及后续步骤,具体可以参阅前述公开实施例中相关描述,在此不再赘述。
86.上述方案,主机设备在连接至传输总线的若干通信设备中,轮流选择目标设备,且若干通信设备包括至少一个从机设备和主机设备,从机设备响应于在本轮被选择为目标设备,回应对传输总线的需求情况,且需求情况包括目标设备是否需要占用传输总线,在此基础上,主机设备基于需求情况,确定是否将传输总线授权给目标设备,即通过循环授权机制实现数据通信,故有利于提升数据通信效率。
87.请参阅图7,图7是本技术数据通信装置70一实施例的框架示意图。数据通信装置70包括:选择模块71、获取模块72和确定模块73,选择模块71,用于在连接至传输总线的若干通信设备中,轮流选择目标设备;其中,若干通信设备包括本端设备和至少一个从机设备;获取模块72,用于获取目标设备对传输总线的需求情况;其中,需求情况包括目标设备是否需要占用传输总线;确定模块73,用于基于需求情况,确定是否将传输总线授权给目标设备。
88.上述方案,由于在数据通信过程中,轮流在各个通信设备选择目标设备进行授权,并基于目标设备的需求情况,确定是否将传输总线授权给目标设备,即通过循环授权机制实现数据通信,故有利于提升数据通信效率。
89.在一些公开实施例中,在选择从机设备作为目标设备的情况下,获取模块72包括授权广播子模块,用于通过传输总线广播总线授权报文;获取模块72包括需求确定子模块,用于基于目标设备回应总线授权报文的应答授权报文,获取需求情况。
90.因此,通过在传输总线广播报文的方式获取需求情况,能够使得数据在传输总线中透明,有利于提升数据通信的鲁棒性。
91.在一些公开实施例中,确定子模块包括第一确定单元,用于响应于应答授权报文为接受授权报文,确定需求情况包括目标设备需要占用传输总线;确定子模块包括第二确定单元,用于响应于未接收到应答授权报文,确定需求情况包括目标设备无需占用传输总线;确定子模块包括第三确定单元,用于响应于应答授权报文为放弃授权报文,确定需求情况包括目标设备无需占用传输总线。
92.因此,目标设备通过回应接受授权报文,以确定需要占用传输总线,有利于提高需求情况的准确性;而在未接收到应答授权报文的情况下,确定需求情况包括目标设备无需占用传输总线,从而能够有利于提升获取需求情况的鲁棒性;而目标设备通过回应放弃授权报文,以确定无需占用传输总线,有利于提高需求情况的准确性。
93.在一些公开实施例中,数据通信装置70包括第一循环模块,用于在确定将传输总线授权给目标设备的情况下,响应于目标设备已在传输总线传输完最后一帧数据,结合选择模块71、获取模块72和确定模块73重新执行在连接至传输总线的若干通信设备中,轮流选择目标设备的步骤以及后续步骤,数据通信装置70包括第二循环模块,用于在确定不将传输总线授权给目标设备的情况下,结合选择模块71、获取模块72和确定模块73重新执行在连接至传输总线的若干通信设备中,轮流选择目标设备的步骤以及后续步骤。
94.因此,在需求情况包括目标设备需要占用传输总线的情况下,响应于目标设备已在传输总线传输完最后一帧,重新执行轮流选择目标设备的步骤以及后续步骤,能够有利于提升数据通信效率;而在需求情况包括目标设备无需占用传输总线的情况下,重新执行轮流选择目标设备的步骤以及后续步骤,能够有利于提升数据通信效率。
95.在一些公开实施例中,通信设备之间通过传输总线广播报文以实现信息交互,且报文包括设备地址和报文标志;其中,设备地址为通信对端的识别地址,报文标志用于表征报文的用途。
96.因此,通信设备之间通过传输总线广播报文以实现信息交互,且报文中包含设备地址和报文标志,故通信设备能够实现按需分拣传送总线上广播的报文,有利于提高数据通信的鲁棒性。
97.在一些公开实施例中,通信设备之间通过传输总线广播报文以实现信息交互,报文包括多位报文标志,且各个报文标志均用于表征报文的用途;和/或,通信设备之间通过传输总线广播报文以实现信息交互,报文的初始位置设有前导码,用于异步传输的信号同步;和/或,通信设备在每个采样周期采集第一数值位电平信号,并基于第一数值位电平信号中高电平和低电平各自的占比,确定对应采样周期的最终电平。
98.因此,通信设备之间通过传输总线广播报文以实现信息交互,报文包括多位报文标志,且各个报文标志均用于表征报文的用途,故只要有一位报文标志有效,即能够表征报文的用途,从而能够大大降低远距离信号传输导致的误码对报文解析的影响;而在报文的初始位置设置前导码,能够实现异步传输的信号同步,且由于在初始位置设置前导码,还能够大大减少驱动器开关时产生的毛刺对真实数据的影响;而通过基于第一数值位电平信号中高电平和低电平各自的占比,确定对应采样周期的最终电平,能够忽略高低电平的位置分布,实现“少数服从多数”的投票机制,有利于大大降低由于信号反射等诸多因素而导致的误码率。
99.在一些公开实施例中,传输总线为rs485总线;和/或,若干通信设备在预设间隔内
均被选择作为目标设备。
100.因此,将传输总线设置为rs485总线,能够在继承rs485高速率、远距离等优势的同时,还能够提升数据通信效率;此外,由于若干通信设备在预设间隔内均被选择作为目标设备,能够轮流循环给传输总线上各个通信设备授权,且在预设间隔内,各个通信设备可以分时复用传输总线,从而能够避免同时驱动传输总线。
101.请参阅图8,图8是本技术数据通信装置80另一实施例的框架示意图。数据通信装置80包括:检测模块81和回应模块82,检测模块81用于检测是否在本轮被选择为目标设备,回应模块82用于响应于本端设备在本轮被选择为目标设备,回应对传输总线的需求情况,以供主机设备基于需求情况,确定是否将传输总线授权给目标设备;其中,传输总线上连接有若干通信设备,若干通信设备包括至少一个从机设备和主机设备,本端设备为其中一个从机设备,且若干通信设备轮流被选择作为目标设备,需求情况包括目标设备是否需要占用传输总线。
102.上述方案,检测是否在本轮被选择为目标设备,并响应于本端设备在本轮被选择为目标设备,回应对传输总线的需求情况,以供主机设备基于需求情况,确定是否将传输总线授权给目标设备,且传输总线上连接有若干通信设备,若干通信设备包括至少一个从机设备和主机设备,本端设备为其中一个从机设备,且若干通信设备轮流被选择作为目标设备,需求情况包括目标设备是否需要占用传输总线,即通过循环授权机制实现数据通信,故有利于提升数据通信效率。
103.在一些公开实施例中,检测模块81包括授权接收子模块,用于接收主机设备通过传输总线广播的总线授权报文;检测模块81包括选择确定子模块,用于基于总线授权报文,确定在本轮是否被选择为目标设备;回应模块82具体用于响应于在本轮被选择为目标设备,通过应答授权报文回应总线授权报文,以供主机设备基于应答授权报文获取需求情况。
104.因此,通过报文广播的方式获取需求情况,有利于提升确定需求情况的准确性。
105.在一些公开实施例中,数据通信装置80还包括传输模块,用于在确定将传输总线授权给目标设备的情况下,通过传输总线传输第二数值帧数据,且相邻两帧数据之间的时间间隔不低于第三数值个字节时间。
106.因此,在确定将传输总线授权给目标设备的情况下,通过传输总线传输第二数值帧数据,且相邻两帧数据之间的时间间隔不低于第三数值个字节时间,故能够区分各帧数据,有利于提升数据通信的准确性。
107.请参阅图9,图9是本技术通信设备90一实施例的框架示意图。具体而言,通信设备90可以包括非易失性存储器91、易失性存储器92和处理模组93,非易失性存储器91和易失性存储器92均耦接至处理模组93,且非易失性存储器91中存储有程序指令,易失性存储器92用于在数据通信过程中缓存数据,处理模组93用于执行程序指令以实现上述任一数据通信方法实施例中步骤。
108.在一些公开实施例中,易失性存储器92可以包括但不限于ddr3(double

data

rate three,第三代双倍数据率)、ddr4(double

data

rate four,第四代双倍数据率)等,在此不做限定。
109.在一些公开实施例中,非易失性存储器91可以包括但不限于flash(即闪存)、eeprom(electrically erasable programmable read only memory,带电可擦可编程只读
存储器)等,在此不做限定。
110.在一些公开实施例中,处理模组93包括处理核心931、收发模块932以及用于连接处理核心931和收发模块932的片内总线933。
111.在一个实施场中,收发模块932可以为ip核(即intellectual property core,知识产权核),是在集成电路的可重用设计方法学中,指某一方提供的、形式为逻辑单元、芯片设计的可重用模组,从而可以将收发模块932授权给需要的用户使用,并结合fpga(field

programmable gate array,现场可编程门阵列)实现本技术公开实施例中通信设备90,有利于提升可扩展性和灵活性。
112.在一个实施场景中,处理核心931可以采用arm(advanced risc machine,进阶精简指令集机器)架构。
113.在一个实施场景中,片内总线933可以采用包括但不限于axi(即advanced extensible interface)等,在此不做限定。
114.在一个实施场景中,如图9所示,收发模块932可以包括传输端口9321、配置端口9322、发送单元9323、接收单元9324、管理配置单元9325和调度仲裁单元9326,传输端口9321和配置端口9322分别与片内总线933连接,发送单元9323和接收单元9324分别与传输端口9321连接,管理配置单元9325包括输入端(未图示)和第一输出端(未图示),输入端与配置端口9322连接,第一输出端与发送单元9323和接收单元9324连接,调度仲裁单元9326包括第二输出端(未图示),且第二输出端与发送单元9323和接收单元9324连接。
115.在一个具体的实施场景中,发送单元9323和接收单元9324的数据收发时序可以基于标准的uart(universal asynchronous receiver/transmitter,通用异步收发器)收发时序,数据位固定为8bit。具体地,数据收发时序可以快于标准速率的uart。例如,标准uart速率最大是1mbps,而本公开实施例中通信设备90的最快速率可以为16mbps。此外,在运行过程中,波特率固定不变,且不可重配置,波特率具体可以根据需要进行设置。
116.在一个具体的实施场景中,如图9所示,发送单元9323具体可以包括缓存单元、封包单元和串行发单元,接收单元9324具体可以包括缓存单元、解包单元和串行收单元。也就是说,发送数据或接收数据需通过封包单元/解包单元进行重新封包/解包。例如,可以通过mdsi bus(multiple device serial

interaction bus,多设备串行交互总线)进行重新封包/解包,以一帧数据为单位,通过axi

hp通道与处理核心(如,arm内核)交互数据。
117.在一个具体的实施场景中,处理核心931具体可以通过axi

lite配置收发模块932的工作模式以及监控收发模块932的工作状态。此外,管理配置单元9325可以由一组寄存器组构成。
118.在一个具体的实施场景中,接收单元9324将接收到的数据以一帧为单位通过axim写到易失性存储器92中,然后通知处理核心931取数据;类似地,处理核心931可以将需要发送的一帧数据写入到易失性存储器92中,然后通知发送单元9323取数据,发送单元9323读取一帧数据之后,以uart的方式逐个字节输出。
119.在一个具体的实施场景中,封包单元具体可以根据待传输数据的帧长,转发数据,并生成帧间隔和产生前导码,对数据内容本身并不修改;类似地,解包单元可以区分不同种类的报文,并把接收的数据以一帧为单位写入到易失性存储器92中,以及把检测的报文错误上传至处理核心931,对报文内容本身也不做修改。
120.在一个具体地实施场景中,发送单元9323和接收单元9324数据段最大长度可以是1024字节,最大总长度可以是1032字节。图9中缓存单元的容量可以设计为256*64bit,具体可以根据需要进行设置,在此不做限定。在接收单元9324一侧,每接收完一帧报文之后,可以通过axi写入到易失性存储器92中,然后通知处理核心931取数据,类似地,在发送单元9323一侧,只要处理核心931有待传输数据,发送单元9323都会将数据不停地取到缓存单元中,并通过串行发单元传输。
121.上述方式,由于在数据通信过程中,轮流在各个通信设备选择目标设备进行授权,并基于目标设备的需求情况,确定是否将传输总线授权给目标设备,即通过循环授权机制实现数据通信,故有利于提升数据通信效率。
122.请参阅图10,图10是本技术计算机可读存储介质100一实施例的框架示意图。计算机可读存储介质100存储有能够被处理器运行的程序指令101,程序指令101用于实现上述任一数据通信方法实施例中的步骤。
123.上述方案,由于在数据通信过程中,轮流在各个通信设备选择目标设备进行授权,并基于目标设备的需求情况,确定是否将传输总线授权给目标设备,即通过循环授权机制实现数据通信,故有利于提升数据通信效率。
124.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
125.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
126.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
127.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
128.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
129.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,
read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1