CN105550144B - 一种实现反向转发1394消息给系统总线的电路及方法 - Google Patents
一种实现反向转发1394消息给系统总线的电路及方法 Download PDFInfo
- Publication number
- CN105550144B CN105550144B CN201510909022.4A CN201510909022A CN105550144B CN 105550144 B CN105550144 B CN 105550144B CN 201510909022 A CN201510909022 A CN 201510909022A CN 105550144 B CN105550144 B CN 105550144B
- Authority
- CN
- China
- Prior art keywords
- message
- reversely
- request
- forwarding
- fifo
- 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
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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0012—High speed serial bus, e.g. IEEE P1394
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种实现反向转发1394消息给系统总线的电路及方法,其中电路包括至少两个节点接收单元、调度接收电路、发送FIFO、并串转换电路以及串行接口,节点接收单元接收来自链路层的消息进行存储,并判断消息类型;调度接收电路接收来自节点接收单元的消息请求和反向转发消息标志信号,监控发送FIFO的空满状态,并在发送FIFO空状态的情况下根据消息请求和反向转发消息标志信号从对应的节点接收单元读取消息内容并写入发送FIFO中。串行接口用于将并串转换电路的输出发送给外部模块。本发明采用一种自定义的串行接口实现反向转发1394关键消息,用以解决现有技术中的问题,方法简单方便。
Description
技术领域
本发明属于集成电路技术领域,涉及一种实现反向转发1394消息给系统总线的电路及方法。
背景技术
在三余度飞机管理系统中,每个余度中使用三条总线,每条总线独立通信,总线采用环形(总线1和总线2,能够容忍一次节点连接的故障)和树形结构(总线3),余度之间的数据传输是通过CCDL(交叉通道数据链路)采用1394总线的树形结构来实现的。CCDL数据传输来自两个方面,一方面来自于本通道主机的传输要求,另一方面来自于系统总线接收到的数据传输到其他通道的要求。飞机管理系统中为了消除通道间的影响,防止故障蔓延,CCDL设计采用点对点的方式,具有1个发送节点和3个接收节点,各节点互相独立。
现有技术中,CCDL处理来自系统总线接收到的数据传输到其他通道的要求通过CCDL和系统总线之间的自主转发接口实现;CCDL处理来自本通道主机的传输要求通过1394总线接口完成;硬件上FPGA管脚资源紧张,没有预留足够的管脚来重新定义接口,而且产品已到S阶段。现又有新的系统应用需求“关键消息需要CCDL通过1394总线收到后反向转发给系统总线,系统总线再下发到总线上的各节点。”但是,目前硬件资源无法支持该需求的实现,而且自主转发接口是系统总线到CCDL的正向数据传输,如果变成双向的,支持CCDL到系统总线的反向数据传输,会很复杂,更会影响系统总线到CCDL的正向数据传输,不能满足系统的可靠性要求。
发明内容
为了解决现有缺少反向消息的传输电路的技术问题,本发明提供一种实现反向转发1394消息给系统总线的电路及方法。
本发明的技术解决方案:
一种实现反向转发1394消息给系统总线的电路,其特殊之处在于:包括至少两个节点接收单元、调度接收电路、发送FIFO、并串转换电路以及串行接口,
节点接收单元包括缓冲区A和缓冲区B,接收来自链路层的消息进行存储,并判断消息类型,若是反向转发消息,则产生反向转发消息标志信号;否则,不产生反向转发消息标志信号;向调度接收电路发送消息请求;
消息请求包括请求消息的长度和请求消息号;
调度接收电路接收来自节点接收单元的消息请求和反向转发消息标志信号,监控发送FIFO的空满状态,并在发送FIFO空状态的情况下根据消息请求和反向转发消息标志信号从对应的节点接收单元读取消息内容并写入发送FIFO中;向并串转换电路发送读请求,向节点接收单元发送数据搬运完成指示;
发送FIFO存储写入的消息内容;
并串转换电路根据来自调度接收电路的读请求从发送FIFO中读出数据,并转换为串行数据按位输出,给出输出有效信号,直到发送FIFO为空;
所述串行接口用于将并串转换电路的输出发送给外部模块。
节点接收单元按照乒乓缓存方式进行缓存。
上述调度接收电路采用轮询调度算法进行调度。
节点接收单元为三个。
上述串行接口包括三个通道,通道一传输时钟信号;通道二传输数据信号,通道三传输数据有效信号。
一种实现反向转发1394消息给系统总线的方法,其特殊之处在于:包括以下步骤:
1)节点接收单元接收来自链路层的消息进行存储,并判断消息类型,若是反向转发消息,则产生反向转发消息标志信号;否则,不产生反向转发消息标志信号;同时向调度接收电路发送消息请求;消息请求包括请求消息的长度和请求消息号;
2)调度接收电路接收来自节点接收单元的消息请求和和反向转发消息标志信号,监控发送FIFO的空满状态,若状态为空,根据消息请求和反向转发消息标志信号从对应的节点接收单元读取消息内容并写入发送FIFO中;向并串转换电路发送读请求,向节点接收单元发送数据搬运完成指示;
3)并串转换电路根据来自调度接收电路的读请求从发送FIFO中读出数据,并转换为串行数据按位输出,给出输出有效信号,直到发送FIFO为空;
4)串行接口将并串转换电路的输出发送给外部模块。
本发明所具有的优点效果:
1、本发明提供了实现反向转发1394消息给系统总线的电路及方法,该发明保证了在仅有的硬件资源基础上简单高效的实现了主机要求CCDL反向转发给系统总线的关键消息,满足了系统的应用需求,对相关ASIC设计具有一定的借鉴作用和参考价值。
2、本发明的节点接收单元采用乒乓缓存方式,调度模块采用轮询调度方式,保证消息实时高效接收转发,防止消息丢失。
3、本发明的串行接口仅仅定义三种通道就能保证方向转发消息的传输,接口结构简单。
附图说明
图1为本发明的串行接口图;
图2为本发明的串行接口时序图;
图3为本发明方法的实现框图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
下面结合具体实施例和附图对本发明的技术方案做进一步详细描述。
如图1、图2所示,系统总线和CCDL之间的传输3个信号,其中在硬件资源有限的情况下只用了2个预留管脚。
clk:使用已有的系统总线与CCDL之间的自主转发接口时钟信号,时钟频率50Mhz;
out_en:开始传输一帧数据时变低,当前帧数据传送完成后变高。在整个传输过程中应一直保持为低;
ser_out:为一位信号,要传输的数据位,传输顺序为:
第一个字的bit31(最高有效位)、第一个字的bit30、……、第一个字的bit0(最低有效位)、第二个字的bit31(最高有效位)、第二个字的bit30、……第二个字的bit0(最低有效位)、最后一个字的bit31(最高有效位)、最后一个字的bit30、……、最后一个字的bit0(最低有效位)。
如图3所示,本发明涉及的一种实现反向转发1394消息给系统总线的电路,包括至少两个节点接收单元、调度接收电路、发送FIFO、并串转换电路以及串行接口,节点接收单元包括缓冲区A和缓冲区B,接收来自链路层的消息进行存储,并判断消息类型,若是反向转发消息,则产生反向转发消息标志信号;否则,不产生反向转发消息标志信号;向调度接收电路发送消息请求;
消息请求包括请求消息的长度和请求消息号;
调度接收电路接收来自节点接收单元的消息请求和反向转发消息标志信号,监控发送FIFO的空满状态,并在发送FIFO空状态的情况下根据消息请求和反向转发消息标志信号从对应的节点接收单元读取消息内容并写入发送FIFO中;向并串转换电路发送读请求,向节点接收单元发送数据搬运完成指示;
发送FIFO存储写入的消息内容;
并串转换电路根据来自调度接收电路的读请求从发送FIFO中读出数据,并转换为串行数据按位输出,给出输出有效信号,直到发送FIFO为空;
串行接口用于将并串转换电路的输出发送给外部模块。节点接收单元按照乒乓缓存方式进行缓存。调度接收电路采用轮询调度算法进行调度。
串行接口包括三个通道,通道一传输时钟信号;通道二传输数据信号,通道三传输数据有效信号。
实施例:
节点接收单元为三个:
一种实现反向转发1394消息给系统总线的电路包含节点接收单元1、节点接收单元2、节点接收单元3、接收调度模块、并串转换模块和反向转发FIFO;其中,节点接收单元1、节点接收单元2、节点接收单元3接收模块分别和接收调度模块连接;所述接收调度模块与反向转发FIFO、片外DPRAM连接;所述反向转发FIFO与并串转换模块连接。
节点接收单元1中处理反向转发消息,按照乒乓缓存(缓冲区A和B)方式将接收到的消息进行存储;定义缓冲区A的反向转发消息标志和缓冲区B的反向转发消息标志,缓冲区A(缓冲区B)的反向转发消息标志在接收节点1缓冲区A(缓冲区B)接收到反向转发消息且发送FIFO空时,才有效;缓冲区A(缓冲区B)的反向转发消息标志由缓冲区A(缓冲区B)搬运完成信号清除。
节点接收单元1中缓冲区A和B切换条件为接收状态字的状态下配置表中的消息标志有效或缓冲区A(缓冲区B)的反向转发消息标志有效。
节点接收单元1中缓冲区A(缓冲区B)的请求和请求包长度由配置表中的消息标志或缓冲区A(缓冲区B)的反向转发消息标志控制;缓冲区A(或缓冲区B)的请求在接收调度模块搬运数据指示完成时撤销。
节点接收单元2、节点接收单元3和节点接收单元1的电路及功能完全相同,按照接收配置表中的消息正常接收和存储。
反向转发FIFO,大小为1KB,32位数据线,8根地址线,用于存储1条反向转发消息。
接收调度模块采用公平的轮询调度算法处理三个节点的接收调度请求,将接收到的消息按照“反向转发消息和配置表中的消息”区分,配置表中的消息存入片外DPRAM中,反向转发消息在反向转发消息有效标志为高且发送FIFO空时,只写入发送FIFO中。反向转发消息有效标志在调度状态机为节点缓冲区A(缓冲区B)状态机下且缓冲区A(缓冲区B)的反向转发消息标志为高,该信号为高,并向并串转换模块输出发送读请求,分别向各节点接收模块输出数据搬运完成指示。
并串转换模块根据接收调度模块的发送读请求有效指示从发送FIFO中读出数据,将32位数据转换成1位数据,按位输出,给出输出有效信号,直到发送FIFO为空。
一种实现反向转发1394消息给系统总线的方法,包括以下步骤:
1)节点接收单元接收来自链路层的消息进行存储,并判断消息类型,若是反向转发消息,则产生反向转发消息标志信号;否则,不产生反向转发消息标志信号;同时向调度接收电路发送消息请求;消息请求包括请求消息的长度和请求消息号;
2)调度接收电路接收来自节点接收单元的消息请求和和反向转发消息标志信号,监控发送FIFO的空满状态,若状态为空,根据消息请求和反向转发消息标志信号从对应的节点接收单元读取消息内容并写入发送FIFO中;向并串转换电路发送读请求,向节点接收单元发送数据搬运完成指示;
3)并串转换电路根据来自调度接收电路的读请求从发送FIFO中读出数据,并转换为串行数据按位输出,给出输出有效信号,直到发送FIFO为空;
4)串行接口将并串转换电路的输出发送给外部模块。
本发明提供了实现反向转发1394消息给系统总线的电路及方法,该发明保证了在仅有的硬件资源基础上简单高效的实现了主机要求CCDL反向转发给系统总线的关键消息,满足了系统的应用需求,对相关ASIC设计具有一定的借鉴作用和参考价值。
最后应说明的是,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种实现反向转发1394消息给系统总线的电路,其特征在于:包括至少两个节点接收单元、调度接收电路、发送FIFO、并串转换电路以及串行接口,
节点接收单元包括缓冲区A和缓冲区B,接收来自链路层的消息进行存储,并判断消息类型,若是反向转发消息,则产生反向转发消息标志信号;否则,不产生反向转发消息标志信号;向调度接收电路发送消息请求;
消息请求包括请求消息的长度和请求消息号;
调度接收电路接收来自节点接收单元的消息请求和反向转发消息标志信号,监控发送FIFO的空满状态,并在发送FIFO空状态的情况下根据消息请求和反向转发消息标志信号从对应的节点接收单元读取消息内容并写入发送FIFO中;向并串转换电路发送读请求,向节点接收单元发送数据搬运完成指示;
发送FIFO存储写入的消息内容;
并串转换电路根据来自调度接收电路的读请求从发送FIFO中读出数据,并转换为串行数据按位输出,给出输出有效信号,直到发送FIFO为空;
所述串行接口用于将并串转换电路的输出发送给外部模块。
2.根据权利要求1所述的实现反向转发1394消息给系统总线的电路,其特征在于:
节点接收单元按照乒乓缓存方式进行缓存。
3.根据权利要求1或2所述的实现反向转发1394消息给系统总线的电路,其特征在于:
所述调度接收电路采用轮询调度算法进行调度。
4.根据权利要求3所述的实现反向转发1394消息给系统总线的电路,其特征在于:
节点接收单元为三个。
5.根据权利要求3所述的实现反向转发1394消息给系统总线的电路,其特征在于:
所述串行接口包括三个通道,通道一传输时钟信号;通道二传输数据信号,通道三传输数据有效信号。
6.一种实现反向转发1394消息给系统总线的方法,其特征在于:包括以下步骤:
1)节点接收单元接收来自链路层的消息进行存储,并判断消息类型,若是反向转发消息给系统总线,则产生反向转发消息标志信号;否则,不产生反向转发消息标志信号;同时向调度接收电路发送消息请求;消息请求包括请求消息的长度和请求消息号;
2)调度接收电路接收来自节点接收单元的消息请求和和反向转发消息标志信号,监控发送FIFO的空满状态,若状态为空,根据消息请求和反向转发消息标志信号从对应的节点接收单元读取消息内容并写入发送FIFO中;向并串转换电路发送读请求,向节点接收单元发送数据搬运完成指示;
3)并串转换电路根据来自调度接收电路的读请求从发送FIFO中读出数据,并转换为串行数据按位输出,给出输出有效信号,直到发送FIFO为空;
4)串行接口将并串转换电路的输出发送给外部模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510909022.4A CN105550144B (zh) | 2015-12-09 | 2015-12-09 | 一种实现反向转发1394消息给系统总线的电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510909022.4A CN105550144B (zh) | 2015-12-09 | 2015-12-09 | 一种实现反向转发1394消息给系统总线的电路及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105550144A CN105550144A (zh) | 2016-05-04 |
CN105550144B true CN105550144B (zh) | 2018-02-09 |
Family
ID=55829334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510909022.4A Active CN105550144B (zh) | 2015-12-09 | 2015-12-09 | 一种实现反向转发1394消息给系统总线的电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550144B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355517A (zh) * | 2008-09-08 | 2009-01-28 | 北京航空航天大学 | 基于无线传感器能量信息的网络负载平衡方法 |
CN101482753A (zh) * | 2009-02-11 | 2009-07-15 | 北京华力创通科技股份有限公司 | 一种多余度飞控计算机实时仿真装置及系统 |
CN104539503A (zh) * | 2014-12-11 | 2015-04-22 | 中国航空工业集团公司第六三一研究所 | 一种基于1394总线自主转发实现多余度通道数据交叉传输的方法 |
-
2015
- 2015-12-09 CN CN201510909022.4A patent/CN105550144B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355517A (zh) * | 2008-09-08 | 2009-01-28 | 北京航空航天大学 | 基于无线传感器能量信息的网络负载平衡方法 |
CN101482753A (zh) * | 2009-02-11 | 2009-07-15 | 北京华力创通科技股份有限公司 | 一种多余度飞控计算机实时仿真装置及系统 |
CN104539503A (zh) * | 2014-12-11 | 2015-04-22 | 中国航空工业集团公司第六三一研究所 | 一种基于1394总线自主转发实现多余度通道数据交叉传输的方法 |
Non-Patent Citations (2)
Title |
---|
一种CCDL的FPGA设计与实现;魏艳艳 等;《计算机技术与发展》;20140531;第24卷(第5期);第120-124页 * |
基于IEEE 1394b交叉通道数据链路FPGA的验证;张盼盼;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑(月刊)》;20150215(第2期);C031-361 * |
Also Published As
Publication number | Publication date |
---|---|
CN105550144A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1552028B (zh) | 片上系统和其分布式直接存储器访问的方法和控制系统 | |
CN102164071B (zh) | 用于在设备布局中进行音频/视频流送的消息传递框架 | |
CN106411740B (zh) | 基于以太网控制器的网络端口扩展方法 | |
CN102647320B (zh) | 适用于高速1553总线协议控制的集成电路 | |
CN101001209B (zh) | 变长数据包的异种网络交换系统及其方法以及采用信号环接口的地址表构成方法 | |
CN103248526A (zh) | 实现带外监控管理的通信设备、方法及主从切换方法 | |
CN102035688B (zh) | 一种快速控制网络链路访问设计方法 | |
CN206498430U (zh) | 一种桥接器 | |
CN110297797B (zh) | 异构协议转换装置和方法 | |
CN104008082A (zh) | 1553b总线rt节点与can总线的转换器 | |
CN107819659B (zh) | 一种基于spi的智能级联通信网络 | |
CN102480426A (zh) | 基于pcie交换总线的通信方法及一种pcie交换系统 | |
CN103218337A (zh) | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 | |
CN101394349B (zh) | 不同接口设备通信中的数据传输方法及系统 | |
CN103701680A (zh) | 一种跨PCIe域报文传输的方法、设备及系统 | |
CN107168045B (zh) | 一种基于EtherCAT的通信冗余控制系统 | |
CN101106504A (zh) | 基于can总线的智能自主机器人分布式通信系统 | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
CN105550144B (zh) | 一种实现反向转发1394消息给系统总线的电路及方法 | |
CN103885910B (zh) | 多设备在主模式下进行iic通信的方法 | |
CN101464844B (zh) | 一种ram使用权的控制方法及总线接口 | |
CN104113933A (zh) | 一种信息传输方法、装置和移动终端 | |
CN101132337A (zh) | 一种基于e1传输的2m环路网络系统 | |
CN102110074B (zh) | 多核处理器及流分类控制装置和方法 | |
CN114448493A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221017 Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075 Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd. Address before: No. 15, Jinye Second Road, Xi'an, Shaanxi 710065 Patentee before: AVIC XI''AN AERONAUTICS COMPUTING TECHNIQUE RESEARCH INSTITUTE |