CN100375459C - 采用485接口实现抢占式总线通信的方法 - Google Patents
采用485接口实现抢占式总线通信的方法 Download PDFInfo
- Publication number
- CN100375459C CN100375459C CNB2004100968625A CN200410096862A CN100375459C CN 100375459 C CN100375459 C CN 100375459C CN B2004100968625 A CNB2004100968625 A CN B2004100968625A CN 200410096862 A CN200410096862 A CN 200410096862A CN 100375459 C CN100375459 C CN 100375459C
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- slave station
- main website
- devices
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种采用485接口实现抢占式总线通信的方法,包括主站向从站发送数据与从站向主站发送数据的流程;其中从站向主站发送数据的流程包括:(A)从站发送485器件采集发送总线的状态信号;(B)对采集的总线状态信号进行信号整形后发送给从站CPU;(C)从站CPU通过总线状态信号判断发送总线是否空闲;(D)如果是则开始通过从站发送485器件向总线发送数据,否则继续等待,返回步骤(A);(E)主站接收485器件接收总线上所有从站发出的数据;(F)对接收的数据进行信号整形后发送给主站CPU进行处理。采用本发明提出方法,与现有485总线技术相比,能够实现抢占式485总线通信,在保证通信的可靠性基础上,提高了总线通信效率,并能满足通信突发性、实时性的要求。
Description
技术领域
本发明涉及电子领域中的485总线通信技术。
背景技术
随着数字技术的发展和CPU的广泛应用,多站间的通信成为电子、通信领域中的一种普遍需求。从通信物理层技术上看,RS-485收发器采用平衡发送和差分接收,具有较好的抑制共模干扰能力,加上接收器具有高的灵敏度,能检测低达200mV的电压,适应远距离通信。所有这些优点,使得485总线成为现在多站间通信的一种较为普遍的应用方式。
RS-485支持半双工或全双工模式,网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。传统的标准应用中,根据TIA/EIA-485-A标准,485总线主站与从站间采取轮询-应答方式通信。这种主站与从站间的轮询-应答通信方式很好地避免了总线冲突,尤其在长距离、站点数多的情况。然而,这种传统的通信方式在特定的应用场合会显得不适合,比如同一台设备内各个单板之间的通信,此时从站与主站间通信特点是数据突发性强、实时性要求高、通信业务量不均衡以及总线长度较短等。在这种情况下,如果从站与主站间的通信采用抢占方式就会大大提高效率,并能够满足其实时性的要求。通过试验发现,在485总线不做改进的情况下直接把板间通信的二层协议改为抢占式通信,会发生很不稳定的现象,严重时会让单板CPU进入异常。经测试分析发现导致这种不稳定的原因是,当总线产生冲突时(也就是多个从站在某个时刻同时向485总线发送数据的时候),总线各个接收端(485器件的接收端)会出现一些异常信号,这些异常信号包括尖脉冲以及半幅度脉冲等。这些异常信号会给单板CPU带来严重的干扰,甚至使得单板CPU进入异常。
发明内容
本发明所要解决的技术问题就是现有485总线通信技术中主站与从站间只能采取轮询方式通信,提出一种采用485接口实现抢占式总线通信的方法。
一种采用485接口实现抢占式总线通信的方法,包括主站向从站发送数据的流程与从站向主站发送数据的流程;所述主站向从站发送数据的流程包括:
(1)主站CPU通过主站发送485器件将要发送的数据广播发送到485总线上;
(2)每个从站CPU通过从站接收485器件接收总线上的主站发送数据;
(3)从站根据接收到的数据帧内部标识的目的地址来判断是否为主站发给自己的数据,是则作进一步处理,否则丢弃;
所述从站向主站发送数据的流程包括:
(A)从站接收485器件采集发送总线的状态信号;
(B)对采集的总线状态信号进行信号整形后发送给从站CPU;
(C)从站CPU通过总线状态信号判断发送总线是否空闲;
(D)如果是则开始通过从站发送485器件向总线发送数据,否则继续等待,返回步骤(A);
(E)主站接收485器件接收总线上所有从站发出的数据;
(F)对接收的数据进行信号整形后发送给主站CPU进行处理。
上述从站向主站发送数据的流程还包括:从站在发送数据的过程中,每发送一个比特数据,就根据从站发送485器件反馈回来的经过整形后的总线信号判断该时刻是否有冲突,如果有冲突则停止发送,按照上述(A)到(F)的步骤重新发送该帧数据;否则继续发送下一个比特的数据。
上述发送485器件和接收485可以共用同一个485器件。
采用本发明提出方法,与现有485总线技术相比,能够实现抢占式485总线通信,在保证通信的可靠性基础上,提高了总线通信效率,并能满足通信突发性、实时性的要求。
附图说明
图1是主站向从站发送数据的功能模块框图;
图2是从站向主站发送数据的功能模块框图;
图3是主站向从站发送数据的流程图;
图4是对总线信号进行整形的示意图;
图5是从站向主站发送数据的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。
图1是主站向从站发送数据的功能模块框图,如图1所示,主站CPU通过主站485器件向总线发送数据,从站CPU通过从站485器件从总线接收数据。
图2是从站向主站发送数据的功能能模框图,如图2所示,主站CPU与各从站CPU与各485器件之间都设置了一个信号整形模块,从站CPU向总线发送数据时直接通过485器件向总线发送,主站CPU和从站CPU从总线接收数据时,485接收到的数据均需经过信号整形模块整形后才送入CPU进行处理。
图3是主站向从站发送数据的流程图,如图3所示,主站向从站发送数据的流程包括:
(1)主站CPU通过主站发送485器件将要发送的数据广播发送到485总线上;
(2)每个从站CPU通过从站接收485器件接收总线上的主站发送数据;
(3)从站根据接收到的数据帧内部标识的目的地址来判断是否为主站发给自己的数据,是则作进一步处理,否则丢弃。
图4是对总线信号进行整形的示意图。在本发明提出的抢占式485总线通信中,信号整形模块是实现本发明的关键,如图所示,它的作用是在特定时钟相位上对输入信号进行采样并保持到下一个采样时刻,通过这样一个处理过程它的输出就是一个标准的TTL信号,可以滤除输入信号中的异常电平信号以及窄脉冲信号(相对于总线时钟信号周期),保证从站CPU不受到这些异常信号的干扰,从而实现通信的稳定。
图5是从站向主站发送数据的流程图。如图5所示,从站向主站发送数据的流程包括:
(A)从站接收485器件采集发送总线的状态信号;
(B)对采集的总线状态信号进行信号整形后发送给从站CPU;
(C)从站CPU通过总线状态信号判断发送总线是否空闲;
(D)如果是则开始通过从站发送485器件向总线发送数据,否则继续等待,返回步骤(A);
(E)主站接收485器件接收总线上所有从站发出的数据;
(F)对接收的数据进行信号整形后发送给主站CPU进行处理。
进一步地,在从站发送数据的过程中,每发送一个比特数据,就根据从站发送485器件反馈回来的经过整形后的总线信号判断该时刻是否有冲突,如果有冲突则停止发送,按照上述(A)到(F)的步骤重新发送该帧数据;否则继续发送下一个比特的数据。
在本发明中,485总线可以采用全双工模式也可以采用半双工模式,以全双工485总线方式为例,主站与从站通信有发送、接收两条485总线。主站模块中,收、发各用一个485接口器件,发送485器件和CPU的数据发送端口直接相连;接收485器件通过一个信号整形模块把从总线上收到的数据送给主站CPU。主站485器件的收、发使能信号设置始终有效。从站模块中,从站485器件的接收使能设置始终有效,发送使能由从站CPU控制,当从站发送数据时使之有效,缺省为无效状态。发送485器件的接收端口信号(RX)输入信号整形模块,信号整形后送给从站CPU的总线状态检测端口,作为链路层协议检测总线状态的信号。信号整形模块功能可以通过FPGA或者EPLD来实现。该模块输出信号形式如图4所示,因为整形模块工作原理是采样-保持模式,所以输出信号可以消除对从站CPU有很大干扰的异常电平信号以及窄脉冲。经过这样的处理,抢占式485总线就可以稳定工作了。相对于传统轮询式485总线通信,这种抢占式485总线通信的优点是实时性更好,效率更高。
Claims (5)
1.采用485接口实现抢占式总线通信的方法,其特征在于包括主站向从站发送数据的流程与从站向主站发送数据的流程;所述主站向从站发送数据的流程包括:
(1)主站CPU通过主站发送485器件将要发送的数据广播发送到485总线上;
(2)每个从站CPU通过从站接收485器件接收总线上的主站发送数据;
(3)从站根据接收到的数据帧内部标识的目的地址来判断是否为主站发给自己的数据,是则作进一步处理,否则丢弃;
所述从站向主站发送数据的流程包括:
(A)从站接收485器件采集发送总线的状态信号;
(B)对采集的总线状态信号进行信号整形后发送给从站CPU;
(C)从站CPU通过总线状态信号判断发送总线是否空闲;
(D)如果是则开始通过从站发送485器件向总线发送数据,否则继续等待,返回步骤(A);
(E)主站接收485器件接收总线上所有从站发出的数据;
(F)对接收的数据进行信号整形后发送给主站CPU进行处理。
2.根据权利要求1所述的方法,其特征在于所述从站向主站发送数据的流程还包括:从站在发送数据的过程中,每发送一个比特数据,就根据从站发送485器件反馈回来的经过整形后的总线信号判断该时刻是否有冲突,如果有冲突则停止发送,按照上述(A)到(F)的步骤重新发送该帧数据;否则继续发送下一个比特的数据。
3.根据权利要求1或2所述的方法,其特征在于所述485总线采用全双工模式。
4.根据权利要求1或2所述的方法,其特征在于所述主站发送485器件和所述主站接收485器件为同一个485器件。
5.根据权利要求1或2所述的方法,其特征在于所述从站发送485器件和所述从站接收485器件为同一个485器件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100968625A CN100375459C (zh) | 2004-12-08 | 2004-12-08 | 采用485接口实现抢占式总线通信的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100968625A CN100375459C (zh) | 2004-12-08 | 2004-12-08 | 采用485接口实现抢占式总线通信的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1787473A CN1787473A (zh) | 2006-06-14 |
CN100375459C true CN100375459C (zh) | 2008-03-12 |
Family
ID=36784791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100968625A Expired - Fee Related CN100375459C (zh) | 2004-12-08 | 2004-12-08 | 采用485接口实现抢占式总线通信的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100375459C (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626334B (zh) * | 2009-08-10 | 2013-06-12 | 中兴通讯股份有限公司 | 通讯总线控制方法和装置 |
CN102291682A (zh) * | 2011-05-30 | 2011-12-21 | 镇江煤达矿用电器有限公司 | 一种基于485总线的瓦斯警报上报方法 |
CN102957586B (zh) * | 2011-08-23 | 2015-11-04 | 万洲电气股份有限公司 | 基于无冲突协议的全双工rs485总线通信方法 |
CN103297090B (zh) * | 2012-02-29 | 2015-04-08 | 北京爱朗格瑞科技有限公司 | 工频载波通讯总线的抢占方法和装置 |
CN105302038A (zh) * | 2015-11-04 | 2016-02-03 | 深圳市泛海三江电子有限公司 | 一种防火门监控系统的抢占式监控通信方法、系统及装置 |
CN110752909B (zh) * | 2018-07-24 | 2022-05-27 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种485总线半双工通信的软件处理方法 |
CN109067630A (zh) * | 2018-10-16 | 2018-12-21 | 苏州琅润达检测科技有限公司 | 一种串口数据通信链路分路协调控制装置 |
CN110941179B (zh) * | 2019-12-09 | 2023-03-31 | 杭州和利时自动化有限公司 | 一种无扰下装方法、装置、设备及可读存储介质 |
CN111245697B (zh) * | 2020-01-07 | 2022-04-01 | 深圳市蓝海华腾技术股份有限公司 | 并行总线的通信方法、系统及主站、从站 |
CN113064848A (zh) * | 2021-01-23 | 2021-07-02 | 河南锐利特计算机科技有限公司 | 485接口总线采用分时时间窗口法通信的方法 |
CN114124613B (zh) * | 2021-11-22 | 2023-11-21 | 江苏科技大学 | 一种防止竞争的工业485组网系统及其控制方法 |
CN117171090B (zh) * | 2023-09-08 | 2024-05-03 | 广东保伦电子股份有限公司 | 一种rs485总线实现多主机间的通信方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0753145A (ja) * | 1993-06-01 | 1995-02-28 | Otis Elevator Co | バスジャミング装置およびバスジャミング方法 |
US6016517A (en) * | 1997-04-10 | 2000-01-18 | International Business Machines Corporation | Data processing system and method for optimizing connector usage |
CN1349332A (zh) * | 2001-12-04 | 2002-05-15 | 上海交通大学 | 包含以太网节点和实时节点的串行总线通信系统 |
CN1527561A (zh) * | 2003-09-22 | 2004-09-08 | 中兴通讯股份有限公司 | 实现rs-485多点通讯的方法 |
CN2657297Y (zh) * | 2003-10-13 | 2004-11-17 | 华为技术有限公司 | 一种rs485总线收发控制器 |
US20040233929A1 (en) * | 2003-01-27 | 2004-11-25 | Hall Tobin J. | System and method of controlling network devices |
-
2004
- 2004-12-08 CN CNB2004100968625A patent/CN100375459C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0753145A (ja) * | 1993-06-01 | 1995-02-28 | Otis Elevator Co | バスジャミング装置およびバスジャミング方法 |
US6016517A (en) * | 1997-04-10 | 2000-01-18 | International Business Machines Corporation | Data processing system and method for optimizing connector usage |
CN1349332A (zh) * | 2001-12-04 | 2002-05-15 | 上海交通大学 | 包含以太网节点和实时节点的串行总线通信系统 |
US20040233929A1 (en) * | 2003-01-27 | 2004-11-25 | Hall Tobin J. | System and method of controlling network devices |
CN1527561A (zh) * | 2003-09-22 | 2004-09-08 | 中兴通讯股份有限公司 | 实现rs-485多点通讯的方法 |
CN2657297Y (zh) * | 2003-10-13 | 2004-11-17 | 华为技术有限公司 | 一种rs485总线收发控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN1787473A (zh) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100375459C (zh) | 采用485接口实现抢占式总线通信的方法 | |
Uchida | Hardware-based TCP processor for gigabit ethernet | |
CN105491017B (zh) | Rs485总线多设备多协议解析方法及系统 | |
JPS639261B2 (zh) | ||
CN201191856Y (zh) | Rs-485数据收发装置 | |
CN108111494A (zh) | 一种1553B总线与FlexRay总线的协议转换装置 | |
CN108156137A (zh) | 一种1553B总线与FlexRay总线的协议转换方法 | |
CN113726592B (zh) | 一种边缘服务器的传输延迟测试方法、系统及相关组件 | |
CN101867951A (zh) | 在位检测方法和基站、基带处理单元及多软件模块系统 | |
CN111327508B (zh) | Fc-ae-1553与blvds总线桥接系统及方法 | |
CN108920394A (zh) | 一种背板串行总线通讯方法及系统 | |
CN103399834A (zh) | 数据传输方法、装置和系统 | |
CN107465487A (zh) | 一种总线数据发送方法、系统和分设备 | |
CN110855540B (zh) | 一种基于单环网的485多主通信方法和系统 | |
CN110297795B (zh) | 基于以太网phy芯片实现单路串行数据传输系统及其方法 | |
CN1909495A (zh) | 智能工业总线收发器 | |
CN101027918B (zh) | 一种在phs中实现多基站捆绑通信的方法和装置 | |
US6912210B1 (en) | Data communication system and communication device used | |
CN2456384Y (zh) | 用于rs485总线的通讯网络集线器 | |
CN1708027A (zh) | 一种传送以太网设备双工模式信息的方法 | |
CN108540294B (zh) | 一种集线器集成芯片 | |
CN105790844B (zh) | 一种通用的支持多种拓扑的光纤通信方法 | |
CN103678227A (zh) | Usb功能和网络功能共用usb接口的电路及方法 | |
CN2854948Y (zh) | 智能工业总线收发器 | |
CN213024391U (zh) | 一种车载终端串口扩展设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080312 Termination date: 20171208 |
|
CF01 | Termination of patent right due to non-payment of annual fee |