CN115708076A - 用于单总线的通信方法、装置、服务器及存储介质 - Google Patents
用于单总线的通信方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN115708076A CN115708076A CN202110956956.9A CN202110956956A CN115708076A CN 115708076 A CN115708076 A CN 115708076A CN 202110956956 A CN202110956956 A CN 202110956956A CN 115708076 A CN115708076 A CN 115708076A
- Authority
- CN
- China
- Prior art keywords
- communication
- target
- bus
- equipment
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本申请涉及数据通信技术领域,公开一种用于单总线的通信方法,应用于服务器,所述方法包括获取通讯总线的当前通讯状态;根据所述通讯总线的当前通讯状态以及所述通讯总线相关联的目标通讯设备的通讯信息,获得所述目标通讯设备的第一目标等待时长;获取所述第一目标等待时长内所述通讯总线的目标通讯状态;控制所述目标通讯设备根据所述目标通讯状态进行数据传输。该方法能够避免多主机设备在使用通讯总线过程中出现通信冲突。本申请还公开一种用于单总线的通信装置、服务器及存储介质。
Description
技术领域
本申请涉及数据通信技术领域,例如涉及一种用于单总线的通信方法、装置、服务器及存储介质。
背景技术
目前,单总线通信采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O(input/output,输入/输出端口)总线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。
现有的单总线通信可以实现单个主机***与该主机***所挂载的多个从节点的通信,由于这种方案中只有一个主机***,因此不会出现总线冲突问题。但是要实现单总线通信中的每个节点都可以作为主机和从机的情况,实现多个节点数据的双向通信,就必须解决单总线通信过程中多个节点同时申请使用总线的数据冲突问题。
传统的单总线通信方案,虽然多个节点设备可以同时挂载于一主机***,但是并未解决多个节点设备通信冲突的问题,导致其只适用于单个主机***,即一个主机设备控制一个或者多个从机设备。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
现有的单总线通信方案无法解决多主机设备通信冲突的问题。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于单总线的通信方法、装置、服务器和存储介质,以避免多主机设备在使用通讯总线过程中出现通信冲突。
在一些实施例中,所述方法应用于服务器,所述方法包括:获取通讯总线的当前通讯状态;根据所述通讯总线的当前通讯状态以及所述通讯总线相关联的目标通讯设备的通讯信息,获得所述目标通讯设备的第一目标等待时长;获取所述第一目标等待时长内所述通讯总线的目标通讯状态;控制所述目标通讯设备根据所述目标通讯状态进行数据传输。
在一些实施例中,所述装置包括:处理器和存储有程序指令的存储器,所述处理器被配置为在运行所述程序指令时,执行如前述的用于单总线的通信方法。
在一些实施例中,所述服务器,包括如前述的数据传输装置。
在一些实施例中,所述存储介质,存储有程序指令,所述程序指令在运行时,执行如前述的用于单总线的通信方法。
本公开实施例提供的用于单总线的通信方法、装置、服务器和存储介质,可以实现以下技术效果:
服务器可根据通讯总线的当前通讯状态以及目标通讯设备的通讯信息,获得目标通讯设备的第一目标等待时长,并根据第一目标等待时长内的通讯总线的目标通讯状态,控制目标通讯设备通过通讯总线进行数据的传输,该方法能够从时序角度获取通讯总线的目标通讯状态并根据该通讯状态控制通讯总线的使用权,无论目标通讯设备是主机设备还是从机设备,均能够获得通讯总线的使用权,避免多主机设备在使用通讯总线过程中出现通信冲突。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是单总线通信***环境示意图;
图2是本公开实施例提供的一个用于单总线的通信方法的示意图;
图3是本公开实施例提供的另一个用于单总线的通信方法的示意图;
图4是本公开实施例提供的另一个用于单总线的通信方法的示意图;
图5是本公开实施例提供的另一个用于单总线的通信方法的示意图;
图6是本公开实施例提供的另一个用于单总线的通信方法的示意图;
图7是本公开实施例提供的一个应用示意图;
图8是本公开实施例提供的另一个应用示意图;
图9是本公开实施例提供的另一个应用示意图;
图10是本公开实施例提供的一个用于单总线的通信装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
本公开实施例中,智能家电设备是指将微处理器、传感器技术、网络通信技术引入家电设备后形成的家电产品,具有智能控制、智能感知及智能应用的特征,智能家电设备的运作过程往往依赖于物联网、互联网以及电子芯片等现代技术的应用和处理,例如智能家电设备可以通过连接电子设备,实现用户对智能家电设备的远程控制和管理。
公开实施例中,终端设备是指具有无线连接功能的电子设备,终端设备可以通过连接互联网,与如上的智能家电设备进行通信连接,也可以直接通过蓝牙、wifi等方式与如上的智能家电设备进行通信连接。在一些实施例中,终端设备例如为移动设备、电脑、或悬浮车中内置的车载设备等,或其任意组合。移动设备例如可以包括手机、智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备等,或其任意组合,其中,可穿戴设备例如包括:智能手表、智能手环、计步器等。
结合图1所示,单总线通信***包括通讯总线、与通讯总线通信连接的多个通讯设备(R、G、B、W、O)以及服务器。各通讯设备均可通过通讯总线向其他通讯设备发送通讯数据或者接收其他通讯设备通过通讯总线传输的通讯数据。各通讯设备配置有通讯信息,通讯信息包括地址信息和等待时间信息。各通讯设备的地址信息不同且等待时间信息不同。服务器可执行如下述的用于单总线的通信方法。
结合图2所示,本公开实施例提供一种用于单总线的通信方法,应用于服务器,该方法包括:
S01,服务器获取通讯总线的当前通讯状态。
S02,服务器根据通讯总线的当前通讯状态以及通讯总线相关联的目标通讯设备的通讯信息,获得目标通讯设备的第一目标等待时长。
S03,服务器获取第一目标等待时长内通讯总线的目标通讯状态。
S04,服务器控制目标通讯设备根据目标通讯状态进行数据传输。
采用本公开实施例提供的用于单总线的通信方法,服务器可根据通讯总线的当前通讯状态以及目标通讯设备的通讯信息,获得目标通讯设备的第一目标等待时长,并根据第一目标等待时长内的通讯总线的目标通讯状态,控制目标通讯设备通过通讯总线进行数据的传输,该方法能够从时序角度获取通讯总线的目标通讯状态并根据该通讯状态控制通讯总线的使用权,无论目标通讯设备是主机设备还是从机设备,均能够获得通讯总线的使用权,避免多主机设备在使用通讯总线过程中出现通信冲突。此外,由于该方法的目标通讯设备可以为主机设备,也可以为从机设备,所以,使得与通讯总线相关联的通讯设备均能够通过通讯总线传输数据,实现了通讯设备之间的互联互通。
其中,服务器控制目标通讯设备根据目标通讯状态进行数据传输,可以为在目标通讯状态在第一目标等待时长内持续为空闲的情况下,服务器控制目标通讯设备通过通讯总线进行数据传输。
这样,第一目标等待时长内通讯总线处于空闲,表明第一目标等待时长内该通讯总线未被使用,因此,目标通讯设备可以具有通讯总线的使用权,因此,服务器控制目标通讯设备通过通讯总线进行数据传输。
可以理解地,在目标通讯状态在第一目标等待时长内存在被占用的情况时,表明除目标通讯设备以外的其他通讯设备获取到通讯总线的使用权,此时,目标通讯设备无权使用通讯总线,也就无法通过通讯总线进行数据传输。
可选的,通讯信息包括等待时间信息。结合图3所示,根据通讯总线的当前通讯状态以及通讯总线相关联的目标通讯设备的通讯信息,获得目标通讯设备的第一目标等待时长,包括:
S11,服务器在通讯总线的当前通讯状态表示通讯总线处于空闲的情况下,获得通讯总线相关联的目标通讯设备的目标通讯信息。
S12,服务器从目标通讯信息中提取目标通讯设备的第一目标等待时长。
这样,在服务器确定通讯总线处于空闲时,表明通讯总线当前未被其他通讯设备占用,此时,服务器获取目标通讯设备的目标通讯信息,并从中提取出该目标通讯设备的第一目标等待时长,从而能够获取第一目标等待时长内的通讯总线的目标通讯状态。
结合图4所示,本公开实施例还提供一种用于单总线的通信方法,应用于服务器,通讯总线与多个通讯设备相关联,且多个通讯设备的等待时长不同。通讯信息包括等待时间信息。该方法包括:
S21,服务器获取通讯总线的当前通讯状态。
S22,服务器在通讯总线的当前通讯状态表示通讯总线处于空闲的情况下,获取通讯总线相关联的多个通讯设备的通讯信息。
S23,服务器根据多个通讯设备的通讯信息,获得多个通讯设备的等待时间信息。
S24,服务器将等待时间信息的时长最小的通讯设备确定为目标通讯设备。
S25,服务器获得通讯总线相关联的目标通讯设备的目标通讯信息。
S26,服务器从目标通讯信息中提取目标通讯设备的第一目标等待时长。
S27,服务器获取第一目标等待时长内通讯总线的目标通讯状态。
S28,服务器控制目标通讯设备根据目标通讯状态进行数据传输。
采用本公开实施例提供的用于单总线的通信方法,在多个通讯设备与通讯总线相关联的情况下,服务器在确定通讯总线处于空闲时,获取通讯总线相关联的多个通讯设备的通讯信息,并根据通讯信息获得多个通讯设备的等待时间信息,并将等待时间信息的时长最小的通讯设备确定为目标通讯设备,由此,服务器能够根据多个通讯设备的通讯信息的等待时间信息确定出目标通讯设备,从而快速有效地确定目标通讯设备,有效地避免了多主机设备在使用通讯总线过程中出现通信冲突。
可以理解地,多个通讯设备的等待时长不同。等待时长也可以反映出通讯设备使用通讯总线的优先级。作为一种示例,通讯设备有两个,分别为第一通讯设备和第二通讯设备,且第一通讯设备的等待时长小于第二通讯设备,则在第一通讯设备具有高于第二通讯设备的优先级。
结合图5所示,本公开实施例还提供一种用于单总线的通信方法,应用于服务器,通讯总线与多个通讯设备相关联,且多个通讯设备的等待时长不同,且多个通讯设备的地址信息不同。通讯信息包括等待时间信息和地址信息。该方法包括:
S31,服务器获取通讯总线的当前通讯状态。
S32,服务器在通讯总线的当前通讯状态表示通讯总线处于空闲且确定多个通讯设备向通讯总线发送通讯请求的情况下,获取通讯总线相关联的多个通讯设备的通讯信息。
S33,服务器根据多个通讯设备的通讯信息,获得多个通讯设备的等待时间信息。
S34,服务器将等待时间信息的时长最小的通讯设备确定为目标通讯设备。
S35,服务器获得通讯总线相关联的目标通讯设备的目标通讯信息。
S36,服务器从目标通讯信息中提取目标通讯设备的第一目标等待时长。
S37,服务器获取第一目标等待时长内通讯总线的目标通讯状态。
S38,服务器控制目标通讯设备根据目标通讯状态进行数据传输。
S39,服务器获取向通讯总线发送通讯请求的通讯设备的地址信息。
S40,服务器将与目标通讯设备的地址信息不同的通讯设备确定为通讯等待设备。
S41,服务器根据通讯等待设备的等待时间信息,确定通讯等待设备的第二目标等待时长,以使通讯等待设备根据第二目标等待时长确定的通讯总线的通讯状态进行数据传输。
采用本公开实施例提供的用于单总线的通信方法,由于与通讯总线相关联的通讯设备有多个且配置有不同的地址信息,在通讯总线处于空闲且确定多个通讯设备向通讯总线发送通讯请求时,服务器需要从多个通讯设备中确定出目标通讯设备,与此同时,与目标通讯设备的地址信息不同的其他通讯设备也需要传输数据,所以,服务器获取向通讯总线发送通讯请求的通讯设备的地址信息,并将与目标通讯设备的地址信息不同的通讯设备确定为通讯等待设备,以及根据通讯等待设备的等待时间信息,确定与其对应的第二目标等待时长,从而使得通讯等待设备获取第二目标等待时长内的通讯总线的使用情况,以根据使用情况进行数据的传输。
可选的,服务器在确定多个通讯设备同时向通讯总线发送通讯请求的情况下,确定预设冲突超时时长为等待时间信息。
服务器在确定多个通讯设备不同时刻向通讯总线发送通讯请求的情况下,确定预设空闲超时时长为等待时间信息。
这样,服务器在确定多个通讯设备同时向通讯总线发送通讯请求的情况下,表明多个通讯设备出现通讯冲突,此时,将预设冲突超时时长确定为等待时间信息。服务器在确定多个通讯设备不同时刻向通讯总线发送通讯请求的情况下,即任意两个通讯设备先后向通讯总线发送通讯请求,此时,将预设空闲超时时长确定为等待时间信息。
可以理解地,在服务器确定多个通讯设备同时向通讯总线发送通讯请求时,向通讯总线发送通讯请求的多个通讯设备将各自等待预设冲突超时时长。
可选的,按照以下方式获得预设冲突超时时长:
t预设冲突=10+(NodeAddress&0x1F)
其中,t预设冲突表示预设冲突超时时长,单位为ms(毫秒),NodeAddress表示地址信息。&表示按位与。
这样,t预设冲突基于地址信息的低5位计算获得,且地址信息的低5位越小,t预设冲突越小。
可以理解地,10ms≤t预设冲突≤41ms。
可选的,按照以下方式获得预设空闲超时时长:
t预设空闲=43+(NodeAddress&0x1F)+(PseudoRandomNumber&0x1F)
其中,t预设空闲表示预设空闲超时时长,单位为ms(毫秒),PseudoRandomNumber表示伪随机数且0≤PseudoRandomNumber≤255。
可以理解地,43ms≤t预设空闲≤105ms。
可选的,结合图6所示,服务器控制目标通讯设备根据目标通讯状态进行数据传输,包括:
S51,在确定目标通讯设备向通讯总线发送通讯数据且目标通讯设备在ACK(Acknowledge character,确认字符)时段内未接收到ACK的情况下,服务器控制目标通讯设备重新向通讯总线发送通讯数据,ACK由通讯总线接收到通讯数据后生成并在ACK时段内向目标通讯设备发送。
S52,在确定目标通讯设备在ACK时段内接收到ACK的情况下,服务器确定通讯总线接收到通讯数据。
其中,ACK时段的时长小于目标通讯设备的等待时间信息的时长。ACK时段的时长大于或者等于6ms且小于或者等于10ms。
这样,服务器在确定目标通讯设备向通讯总线发送通讯数据且目标通讯设备在ACK时段内未接收到ACK时,表明目标通讯设备发送通讯数据失败,因此,目标通讯设备必须重新发送该通讯数据,服务器在确定目标通讯设备在ACK时段内接收到ACK时,表明目标通讯设备成功发送通讯数据。
需要说明的是,目标通讯设备重新发送通讯数据后,在ACK时段内仍未接收到ACK时,则服务器确定目标通讯设备通讯数据发送失败,且服务器不会控制目标通讯设备再次重新发送通讯数据。
可选的,目标通讯设备传输的通讯数据包括多个数据包且相邻数据包之间具有延时时间信息。
延时时间信息的时长小于目标通讯设备的等待时间信息的时长。
这样,延时时间信息小于目标通讯设备的等待时间信息的时长,能够确保目标通讯设备通过通讯总线传输的通讯数据为完整的数据,传输通讯数据的过程中不会发生中断,在避免多主机设备在使用通讯总线过程中出现通信冲突的基础上,保证了通讯设备数据传输的可靠性。
其中,延时时间信息的时长小于或者等于6ms。
在实际应用中,图7表示以下应用场景:
通讯设备R向通讯设备B发送通讯数据,且在通讯设备B响应前,通讯设备G向通讯设备R发送通讯数据。
其中,通讯设备B的通讯信息的等待时间信息的等待时长小于通讯设备G的通讯信息的等待时间信息的等待时长。
该用于单总线的通信方法执行步骤如下:
首先,服务器获取通讯总线的当前通讯状态为空闲,通讯设备R获取该通讯设备R对应的第一目标等待时长,服务器确认在该通讯设备R对应的第一目标等待时长内通讯总线持续空闲,此时,通讯设备R向通讯设备B发送通讯数据,通讯设备B成功接收到通讯数据后在ACK时段的时长ACK Timeout内向通讯设备R发送ACK。
其次,服务器在通讯设备B发送ACK后获取通讯总线的当前通讯状态为空闲,通讯设备G获取该通讯设备G对应的第一目标等待时长G Bus Idle Time,服务器确认在第一目标等待时长G Bus Idle Time内通讯总线持续空闲,此时,通讯设备G向通讯设备R发送通讯数据,通讯设备R成功接收到通讯数据后在ACK Timeout内向通讯设备G发送ACK。
然后,服务器在通讯设备R发送ACK后获取通讯总线的当前通讯状态为空闲,通讯设备B获取该通讯设备B对应的第一目标等待时长B Bus Idle Time,服务器确认在第一目标等待时长B Bus Idle Time内通讯总线持续空闲,此时,通讯设备B向通讯设备R发送通讯数据,通讯设备R成功接收到通讯数据后在ACK Timeout内向通讯设备B发送ACK。
其中,ACK时段的时长小于所有通讯设备的第一目标等待时长,且延时时间信息Inter-byte Delay小于所有通讯设备的第一目标等待时长。
图8表示另一应用场景:
应用场景为:通讯设备R、G同时向通讯总线发送通讯请求。
其中,通讯设备R的通讯信息的等待时间信息的等待时长小于通讯设备G的通讯信息的等待时间信息的等待时长。
首先,服务器确定通讯设备R、G同时向通讯总线发送通讯请求,此时,通讯设备R、G出现通讯冲突,此时,将预设冲突超时时长作为等待时长。
其次,由于通讯设备R的预设冲突超时时长A Collision Timeout小于通讯设备G的预设冲突超时时长G Collision Timeout,所以,服务器将通讯设备R确定为目标通讯设备。
然后,通讯设备R在预设冲突超时时长A Collision Timeout内确定通讯总线持续空闲后,通过通讯总线向通讯设备B传输通讯数据,通讯设备B成功接收到通讯数据后在ACKTimeout内向通讯设备R发送ACK。服务器在通讯设备B发送ACK后获取通讯总线的当前通讯状态为空闲,通讯设备G在预设冲突超时时长G Collision Timeout内确定通讯总线持续空闲后,通过通讯总线向通讯设备R传输通讯数据,通讯设备R成功接收到通讯数据后在ACKTimeout内向通讯设备G发送ACK。
图9表示另一应用场景:
应用场景为:通讯设备R通过通讯总线向通讯设备B传输数据。
通讯设备R在ACK Timeout内未接收到ACK的情况下,服务器控制通讯设备R重新通过通讯总线向通讯设备B传输数据,ACK由通讯总线接收到通讯数据后生成并在ACKTimeout内向通讯设备R发送。
服务器确定通讯设备R仍未收到ACK,确定通讯设备R通讯数据发送失败,且服务器不会控制通讯设备R再次重新发送通讯数据。
结合图10所示,本公开实施例提供一种用于单总线的通信装置,包括处理器(processor)100和存储器(memory)101。可选地,该装置还可以包括通信接口(Communication Interface)102和总线103。其中,处理器100、通信接口102、存储器101可以通过总线103完成相互间的通信。通信接口102可以用于信息传输。处理器100可以调用存储器101中的逻辑指令,以执行上述实施例的用于单总线的通信方法。
此外,上述的存储器101中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器100通过运行存储在存储器101中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于单总线的通信方法。
存储器101可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器101可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种服务器,包含上述的用于单总线的通信装置。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于单总线的通信方法。
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于单总线的通信方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于单总线的通信方法,其特征在于,应用于服务器,所述方法包括:
获取通讯总线的当前通讯状态;
根据所述通讯总线的当前通讯状态以及所述通讯总线相关联的目标通讯设备的通讯信息,获得所述目标通讯设备的第一目标等待时长;
获取所述第一目标等待时长内所述通讯总线的目标通讯状态;
控制所述目标通讯设备根据所述目标通讯状态进行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述通讯信息包括等待时间信息,所述根据所述通讯总线的当前通讯状态以及所述通讯总线相关联的目标通讯设备的通讯信息,获得所述目标通讯设备的第一目标等待时长,包括:
在所述通讯总线的当前通讯状态表示所述通讯总线处于空闲的情况下,获得所述通讯总线相关联的目标通讯设备的目标通讯信息;
从所述目标通讯信息中提取所述目标通讯设备的第一目标等待时长。
3.根据权利要求2所述的方法,其特征在于,所述通讯总线与多个通讯设备相关联,且所述多个通讯设备的等待时长不同,所述获得所述通讯总线相关联的目标通讯设备的目标通讯信息之前,还包括:
获取所述通讯总线相关联的多个通讯设备的通讯信息;
根据所述多个通讯设备的通讯信息,获得所述多个通讯设备的等待时间信息;
将所述等待时间信息的时长最小的通讯设备确定为所述目标通讯设备。
4.根据权利要求3所述的方法,其特征在于,所述通讯信息还包括地址信息,所述多个通讯设备的地址信息不同,在确定多个通讯设备向所述通讯总线发送通讯请求的情况下,所述将所述等待时间信息的时长最小的通讯设备中确定为所述目标通讯设备之后,还包括:
获取向所述通讯总线发送所述通讯请求的通讯设备的地址信息;
将与所述目标通讯设备的地址信息不同的通讯设备确定为通讯等待设备;
根据所述通讯等待设备的等待时间信息,确定所述通讯等待设备的第二目标等待时长,以使所述通讯等待设备根据所述第二目标等待时长确定的所述通讯总线的通讯状态进行数据传输。
5.根据权利要求3所述的方法,其特征在于,
在确定多个通讯设备同时向所述通讯总线发送通讯请求的情况下,确定预设冲突超时时长为所述等待时间信息;
在确定所述多个通讯设备不同时刻向所述通讯总线发送通讯请求的情况下,确定预设空闲超时时长为所述等待时间信息。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述控制所述目标通讯设备根据所述目标通讯状态进行数据传输,包括:
在确定所述目标通讯设备向所述通讯总线发送通讯数据且所述目标通讯设备在ACK时段内未接收到ACK的情况下,控制所述目标通讯设备重新向所述通讯总线发送所述通讯数据,所述ACK由所述通讯总线接收到所述通讯数据后生成并在所述ACK时段内向所述目标通讯设备发送;
在确定所述目标通讯设备在所述ACK时段内接收到所述ACK的情况下,确定所述通讯总线接收到所述通讯数据;
其中,所述ACK时段的时长小于所述目标通讯设备的等待时间信息的时长。
7.根据权利要求2至5任一项所述的方法,其特征在于,所述目标通讯设备传输的通讯数据包括多个数据包且相邻数据包之间具有延时时间信息;
所述延时时间信息的时长小于所述目标通讯设备的等待时间信息的时长。
8.一种用于单总线的通信装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至7任一项所述的用于单总线的通信方法。
9.一种服务器,其特征在于,包括如权利要求8所述的数据传输装置。
10.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至7任一项所述的用于单总线的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110956956.9A CN115708076A (zh) | 2021-08-19 | 2021-08-19 | 用于单总线的通信方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110956956.9A CN115708076A (zh) | 2021-08-19 | 2021-08-19 | 用于单总线的通信方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115708076A true CN115708076A (zh) | 2023-02-21 |
Family
ID=85212792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110956956.9A Pending CN115708076A (zh) | 2021-08-19 | 2021-08-19 | 用于单总线的通信方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115708076A (zh) |
-
2021
- 2021-08-19 CN CN202110956956.9A patent/CN115708076A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101484873B (zh) | 接口的同时运行 | |
JP2010272971A (ja) | 制御システム及び制御プログラム書換方法 | |
EP3502908B1 (en) | Spi-based data transmission method and device | |
US6449289B1 (en) | Multi-processor bus protocol system | |
CN115941102B (zh) | 一种采用spi连接mcu和fpga的控制器间同步通信的方法 | |
CN107947906B (zh) | 从属设备 | |
CN104461978B (zh) | 单向数据传输的方法及装置 | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN113641610A (zh) | 处理器接口电路及处理器接口分时复用方法、电子设备 | |
CN103885910B (zh) | 多设备在主模式下进行iic通信的方法 | |
CN115708076A (zh) | 用于单总线的通信方法、装置、服务器及存储介质 | |
CN116566761A (zh) | Spi双主机共享仲裁***及方法 | |
US11803494B2 (en) | Data communication method, master device and system | |
CN115065966B (zh) | 终端和通信方法 | |
KR101857088B1 (ko) | 리턴 회로를 갖는 리모트 입출력 장치 및 그의 내부 버스 통신 방법 | |
CN113961497A (zh) | 通信电路***、方法、芯片以及存储介质 | |
CN111400213A (zh) | 传输数据的方法、装置及*** | |
CN115604366B (zh) | 用于数据传输的方法、装置、近场通信芯片及存储介质 | |
KR102251494B1 (ko) | 멀티 드롭 직렬통신 방식을 이용한 plc 증설 모듈 인터페이스 방법 | |
CN114490454B (zh) | 一种设备串口自适应驱动的方法、装置和串口设备 | |
KR101876636B1 (ko) | 메시지 송수신 장치 및 방법 | |
CN110554984B (zh) | 基于cpld的串口桥接方法及*** | |
JP2639248B2 (ja) | 通信インターフェイス装置 | |
CN117674910A (zh) | 用于nfc设备的数据接收方法、nfc设备 | |
CN117008968A (zh) | 一种控制方法、装置、通信设备、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |