CN116684389A - 地址自动分配方法及具有其的主机、从机和通信设备 - Google Patents
地址自动分配方法及具有其的主机、从机和通信设备 Download PDFInfo
- Publication number
- CN116684389A CN116684389A CN202310963079.7A CN202310963079A CN116684389A CN 116684389 A CN116684389 A CN 116684389A CN 202310963079 A CN202310963079 A CN 202310963079A CN 116684389 A CN116684389 A CN 116684389A
- Authority
- CN
- China
- Prior art keywords
- slave
- information
- port
- ith
- data receiving
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 276
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012546 transfer Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000006855 networking Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 5
- 230000008054 signal transmission Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5038—Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40032—Details regarding a bus interface enhancer
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种地址自动分配方法及具有其的主机、从机和通信设备,包括预先构建主从式通信网络;在第一信号输出端口处的电平信号为高电平的情况下,通过第一信号输出端口,向通信连接的第i个从机发送地址信息,i=1;通过第一数据收发端口,获取第i个从机返回的从机信息;当通过第一数据收发端口,接收到第i个从机发送的地址分配结束信息时,结束地址分配流程,当未接收到地址分配结束信息时,继续通过第一数据收发端口,获取第i+1个从机返回的从机信息,直至接收到第i+1个从机发送的地址分配结束信息时,结束地址分配流程。本发明基于主从式通信网络,可以实现地址的逐级自动分配,受局限性小,效率高,失误率低。
Description
技术领域
本发明涉及通信地址分配技术领域,具体涉及一种地址自动分配方法及具有其的主机、从机和通信设备。
背景技术
在半双工(如RS485通信)和全双工(如CAN通信)的通信方式中,通常含有一个主机和多个从机,即采用的是主从式通信设备。为确保主机和各从机之间的正常通信,需要为每个从机分配唯一的地址。
目前,主从式通信设备的从机分配地址的方法主要由两种,一种是在通信前,相关人员手动分配好每个从机的地址;该方法需要相关人员记住每个从机的地址,以确保每个从机均能分配到唯一的地址,受局限性大,且效率低。另一种是通过主机广播的方式,来为每个从机分别分配地址;该方法当从机数量较多时,从机之间的竞争激烈,通信效率低下,失误率较高。
发明内容
有鉴于此,本发明提供了一种地址自动分配方法及具有其的主机、从机和通信设备,以解决现有地址分配方法效率低和失误率高的问题。
本发明提供了一种地址自动分配方法,应用于通信设备中的主机,所述通信设备包括一个主机和N个从机,N≥1,所述方法包括:
步骤A1:预先构建主从式通信网络;
在所述主从式通信网络中,所述主机设有第一数据收发端口和第一信号输出端口;所述主机的所述第一数据收发端口与每个所述从机均通信连接,所述主机的所述第一信号输出端口还与第1个所述从机通信连接;
步骤A2:在所述第一信号输出端口处的电平信号为高电平的情况下,通过所述第一信号输出端口,向通信连接的第i个所述从机发送地址信息,此时i=1;
步骤A3:通过所述第一数据收发端口,获取第i个所述从机返回的从机信息;
步骤A4:判断是否通过所述第一数据收发端口,接收到第i个所述从机发送的地址分配结束信息,若是,执行步骤A5;否则执行步骤A6;
步骤A5:结束地址分配流程;
步骤A6:令i=i+1,此时1<i≤N,继续通过所述第一数据收发端口,获取第i+1个所述从机返回的所述从机信息,并返回所述步骤A4,直至通过所述第一数据收发端口,接收到第i+1个所述从机发送的所述地址分配结束信息时,结束地址分配流程。
可选地,在所述步骤A2之前,所述方法还包括:
进行初始化,并默认设置所述第一信号输出端口为输入状态;
实时检测所述第一信号输出端口处的所述电平信号,当所述电平信号为高电平时,设置所述第一信号输出端口为输出状态,并执行所述步骤A2;当所述电平信号为低电平时,继续实时检测所述第一信号输出端口处的所述电平信号,直至所述电平信号为高电平。
可选地,所述主从式通信网络的通信协议为半双工总线协议和全双工总线协议中的任一种;
当所述主从式通信网络的通信协议为所述半双工总线协议时,所述主机还设有第三数据收发端口,所述第三数据收发端口与每个所述从机均通信连接;
则所述进行初始化之后,所述方法还包括:
设置所述第三数据收发端口和所述第一数据收发端口均为数据接收状态。
此外,本发明还提供一种地址自动分配方法,应用于通信设备中的第i个从机,所述通信设备包括一个主机和N个从机,N≥1,1≤i≤N;所述方法包括:
步骤B1:预先构建主从式通信网络;
在所述主从式通信网络中,每个所述从机均设有第二数据收发端口、第二信号输出端口和信号输入端口;每个所述从机的所述第二数据收发端口与所述主机均通信连接;
对于第i个所述从机,当i=1时,第i个所述从机的所述信号输入端口与所述主机通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当1<i≤N-1时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当i=N时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口接地;
步骤B2:当i=1时,第i个所述从机通过对应的所述信号输入端口,等待接收通信连接的所述主机发送的所述地址信息;当1<i≤N时,第i个所述从机通过对应的所述信号输入端口,等待接收通信连接的第i-1个所述从机的所述第二信号输出端口发送的所述地址信息;
步骤B3:在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息;并在所述从机信息发送正确的情况下,依次执行步骤B4a至步骤B6或执行步骤B4b;在所述从机信息发送不正确的情况下,重新在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的所述从机信息,直至所述从机信息发送正确后,依次执行所述步骤B4a至所述步骤B6或执行所述步骤B4b;
步骤B4a:第i个所述从机在对应的所述第二信号输出端口处的电平信号为高电平的情况下,基于自身接收到的所述地址信息,获取通信连接的第i+1个所述从机的所述地址信息;并通过自身的所述第二信号输出端口,向第i+1个所述从机的所述信号输入端口,发送第i+1个所述从机的所述地址信息,之后依次执行所述步骤B5至所述步骤B6;
步骤B4b:第i个所述从机在对应的所述第二信号输出端口处的所述电平信号为低电平的情况下,通过自身的所述第二数据收发端口,向所述主机发送地址分配结束信息;第i个所述从机在发送的所述地址分配结束信息正确的情况下,结束自身的地址分配流程;第i个所述从机在发送的所述地址分配结束信息不正确的情况下,继续通过自身的所述第二数据收发端口,向所述主机发送所述地址分配结束信息,直至所述地址分配结束信息发送正确,结束自身的地址分配流程;
步骤B5:第i个所述从机判断是否通过自身的所述第二数据收发端口,接收到发送出去的所述地址信息,若是,则执行所述步骤B6,否则返回所述步骤B4a;
步骤B6:第i个所述从机判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息是否一致,若是,则结束自身的地址分配流程,否则返回所述步骤B4a。
可选地,所述主从式通信网络的通信协议为半双工总线协议和全双工总线协议中的任一种;
当所述主从式通信网络的通信协议为所述半双工总线协议时,所述从机还设有第四数据收发端口,每个所述从机的所述第四数据收发端口与所述主机均通信连接;
则所述步骤B3中,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息之前,还包括:
在接收到所述地址信息的情况下,设置第i个所述从机对应的所述第二数据收发端口和所述第四数据收发端口均为数据发送状态。
可选地,当所述主从式通信网络的通信协议为所述半双工总线协议时,所述步骤B5之前,还包括:
设置第i个所述从机对应的所述第二数据收发端口和所述第四数据收发端口均为数据接收状态。
可选地,在所述步骤B3中,所述向所述主机发送对应的从机信息之后,所述方法还包括:
判断所述从机信息是否发送正确。
此外,本发明还提供一种主机,应用于包括一个主机和N个从机的通信设备,所述主机设有第一数据收发端口和第一信号输出端口,还包括:
第一组网模块,用于预先构建主从式通信网络;
在所述主从式通信网络中,所述主机的所述第一数据收发端口与每个所述从机均通信连接,所述主机的所述第一信号输出端口还与第1个所述从机通信连接;
地址信息发送模块,用于在所述第一信号输出端口处的电平信号为高电平的情况下,通过所述第一信号输出端口,向通信连接的第i个所述从机发送地址信息,此时i=1;
从机信息接收模块,用于通过所述第一数据收发端口,获取第i个所述从机返回的从机信息;
流程结束判断模块,用于判断是否通过所述第一数据收发端口,接收到第i个所述从机发送的地址分配结束信息;当接收到所述地址分配结束信息时,结束地址分配流程;
所述从机信息接收模块,还用于当所述流程结束判断模块判断未接收到所述地址分配结束信息时,令i=i+1,继续通过所述第一数据收发端口,获取第i+1个所述从机返回的所述从机信息;直至所述流程结束判断模块判断通过所述第一数据收发端口,接收到第i+1个所述从机发送的所述地址分配结束信息时,结束地址分配流程。
此外,本发明还提供一种从机,应用于包括一个主机和N个从机的通信设备,所述从机设有第二数据收发端口、第二信号输出端口和信号输入端口,还包括:
第二组网模块,用于预先构建主从式通信网络;
在所述主从式通信网络中,每个所述从机的所述第二数据收发端口与所述主机均通信连接;
对于第i个所述从机,当i=1时,第i个所述从机的所述信号输入端口与所述主机通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当1<i≤N-1时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当i=N时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口接地;
地址信息接收模块,用于当i=1时,通过对应的所述信号输入端口,等待接收通信连接的所述主机发送的所述地址信息;当1<i≤N时,通过对应的所述信号输入端口,等待接收通信连接的第i-1个所述从机的所述第二信号输出端口发送的所述地址信息;
从机信息发送模块,用于在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息;还用于在所述从机信息发送不正确的情况下,重新在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的所述从机信息,直至所述从机信息发送正确;
地址信息传递模块,用于在所述从机信息发送正确且在对应的所述第二信号输出端口处的电平信号为高电平的情况下,基于自身接收到的所述地址信息,获取通信连接的第i+1个所述从机的所述地址信息;并通过自身的所述第二信号输出端口,向第i+1个所述从机的所述信号输入端口,发送第i+1个所述从机的所述地址信息;
地址信息核对模块,用于判断是否通过自身的所述第二数据收发端口,接收到发送出去的所述地址信息,当判断接收到发送出去的所述地址信息时,继续判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息是否一致,若是,则结束自身的地址分配流程;
地址信息重新分配模块,用于在所述地址信息核对模块判断未接收到发送出去的所述地址信息时,返回所述地址信息传递模块,并重新执行所述地址信息传递模块的功能,直至所述地址信息核对模块判断接收到发送出去的所述地址信息;还用于在所述地址信息核对模块判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息不一致时,返回所述地址信息传递模块,并重新执行所述地址信息传递模块的功能,直至通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息一致,结束自身的地址分配流程;
结束信息发送模块,用于在所述从机信息发送正确且在对应的所述第二信号输出端口处的所述电平信号为低电平的情况下,通过自身的所述第二数据收发端口,向所述主机发送地址分配结束信息;在发送的所述地址分配结束信息正确的情况下,结束自身的地址分配流程;在发送的所述地址分配结束信息不正确的情况下,继续通过自身的所述第二数据收发端口,向所述主机发送所述地址分配结束信息,直至所述地址分配结束信息发送正确,结束自身的地址分配流程。
此外,本发明还提供一种通信设备,包括前述的主机和N个前述的从机,N≥1;
每个所述从机与所述主机均通信连接,对于第i个所述从机,当i=1时,第i个所述从机还与第i+1个所述从机通信连接;当1<i≤N-1时,第i个所述从机还分别与第i-1个所述从机和第i+1个所述从机通信连接;当i=N时,第i个所述从机还与第i-1个所述从机通信连接。
本发明的有益效果:主机的第一数据收发端口与每个从机的第二数据收发端口均通信连接,便于在地址分配过程中,接收每个从机返回的从机信息,还便于接收从机发送的地址分配结束信息;主机的第一信号输出端口与第1个从机的信号输入端口通信连接,之后每个从机通过第二信号输出端口与下一个从机的信号输入端口通信连接,在第一信号输出端口处的电平信号为高电平时,意味着主机需要向通信连接的第1个从机分配地址(即发送地址信息),而当从机的第二信号输出端口处的电平信号为高电平时,则意味着该从机需要向下一个从机分配地址,基于各从机之间的连接关系,利用上一个从机的第二信号输出端口和下一个从机的信号输入端口,即可实现从机地址的逐级自动分配;而当第二信号输出端口的电平信号为低电平时,则意味着当前状态下整个通信设备无需继续分配地址,代表此时该低电平的第二信号输出端口所对应的从机为最后一级从机,即可结束从机的地址分配流程;对于主机来说,当接收到从机发送的所述地址分配结束信息,也即可结束自身的地址分配流程;此外,对于任一个非最后一级的从机来说,当向下一个从机发送的地址信息正确时,也即可停止自身的地址分配流程;
本发明的地址自动分配方法及具有其的主机、从机和通信设备,基于构建的主机和各从机之间的主从式通信网络,可以实现地址的逐级自动分配,既不需要相关人员手动分配每个从机的地址,也无需由主机来统一分配每个从机的地址,不会因从机之间的竞争而影响地址分配的通信效率,受局限性小,效率高,失误率低。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明实施例一中一种地址自动分配方法的流程图;
图2示出了本发明实施例一中CAN通信协议下的通信设备的结构图;
图3示出了本发明实施例一中RS485通信协议下的通信设备的结构图;
图4示出了本发明实施例一中CAN通信协议下主机所执行的流程的示意图;
图5示出了本发明实施例一中RS485通信协议下主机所执行的流程的示意图;
图6示出了本发明实施例二中一种地址自动分配方法的流程图;
图7示出了本发明实施例二中CAN通信协议下从机所执行的流程的示意图;
图8示出了本发明实施例二中RS485通信协议下从机所执行的流程的示意图;
图9示出了本发明实施例三中一种主机的结构图;
图10示出了本发明实施例四中一种从机的结构图;
图11示出了本发明实施例五中一种通信设备的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
一种地址自动分配方法,应用于通信设备中的主机,所述通信设备包括一个主机和N个从机,N≥1,如图1所示,所述方法包括:
步骤A1:预先构建主从式通信网络;
在所述主从式通信网络中,所述主机设有第一数据收发端口和第一信号输出端口;所述主机的所述第一数据收发端口与每个所述从机均通信连接,所述主机的所述第一信号输出端口还与第1个所述从机通信连接;
步骤A2:在所述第一信号输出端口处的电平信号为高电平的情况下,通过所述第一信号输出端口,向通信连接的第i个所述从机发送地址信息,此时i=1;
步骤A3:通过所述第一数据收发端口,获取第i个所述从机返回的从机信息;
步骤A4:判断是否通过所述第一数据收发端口,接收到第i个所述从机发送的地址分配结束信息,若是,执行步骤A5;否则执行步骤A6;
步骤A5:结束地址分配流程;
步骤A6:令i=i+1,此时1<i≤N,继续通过所述第一数据收发端口,获取第i+1个所述从机返回的所述从机信息,并返回所述步骤A4,直至通过所述第一数据收发端口,接收到第i+1个所述从机发送的所述地址分配结束信息时,结束地址分配流程。
本实施例的地址自动分配方法,应用于通信设备中的主机,主机的第一数据收发端口与每个从机均通信连接,便于在地址分配过程中,接收每个从机返回的从机信息,还便于接收从机发送的地址分配结束信息;主机的第一信号输出端口与第1个从机的信号输入端口通信连接,在第一信号输出端口处的电平信号为高电平时,意味着主机需要向通信连接的第1个从机分配地址(即发送地址信息),此时通过第一信号输出端口向第1个从机发送地址信息;对于主机来说,当接收到第1个从机发送的地址分配结束信息,意味着整个通信设备中的地址分配过程已完成(即整个通信设备只有一个从机,其地址信息已通过主机进行分配),即可结束自身的地址分配流程;而当未接收到第1个从机发送的地址分配结束信息,则意味着在第1个从机之后还存在其他从机需要进行地址分配,这些需要进行地址分配的从机可逐级通过通信连接的上一个从机进行地址分配,当分配了地址信息后,均向主机返回从机信息;主机可实时监听每个从机发送的信息,一旦接收到地址分配结束信息时,即完成自身的地址分配流程。
本发明的地址自动分配方法,主机通过监测自身第一信号输出端口的电平信号,以及实时监听从机返回的信息(包括从机信息和地址分配结束信息),可以实现主从式的通信设备中各个从机的地址的逐级自动分配,既不需要相关人员手动分配每个从机的地址,也无需由主机来统一分配每个从机的地址,不会因从机之间的竞争而影响地址分配的通信效率,受局限性小,效率高,失误率低。
在步骤A1中,主机设有第一数据收发端口和第一信号输出端口,第一数据收发端口包括第一数据接收端口和第一数据发送端口,如图2和图3中的TX0和RX0,第一信号输出端口如图2和图3中的S0,第一数据收发端口(包括TX0和RX0)均通过接口芯片U0与各从机相连。第一信号输出端口(即图2和图3中的S0)直接与第1个从机相连。
主从式通信网络的通信协议为半双工总线协议和全双工总线协议中的任一种。
半双工总线,这种总线通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行;也就是说,通信信道的每一段都可以是发送端,也可以是接收端,但同一时刻里,信息只能有一个传输方向,如对讲机。其对应的协议称为半双工总线协议,如RS485通信协议等。
全双工总线,这种总线通信方式又称为双向同时通信,即通信的双方可以同时发送和接收信息的信息交互方式,如手机、座机、计算机等。其对应的协议称为全双工通信协议,如CAN通信协议等。
为便于说明目的,本实施例以RS485通信协议作为半双工总线协议的示例进行说明,以CAN通信协议作为全双工总线协议的示例进行说明。
当所述主从式通信网络的通信协议为所述半双工总线协议时,所述主机还设有第三数据收发端口,所述第三数据收发端口与每个所述从机均通信连接。
如图3所示,该主从式通信网络的通信协议为RS485通信协议,主机还设有第三数据收发端口,包括图3中主机上的IO1端口和IO2端口,这两个端口与每个从机均通信连接,且在同一时刻里,信息只能有一个传输方向,即在同一个时刻里,要么是数据接收状态,要么是数据发送状态。
优选地,在步骤A2之前,所述方法还包括:
进行初始化,并默认设置所述第一信号输出端口为输入状态;
实时检测所述第一信号输出端口处的所述电平信号,当所述电平信号为高电平时,设置所述第一信号输出端口为输出状态,并执行步骤A2;当所述电平信号为低电平时,继续实时检测所述第一信号输出端口处的所述电平信号,直至所述电平信号为高电平。
通过初始化并设置第一信号输出端口为输入状态,便于后续通过监测第一信号输出端口的电平信号的状态,来控制整个通信设备的地址自动分配流程的启动,更好地实现地址分配的自动化。其中,当第一信号输出端口的电平信号为高电平,则意味着需要对与主机相通信连接的第1个从机进行地址分配,并基于各从机之间的连接关系,逐级向下进行地址分配。
当然,在另一个实施例中,也可以设置为:当所述电平信号为低电平时,设置所述第一信号输出端口为输出状态,并执行步骤A2;当所述电平信号为高电平时,继续实时检测所述第一信号输出端口处的所述电平信号,直至所述电平信号为低电平。该实施例的原理与上述当第一信号输出端口的电平信号为高电平时即设置第一输出端口为输出状态的情况同理,此处不再赘述。
具体地,如图2和图3所示,在步骤A2之前,进行初始化,并默认设置第一信号输出端口S0为输入状态,当该S0处的电平信号为高电平时,设置该第一信号输出端口S0为输出状态;当该S0处的电平信号为低电平时,则持续检测该S0处的电平信号,直至其电平信号为高电平为止。
优选地,当所述主从式通信网络的通信协议为所述半双工总线协议时,如图3所示的主从式通信网络中的RS485总线协议时,所述进行初始化之后,所述方法还包括:
设置所述第三数据收发端口和所述第一数据收发端口均为数据接收状态。
由于半双工总线协议中的端口的信号状态在同一个时刻只能为一个状态,因此通过初始化后设置第三数据收发端口和第一数据收发端口为数据接收状态,便于后续在地址分配的过程中,接收各从机返回的信息(包括从机信息和地址分配结束信息等),以掌握各从机的地址分配情况。
而当所述主从式通信网络的通信协议为所述全双工总线协议时,由于端口的信号状态在同一时刻可同时实现数据发送和数据接收,因此无需单独设置第三数据收发端口,也无需设置端口的状态。
在本实施例中,如图2和图3所示,S0到第1个从机的信号通讯方式可以采用串行信号传输方式,也可以采用PWM信号传输方式。
在本实施例中,从机信息包括从机的身份信息、属性信息,还包括从机接收到的地址信息(即分配到的地址字节数据),在从机的实际数据处理中,上述身份信息、属性信息和地址信息可打包生成具有一串字符的数据包;主机根据该数据包可以分析到各从机的身份信息、属性信息和地址信息等相关信息。
当主从式通信网络的通信协议为所述半双工总线协议时,步骤A3之后,该方法还包括:
判断第i个从机返回的从机信息中的地址信息与自身向通信连接的第i个从机发送的从机信息中的地址信息是否一致,若是,则执行步骤A4;否则,返回步骤A2。
通过上述过程,能在半双工总线协议下,对与主机相连的从机所接收的地址信息进行监听和核对,以确保该从机的地址分配的准确率,进而当整个通信设备完成地址分配流程后才去核对地址分配的准确率,能有效降低失误率。
在本实施例中,对于图2所示的CAN通信协议下的通信设备,应用于的主机的地址自动分配方法的完整流程如图4所示;对于图3所示的RS485通信协议下的通信设备,应用于的主机的地址自动分配方法的完整流程如图5所示。
实施例二
一种地址自动分配方法,应用于通信设备中的第i个从机,所述通信设备包括一个主机和N个从机,N≥1,1≤i≤N;如图6所示,所述方法包括:
步骤B1:预先构建主从式通信网络;
在所述主从式通信网络中,每个所述从机均设有第二数据收发端口、第二信号输出端口和信号输入端口;每个所述从机的所述第二数据收发端口与所述主机均通信连接;
对于第i个所述从机,当i=1时,第i个所述从机的所述信号输入端口与所述主机通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当1<i≤N-1时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当i=N时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口接地;
步骤B2:当i=1时,第i个所述从机通过对应的所述信号输入端口,等待接收通信连接的所述主机发送的所述地址信息;当1<i≤N时,第i个所述从机通过对应的所述信号输入端口,等待接收通信连接的第i-1个所述从机的所述第二信号输出端口发送的所述地址信息;
步骤B3:在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息;在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息;并在所述从机信息发送正确的情况下,依次执行步骤B4a至步骤B6或执行步骤B4b;在所述从机信息发送不正确的情况下,重新在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的所述从机信息,直至所述从机信息发送正确后,依次执行步骤B4a至步骤B6或执行步骤B4b;
步骤B4a:第i个所述从机在对应的所述第二信号输出端口处的电平信号为高电平的情况下,基于自身接收到的所述地址信息,获取通信连接的第i+1个所述从机的所述地址信息;并通过自身的所述第二信号输出端口,向第i+1个所述从机的所述信号输入端口,发送第i+1个所述从机的所述地址信息,之后依次执行步骤B5至步骤B6;
步骤B4b:第i个所述从机在对应的所述第二信号输出端口处的所述电平信号为低电平的情况下,通过自身的所述第二数据收发端口,向所述主机发送地址分配结束信息;第i个所述从机在发送的所述地址分配结束信息正确的情况下,结束自身的地址分配流程;第i个所述从机在发送的所述地址分配结束信息不正确的情况下,继续通过自身的所述第二数据收发端口,向所述主机发送所述地址分配结束信息,直至所述地址分配结束信息发送正确,结束自身的地址分配流程;
步骤B5:第i个所述从机判断是否通过自身的所述第二数据收发端口,接收到发送出去的所述地址信息,若是,则执行步骤B6,否则返回步骤B4a;
步骤B6:第i个所述从机判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息是否一致,若是,则结束自身的地址分配流程,否则返回步骤B4a。
在本实施例中,上述地址自动分配方法可以应用于通信设备中的每个从机,每个从机的第二数据收发端口与主机均通信连接,便于在地址分配过程中,向主机返回自身的从机信息,还便于在最后一个从机完成地址分配后,向主机发送出地址分配结束信息;第1个从机的信号输入端口与主机通信连接,之后每个从机通过第二信号输出端口与下一个从机的信号输入端口通信连接,在第一信号输出端口处的电平信号为高电平时,意味着主机需要向通信连接的第1个从机分配地址(即发送地址信息),而当从机的第二信号输出端口处的电平信号为高电平时,则意味着该从机需要向下一个从机分配地址,基于各从机之间的连接关系,在各从机的第二信号输出端口均为高电平的情况下,可依次利用上一个从机的第二信号输出端口和下一个从机的信号输入端口,实现从机地址的逐级自动分配;而当从机的第二信号输出端口的电平信号为低电平时,则意味着当前状态下整个通信设备无需继续分配地址,代表此时该低电平的第二信号输出端口所对应的从机为最后一级从机,即可结束从机的地址分配流程;此外,对于任一个非最后一级的从机来说,当向下一个从机发送的地址信息正确时,也即可停止自身的地址分配流程。
本实施例的地址自动分配方法,基于构建的主机和各从机之间的主从式通信网络,以及通过监听从机的第二信号输出端口的电平信号的情况,可以实现地址的逐级自动分配,既不需要相关人员手动分配每个从机的地址,也无需由主机来统一分配每个从机的地址,不会因从机之间的竞争而影响地址分配的通信效率,受局限性小,效率高,失误率低。
每个从机均设有第二数据收发端口、第二信号输出端口和信号输入端口。与第一数据收发端口同理,从机的第二数据收发端口包括第二数据接收端口和第二数据发送端口,如图2和图3中的TX1~TXN和RX1~RXN,每个从机的第二数据收发端口(包括TX1~TXN和RX1~RXN)均通过一个对应的接口芯片(如图2和图3中的U1~UN)与主机相连(具体为还通过接口芯片U0与主机相连)。第1个从机的信号输入端口(即图2和图3中的R1)直接与主机(具体为主机的第一信号输出端口S0)相连,第i(1<i≤N)个从机的信号输入端口(包括图2和图3中的R2~RN)与第i-1个从机的第二信号输出端口(包括图2和图3中的S1~SN-1),第N个从机的第二信号输出端口接地(具体通过一个电阻接地,如图2和图3中的R3)。
优选地,在步骤B2之前,还包括:
进行初始化。
与主机的初始化同理,通过从机的初始化,便于后续从机等待接收前一个模块(包括主机或从机)发送的地址信息,也便于检测从机自身的第二信号输出端口的电平信号的状态,进而按照逐级向下来实现安地址自动分配。
优选地,所述主从式通信网络的通信协议为半双工总线协议和全双工总线协议中的任一种;
当所述主从式通信网络的通信协议为所述半双工总线协议时,所述从机还设有第四数据收发端口,每个所述从机的所述第四数据收发端口与所述主机均通信连接;
则步骤B3中,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息之前,还包括:
在接收到所述地址信息的情况下,设置第i个所述从机对应的所述第二数据收发端口和所述第四数据收发端口均为数据发送状态。
由于半双工总线协议下的端口在同一时刻只有一种数据状态(要么是数据接收状态,要么是数据发送状态),因此上述当主从式通信网络的通信协议为半双工总线协议时,在从机的信号输入端口接收到地址信息的情况下,设置对应的第二数据收发端口和第四数据收发端口均为数据发送状态,便于通过第二数据收发端口向主机返回从机信息,实现从机信息的反馈,以对从机的地址分配情况进行准确掌握。
与主机的第三数据收发端口同理,如图3所示,该主从式通信网络的通信协议为RS485通信协议,每个从机还设有第四数据收发端口,包括图3中每个从机上的IO1端口和IO2端口,每个从机上的这两个端口与主机均均通信连接,且在同一时刻里,信息只能有一个传输方向,即在同一个时刻里,要么是数据接收状态,要么是数据发送状态。
而当所述主从式通信网络的通信协议为所述全双工总线协议时,每个从机均无需单独设置第四数据收发端口,也无需设置端口的状态。
同理,在本实施例中,如图2和图3所示,第1个从机的S1到第2个从机的R2、第2个从机的S2到第3个从机的R3……第N-1个从机的SN-1到第N个从机的RN的信号通讯方式均可以采用串行信号传输方式,也均可以采用PWM信号传输方式。
优选地,当所述主从式通信网络的通信协议为所述半双工总线协议时,步骤B5之前,还包括:
设置第i个所述从机对应的所述第二数据收发端口和所述第四数据收发端口均为数据接收状态。
由于半双工总线协议下的端口在同一时刻只有一种数据状态(要么是数据接收状态,要么是数据发送状态),因此当主从式通信网络的通信协议为半双工总线协议时,在判断从机是否通过自身的第二数据收发端口接收到自身发送出去的地址信息时,设置自身的第二数据收发端口和第四数据收发端口均为数据接收状态,便于后续接收发送出去的地址信息,进而便于通过地址信息的核对来监听自身向下一个从机分配地址的情况,确保地址分配的准确率。
优选地,在步骤B3中,所述向所述主机发送对应的从机信息之后,所述方法还包括:
判断所述从机信息是否发送正确。
当从机接收到地址信息并向主机返回对应的从机信息之后,通过先判断从机信息是否发送正确,可在当前从机所对应的节点上确保地址分配的准确率,只有在从机信息发送正确的情况才继续进行后续的地址分配流程,而当从机信息发送不正确时,需要重新接收地址信息并返回从机信息,避免当整个通信设备完成地址分配流程后才去核对地址分配的准确率,能有效降低失误率。
具体地,当通信协议为全双工总线协议时,所述判断所述从机信息是否发送正确,包括:
通过对应的第二数据收发端口,接收向主机发送的从机信息,并将发送出去的从机信息中的地址信息与接收到的从机信息中的地址信息进行核对,若一致,则从机信息发送正确,否则从机信息发送不正确。
在全双工总线协议下,由于从机的端口可同时有2种数据状态,因此当其向主机发送从机信息时,自身也会通过第二数据收发端口接收到发送出去的从机信息,即可通过发送出去的从机信息和接收到的从机信息,这两种信息中的地址信息的核对,来实现自身从机信息是否发送正确的判断。
具体地,当通信协议为半双工总线协议时,所述判断所述从机信息是否发送正确,包括:
当i=1时,判断第i个从机对应的信号输入端口在预设时间内是否接收到主机发送的新的地址信息,若是,则从机信息发送不正确;否则从机信息发送正确;
当1<i≤N时,判断第i个从机对应的信号输入端口在预设时间内是否接收到第i-1个从机发送的新的地址信息,若是,则从机信息发送不正确;否则从机信息发送正确。
在半双工总线协议下,当第i个从机向主机发送自身的从机信息之后,由于第i个从机的数据收发端口(包括第二数据收发端口和第四数据收发端口),在同一时刻下只能有1种数据状态(此时均为数据发送状态),因此第i个从机自身此时无法再接收到发送出去的从机信息,进而也无法核对发送出去的从机信息中的地址信息与第i-1个从机(当i为1时,为主机)下发的地址信息是否一致。对于该种情况,由于第i-1个从机(或主机)在该第i个从机的工作过程中,第二数据收发端口和第四数据收发端口均为数据接收状态,可以接收到该第i个从机发送出去的从机信息,可以对第i个从机向主机返回的从机信息进行监听(当1<i≤N时,该过程对应为第i-1个从机所执行的步骤B6;当i=1时,该过程对应为实施例一中,主机判断返回的从机信息中的地址信息与发送的从机信息中的地址信息是否一致的步骤)。
因此可以利用第i-1个从机(或主机)来核对,即若第i-1个从机(或主机)判断自身向第i个从机发送的从机信息中的地址信息与第i个从机返回的从机信息中地址信息一致,则不会重新向第i个从机发送新的地址信息,即无需通过发送新的地址信息对第i个从机的地址分配进行纠正,则第i个从机对应的信号输入端口在预设时间内是不会接收到第i-1个从机(或主机)发送的新的地址信息,此时意味着第i个从机发送从机信息正确;而若第i-1个从机(或主机)判断自身向第i个从机发送的从机信息中的地址信息与第i个从机返回的从机信息中地址信息不一致,则会重新向第i个从机发送新的地址信息,即通过发送新的地址信息对第i个从机的地址分配进行纠正,则第i个从机对应的信号输入端口在预设时间内会接收到第i-1个从机(或主机)发送的新的地址信息,此时意味着第i个从机发送从机信息不正确。应理解,上述预设时间为预先设定好的时间,可根据实际情况预先设定和调整。
在本实施例中,对于图2所示的CAN通信协议下的通信设备,应用于的从机的地址自动分配方法的完整流程如图7所示;对于图3所示的RS485通信协议下的通信设备,应用于的主机的地址自动分配方法的完整流程如图8所示。
实施例三
一种主机,应用于包括一个主机和N个从机的通信设备,所述主机设有第一数据收发端口和第一信号输出端口,如图9所示,还包括:
第一组网模块,用于预先构建主从式通信网络;
在所述主从式通信网络中,所述主机的所述第一数据收发端口与每个所述从机均通信连接,所述主机的所述第一信号输出端口还与第1个所述从机通信连接;
地址信息发送模块,用于在所述第一信号输出端口处的电平信号为高电平的情况下,通过所述第一信号输出端口,向通信连接的第i个所述从机发送地址信息,此时i=1;
从机信息接收模块,用于通过所述第一数据收发端口,获取第i个所述从机返回的从机信息;
流程结束判断模块,用于判断是否通过所述第一数据收发端口,接收到第i个所述从机发送的地址分配结束信息;当接收到所述地址分配结束信息时,结束地址分配流程;
所述从机信息接收模块,还用于当所述流程结束判断模块判断未接收到所述地址分配结束信息时,令i=i+1,继续通过所述第一数据收发端口,获取第i+1个所述从机返回的所述从机信息;直至所述流程结束判断模块判断通过所述第一数据收发端口,接收到第i+1个所述从机发送的所述地址分配结束信息时,结束地址分配流程。
本实施例的主机,通过监测自身第一信号输出端口的电平信号,以及实时监听从机返回的信息(包括从机信息和地址分配结束信息),可以实现主从式的通信设备中各个从机的地址的逐级自动分配,既不需要相关人员手动分配每个从机的地址,也无需由主机来统一分配每个从机的地址,不会因从机之间的竞争而影响地址分配的通信效率,受局限性小,效率高,失误率低。
本实施例中所述主机的各模块的功能与实施例一中的地址自动分配方法中的方法步骤对应相同,本实施例未尽细节,详见实施例一及图1至图5的具体描述,此处不再赘述。
实施例四
一种从机,应用于包括一个主机和N个从机的通信设备,所述从机设有第二数据收发端口、第二信号输出端口和信号输入端口,如图10所示,还包括:
第二组网模块,用于预先构建主从式通信网络;
在所述主从式通信网络中,每个所述从机的所述第二数据收发端口与所述主机均通信连接;
对于第i个所述从机,当i=1时,第i个所述从机的所述信号输入端口与所述主机通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当1<i≤N-1时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当i=N时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口接地;
地址信息接收模块,用于当i=1时,通过对应的所述信号输入端口,等待接收通信连接的所述主机发送的所述地址信息;当1<i≤N时,通过对应的所述信号输入端口,等待接收通信连接的第i-1个所述从机的所述第二信号输出端口发送的所述地址信息;
从机信息发送模块,用于在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息;还用于在所述从机信息发送不正确的情况下,重新在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的所述从机信息,直至所述从机信息发送正确;
地址信息传递模块,用于在所述从机信息发送正确且在对应的所述第二信号输出端口处的电平信号为高电平的情况下,基于自身接收到的所述地址信息,获取通信连接的第i+1个所述从机的所述地址信息;并通过自身的所述第二信号输出端口,向第i+1个所述从机的所述信号输入端口,发送第i+1个所述从机的所述地址信息;
地址信息核对模块,用于判断是否通过自身的所述第二数据收发端口,接收到发送出去的所述地址信息,当判断接收到发送出去的所述地址信息时,继续判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息是否一致,若是,则结束自身的地址分配流程;
地址信息重新分配模块,用于在所述地址信息核对模块判断未接收到发送出去的所述地址信息时,返回所述地址信息传递模块,并重新执行所述地址信息传递模块的功能,直至所述地址信息核对模块判断接收到发送出去的所述地址信息;还用于在所述地址信息核对模块判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息不一致时,返回所述地址信息传递模块,并重新执行所述地址信息传递模块的功能,直至通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息一致,结束自身的地址分配流程;
结束信息发送模块,用于在所述从机信息发送正确且在对应的所述第二信号输出端口处的所述电平信号为低电平的情况下,通过自身的所述第二数据收发端口,向所述主机发送地址分配结束信息;在发送的所述地址分配结束信息正确的情况下,结束自身的地址分配流程;在发送的所述地址分配结束信息不正确的情况下,继续通过自身的所述第二数据收发端口,向所述主机发送所述地址分配结束信息,直至所述地址分配结束信息发送正确,结束自身的地址分配流程。
本实施例的从机,基于构建的主机和各从机之间的主从式通信网络,以及通过监听从机的第二信号输出端口的电平信号的情况,可以实现地址的逐级自动分配,既不需要相关人员手动分配每个从机的地址,也无需由主机来统一分配每个从机的地址,不会因从机之间的竞争而影响地址分配的通信效率,受局限性小,效率高,失误率低。
本实施例中所述从机的各模块的功能与实施例二中的地址自动分配方法中的方法步骤对应相同,本实施例未尽细节,详见实施例一、实施例二及图1至图8的具体描述,此处不再赘述。
实施例五
如图11所示,一种通信设备,包括实施例三中的主机和实施例四中的从机,N≥1;
每个所述从机与所述主机均通信连接,对于第i个所述从机,当i=1时,第i个所述从机还与第i+1个所述从机通信连接;当1<i≤N-1时,第i个所述从机还分别与第i-1个所述从机和第i+1个所述从机通信连接;当i=N时,第i个所述从机还与第i-1个所述从机通信连接。
本实施例的通信设备,基于构建的主机和各从机之间的主从式通信网络,可以实现地址的逐级自动分配,既不需要相关人员手动分配每个从机的地址,也无需由主机来统一分配每个从机的地址,不会因从机之间的竞争而影响地址分配的通信效率,受局限性小,效率高,失误率低。
应理解,为便于展示,图11中各从机的各功能模块省略未示出。
具体地,如图2和图3所示,本实施例中的通信设备还包括与主机对应设置的第一接口芯片以及与每个从机一一对应设置的第二接口芯片;
第一接口芯片的输入端与主机的第一数据收发端口电连接,每个第二接口芯片的输入端均与对应的从机的第二数据收发端口电连接,第一接口芯片的输出端与每个第二接口芯片的输出端均电连接。
如图3所示,当通信设备的通信协议为半双工总线协议时,第一接口芯片的输入端还与主机的第三数据收发端口电连接,每个第二接口芯片的输入端还均与对应的从机的第四数据收发端口电连接。
通过上述与主机对应的第一接口芯片和与每个从机对应的第二接口芯片,能方便实现主机和从机之间的数据收发,以实现对整个通信设备的地址分配流程的监控,降低失误率。
本实施例中,对于图2所示的CAN通信协议下的通信设备,第一接口芯片(即图2中的U0)和第二接口芯片(即图2中的U1~UN)均具体选用SIT1050T型号的接口芯片;第一接口芯片与主机的第一数据收发端口之间、第一接口芯片与第二接口芯片之间以及第二接口芯片与从机的第二数据收发端口之间等,各部分的外围电路均可根据实际情况进行自适应设计,此处不再列举。
对于图3所示的RS485通信协议下的通信设备,第一接口芯片(即图3中的U0)和第二接口芯片(即图3中的U1~UN)均具体选用SIT3088EESA型号的接口芯片。第一接口芯片与主机的第一数据收发端口之间、第一接口芯片与主机的第三数据收发端口之间、第一接口芯片与第二接口芯片之间、第二接口芯片与从机的第二数据收发端口之间以及第二接口芯片与从机的第四数据收发端口之间,各部分的外围电路均可根据实际情况进行自适应设计,此处不再列举。
本实施例所述的主机与实施例三中的主机结构相同,所述的从机与实施例四中的从机结构相同,因此本实施例的未尽细节,详见实施例一至实施例四以及及图1至图10的具体描述,此处不再赘述。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种地址自动分配方法,应用于通信设备中的主机,其特征在于,所述通信设备包括一个主机和N个从机,N≥1,所述方法包括:
步骤A1:预先构建主从式通信网络;
在所述主从式通信网络中,所述主机设有第一数据收发端口和第一信号输出端口;所述主机的所述第一数据收发端口与每个所述从机均通信连接,所述主机的所述第一信号输出端口还与第1个所述从机通信连接;
步骤A2:在所述第一信号输出端口处的电平信号为高电平的情况下,通过所述第一信号输出端口,向通信连接的第i个所述从机发送地址信息,此时i=1;
步骤A3:通过所述第一数据收发端口,获取第i个所述从机返回的从机信息;
步骤A4:判断是否通过所述第一数据收发端口,接收到第i个所述从机发送的地址分配结束信息,若是,执行步骤A5;否则执行步骤A6;
步骤A5:结束地址分配流程;
步骤A6:令i=i+1,此时1<i≤N,继续通过所述第一数据收发端口,获取第i+1个所述从机返回的所述从机信息,并返回所述步骤A4,直至通过所述第一数据收发端口,接收到第i+1个所述从机发送的所述地址分配结束信息时,结束地址分配流程。
2.根据权利要求1所述的方法,其特征在于,在所述步骤A2之前,所述方法还包括:
进行初始化,并默认设置所述第一信号输出端口为输入状态;
实时检测所述第一信号输出端口处的所述电平信号,当所述电平信号为高电平时,设置所述第一信号输出端口为输出状态,并执行所述步骤A2;当所述电平信号为低电平时,继续实时检测所述第一信号输出端口处的所述电平信号,直至所述电平信号为高电平。
3.根据权利要求2所述的方法,其特征在于,所述主从式通信网络的通信协议为半双工总线协议和全双工总线协议中的任一种;
当所述主从式通信网络的通信协议为所述半双工总线协议时,所述主机还设有第三数据收发端口,所述第三数据收发端口与每个所述从机均通信连接;
则所述进行初始化之后,所述方法还包括:
设置所述第三数据收发端口和所述第一数据收发端口均为数据接收状态。
4.一种地址自动分配方法,应用于通信设备中的第i个从机,其特征在于,所述通信设备包括一个主机和N个从机,N≥1,1≤i≤N;所述方法包括:
步骤B1:预先构建主从式通信网络;
在所述主从式通信网络中,每个所述从机均设有第二数据收发端口、第二信号输出端口和信号输入端口;每个所述从机的所述第二数据收发端口与所述主机均通信连接;
对于第i个所述从机,当i=1时,第i个所述从机的所述信号输入端口与所述主机通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当1<i≤N-1时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当i=N时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口接地;
步骤B2:当i=1时,第i个所述从机通过对应的所述信号输入端口,等待接收通信连接的所述主机发送的地址信息;当1<i≤N时,第i个所述从机通过对应的所述信号输入端口,等待接收通信连接的第i-1个所述从机的所述第二信号输出端口发送的所述地址信息;
步骤B3:在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息;并在所述从机信息发送正确的情况下,依次执行步骤B4a至步骤B6或执行步骤B4b;在所述从机信息发送不正确的情况下,重新在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的所述从机信息,直至所述从机信息发送正确后,依次执行所述步骤B4a至所述步骤B6或执行所述步骤B4b;
步骤B4a:第i个所述从机在对应的所述第二信号输出端口处的电平信号为高电平的情况下,基于自身接收到的所述地址信息,获取通信连接的第i+1个所述从机的所述地址信息;并通过自身的所述第二信号输出端口,向第i+1个所述从机的所述信号输入端口,发送第i+1个所述从机的所述地址信息,之后依次执行步骤B5至所述步骤B6;
步骤B4b:第i个所述从机在对应的所述第二信号输出端口处的所述电平信号为低电平的情况下,通过自身的所述第二数据收发端口,向所述主机发送地址分配结束信息;第i个所述从机在发送的所述地址分配结束信息正确的情况下,结束自身的地址分配流程;第i个所述从机在发送的所述地址分配结束信息不正确的情况下,继续通过自身的所述第二数据收发端口,向所述主机发送所述地址分配结束信息,直至所述地址分配结束信息发送正确,结束自身的地址分配流程;
步骤B5:第i个所述从机判断是否通过自身的所述第二数据收发端口,接收到发送出去的所述地址信息,若是,则执行所述步骤B6,否则返回所述步骤B4a;
步骤B6:第i个所述从机判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息是否一致,若是,则结束自身的地址分配流程,否则返回所述步骤B4a。
5.根据权利要求4所述的方法,其特征在于,所述主从式通信网络的通信协议为半双工总线协议和全双工总线协议中的任一种;
当所述主从式通信网络的通信协议为所述半双工总线协议时,所述从机还设有第四数据收发端口,每个所述从机的所述第四数据收发端口与所述主机均通信连接;
则所述步骤B3中,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息之前,还包括:
在接收到所述地址信息的情况下,设置第i个所述从机对应的所述第二数据收发端口和所述第四数据收发端口均为数据发送状态。
6.根据权利要求5所述的方法,其特征在于,当所述主从式通信网络的通信协议为所述半双工总线协议时,所述步骤B5之前,还包括:
设置第i个所述从机对应的所述第二数据收发端口和所述第四数据收发端口均为数据接收状态。
7.根据权利要求4至6任一项所述的方法,其特征在于,在所述步骤B3中,所述向所述主机发送对应的从机信息之后,所述方法还包括:
判断所述从机信息是否发送正确。
8.一种主机,应用于包括一个主机和N个从机的通信设备,其特征在于,所述主机设有第一数据收发端口和第一信号输出端口,还包括:
第一组网模块,用于预先构建主从式通信网络;
在所述主从式通信网络中,所述主机的所述第一数据收发端口与每个所述从机均通信连接,所述主机的所述第一信号输出端口还与第1个所述从机通信连接;
地址信息发送模块,用于在所述第一信号输出端口处的电平信号为高电平的情况下,通过所述第一信号输出端口,向通信连接的第i个所述从机发送地址信息,此时i=1;
从机信息接收模块,用于通过所述第一数据收发端口,获取第i个所述从机返回的从机信息;
流程结束判断模块,用于判断是否通过所述第一数据收发端口,接收到第i个所述从机发送的地址分配结束信息;当接收到所述地址分配结束信息时,结束地址分配流程;
所述从机信息接收模块,还用于当所述流程结束判断模块判断未接收到所述地址分配结束信息时,令i=i+1,继续通过所述第一数据收发端口,获取第i+1个所述从机返回的所述从机信息;直至所述流程结束判断模块判断通过所述第一数据收发端口,接收到第i+1个所述从机发送的所述地址分配结束信息时,结束地址分配流程。
9.一种从机,应用于包括一个主机和N个从机的通信设备,其特征在于,所述从机设有第二数据收发端口、第二信号输出端口和信号输入端口,还包括:
第二组网模块,用于预先构建主从式通信网络;
在所述主从式通信网络中,每个所述从机的所述第二数据收发端口与所述主机均通信连接;
对于第i个所述从机,当i=1时,第i个所述从机的所述信号输入端口与所述主机通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当1<i≤N-1时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口与第i+1个所述从机的所述信号输入端口通信连接;当i=N时,第i个所述从机的所述信号输入端口与第i-1个所述从机的所述第二信号输出端口通信连接,第i个所述从机的所述第二信号输出端口接地;
地址信息接收模块,用于当i=1时,通过对应的所述信号输入端口,等待接收通信连接的所述主机发送的所述地址信息;当1<i≤N时,通过对应的所述信号输入端口,等待接收通信连接的第i-1个所述从机的所述第二信号输出端口发送的所述地址信息;
从机信息发送模块,用于在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的从机信息;还用于在所述从机信息发送不正确的情况下,重新在接收到所述地址信息的情况下,通过对应的所述第二数据收发端口,向所述主机发送对应的所述从机信息,直至所述从机信息发送正确;
地址信息传递模块,用于在所述从机信息发送正确且在对应的所述第二信号输出端口处的电平信号为高电平的情况下,基于自身接收到的所述地址信息,获取通信连接的第i+1个所述从机的所述地址信息;并通过自身的所述第二信号输出端口,向第i+1个所述从机的所述信号输入端口,发送第i+1个所述从机的所述地址信息;
地址信息核对模块,用于判断是否通过自身的所述第二数据收发端口,接收到发送出去的所述地址信息,当判断接收到发送出去的所述地址信息时,继续判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息是否一致,若是,则结束自身的地址分配流程;
地址信息重新分配模块,用于在所述地址信息核对模块判断未接收到发送出去的所述地址信息时,返回所述地址信息传递模块,并重新执行所述地址信息传递模块的功能,直至所述地址信息核对模块判断接收到发送出去的所述地址信息;还用于在所述地址信息核对模块判断通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息不一致时,返回所述地址信息传递模块,并重新执行所述地址信息传递模块的功能,直至通过自身的所述第二数据收发端口接收到的所述地址信息与发送出去的第i+1个所述从机的所述地址信息一致,结束自身的地址分配流程;
结束信息发送模块,用于在所述从机信息发送正确且在对应的所述第二信号输出端口处的所述电平信号为低电平的情况下,通过自身的所述第二数据收发端口,向所述主机发送地址分配结束信息;在发送的所述地址分配结束信息正确的情况下,结束自身的地址分配流程;在发送的所述地址分配结束信息不正确的情况下,继续通过自身的所述第二数据收发端口,向所述主机发送所述地址分配结束信息,直至所述地址分配结束信息发送正确,结束自身的地址分配流程。
10.一种通信设备,其特征在于,包括如权利要求8所述的主机和N个如权利要求9所述的从机,N≥1;
每个所述从机与所述主机均通信连接,对于第i个所述从机,当i=1时,第i个所述从机还与第i+1个所述从机通信连接;当1<i≤N-1时,第i个所述从机还分别与第i-1个所述从机和第i+1个所述从机通信连接;当i=N时,第i个所述从机还与第i-1个所述从机通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310963079.7A CN116684389B (zh) | 2023-08-02 | 2023-08-02 | 地址自动分配方法及具有其的主机、从机和通信设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310963079.7A CN116684389B (zh) | 2023-08-02 | 2023-08-02 | 地址自动分配方法及具有其的主机、从机和通信设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116684389A true CN116684389A (zh) | 2023-09-01 |
CN116684389B CN116684389B (zh) | 2023-10-31 |
Family
ID=87782296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310963079.7A Active CN116684389B (zh) | 2023-08-02 | 2023-08-02 | 地址自动分配方法及具有其的主机、从机和通信设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116684389B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2545751B1 (de) * | 2010-03-11 | 2016-09-28 | Tridonic GmbH & Co KG | Bus -gebäudetechniksystem mit daisy-chain topologie |
CN105991788A (zh) * | 2015-03-04 | 2016-10-05 | 上海开通数控有限公司 | 基于nfc通讯实现从机网络地址分配的方法 |
CN107133188A (zh) * | 2017-04-24 | 2017-09-05 | 京信通信技术(广州)有限公司 | 菊花链连接的主从通信分配地址方法、系统和从机、主机 |
CN113037889A (zh) * | 2021-03-19 | 2021-06-25 | 天合光能股份有限公司 | 一种储能电池管理系统从机地址分配方法 |
US20220050799A1 (en) * | 2020-08-13 | 2022-02-17 | Ebm-Papst Mulfingen Gmbh & Co. Kg | Unit for a bus system, master-slave bus system with a plurality of units, and method for addressing units of a bus system |
CN114531422A (zh) * | 2021-12-30 | 2022-05-24 | 如果新能源科技(江苏)股份有限公司 | 一种总线地址自动分配与识别方法、电子设备、存储介质和程序产品 |
CN114706808A (zh) * | 2022-02-18 | 2022-07-05 | 北京中科银河芯科技有限公司 | 一种基于spi菊花链结构的通信系统、方法及设备 |
CN114844861A (zh) * | 2022-05-11 | 2022-08-02 | 肇庆市立泰电子产品有限公司 | 一种主从设备地址自动标定系统 |
KR102481593B1 (ko) * | 2021-07-28 | 2022-12-26 | 엘지전자 주식회사 | 충전 장치용 통신 시스템 및 이의 자동 어드레스 할당 방법 |
-
2023
- 2023-08-02 CN CN202310963079.7A patent/CN116684389B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2545751B1 (de) * | 2010-03-11 | 2016-09-28 | Tridonic GmbH & Co KG | Bus -gebäudetechniksystem mit daisy-chain topologie |
CN105991788A (zh) * | 2015-03-04 | 2016-10-05 | 上海开通数控有限公司 | 基于nfc通讯实现从机网络地址分配的方法 |
CN107133188A (zh) * | 2017-04-24 | 2017-09-05 | 京信通信技术(广州)有限公司 | 菊花链连接的主从通信分配地址方法、系统和从机、主机 |
US20220050799A1 (en) * | 2020-08-13 | 2022-02-17 | Ebm-Papst Mulfingen Gmbh & Co. Kg | Unit for a bus system, master-slave bus system with a plurality of units, and method for addressing units of a bus system |
CN113037889A (zh) * | 2021-03-19 | 2021-06-25 | 天合光能股份有限公司 | 一种储能电池管理系统从机地址分配方法 |
KR102481593B1 (ko) * | 2021-07-28 | 2022-12-26 | 엘지전자 주식회사 | 충전 장치용 통신 시스템 및 이의 자동 어드레스 할당 방법 |
CN114531422A (zh) * | 2021-12-30 | 2022-05-24 | 如果新能源科技(江苏)股份有限公司 | 一种总线地址自动分配与识别方法、电子设备、存储介质和程序产品 |
CN114706808A (zh) * | 2022-02-18 | 2022-07-05 | 北京中科银河芯科技有限公司 | 一种基于spi菊花链结构的通信系统、方法及设备 |
CN114844861A (zh) * | 2022-05-11 | 2022-08-02 | 肇庆市立泰电子产品有限公司 | 一种主从设备地址自动标定系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116684389B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733604B (zh) | 一种基于modbus通讯协议的485总线智能扩展方法及装置 | |
US4642630A (en) | Method and apparatus for bus contention resolution | |
US5012468A (en) | Master slave industrial token passing network | |
CN113792003A (zh) | 单总线通信单元、系统及方法 | |
US6609172B1 (en) | Breaking up a bus to determine the connection topology and dynamic addressing | |
CN116684389B (zh) | 地址自动分配方法及具有其的主机、从机和通信设备 | |
CN115460036B (zh) | 基于uart实现多路can数据收发的系统、方法、设备及存储介质 | |
CN110113209B (zh) | 基于mipi协议的设备间通信方法及设备拓扑结构 | |
CN110659242A (zh) | 一种mil-std-1553b总线协议控制器 | |
CN107453844A (zh) | 一种智能设备自动组网的方法及装置 | |
CN110750478A (zh) | 一种多串口通信方法及系统 | |
CN101902436A (zh) | 板间通信方法、装置及系统 | |
CN209860929U (zh) | 一种通信总线结构 | |
US4728754A (en) | Inter-bus system | |
CN114942866B (zh) | Lin主测试装置 | |
JPH02219151A (ja) | コンピユータ入出力システムおよびそのチャネル診断方法 | |
CN111181828B (zh) | 一种实现can总线通讯星型连接的装置 | |
CN114338265B (zh) | 一种基于ttp/c总线的程序下载系统及方法 | |
CN107066412B (zh) | 一种通信电路及其方法 | |
CN116866285A (zh) | 一种服务器数据传输装置及服务器 | |
CN114647180A (zh) | 基于背板总线控制系统的通讯方法 | |
CN114967559A (zh) | 一种新型工业通信总线控制器 | |
CN116361224A (zh) | 一种多cpu同步系统状态的方法及工控机 | |
CN117319123A (zh) | 现场总线通信方法、装置、设备及存储介质 | |
CN117729066A (zh) | 一种基于blvds总线的主从机通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |