一种基于FPGA的EBR1553总线协议实现装置转让专利

申请号 : CN201710864632.6

文献号 : CN107579894B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 何建樑陈卓张泽渺

申请人 : 成都旋极历通信息技术有限公司

摘要 :

本发明公开了一种基于FPGA的EBR1553总线协议实现装置。其包括主机接口模块、BM记录模块、调度模块、消息发送控制模块、消息处理模块、逻辑集线控制模块、编码模块和解码模块。这些模块完全通过FPGA内部逻辑来实现EBR1553规定的BC、31个RT和BM功能且可综合的协议栈。通过上述方式,本发明能够使用FPGA实现多功能EBR1553协议栈,以降低仿真和测试的成本和复杂度。

权利要求 :

1.一种基于FPGA的EBR1553总线协议实现装置,其特征在于,包括主机接口模块、BM记录模块、调度模块、消息发送控制模块、消息处理模块、逻辑集线控制模块、编码模块和解码模块;

所述编码模块用于将EBR1553消息字由并行通信转换为串行通信,并将所述EBR1553消息字由单极性不归零码转换为单极性曼切斯特码得到数据流,将编码后的数据流通过RT接口向外发送,其中,所述RT接口的数量为31个;

所述解码模块用于检测所述编码模块当前处于发送使能状态还是发送禁止状态,在所述编码模块处于发送使能状态时,接收所述编码模块编码后的内部数据流,在所述编码模块处于发送禁止状态时,接收来自RT接口的外部数据流,以及判断所述内部数据流或外部数据流是否为合法的EBR1553消息字,在所述内部数据流或外部数据流为合法的EBR1553消息字时,将所述内部数据流或外部数据流由单极性曼切斯特码转换为单极性不归零码得到EBR1553消息字,并将EBR1553消息字由串行通信转换为并行通信后上传至所述逻辑集线控制模块;

所述逻辑集线控制模块用于确定所述消息发送控制模块当前发送的消息字的类型,在当前发送的消息字属于BC消息时,控制所述编码模块将消息字发送至RT接口,在当前发送的消息字属于RT消息时,则根据当前的RT接口映射表发送数据字和状态字至对应RT接口,以及还用于实时监听所述解码模块上传的EBR1553消息字,根据当前的RT接口映射表接收对应RT接口的EBR1553消息字,在接收到的EBR1553消息字的命令字或状态字中RT接口地址非法时,则丢弃EBR1553消息字,并在丢弃一个以上对应RT接口的EBR1553消息字时,将丢弃的EBR1553消息字上传至所述消息处理模块,在接收到的EBR1553消息字的命令字中RT接口地址字段为0时,将命令字中的RT接口地址修改为当前RT接口地址后上传至消息处理模块;

所述消息处理模块用于根据当前接收状态机判断当前接收到的EBR1553消息字是否属于8种合法类型的当前需要接收的预设消息字,如果属于预设消息字,则根据预设消息字的类型通知主机接口模块完成待发送消息字更新或向调度模块发送启动发送申请,以及缓存所述逻辑集线控制模块上传的EBR1553消息字,并将缓存的EBR1553消息字上传至BM记录模块;

所述调度模块用于接收来自消息处理模块和主机的启动发送申请,并根据所述启动发送申请确定当前需要发送的消息字的类型,当需要发送BC消息时,通过所述主机接口模块将BC消息写入所述消息发送控制模块,并向所述消息发送控制模块发送启动发送命令,当需要发送RT消息时,如果内部的RT使能寄存器中RT地址和子地址处于使能状态,则自动向所述消息发送控制模块发送启动发送命令;

所述消息发送控制模块用于缓存来自主机接口模块的BC消息和RT消息,并根据所述启动发送命令通知所述逻辑集线控制模块当前发送的消息为BC消息还是RT消息;

所述BM记录模块用于对EBR1553消息字进行打包和缓存,并在打包的EBR1553消息字中增加时标信息和状态信息,并通过所述主机接口模块通知主机读取消息包;

所述主机接口模块用于与主机建立通信连接,以使得主机完成消息包的读取和写入。

2.根据权利要求1所述的EBR1553总线协议实现装置,其特征在于,所述逻辑集线控制模块具体用于在当前发送的消息字属于BC消息时,判断所述BC消息发送模式,如果为SPEC发送模式,则控制所述编码模块将消息字发送至所有RT接口,如果为SWITCH发送模式,则查询RT接口映射表后控制所述编码模块将消息字发送至对应的RT接口,如果为LINK发送模式,则查询RT接口映射表,并将消息字中命令字的RT地址字段清0后控制所述编码模块将消息字发送至对应的RT接口。

3.根据权利要求1所述的EBR1553总线协议实现装置,其特征在于,所述编码模块还用于将编码后的数据流进行同步头添加和奇偶校验后通过RT接口向外发送。

4.根据权利要求1所述的EBR1553总线协议实现装置,其特征在于,所述解码模块还用于在得到EBR1553消息字时进行奇偶校验。

5.根据权利要求1所述的EBR1553总线协议实现装置,其特征在于,所述调度模块还用于完成消息响应时间、消息间隔时间和BC消息链表发送的控制。

6.根据权利要求1所述的EBR1553总线协议实现装置,其特征在于,还包括寄存器,所述寄存器用于缓存所述主机向主机接口模块写入的消息包以及需要主机读取的消息包。

说明书 :

一种基于FPGA的EBR1553总线协议实现装置

技术领域

[0001] 本发明涉及总线通信、仿真和测试技术领域,特别是涉及一种基于FPGA的EBR1553总线协议实现装置。

背景技术

[0002] 为了适应航空电子复杂度增加、实时性提升、传输速率提高等需求,美国SAE组织在MIL-STD-1553B标准的基础上制定了EBR1553总线协议。该总线协议使用星形拓扑,采用了MIL-STD-1553B消息的子集,同样由BC(总线控制器)、RT(远程终端)和BM(总线监控)组成。目前EBR1553协议栈产品功能均只能实现单功能,即分时实现BC、数量有限的RT和BM中的一种功能。在实际的总线仿真和测试过程中,使用单功能EBR1553协议栈产品则需要按照EBR1553的星形拓扑结构搭建复杂的网络环境,增加了仿真和测试的成本和复杂度,并降低效率。

发明内容

[0003] 本发明主要解决的技术问题是提供一种基于FPGA的EBR1553总线协议实现装置,能够使用FPGA实现多功能EBR1553协议栈,以降低仿真和测试的成本和复杂度。
[0004] 为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于FPGA的EBR1553总线协议实现装置,包括主机接口模块、BM记录模块、调度模块、消息发送控制模块、消息处理模块、逻辑集线控制模块、编码模块和解码模块;所述编码模块用于将EBR1553消息字由并行通信转换为串行通信,并将所述EBR1553消息字由单极性不归零码转换为单极性曼切斯特码得到数据流,将编码后的数据流通过RT接口向外发送,其中,所述RT接口的数量为31个;所述解码模块用于检测所述编码模块当前处于发送使能状态还是发送禁止状态,在所述编码模块处于发送使能状态时,接收所述编码模块编码后的内部数据流,在所述编码模块处于发送禁止状态时,接收来自RT接口的外部数据流,以及判断所述内部数据流或外部数据流是否为合法的EBR1553消息字,在所述内部数据流或外部数据流为合法的EBR1553消息字时,将所述内部数据流或外部数据流由单极性曼切斯特码转换为单极性不归零码得到EBR1553消息字,并将EBR1553消息字由串行通信转换为并行通信后上传至所述逻辑集线控制模块;所述逻辑集线控制模块用于确定所述消息发送控制模块当前发送的消息字的类型,在当前发送的消息字属于BC消息时,控制所述编码模块将消息字发送至RT接口,在当前发送的消息字属于RT消息时,则根据当前的RT接口映射表发送数据字和状态字至对应RT接口,以及还用于实时监听所述解码模块上传的EBR1553消息字,根据当前的RT接口映射表接收对应RT接口的EBR1553消息字,在接收到的EBR1553消息字的命令字或状态字中RT接口地址非法时,则丢弃EBR1553消息字,并在丢弃一个以上对应RT接口的EBR1553消息字时,将丢弃的EBR1553消息字上传至所述消息处理模块,在接收到的EBR1553消息字的命令字中RT接口地址字段为0时,将命令字中的RT接口地址修改为当前RT接口地址后上传至消息处理模块;所述消息处理模块用于根据当前接收状态机判断当前接收到的EBR1553消息字是否属于8种合法类型的当前需要接收的预设消息字,如果属于预设消息字,则根据预设消息字的类型通知主机接口模块完成待发送消息字更新或向调度模块发送启动发送申请,以及缓存所述逻辑集线控制模块上传的EBR1553消息字,并将缓存的EBR1553消息字上传至BM记录模块;所述调度模块用于接收来自消息处理模块和主机的启动发送申请,并根据所述启动发送申请确定当前需要发送的消息字的类型,当需要发送BC消息时,通过所述主机接口模块将BC消息写入所述消息发送控制模块,并向所述消息发送控制模块发送启动发送命令,当需要发送RT消息时,如果内部的RT使能寄存器中RT地址和子地址处于使能状态,则自动向所述消息发送控制模块发送启动发送命令;所述消息发送控制模块用于缓存来自主机接口模块的BC消息和RT消息,并根据所述启动发送命令通知所述逻辑集线控制模块当前发送的消息为BC消息还是RT消息;所述BM记录模块用于对EBR1553消息字进行打包和缓存,并在打包的EBR1553消息字中增加时标信息和状态信息,并通过所述主机接口模块通知主机读取消息包;所述主机接口模块用于与主机建立通信连接,以使得主机完成消息包的读取和写入。
[0005] 其中,所述逻辑集线控制模块具体用于在当前发送的消息字属于BC消息时,判断所述BC消息发送模式,如果为SPEC发送模式,则控制所述编码模块将消息字发送至所有RT接口,如果为SWITCH发送模式,则查询RT接口映射表后控制所述编码模块将消息字发送至对应的RT接口,如果为LINK发送模式,则查询RT接口映射表,并将消息字中命令字的RT地址字段清0后控制所述编码模块将消息字发送至对应的RT接口。
[0006] 其中,所述编码模块还用于将编码后的数据流进行同步头添加和奇偶校验后通过RT接口向外发送。
[0007] 其中,所述解码模块还用于在得到EBR1553消息字时进行奇偶校验。
[0008] 其中,所述调度模块还用于完成消息响应时间、消息间隔时间和BC消息链表发送的控制。
[0009] 其中,还包括寄存器,所述寄存器用于缓存所述主机向主机接口模块写入的消息包以及需要主机读取的消息包。
[0010] 本发明的有益效果是:
[0011] 1.EBR1553协议栈通过FPGA内部逻辑实现,不会使用任何IP core(Intellectual Property核)资源,无需移植即可在各品牌的各系列FPGA上直接使用;
[0012] 2.EBR1553协议栈采用VHDL语言设计,使用VHDL编码实现的协议栈功能可任意裁剪增加,方便修改;
[0013] 3.EBR1553可以实现多功能,并且能向下兼容单功能,适用于各种应用场合。

附图说明

[0014] 图1是本发明实施例的基于FPGA的EBR1553总线协议实现装置的架构示意图。

具体实施方式

[0015] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0016] 参阅图1,是本发明实施例的基于FPGA的EBR1553总线协议实现装置的架构示意图。本实施例的EBR1553总线协议实现装置包括主机接口模块1、BM记录模块2、调度模块3、消息发送控制模块4、消息处理模块5、逻辑集线控制模块6、编码模块7和解码模块8:
[0017] 编码模块7用于将EBR1553消息字由并行通信转换为串行通信,并将EBR1553消息字由单极性不归零码转换为单极性曼切斯特码得到数据流,将编码后的数据流通过RT接口向外发送,其中,RT接口的数量为31个。在本实施例中,编码模块7还用于将编码后的数据流进行同步头添加和奇偶校验后通过RT接口向外发送。
[0018] 解码模块8用于检测编码模块7当前处于发送使能状态还是发送禁止状态,在编码模块7处于发送使能状态时,接收编码模块7编码后的内部数据流,在编码模块7处于发送禁止状态时,接收来自RT接口的外部数据流,以及判断内部数据流或外部数据流是否为合法的EBR1553消息字,在内部数据流或外部数据流为合法的EBR1553消息字时,将内部数据流或外部数据流由单极性曼切斯特码转换为单极性不归零码得到EBR1553消息字,并将EBR1553消息字由串行通信转换为并行通信后上传至逻辑集线控制模块6。在本实施例中,解码模块8还用于在将内部数据流或外部数据流由单极性曼切斯特码转换为单极性不归零码得到EBR1553消息字时进行奇偶校验。
[0019] 逻辑集线控制模块6用于确定消息发送控制模块4当前发送的消息字的类型,在当前发送的消息字属于BC消息时,控制编码模块7将消息字发送至RT接口,在当前发送的消息字属于RT消息时,则根据当前的RT接口映射表发送数据字和状态字至对应RT接口,以及还用于实时监听解码模块8上传的EBR1553消息字,根据当前的RT接口映射表接收对应RT接口的EBR1553消息字,在接收到的EBR1553消息字的命令字或状态字中RT接口地址非法时,则丢弃EBR1553消息字,并在丢弃一个以上对应RT接口的EBR1553消息字时,将丢弃的EBR1553消息字上传至消息处理模块5,在接收到的EBR1553消息字的命令字中RT接口地址字段为0时,将命令字中的RT接口地址修改为当前RT接口地址后上传至消息处理模块5。
[0020] 消息处理模块5用于根据当前接收状态机判断当前接收到的EBR1553消息字是否属于8种合法类型的当前需要接收的预设消息字,如果属于预设消息字,则根据预设消息字的类型通知主机接口模块1完成待发送消息字更新或向调度模块3发送启动发送申请,以及缓存逻辑集线控制模块6上传的EBR1553消息字,并将缓存的EBR1553消息字上传至BM记录模块2。
[0021] 调度模块3用于接收来自消息处理模块5和主机的启动发送申请,并根据启动发送申请确定当前需要发送的消息字的类型,当需要发送BC消息时,通过主机接口模块1将BC消息写入消息发送控制模块4,并向消息发送控制模块4发送启动发送命令,当需要发送RT消息时,如果内部的RT使能寄存器中RT地址和子地址处于使能状态,则自动向消息发送控制模块4发送启动发送命令。在本实施例中,调度模块3还用于完成消息响应时间、消息间隔时间和BC消息链表发送的控制。
[0022] 消息发送控制模块4用于缓存来自主机接口模块1的BC消息和RT消息,并根据启动发送命令通知逻辑集线控制模块6当前发送的消息为BC消息还是RT消息。
[0023] BM记录模块2用于对EBR1553消息字进行打包和缓存,并在打包的EBR1553消息字中增加时标信息和状态信息,并通过主机接口模块1通知主机读取消息包。
[0024] 主机接口模块1用于与主机建立通信连接,以使得主机完成消息包的读取和写入。
[0025] 考虑到当前发送的消息字属于BC消息时,具有三种发送模式,分别是SPEC、SWITCH和LINK发送模式,因此,在本实施例中,逻辑集线控制模块6具体用于在当前发送的消息字属于BC消息时,判断BC消息发送模式,如果为SPEC发送模式,则控制编码模块7将消息字发送至31个RT接口,如果为SWITCH发送模式,则查询RT接口映射表后控制编码模块7将消息字发送至对应的RT接口,如果为LINK发送模式,则查询RT接口映射表,并将消息字中命令字的RT地址字段清0后控制编码模块7将消息字发送至对应的RT接口。这样,逻辑集线控制模块6可以支持BC和31个RT同时工作。
[0026] 在本实施例中,EBR1553总线协议实现装置还包括寄存器9,寄存器9用于缓存主机向主机接口模块1写入的消息包以及需要主机读取的消息包。其中,主机接口模块1提供主机访问寄存器9的能力,主机接口模块1可通过中断通知主机完成消息包的读取和写入。
[0027] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。