CN106603647A - 分布式模块间快速通信的方法 - Google Patents

分布式模块间快速通信的方法 Download PDF

Info

Publication number
CN106603647A
CN106603647A CN201611113915.9A CN201611113915A CN106603647A CN 106603647 A CN106603647 A CN 106603647A CN 201611113915 A CN201611113915 A CN 201611113915A CN 106603647 A CN106603647 A CN 106603647A
Authority
CN
China
Prior art keywords
message
module
controller
port
fpga
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
Application number
CN201611113915.9A
Other languages
English (en)
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.)
Xiangyang Firefly Photoelectric Technology Co Ltd
Original Assignee
Xiangyang Firefly Photoelectric Technology 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 Xiangyang Firefly Photoelectric Technology Co Ltd filed Critical Xiangyang Firefly Photoelectric Technology Co Ltd
Priority to CN201611113915.9A priority Critical patent/CN106603647A/zh
Publication of CN106603647A publication Critical patent/CN106603647A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及电子通信领域。特指一种***中子模块间通信的方法。右图方框4中的部分是本发明的核心,用FPGA芯片实现的逻辑电路,其包含FPGA控制逻辑,高速数据缓存/分发电路,高速消息暂存FIFO/分发电路,端口发送数据切换电路,端口电路(发送/接收)组成。方框1为控制器(单片机或计算机),方框20、21、22为***中的子模块。端口与端口间发送消息不需要经过控制器1,直接在4中就实现的消息的转发。节省了控制器的资源,且模块发送消息时不用等待。例如:模块22发送消息到20,模块22发送的消息会通过端口16_B到8,8根据消息地址知道消息是发送到模块20的,8将模块22的消息通过11、端口14_A发送到模块20。

Description

分布式模块间快速通信的方法
技术领域
电子, 通信
背景技术
目前分布式***中“模块间通信”是通过控制器接收到其它模块发来的消息请求,再转发给被请求的模块。如: ***内有A,B,C,D,E,F,G,H八个模块,模块只与控制器连接,模块间没有连接,那么 A要向E发送消息,A必须向控制器发送带有E模块地址码的消息,控制器收到消息后再将消息转发给E模块。现有技术的问题: 1).模块与模块间通信会占用MCU(或CPU)的资源,因为MCU(或CPU)要负责接收并且还要转发。2).并行执行性差,如果同时有多个模块要向其它模块发送消息,如果MCU(或CPU)忙。 可能需要等待。3).与模块连接的通信端口个数有限(如: 需求中需要要16个RS485串口与子模块通信, 则一般MCU与计算机都无法满足)。
发明内容
本发明要针对现有技术的不足,解决以下问题:1.模块间消息转发绕过MCU(或CPU)主机,不用MCU(或CPU)主机接收转发。2.并行处理各模块发向其它模块的消息,并转发。各模块任意时刻都可向其它模块发送消息,不用等待。3.解决MCU(或计算机)端口不够用的问题。
本案将结合所附的结构方框图(图一)进行讲述。方框图中各部分的作用:
控制器:是单片机(MCU)或计算机组成,是整个***的控制中心。
控制逻辑:一是接收控制器的控制命令,二是根据控制器的控制实现对整个其它FPGA电路部分的控制。如:控制器如果要向其它模块发送发送数据,则会向FPGA控制逻辑发出发送数据的命令,FPGA控制逻辑会将“线路控制逻辑”切换到“高速数据缓冲/分发器”的对应的输出端。
高速数据缓冲/分发电路:一是将控制器发出的高速数据(如SPI模式数据)通过简单暂存,然后分别发送到发送到各慢速端口(如RS232模式串口数据)。由于是用FPGA实现的电路,各端口可同时发送或接收数据,具有很高的并行执行性。如:高速数据线速率是20Mbit/s,可实现<20个921600bit/s速率的RS232串口同时发送数据。
高速消息暂存/分发电路:同时接收各模块发来的低速率数据,并以高速存储到FIFO(先进先出)存储器中,
用FPGA实现的高速电路能同时存储全部模块的消息,把各模块的消息先暂存到FIFO存储器中,当控制器的消息转发命令到来时,会读取消息并根据消息地址并行把消息发送到对应的模块端口。
线路切换逻辑:由FPGA控制逻辑控制,当控制器要向各模块发送数据时,会将模块的发送端口切换到“高速数据缓冲/分发器”对应的输出端,实现控制器向各模块发送数据的功能。当控制器消息转发命令到来时,会将模块的发送端口切换到“高速消息暂存器/分发器”对应的输出端。实现模块间消息的传递,而绕开控制器。数据发送与模块间消息的转发都是并行执行的。
低速发送端口:是控制器向模块发送数据或命令,模块接收消息的端口。如RS485。
低速接收端口:是模块向其它模块或控制器发送消息的端口,如RS485。
模块x:具备独立数据处理与通信功能的设备。如,显示单元模块,终端设备。
本发明的详细原理:1.控制器向模块发送数据及控制信息。控制器先向FPGA控制逻辑发送“控制器发送数据命令”,FPGA控制逻辑控制“线路切换逻辑”,使其与“高速数据缓冲/分发电路”的输出端相连通,同时控制“高速数据缓冲/分发电路”执行数据分发,把数据发到对应的模块端口。进而发送到对应的模块中。同时,不会影响模块发送消息,因为消息会暂存到“高速消息暂存器/分发电路”。2.模块与模块间快速消息交换。当控制器不向模块发送数据或控制时,控制器会控制“FPGA控制逻辑”使“线路切换逻辑”与“高速消息暂存器/分发电路”输出端接通,同时会控制“高速消息暂存器/分发电路”将暂存的消息根据消息地址发送到的对应的模块端口,因为“高速消息暂存器/分发电路”的处理速度很快,而模块通信速度相对较慢,可同时将多个消息分发到对应的模块端口,提高并发执行性,从而大大提高消息转发的速度。3.模块向控制器反馈消息。如果消息是发向控制器的,那么在“高速消息暂存器/分发电路”中的消息会通过“高速数据缓冲/分发电路”发向控制器。
发明的效果:
本发明在模块间需要频繁交换消息的***中使用效果相当显著。例如:***中有模块16个,模块的通信速率921600bps,控制器每25ms向全部模块更新一次数据,更新数据时间片占20ms,消息转发时间片占5ms。假如在25ms内每个模块都要向其它模块发送一个4字节的消息,那么,会有16*16=256条消息需要进行转发,本案的转发耗时:4字节*16*串口转发1字节需要的时间(0.01085ms)=0.6944ms,这是1个端口转发16条消息的耗时,因各端口消息转发同时进行,所以转发完全部256条消息只需要0.6944ms。 消息转发延时能控制在25ms内,如果缩短消息转发时间片的间隔,能大大缩短消息转发的延时。 而采用传统的MCU(或CPU)接收转发,一是无大量低速端口供模块使用,二是会大大占用MCU(或CPU)的资源,三会大大增加消息转发的延时。
附图:示意图(图1)
方框结构图(图2)
实施例:
本发明已在“LED互动地砖”产品中成功使用,且效果非常显著。
本实例简述:“LED互动地砖”产品(以下简称本产品),由1个控制盒和若干地砖模块组成。控制盒集成了附图中所示的“控制器”及“FPGA实现的数据分发与消息转发逻辑”的全部功能。控制盒有16路RS485端口,每个端口可以接1路地砖模块,每一路由16块地砖模块以级联的方式串行连接,最多可接16路*16块=256块地砖模块。每个地砖模块由8*8=64个全彩LED灯珠、感应电路及内部控制电路组成,尺寸500mm*500mm。256块地砖模块组成了一个大的地面互动显示屏,可以显示各种背景视频。当有人在上面走动时,在人脚的位置会显示一个视频动画,视频动画会覆盖到背景视频之上,形成比较眩酷的互动效果。传统的方案是模块将感应点坐标(x,y)传送动控制器,同控制器处理效果视频与背景视频的合成,然后再把合成的视频传到地砖模块显示。但这会增加控制器的负担,如果同时在在砖上踩动的人很多,控制器处理就会力不从心,可能会产生严重延时或死机现象。而本方案采用的是地砖模块来处理视频数据的合成,控制器不用处理视频合成,也就是数据的分布式处理方式。每块地砖模块内部Flash中都存储了效果视频文件,当某一块地砖模块被踩到时,它会根据效果视频的尺寸来确定会显示到哪些地砖模块,被踩到的地砖模块只会向这几块地砖模块发送被踩地砖的XY坐标,这几块地砖收到被踩地砖发来的xy坐标后会与被踩地砖做同步的效果文件与视频文件的合成。根据实际验证,N多的人在上面踩动,本产品也能流畅显示效果视频与背景视频,丝毫感觉不到延时。本实例应用非常成功,本发明也是因为本实例的需求而生。

Claims (6)

1.模块间快速通信的方法,它包括控制器(1),FPGA电路(4),模块(20、21、22...)及连接线路组成。
2.其中4由以下部分组成:FPGA控制逻辑(5),高速数据缓冲/分发电路(6),高速消息暂存/分发电路(8),线路切换逻辑(12、12、13...),低速发送端口(14_A、15_A、16_A...),低速接收端口(14_B、15_B、16_B...)。
3.根据权力要求1所述,其特征在于:由FPGA电路(4)实现消息转发,而非控制器(1)实现。
4.根据权力要求1所述,其特征在于:由FPGA电路(4)实现模块的收发端口,且可扩充更多数量的端口。
5.根据权力要求1所述,其特征在于:由FPGA技术实现与控制器(1)通信的的FPGA控制逻辑(5)
根据权力要求1所述,其特征在于:由FPGA控制逻辑(5)接收控制器(1)的命令从而协调控制FPGA电路(4)内部各电路的有序工作。
6.根据权力要求1所述,其特征在于:由高速消息暂存/分发电路(8)控制消息的暂存及转发,任何模块发送消息时都不用等待。
CN201611113915.9A 2016-12-07 2016-12-07 分布式模块间快速通信的方法 Pending CN106603647A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611113915.9A CN106603647A (zh) 2016-12-07 2016-12-07 分布式模块间快速通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611113915.9A CN106603647A (zh) 2016-12-07 2016-12-07 分布式模块间快速通信的方法

Publications (1)

Publication Number Publication Date
CN106603647A true CN106603647A (zh) 2017-04-26

Family

ID=58597200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611113915.9A Pending CN106603647A (zh) 2016-12-07 2016-12-07 分布式模块间快速通信的方法

Country Status (1)

Country Link
CN (1) CN106603647A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885199A (zh) * 2020-07-31 2020-11-03 北京微步在线科技有限公司 一种数据传输方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111885199A (zh) * 2020-07-31 2020-11-03 北京微步在线科技有限公司 一种数据传输方法

Similar Documents

Publication Publication Date Title
CN110995598B (zh) 一种变长报文数据处理方法和调度装置
CN103793342B (zh) 一种多通道直接内存存取dma控制器
CN100432977C (zh) 用于向多个图形装置传输数据的装置和方法
US11580026B2 (en) Systems and methods for efficient data buffering
CN108279927A (zh) 可调整指令优先级的多通道指令控制方法及***、控制器
CN100369024C (zh) 直接存储访问控制装置和图像处理***以及传输方法
CN103064808A (zh) 优先级可调多通道dma控制器
CN104394096B (zh) 一种基于多核处理器的报文处理方法及多核处理器
CN105874441A (zh) 利用卸载处理器的上下文切换
CN105066324B (zh) 多联式空调通信方法
CN109215565B (zh) 一种接收卡及led显示控制***
CN103914341A (zh) 数据队列出队管控方法和装置
CN103713543A (zh) 一种基于fpga的多串口并行处理架构
CN1038362A (zh) ***设备控制器及适配器接口
US20230044573A1 (en) Systems and methods for efficient data buffering
CN110535827A (zh) 实现多连接管理的tcp协议全卸载ip核的方法及***
CN106603647A (zh) 分布式模块间快速通信的方法
WO2023123905A1 (zh) 芯片***中的数据传输处理方法及相关装置
CN202634479U (zh) 分布式多智能体控制仿真平台
CN109669897A (zh) 数据传输方法和装置
CN106325995A (zh) 一种gpu资源的分配方法及***
CN104333516A (zh) 用于组合输入交叉点缓存交换结构的旋转轮训调度方法
CN109450825A (zh) 用于交换机的数据调度方法和装置
CN105636317A (zh) 一种智能路灯管理***及信息处理方法
CN104699649A (zh) 一种多分支串行总线接口及数据交换方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170426

WD01 Invention patent application deemed withdrawn after publication