CN111464407B - 一种基于半双工总线的通信装置及方法 - Google Patents

一种基于半双工总线的通信装置及方法 Download PDF

Info

Publication number
CN111464407B
CN111464407B CN202010129335.9A CN202010129335A CN111464407B CN 111464407 B CN111464407 B CN 111464407B CN 202010129335 A CN202010129335 A CN 202010129335A CN 111464407 B CN111464407 B CN 111464407B
Authority
CN
China
Prior art keywords
module
bus
state
control
data
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.)
Active
Application number
CN202010129335.9A
Other languages
English (en)
Other versions
CN111464407A (zh
Inventor
郭昊
丁振磊
邹力
魏茹珺
张朝阳
余晓舟
袁天亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hubei Sanjiang Aerospace Hongfeng Control Co Ltd
Original Assignee
Hubei Sanjiang Aerospace Hongfeng Control Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hubei Sanjiang Aerospace Hongfeng Control Co Ltd filed Critical Hubei Sanjiang Aerospace Hongfeng Control Co Ltd
Priority to CN202010129335.9A priority Critical patent/CN111464407B/zh
Publication of CN111464407A publication Critical patent/CN111464407A/zh
Application granted granted Critical
Publication of CN111464407B publication Critical patent/CN111464407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C19/00Electric signal transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/16Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种基于半双工总线的通信装置及方法,该装置包括:主控制器,用于产生控制命令并配置分时逻辑;分时控制模块,用于根据分时逻辑划分每个从模块数据采集的分时片区;第一总线状态管理模块,根据预先设置的优先级控制总线进入控制命令发送状态或从模块数据采集状态;在控制命令发送状态下,将写操作信号和控制命令对应的数据和目标地址下发给各从模块;在从模块数据采集状态下,根据当前时段以及分时片区选择从模块,并根据从模块对应的目标地址和读操作信号读取对应从模块采集的实时数据;本发明无需主控芯片直接参与总线控制,减少主控芯片的资源占用和软件开发难度,具有主控制芯片资源占用少、控制软件操作简单灵活的优点。

Description

一种基于半双工总线的通信装置及方法
技术领域
本发明属于测控系统通信技术领域,更具体地,涉及一种基于半双工总线的通信装置及方法。
背景技术
测控系统指既“测”又“控”的系统,依据被控对象、被控参数的检测结果,按照人们预期的目标对被控对象实施控制,这里的控制除了指对系统开关量的控制外,更主要指的是对被控对象参数变量的控制。在测控系统的数据采集和传输中,传统的控制和通信方式主要以下几种:
1、IO直接控制和状态数据采集模式,一般应用于单模块的微小型专用测控系统中,控制和数据集处理都集中在单模块中,因此扩展性和维修性较差;
2、直接点对点通信控制和数据采集,一般应用于多模块的分布式控制系统中,扩展性一般,依赖主控模块处理器的通信资源,对物理接口资源消耗较大;
3、基于交换机的高速总线通信模式,一般用于大型的分布式控制系统中,数据吞吐量巨大,扩展性极强,但是通信协议复杂,设计维护专业性较强,不适用于对可靠性和实时性要求较高的工业现场和特种设备测控系统。
4、基于半双工多节点串行总线通信模式,一般用于对实时性要求极高的工业现场和大型运动装备控制系统中。多节点串行总线一般有主从、多主两种拓扑结构。在多主拓扑中,由于总线状态的不确定性,可能会出现信道出错堵塞;而在主从拓扑中,总线的调度和状态管控都是由主控模块处理器执行,增加了主模块处理器的资源占用和软件开发难度。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于半双工总线的通信装置及方法,由逻辑编程实现主控模块总线控制和分时数据自动采集存储功能,无需主控芯片直接参与总线控制,减少主控芯片的资源占用和软件开发难度,并提供了从模块状态管理和重发控制接口,对从模块和控制命令自动重发动态管理。
为实现上述目的,按照本发明的一个方面,提供了一种基于半双工总线的通信装置,包括主控制器、分时控制模块、第一总线状态管理模块、发送控制模块、数据采集模块和主总线控制模块;
所述主控制器用于产生控制命令并配置分时逻辑;
所述分时控制模块用于根据所述分时逻辑划分每个从模块执行数据采集的分时片区;
所述第一总线状态管理模块用于根据预先设置的优先级控制总线进入控制命令发送状态或从模块数据采集状态;
在所述控制命令发送状态下:
所述发送控制模块用于将写操作信号和所述控制命令对应的数据和目标地址发送给主总线控制模块;
所述主总线控制模块用于将所述写操作信号、数据和目标地址下发给各从模块,由各从模块执行控制命令的输出;
在所述从模块数据采集状态下:
所述数据采集模块用于根据当前时段以及所述分时片区选择从模块,并将所述从模块对应的目标地址和读操作信号发送给主总线控制模块;
所述主总线控制模块用于根据所述目标地址和读操作信号读取对应从模块采集的实时数据。
优选的,上述通信装置还包括第二总线状态管理模块;
所述发送控制模块还用于配置发送状态标志,所述数据采集模块还用于配置数据采集状态标志;
所述第二总线状态管理模块用于根据所述发送状态标志或数据采集状态标志以及主总线控制模块给出的总线状态进行判读,当总线发生错误时根据映射地址更新错误状态寄存器。
优选的,上述通信装置,所述主控制器还用于配置控制命令的重发逻辑;
当控制命令发送错误时,所述第二总线状态管理模块根据所述重发逻辑判断是否重新发送控制命令;若是,则触发发送控制模块将写操作信号和所述控制命令对应的数据和目标地址发送给主总线控制模块;若否,则触发第一总线状态管理模块控制总线进入控制命令发送状态或从模块数据采集状态。
按照本发明的另一个方面,还提供了一种基于半双工总线的通信方法,包括以下步骤:
S1:根据配置的分时逻辑划分每个从模块数据采集的分时片区;
S2:根据配置的优先级控制总线进入控制命令发送状态或从模块数据采集状态;
S3:在所述控制命令发送状态下,将写操作信号和控制命令对应的数据和目标地址下发给各从模块,由各从模块执行控制命令的输出;
S4:在所述从模块数据采集状态下,根据当前时段以及所述分时片区选择从模块,并根据所述从模块对应的目标地址和读操作信号读取对应从模块采集的实时数据。
优选的,上述通信方法还包括以下步骤:
分别配置与控制命令发送状态或从模块数据采集状态对应的状态标志,根据所述状态标志与检测的总线状态进行判读,当总线发生错误时在错误状态寄存器填写映射地址。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明提供的基于半双工总线的通信装置及方法,由分时控制模块、第一总线状态管理模块、发送控制模块、数据采集模块和主总线控制模块共同实现主控模块的总线控制和分时数据自动采集存储功能,无需主控芯片直接参与总线控制,减少主控芯片的资源占用和软件开发难度,并提供了从模块状态管理和重发控制接口,对从模块和控制命令自动重发动态管理。
(2)本发明提供的基于半双工总线的通信装置及方法,具有通用性好、适配多种总线协议、主控制芯片资源占用少、控制软件操作简单灵活的优点,在基于半双工总线的多节点分布式实时测控系统中具有较高的实用价值。
附图说明
图1是本发明提供的基于半双工总线的通信装置的逻辑框图;
图2是本发明实施例提供的基于半双工总线的通信装置的测控系统的结构示意图;
图3是本发明实施例提供的测控系统的主控模块的内部处理逻辑图;
图4是本发明实施例提供的测控系统的从模块的内部控制逻辑;
图5是本发明实施例提供的基于半双工总线的通信方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1是本发明提供的一种基于半双工总线的通信装置的逻辑框图,如图1所示,该通信装置包括主控制器、分时控制模块、第一总线状态管理模块、发送控制模块、数据采集模块和主总线控制模块;其中:
主控制器用于产生控制命令并配置分时逻辑;
分时控制模块用于根据分时逻辑划分每个从模块数据采集的分时片区;
第一总线状态管理模块用于根据预先设置的优先级控制总线进入控制命令发送状态或从模块数据采集状态;
在控制命令发送状态下:
发送控制模块用于将写操作信号和控制命令对应的数据和目标地址发送给主总线控制模块;主总线控制模块用于将写操作信号、数据和目标地址下发给各从模块,由各从模块执行控制命令的输出;
在从模块数据采集状态下:
数据采集模块用于根据当前时段以及分时片区选择从模块,并将从模块对应的目标地址和读操作信号发送给主总线控制模块;主总线控制模块用于根据目标地址和读操作信号读取对应从模块采集的实时数据。
在一个优选的示例中,发送控制模块在进入控制命令发送状态之后配置发送状态标志,数据采集模块在进入从模块数据采集状态之后配置数据采集状态标志;
上述通信装置还包括第二总线状态管理模块,该第二总线状态管理模块用于根据所述发送状态标志或数据采集状态标志以及主总线控制模块给出的总线状态进行判读,当总线发生错误时根据映射地址更新错误状态寄存器。
在一个优选的示例中,当控制命令正常发送或数据采集错误时,上述第二总线状态管理模块生成第一反馈信号,该第一反馈信号用于触发第一总线状态管理模块控制总线进入控制命令发送状态或从模块数据采集状态。
在一个优选的示例中,当数据采集正常时,上述第二总线状态管理模块从主总线控制模块获取采集的实时数据并按照映射地址进行存储,存储完成后生成第二反馈信号,该第二反馈信号用于触发第一总线状态管理模块控制总线进入控制命令发送状态或从模块数据采集状态。
在一个优选的示例中,主控制器还用于配置控制命令的重发逻辑;
当控制命令发送错误时,第二总线状态管理模块根据该重发逻辑判断是否重新发送控制命令,若是,则触发发送控制模块将写操作信号和所述控制命令对应的数据和目标地址发送给主总线控制模块;若否,则触发第一总线状态管理模块控制总线进入控制命令发送状态或从模块数据采集状态。
在一个优选的示例中,分时控制模块还用于根据主控制器发出的管理命令调整分时片区的数量,对于主控制器通信的从模块的数量进行管理。
在一个优选的示例中,主控制器根据总线通信速率和单次通信的数据量配置分时逻辑和重发逻辑。
在一个优选的示例中,发送控制模块包括缓存模块、发送模块、数据填充模块和发送启动模块;
缓存模块用于缓存主控制器发送的控制命令对应的数据和目标地址;
发送模块用于配置发送状态标志,并将控制命令对应的目标地址和写操作信号发送给主总线控制模块;
数据填充模块用于将控制命令对应的数据发送给主总线控制模块;
发送启动模块用于生成启动命令并将其发送给主总线控制模块。
本发明还提供了一种基于半双工总线的通信方法,包括以下步骤:
S1:根据配置的分时逻辑划分每个从模块数据采集的分时片区;
S2:根据配置的优先级控制总线进入控制命令发送状态或从模块数据采集状态;
S3:在所述控制命令发送状态下,将写操作信号和控制命令对应的数据和目标地址下发给各从模块,由各从模块执行控制命令的输出;
S4:在所述从模块数据采集状态下,根据当前时段以及所述分时片区选择从模块,并根据所述从模块对应的目标地址和读操作信号读取对应从模块采集的实时数据。
在一个优选的示例中,上述通信方法还包括以下步骤:
分别配置与控制命令发送状态或从模块数据采集状态对应的状态标志,根据所述状态标志与检测的总线状态进行判读,当总线发生错误时根据映射地址更新错误状态寄存器。
当控制命令正常发送或数据采集错误时,返回步骤S2。
当数据采集正常时,所述第二总线状态管理模块从主总线控制模块获取采集的实时数据并按照映射地址进行存储,存储完成后返回步骤S2。
当控制命令发送错误时根据预先配置的重发逻辑判断是否重新发送控制命令,若是,则返回步骤S3;若否,则返回步骤S2。
本发明提供的一种基于半双工总线的通信装置及方法,由分时控制模块、第一总线状态管理模块、发送控制模块、数据采集模块和主总线控制模块共同实现总线控制和分时数据自动采集存储的功能,从而减少主控芯片的资源占用和软件开发难度,并提供了从模块状态管理和重发控制功能,对从模块和控制命令自动重发动态管理。
本发明基于数字逻辑编程设计,使用状态机实现。在典型的一主多从的半双工通信拓扑结构中,主控模块通过计数器分时逻辑分时进入单个从模块的数据采集状态,对各从模块数据进行自动采集,用户通过主控模块可以实时读取任何一个从模块的采集数据,还可以随时控制主控模块执行控制命令的发送,还可以根据总线错误情况随时设置计数器分时逻辑和重发逻辑。
下面结合附图对本发明提供的基于半双工总线的通信装置及方法作进一步详细的说明。
图2示出了采用本发明提供的基于半双工总线的通信装置的测控系统的结构示意图;该测控系统是典型的一主多从的通信拓扑结构,主要包括一个主控模块和N个从模块,从模块主要用于执行控制输出和数据采集,主控模块和N个从模块之间通过半双工串行总线物理链路连接,N的取值可以根据具体的总线协议和实际使用情况确定。
本实施例中,测控系统的主控模块的内部处理逻辑如图3所示,主控模块是测控系统的核心部分,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在主控模块中,除主控制器芯片以外,其余部分均为可编程逻辑电路,数据采集操作由可编程逻辑电路自动完成。主控制器芯片主要用于执行用户处理程序,包括但不仅限于MCU、CPU、DSP等处理芯片。可编程逻辑电路包括分时控制模块、第一总线状态管理模块、发送控制模块、数据采集模块、主总线控制模块和第二总线状态管理模块;本实施例中,第一总线状态管理模块用于在半双工总线进入空闲状态后执行总线控制与数据处理;发送控制模块具有发送控制命令缓存、发送控制命令状态、控制命令数据填充状态、控制命令发送启动状态等几个控制状态;数据采集模块具有对应N个从模块的数据采集状态和数据采集启动状态两个控制状态;第二总线状态管理模块用于在半双工总线进入总线忙状态后执行总线控制与数据处理,包括控制命令发送错误状态、采集数据更新状态等控制状态;主总线控制模块用于执行主控模块总线控制逻辑,通过总线收发接口与各从模块进行通信。
此外,主控模块还提供了数据存储地址映射、错误状态寄存器、发送控制命令同步缓存、从模块状态管理和重发控制等与主控制芯片之间的接口。
分时控制模块用于接收主控制器芯片从模块状态管理命令,使用计数器划分每个从模块数据采集的分时片区,可以根据管理命令剔除或增加执行数据采集的从模块个数。
在发送控制命令缓存状态下,发送控制模块用于缓存主控制器芯片发送控制命令时的数据和地址;在总线进入空闲状态时,提供发送控制命令状态触发条件给第一总线状态管理模块;在发送控制命令状态时提供地址信号;在控制命令数据填充状态时提供数据信号。
进入总线空闲状态后,第一总线状态管理模块初始化所有的状态标志信号,如果满足控制命令发送条件,则进入发送控制命令状态;否则就根据分时控制模块提供的条件进入其中一个从模块数据采集状态。
在发送控制命令状态中,发送控制模块配置发送控制命令状态标志,并填写控制命令发送的目标地址和写操作信号给主控模块总线控制逻辑后,进入控制命令数据填充状态。
在控制命令数据填充状态中,发送控制模块填写控制命令对应的数据给主控模块总线控制逻辑后,进入控制命令发送启动状态。
在控制命令发送启动状态中,发送控制模块发送启动命令给主控模块总线控制逻辑后,进入总线忙状态。
在从模块数据采集状态中,数据采集模块配置对应的从模块数据采集状态标志,并填写数据采集的目标地址和读操作信号给主控模块总线控制逻辑后,进入数据采集启动状态。
在数据采集启动状态中,数据采集模块发送数据采集启动命令给主控模块总线控制逻辑后,进入总线忙状态。
进入总线忙状态后,第二总线状态管理模块用于判读主控模块总线控制逻辑给出的总线状态反馈数据和相应的状态标志,当出现总线错误时更新主控制器芯片的错误状态寄存器,该错误状态寄存器应包括错误状态标志和错误次数。控制命令发送成功则回到总线空闲状态;控制命令发送失败则进入控制命令发送错误状态;数据采集成功则进入采集数据更新状态。
在控制命令发送错误状态中,第二总线状态管理模块接收主控制器芯片预设的重发控制命令,判断是否重发或重发次数,满足重发条件时则回到发送控制命令状态;不需要重发或重发次数已达到预设值,则回到总线空闲状态。
在采集数据更新状态中,判读从模块数据采集状态标志,把主控模块总线控制逻辑接收到的数据存储到映射的地址空间,供主控制器芯片随时读取。
主控模块总线控制逻辑可以是私有的总线协议控制器,也可以是包括但不仅限于RS485、1553B、CAN等在内的标准总线控制器。
在本实施例中,测控系统的从模块的内部控制逻辑如图4所示,每个从模块主要包括从模块总线控制逻辑、控制命令缓存、控制逻辑、采集数据缓存和采集数据预处理等功能模块。从模块总线控制逻辑根据总线控制协议被动执行主控模块总线控制逻辑的读写操作,通过半双工总线收发接口接收到主控模块发送的控制命令,缓存后给控制逻辑读取,控制逻辑最后执行控制指令的输出;数据采集接口接收外部电路的数据信号,通过采集数据预处理逻辑进行处理后发送给采集数据缓存,供主控模块通过半双工总线自动分时读取。
图5示出了本实施例提供的一种基于半双工总线的通信方法的流程图,如图5所述,主控制器芯片软件和半双工总线通信都是在主控模块上电后启动;半双工总线通信启动后进入总线空闲状态,根据各个条件的判读优先级,判断进入发送控制命令状态或其中一个从模块数据采集状态;当缓存有数时,进入发送控制命令状态,填写目标地址和写控制信号给主控模块总线控制逻辑,完成后进入控制命令数据填充状态,填写要发送的数据给主控模块总线控制逻辑,完成后进入控制命令发送启动状态,填写发送启动命令给主控模块总线控制逻辑;当缓存没有数据且计数状态为M时,1≤M≤N,进入从模块M数据采集状态,填写从模块M的目标地址和读控制信号给主控模块总线控制逻辑,完成后进入数据采集启动状态,填写接收启动命令给主控模块总线控制逻辑;进入其他从模块数据采集状态时的操作流程一致;主控模块总线控制逻辑在接收到一系列数据、目标地址和读、写启动控制指令后,开始操作半双工总线物理接口,流程进入总线忙状态;在总线忙状态中对各个状态置位标志和主控模块总线控制逻辑给出的总线状态进行判读;当总线发生错误时则在存储映射地址填写错误状态寄存器,当发送控制命令正常或数据采集错误时回到总线空闲状态;当发送控制命令错误时,进入控制命令发送错误状态,根据主控制器芯片软件设置的重发逻辑判断是否重发,是则重新进入发送控制命令状态,否则回到总线空闲状态;当数据采集正常时,按存储映射地址,更新从模块M的采集数据,更新完成后回到总线空闲状态,开始下一轮控制或数据采集。主控制器芯片软件随时可以发送控制命令,数据和地址同时缓存,可以主动或通过读取错误状态寄存器和存储的从模块采集数据来设置计数器分时逻辑和重发逻辑,设置计数器分时逻辑和重发逻辑同时应充分考虑总线通信速率和一次通信的数据量,根据一次通信的总线占用时间来设置。
为了更进一步的说明本实施例所提出的一种基于半双工总线的通信方法,通过下面的通信流程详述其工作原理如下:
(1)主控模块上电后,主控制器芯片软件启动,半双工总线通信启动,主控制器芯片软件根据用户逻辑静态或动态设置计数器分时逻辑和控制命令发送错误重发逻辑,半双工总线通信启动后进入总线空闲状态;主控制器芯片软件在设置计数器分时逻辑和重发逻辑时应充分考虑总线通信速率和一次通信的数据量,根据一次通信的总线占用时间来设置;
(2)主控制器芯片软件随时发送控制命令,数据和地址同时缓存;
(3)总线空闲状态根据各个条件的判读优先级,先判断缓存状态,再判断计数状态;
(4)在总线空闲状态中,如果缓存有数,进入发送控制命令状态,填写目标地址和写控制信号给主控模块总线控制逻辑;
(5)进入控制命令数据填充状态,填写要发送的数据给主控模块总线控制逻辑;
(6)进入控制命令发送启动状态,填写发送启动命令给主控模块总线控制逻辑,进入步骤(9);
(7)在总线空闲状态中,如果缓存没有数,且计数为M,1≤M≤N,进入从模块M数据采集状态,填写从模块M的目标地址和读控制信号给主控模块总线控制逻辑;
(8)进入数据采集启动状态,填写接收启动命令给主控模块总线控制逻辑后,进入步骤(9);
(9)进入总线忙状态,主控模块总线控制逻辑在接收到一系列数据、地址和读写启动控制指令后,开始操作半双工总线物理接口,执行控制指令输出或读取从模块采集的实时数据;
(10)对各个状态置位标志和主控模块总线控制逻辑给出的总线状态进行判读,当总线发生错误时则在存储映射地址填写错误状态寄存器;
(11)发送控制命令正常或数据采集错误时返回步骤(3);
(12)数据采集正常时,从主控模块总线控制逻辑中获取接收到的实时数据,按存储映射地址,更新从模块M的采集数据,更新完成后返回步骤(3);
(13)发送控制命令错误时,进入控制命令发送错误状态,根据主控制器芯片软件设置的重发逻辑判断是否重发,是则返回步骤(4),否则返回步骤(3);
主控制器芯片软件还可以读取总线错误寄存器随时了解从模块在线情况,剔除掉掉线模块数据采集状态进入条件。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于半双工总线的通信装置,其特征在于,包括主控制器、分时控制模块、第一总线状态管理模块、发送控制模块、数据采集模块和主总线控制模块;
所述主控制器用于产生控制命令并配置分时逻辑;
所述分时控制模块用于根据所述分时逻辑划分每个从模块执行数据采集的分时片区;
所述第一总线状态管理模块用于根据预先设置的优先级控制总线进入控制命令发送状态或从模块数据采集状态;
所述发送控制模块用于在所述控制命令发送状态下,将写操作信号和所述控制命令对应的数据和目标地址发送给主总线控制模块;所述主总线控制模块用于将所述写操作信号、数据和目标地址下发给各从模块,由各从模块执行控制命令的输出;
所述数据采集模块用于在所述从模块数据采集状态下,根据当前时段以及所述分时片区选择从模块,并将所述从模块对应的目标地址和读操作信号发送给主总线控制模块;所述主总线控制模块用于根据所述目标地址和读操作信号读取对应从模块采集的实时数据。
2.如权利要求1所述的通信装置,其特征在于,还包括第二总线状态管理模块;
所述发送控制模块还用于配置发送状态标志,所述数据采集模块还用于配置数据采集状态标志;
所述第二总线状态管理模块用于根据所述发送状态标志或数据采集状态标志以及主总线控制模块给出的总线状态进行判读,当总线发生错误时根据映射地址更新错误状态寄存器。
3.如权利要求2所述的通信装置,其特征在于,当控制命令正常发送或数据采集错误时,所述第二总线状态管理模块生成第一反馈信号,所述第一反馈信号用于触发第一总线状态管理模块控制总线进入控制命令发送状态或从模块数据采集状态。
4.如权利要求2或3所述的通信装置,其特征在于,当数据采集正常时,所述第二总线状态管理模块从主总线控制模块获取采集的实时数据并按照映射地址进行存储,存储完成后生成第二反馈信号,所述第二反馈信号用于触发第一总线状态管理模块控制总线进入控制命令发送状态或从模块数据采集状态。
5.如权利要求2所述的通信装置,其特征在于,所述主控制器还用于配置控制命令的重发逻辑;
当控制命令发送错误时,所述第二总线状态管理模块根据所述重发逻辑判断是否重新发送控制命令;若是,则触发发送控制模块将写操作信号和所述控制命令对应的数据和目标地址发送给主总线控制模块;若否,则触发第一总线状态管理模块控制总线进入控制命令发送状态或从模块数据采集状态。
6.如权利要求1所述的通信装置,其特征在于,所述发送控制模块包括缓存模块、发送模块、数据填充模块和发送启动模块;
所述缓存模块用于缓存主控制器发送的控制命令对应的数据和目标地址;
所述发送模块用于配置发送状态标志,并将控制命令对应的目标地址和写操作信号发送给主总线控制模块;
所述数据填充模块用于将控制命令对应的数据发送给主总线控制模块;
所述发送启动模块用于生成启动命令并将其发送给主总线控制模块。
7.如权利要求1所述的通信装置,其特征在于,所述分时控制模块还用于根据主控制器发出的管理命令调整所述分时片区的数量。
8.如权利要求5所述的通信装置,其特征在于,所述主控制器根据总线通信速率、单次通信的数据量配置分时逻辑和重发逻辑。
9.一种根据权利要求1-8任一项所述的基于半双工总线的通信装置的通信方法,其特征在于,包括以下步骤:
S1:根据配置的分时逻辑划分每个从模块执行数据采集的分时片区;
S2:根据配置的优先级控制总线进入控制命令发送状态或从模块数据采集状态;
S3:在所述控制命令发送状态下,将写操作信号和控制命令对应的数据和目标地址下发给各从模块,由各从模块执行控制命令的输出;
S4:在所述从模块数据采集状态下,根据当前时段以及所述分时片区选择从模块,并根据所述从模块对应的目标地址和读操作信号读取对应从模块采集的实时数据。
10.如权利要求9所述的通信方法,其特征在于,还包括以下步骤:
分别配置与控制命令发送状态或从模块数据采集状态对应的状态标志,根据所述状态标志与检测的总线状态进行判读,当总线发生错误时在错误状态寄存器填写映射地址。
CN202010129335.9A 2020-02-28 2020-02-28 一种基于半双工总线的通信装置及方法 Active CN111464407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010129335.9A CN111464407B (zh) 2020-02-28 2020-02-28 一种基于半双工总线的通信装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010129335.9A CN111464407B (zh) 2020-02-28 2020-02-28 一种基于半双工总线的通信装置及方法

Publications (2)

Publication Number Publication Date
CN111464407A CN111464407A (zh) 2020-07-28
CN111464407B true CN111464407B (zh) 2021-11-09

Family

ID=71679963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010129335.9A Active CN111464407B (zh) 2020-02-28 2020-02-28 一种基于半双工总线的通信装置及方法

Country Status (1)

Country Link
CN (1) CN111464407B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527721B (zh) * 2020-12-04 2024-07-02 苏州华兴源创科技股份有限公司 一种集成电路总线接口控制装置、方法以及系统
CN112859714A (zh) * 2021-02-22 2021-05-28 广州科方生物技术股份有限公司 基于arm+fpga的化学发光分析平台控制系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000710A (zh) * 2006-12-26 2007-07-18 广州智光电气股份有限公司 负荷控制及多路分时计费电能复合管理系统及其实现方法
CN101072152A (zh) * 2007-06-18 2007-11-14 中兴通讯股份有限公司 一种寻址控制器件及使用该器件进行寻址的方法
CN206271174U (zh) * 2016-12-22 2017-06-20 武汉盛帆智能科技有限公司 一种通信接口转换器及M‑Bus双主机控制系统
CN106953809A (zh) * 2017-02-24 2017-07-14 烽火通信科技股份有限公司 一种基于485分时通信的设备资源采集方法
CN109669888A (zh) * 2018-11-06 2019-04-23 电子科技大学 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法
CN110071742A (zh) * 2019-06-04 2019-07-30 福州优朋电子有限公司 一种低功耗近距离半双工电源载波通信电路及通信方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185670B2 (en) * 2015-09-15 2019-01-22 Gatekeeper Ltd. System and method for securely connecting to a peripheral device
CN110752909B (zh) * 2018-07-24 2022-05-27 中国航空工业集团公司西安飞行自动控制研究所 一种485总线半双工通信的软件处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000710A (zh) * 2006-12-26 2007-07-18 广州智光电气股份有限公司 负荷控制及多路分时计费电能复合管理系统及其实现方法
CN101072152A (zh) * 2007-06-18 2007-11-14 中兴通讯股份有限公司 一种寻址控制器件及使用该器件进行寻址的方法
CN206271174U (zh) * 2016-12-22 2017-06-20 武汉盛帆智能科技有限公司 一种通信接口转换器及M‑Bus双主机控制系统
CN106953809A (zh) * 2017-02-24 2017-07-14 烽火通信科技股份有限公司 一种基于485分时通信的设备资源采集方法
CN109669888A (zh) * 2018-11-06 2019-04-23 电子科技大学 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法
CN110071742A (zh) * 2019-06-04 2019-07-30 福州优朋电子有限公司 一种低功耗近距离半双工电源载波通信电路及通信方法

Also Published As

Publication number Publication date
CN111464407A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN100496048C (zh) 多主通信系统
CN111464407B (zh) 一种基于半双工总线的通信装置及方法
US8792508B2 (en) Subscriber and communication controller of a communication system and method for implementing a gateway functionality in a subscriber of a communication system
CN109150680B (zh) 一种适用于rs485总线的自适应确定地址组网电路及方法
CN102880143B (zh) 单can控制器热冗余can总线系统及其实现方法
CN107505883B (zh) 一种基于微控制器的高可靠双冗余集成控制模块
CN106775659A (zh) 基于高速Linkport接口的嵌入式双核飞行控制软件架构方法
DE112011103225B4 (de) Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung
US20030055900A1 (en) Network and associated network subscriber having message route management between a microprocessor interface and ports of the network subscriber
CN110519374B (zh) ZigBee网络化工业控制系统的边缘计算方法及其边缘节点
US7752341B2 (en) Programmable controller and communication unit therefor
CN111131194A (zh) 基于软件与硬件协议栈的网络协议转换器及协议转换方法
CN115065575B (zh) 基于can总线控制器的数据传输系统及电子设备
CN112100007A (zh) 一种多控制器存储设备中主控制器的切换方法和系统
CN114726675B (zh) 一种基于带检测冲突的485通信网络及智能照明系统
CN110363980B (zh) 基于TDMA和Contiki的LoRa采集装置及其采集方法
CN112147927A (zh) 一种双通道总线通信的多轴运动控制系统
CN113141288B (zh) 一种can总线控制器的邮箱报文收发方法和装置
US9325567B2 (en) Communication system, method for operating such a communication system, and communication module
CN111884898B (zh) 基于软、硬件融合的列车网络控制系统及融合方法
CN105141489B (zh) 一种用于仿真器的实时数据采集系统
CN210155653U (zh) 基于zynq芯片实现m-lvds总线数据交互装置
JP2004280304A (ja) フィールドバスシステム及び通信方法並びにマスタ及びスレーブ
CN109327832B (zh) 单类型多终端低功耗无线传输系统及其传输方法
CN108874166B (zh) 一种基于fpga和ps2协议的kvm控制器

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