CN106603647A - 分布式模块间快速通信的方法 - Google Patents
分布式模块间快速通信的方法 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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)控制消息的暂存及转发,任何模块发送消息时都不用等待。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885199A (zh) * | 2020-07-31 | 2020-11-03 | 北京微步在线科技有限公司 | 一种数据传输方法 |
-
2016
- 2016-12-07 CN CN201611113915.9A patent/CN106603647A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885199A (zh) * | 2020-07-31 | 2020-11-03 | 北京微步在线科技有限公司 | 一种数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110995598B (zh) | 一种变长报文数据处理方法和调度装置 | |
CN100454885C (zh) | 流水线调度方法和调度装置 | |
CN105263050B (zh) | 基于云平台的移动终端实时渲染系统及其方法 | |
US10635631B2 (en) | Hybrid programmable many-core device with on-chip interconnect | |
CN100432977C (zh) | 用于向多个图形装置传输数据的装置和方法 | |
US11269777B2 (en) | Systems and methods for efficient data buffering | |
CN103064808A (zh) | 优先级可调多通道dma控制器 | |
CN105874441A (zh) | 利用卸载处理器的上下文切换 | |
CN105066324B (zh) | 多联式空调通信方法 | |
CN103914341A (zh) | 数据队列出队管控方法和装置 | |
WO2017050036A1 (zh) | 资源配置信息的发送、数据分发方法及装置 | |
CN101795266A (zh) | 航电asm协议控制器 | |
CN103713543A (zh) | 一种基于fpga的多串口并行处理架构 | |
CN1038362A (zh) | 外围设备控制器及适配器接口 | |
US20230044573A1 (en) | Systems and methods for efficient data buffering | |
CN110535827A (zh) | 实现多连接管理的tcp协议全卸载ip核的方法及系统 | |
CN106603647A (zh) | 分布式模块间快速通信的方法 | |
CN103441879B (zh) | 一种网络通道切换方法及装置 | |
WO2023123905A1 (zh) | 芯片系统中的数据传输处理方法及相关装置 | |
CN106325995A (zh) | 一种gpu资源的分配方法及系统 | |
CN202634479U (zh) | 分布式多智能体控制仿真平台 | |
CN109669897A (zh) | 数据传输方法和装置 | |
CN102984089B (zh) | 流量管理调度方法及装置 | |
CN109032818A (zh) | 一种同构系统核间同步与通信的方法 | |
CN113672549A (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 |