CN107748728A - 一种串口通讯分配装置及其通讯方法 - Google Patents
一种串口通讯分配装置及其通讯方法 Download PDFInfo
- Publication number
- CN107748728A CN107748728A CN201710928336.8A CN201710928336A CN107748728A CN 107748728 A CN107748728 A CN 107748728A CN 201710928336 A CN201710928336 A CN 201710928336A CN 107748728 A CN107748728 A CN 107748728A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- level communication
- communication module
- packet
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/40013—Details regarding a bus controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种串口通讯分配装置,包括数据接收模块,用于接收MODBUS从站发出的数据;分配模块,用于对数据进行处理和分配;若干个数据发送模块,数据发送模块与MODBUS主站一一对应,不同的数据发送模块之间通讯连接,用于接收传输模块发出的数据段,并将数据段进行重新加工,并传输至MODBUS主站。本发明能够改进现有技术的不足,实现了一台MODBUS从站同时向多个MODBUS主站传输数据的功能,传输效率高、硬件配置成本低。
Description
技术领域
本发明涉及数据通讯技术领域,尤其是一种串口通讯分配装置及其通讯方法。
背景技术
目前,在众多的工业现场通讯总线中有一种通讯协议是MODBUS通讯协议,它被广泛的应用在智能仪表、智能阀门、PLC控制器上,此协议是一种主从站通讯协议,用异步串行口完成通讯,物理层采用RS485或RS232。传输速率可以达到115kbps,受线路和设备的限制,最多可以接一台主站和32台从站。由于MODBUS通讯传输数据多、抗干扰能力强、传输距离远,在实际工业生产中有这样的需求——两台或三台主站设备需要同时监控一个MODBUS从站的设备,并且多个主站的MODBUS通讯协议可能还经常不一样,而一般的智能设备就提供一个MODBUS接口,如果需要满足多台MODBUS主站希望同时读取的这种需求,则需要额外配置数据库,结构复杂成本高。
发明内容
本发明要解决的技术问题是提供一种串口通讯分配装置及其通讯方法,能够解决现有技术的不足,实现了一台MODBUS从站同时向多个MODBUS主站传输数据的功能,传输效率高、硬件配置成本低。
为解决上述技术问题,本发明所采取的技术方案如下。
一种串口通讯分配装置,包括,
数据接收模块,用于接收MODBUS从站发出的数据;
分配模块,用于对数据进行处理和分配,分配模块包括,
存储模块,用于对接收的数据进行暂存,
拆分模块,用于将数据进行拆分,
封装模块,用于对拆分后的数据段进行重新封装,
传输模块,用于向外传输封装后的数据段;
若干个数据发送模块,数据发送模块与MODBUS主站一一对应,不同的数据发送模块之间通讯连接,用于接收传输模块发出的数据段,并将数据段进行重新加工,并传输至MODBUS主站,数据发送模块包括,
一级通讯模块,用于接收传输模块发出的数据段,
二级通讯模块,用于接收一级通讯模块发出的数据段,并在不同的二级通讯模块之间进行传输,
数据重组模块,与二级通讯模块通讯连接,用于对数据段进行重组,
三级通讯模块,与数据重组模块通讯连接,用于将重组后的数据发送至MODBUS主站,
一级通讯模块与二级通讯模块之间,以及二级通讯模块与三级通讯模块之间各设置有缓存模块。
一种上述的串口通讯分配装置的通讯方法,包括以下步骤:
A、MODBUS从站发出数据,数据接收模块将数据传递至分配模块;
B、存储模块对数据的存储格式进行调整,存储后的数据格式包括报头区、校验区、数据区和索引区;
C、拆分模块从存储模块提取待处理的数据,首先将数据区进行拆分,形成若干个数据段,同一数据中的各数据段的特征值进行打包,存入校验区;不同数据之间的逻辑索引关系存入索引区;不同数据的接收主站地址存入报头区;
D、封装模块首先将数据区拆分的数据段进行打包封装,然后对报头区、校验区和索引区的数据进行打包封装,两类数据包上标记特征标示;
E、传输模块将数据包发送至数据发送模块,处于空闲状态的数据发送模块对数据包进行接收;
F、一级通讯模块接收数据包之后,发送至对应的二级通讯模块;
G、接收到数据包的二级通讯模块优先将数据包发送至对应的数据重组模块进行数据重组,如果该数据重组模块处于工作状态,则二级通讯模块根据数据重组模块的工作状态,通过其它二级通讯模块将待处理数据发送至处于空闲状态下的数据重组模块进行重组处理;缓存模块用于对数据包进行暂存;
H、数据重组模块根据数据包的特征标示首先对数据包进行归类,然后将属于同类数据包中的数据段根据校验区和索引区的记录进行重组,然后根据报头区的记录将重组后的数据通过三级通讯模块发送至对应的MODBUS主站。
作为优选,一级通讯模块与二级通讯模块之间,以及二级通讯模块与三级通讯模块之间的传输速率为115200bit/s,不同二级通讯模块之间的传输速率为230400bit/s。
作为优选,数据接收模块和分配模块每个时钟周期进行一次数据处理,数据发送模块每两个时钟周期进行一次数据处理。
作为优选,缓存模块采用堆栈数据格式。
采用上述技术方案所带来的有益效果在于:本发明通过改进数据传输方式,采用多路数据交叉传输的方式,充分利用空闲带宽,提高了数据传输的效率。数据传输采取数据包的形式进行,可以配合多路数据交叉传输的硬件结构,提高传输过程中通讯带宽的利用率,从而进一步提高传输效率。
附图说明
图1是本发明一个具体实施方式的原理图。
图2是本发明一个具体实施方式中滤波模块的结构图。
图中:1、数据接收模块;2、分配模块;3、数据发送模块;4、滤波模块;21、存储模块;22、拆分模块;23、封装模块;24、传输模块;31、一级通讯模块;32、二级通讯模块;33、数据重组模块;34、三级通讯模块;35、缓存模块;。
具体实施方式
本发明中使用到的标准零件均可以从市场上购买,异形件根据说明书的和附图的记载均可以进行订制,各个零件的具体连接方式均采用现有技术中成熟的螺栓、铆钉、焊接、粘贴等常规手段,在此不再详述。
参照图1-2,本发明一个具体实施方式包括,
数据接收模块1,用于接收MODBUS从站发出的数据;
分配模块2,用于对数据进行处理和分配,分配模块(2)包括,
存储模块21,用于对接收的数据进行暂存,
拆分模块22,用于将数据进行拆分,
封装模块23,用于对拆分后的数据段进行重新封装,
传输模块24,用于向外传输封装后的数据段;
若干个数据发送模块3,数据发送模块3与MODBUS主站一一对应,不同的数据发送模块3之间通讯连接,用于接收传输模块24发出的数据段,并将数据段进行重新加工,并传输至MODBUS主站,数据发送模块3包括,
一级通讯模块31,用于接收传输模块24发出的数据段,
二级通讯模块32,用于接收一级通讯模块31发出的数据段,并在不同的二级通讯模块31之间进行传输,
数据重组模块33,与二级通讯模块32通讯连接,用于对数据段进行重组,
三级通讯模块34,与数据重组模块33通讯连接,用于将重组后的数据发送至MODBUS主站,
一级通讯模块31与二级通讯模块32之间,以及二级通讯模块32与三级通讯模块34之间各设置有缓存模块35。
一种上述的串口通讯分配装置的通讯方法,包括以下步骤:
A、MODBUS从站发出数据,数据接收模块1将数据传递至分配模块2;
B、存储模块21对数据的存储格式进行调整,存储后的数据格式包括报头区、校验区、数据区和索引区;
C、拆分模块22从存储模块21提取待处理的数据,首先将数据区进行拆分,形成若干个数据段,同一数据中的各数据段的特征值进行打包,存入校验区;不同数据之间的逻辑索引关系存入索引区;不同数据的接收主站地址存入报头区;
D、封装模块23首先将数据区拆分的数据段进行打包封装,然后对报头区、校验区和索引区的数据进行打包封装,两类数据包上标记特征标示;
E、传输模块24将数据包发送至数据发送模块3,处于空闲状态的数据发送模块3对数据包进行接收;
F、一级通讯模块31接收数据包之后,发送至对应的二级通讯模块32;
G、接收到数据包的二级通讯模块32优先将数据包发送至对应的数据重组模块33进行数据重组,如果该数据重组模块33处于工作状态,则二级通讯模块32根据数据重组模块33的工作状态,通过其它二级通讯模块32将待处理数据发送至处于空闲状态下的数据重组模块33进行重组处理;缓存模块35用于对数据包进行暂存;
H、数据重组模块33根据数据包的特征标示首先对数据包进行归类,然后将属于同类数据包中的数据段根据校验区和索引区的记录进行重组,然后根据报头区的记录将重组后的数据通过三级通讯模块34发送至对应的MODBUS主站。
一级通讯模块31与二级通讯模块32之间,以及二级通讯模块32与三级通讯模块34之间的传输速率为115200bit/s,不同二级通讯模块32之间的传输速率为230400bit/s。数据接收模块1和分配模块2每个时钟周期进行一次数据处理,数据发送模块3每两个时钟周期进行一次数据处理。缓存模块35采用堆栈数据格式。
缓存模块35还可以采用一种更为灵活的数据存储方式,对于缓存模块35中内容相同的数据包,将优先级较低的数据包提高至相同数据包的最高优先级,然后进行一次重组处理并全部发出,这样可以节约运算能力,提高数据处理效率。
另外,在数据接收模块1和分配模块2之间设置有滤波模块4。滤波模块4的输入端IN通过串联的第一电阻R1和第一电容C1连接至第一运放A1的正相输入端,第一运放A1的反相输入端通过第五电阻R5接地,第一运放A1的反相输入端通过并联的二极管D和第四电阻R4连接至第一运放A1的输出端,第一电阻R1和第一电容C1之间通过第二电容C2接地,第一电阻R1和第一电容C1之间连接至第一三极管Q1的基极,第一三极管Q1的集电极与基极相连,第一三极管Q1的发射极通过第二电阻R2连接至第一运放A1的输出端,第一运放A1的正相输入端通过第三电阻R3接地,第一运放A1的输出端通过第六电阻R6连接至第二运放A2的正相输入端,第二运放A2的反相输入端连接至第一运放A1的输出端你,第二运放A2的反相输入端通过第七电阻R7连接至第二运放A2的输出端,第二运放A2的正相输入端通过第三电容C3连接至第二三极管Q2的集电极,第二三极管Q2的集电极连接至基极,第二三极管Q2的发射极连接至第一运放A1的正相输入端,第二三极管Q2的集电极通过第八电阻R8接地。
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
1.一种串口通讯分配装置,其特征在于:包括,
数据接收模块(1),用于接收MODBUS从站发出的数据;
分配模块(2),用于对数据进行处理和分配,分配模块(2)包括,
存储模块(21),用于对接收的数据进行暂存,
拆分模块(22),用于将数据进行拆分,
封装模块(23),用于对拆分后的数据段进行重新封装,
传输模块(24),用于向外传输封装后的数据段;
若干个数据发送模块(3),数据发送模块(3)与MODBUS主站一一对应,不同的数据发送模块(3)之间通讯连接,用于接收传输模块(24)发出的数据段,并将数据段进行重新加工,并传输至MODBUS主站,数据发送模块(3)包括,
一级通讯模块(31),用于接收传输模块(24)发出的数据段,
二级通讯模块(32),用于接收一级通讯模块(31)发出的数据段,并在不同的二级通讯模块(31)之间进行传输,
数据重组模块(33),与二级通讯模块(32)通讯连接,用于对数据段进行重组,
三级通讯模块(34),与数据重组模块(33)通讯连接,用于将重组后的数据发送至MODBUS主站,
一级通讯模块(31)与二级通讯模块(32)之间,以及二级通讯模块(32)与三级通讯模块(34)之间各设置有缓存模块(35)。
2.一种权利要求1所述的串口通讯分配装置的通讯方法,其特征在于包括以下步骤:
A、MODBUS从站发出数据,数据接收模块(1)将数据传递至分配模块(2);
B、存储模块(21)对数据的存储格式进行调整,存储后的数据格式包括报头区、校验区、数据区和索引区;
C、拆分模块(22)从存储模块(21)提取待处理的数据,首先将数据区进行拆分,形成若干个数据段,同一数据中的各数据段的特征值进行打包,存入校验区;不同数据之间的逻辑索引关系存入索引区;不同数据的接收主站地址存入报头区;
D、封装模块(23)首先将数据区拆分的数据段进行打包封装,然后对报头区、校验区和索引区的数据进行打包封装,两类数据包上标记特征标示;
E、传输模块(24)将数据包发送至数据发送模块(3),处于空闲状态的数据发送模块(3)对数据包进行接收;
F、一级通讯模块(31)接收数据包之后,发送至对应的二级通讯模块(32);
G、接收到数据包的二级通讯模块(32)优先将数据包发送至对应的数据重组模块(33)进行数据重组,如果该数据重组模块(33)处于工作状态,则二级通讯模块(32)根据数据重组模块(33)的工作状态,通过其它二级通讯模块(32)将待处理数据发送至处于空闲状态下的数据重组模块(33)进行重组处理;缓存模块(35)用于对数据包进行暂存;
H、数据重组模块(33)根据数据包的特征标示首先对数据包进行归类,然后将属于同类数据包中的数据段根据校验区和索引区的记录进行重组,然后根据报头区的记录将重组后的数据通过三级通讯模块(34)发送至对应的MODBUS主站。
3.根据权利要求2所述的串口通讯分配装置的通讯方法,其特征在于:一级通讯模块(31)与二级通讯模块(32)之间,以及二级通讯模块(32)与三级通讯模块(34)之间的传输速率为115200bit/s,不同二级通讯模块(32)之间的传输速率为230400bit/s。
4.根据权利要求2所述的串口通讯分配装置的通讯方法,其特征在于:数据接收模块(1)和分配模块(2)每个时钟周期进行一次数据处理,数据发送模块(3)每两个时钟周期进行一次数据处理。
5.根据权利要求2所述的串口通讯分配装置的通讯方法,其特征在于:缓存模块(35)采用堆栈数据格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710928336.8A CN107748728B (zh) | 2017-10-09 | 2017-10-09 | 一种串口通讯分配装置及其通讯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710928336.8A CN107748728B (zh) | 2017-10-09 | 2017-10-09 | 一种串口通讯分配装置及其通讯方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107748728A true CN107748728A (zh) | 2018-03-02 |
CN107748728B CN107748728B (zh) | 2020-06-19 |
Family
ID=61256029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710928336.8A Active CN107748728B (zh) | 2017-10-09 | 2017-10-09 | 一种串口通讯分配装置及其通讯方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107748728B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415392A (zh) * | 2018-03-27 | 2018-08-17 | 华中科技大学 | 一种作为现场总线智能从站的智能仪表设备 |
CN109450592A (zh) * | 2018-09-29 | 2019-03-08 | 广东雅达电子股份有限公司 | 一种通信协议重组方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000069508A (ja) * | 1998-08-18 | 2000-03-03 | Kagatsuu Kk | バス・スター接続切換装置 |
CN101483643A (zh) * | 2008-12-19 | 2009-07-15 | 北京华力创通科技股份有限公司 | 一种数据转换方法和装置 |
CN102034377A (zh) * | 2010-12-09 | 2011-04-27 | 哈尔滨工业大学 | Modbus网络模拟量采集与显示的实验系统及方法 |
CN202634466U (zh) * | 2012-04-12 | 2012-12-26 | 南京玖茂自动化控制系统有限公司 | 一种通讯分配器 |
CN102932224A (zh) * | 2012-11-23 | 2013-02-13 | 哈尔滨工业大学 | 基于can网络的数据通讯系统及基于该系统的数据通讯方法 |
CN104506401A (zh) * | 2015-01-06 | 2015-04-08 | 西安航天自动化股份有限公司 | 基于ISA100.11a工业传感网实现Modbus协议传输的方法 |
CN104954222A (zh) * | 2015-05-22 | 2015-09-30 | 东南大学 | 基于ipsec协议的隧道模式esp硬件封装装置 |
-
2017
- 2017-10-09 CN CN201710928336.8A patent/CN107748728B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000069508A (ja) * | 1998-08-18 | 2000-03-03 | Kagatsuu Kk | バス・スター接続切換装置 |
CN101483643A (zh) * | 2008-12-19 | 2009-07-15 | 北京华力创通科技股份有限公司 | 一种数据转换方法和装置 |
CN102034377A (zh) * | 2010-12-09 | 2011-04-27 | 哈尔滨工业大学 | Modbus网络模拟量采集与显示的实验系统及方法 |
CN202634466U (zh) * | 2012-04-12 | 2012-12-26 | 南京玖茂自动化控制系统有限公司 | 一种通讯分配器 |
CN102932224A (zh) * | 2012-11-23 | 2013-02-13 | 哈尔滨工业大学 | 基于can网络的数据通讯系统及基于该系统的数据通讯方法 |
CN104506401A (zh) * | 2015-01-06 | 2015-04-08 | 西安航天自动化股份有限公司 | 基于ISA100.11a工业传感网实现Modbus协议传输的方法 |
CN104954222A (zh) * | 2015-05-22 | 2015-09-30 | 东南大学 | 基于ipsec协议的隧道模式esp硬件封装装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415392A (zh) * | 2018-03-27 | 2018-08-17 | 华中科技大学 | 一种作为现场总线智能从站的智能仪表设备 |
CN109450592A (zh) * | 2018-09-29 | 2019-03-08 | 广东雅达电子股份有限公司 | 一种通信协议重组方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107748728B (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN201146538Y (zh) | 一种协议转换装置 | |
CN100550833C (zh) | 以太网交换缓存及调度的方法和装置 | |
CN108769121A (zh) | 智能工业装备物联网数据采集系统及采集数据的上传方法 | |
CN102271100A (zh) | EtherCAT工业以太网与无线Zigbee间的网关装置及其协议转换方法 | |
CN111339003B (zh) | 一种基于fpga的通用多通道数据发送系统及方法 | |
CN101741603A (zh) | 一种基于令牌桶的流量监管方法及设备 | |
CN103746783A (zh) | 一种基于Modbus通讯协议的扩展型通讯方法 | |
CN104950792B (zh) | 基于modbus协议的混合组网方法及工业终端设备 | |
CN107748728A (zh) | 一种串口通讯分配装置及其通讯方法 | |
CN108259368A (zh) | 一种基于fpga的数据传输系统及方法 | |
CN104065588B (zh) | 一种数据包调度和缓存的装置及方法 | |
CN103853681B (zh) | 超高速通用串行总线集线器及其相关流量管理方法 | |
CN109302354A (zh) | 一种udp封装gre报文的芯片实现方法及装置 | |
CN103746945B (zh) | 一种数据传输装置及方法 | |
CN106873513A (zh) | 一种plc系统及其主从连接结构 | |
CN102348295A (zh) | 基于无线数据采集的系统及其组网方法 | |
CN106535286A (zh) | 一种基于tdma的海面无线通信组网方法 | |
CN102223273A (zh) | 一种数字传感网络及通讯方法 | |
CN103313304B (zh) | A‑msdu聚合方法及装置,数据接收方法及装置 | |
CN108111517A (zh) | 一种协议转换器及控制方法 | |
CN202085185U (zh) | 电力载波网关 | |
CN202444630U (zh) | 基于无线传感网的网关设备 | |
CN206654541U (zh) | 一种气动管道连续传输系统 | |
CN207232677U (zh) | 一种多mcu数据交互智能采集装置 | |
CN103297474B (zh) | 一种批量处理分包方法和系统 |
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 |