一种基于FPGA的FlexRay-CPCIe通信模块

文档序号:1477149 发布日期:2020-02-25 浏览:1次 >En<

阅读说明:本技术 一种基于FPGA的FlexRay-CPCIe通信模块 (FlexRay-CPCIe communication module based on FPGA ) 是由 董虓霄 马云峰 李泉 于 2019-11-13 设计创作,主要内容包括:本发明公开了一种基于FPGA的FlexRay-CPCIe通信模块,FPGA最小系统作为通信模块的处理核心,通过对FPGA芯片内部IP核和集成硬核设计,实现对通信模块的时钟管理和逻辑控制,完成PCIe系统总线与FlexRay高速外部总线之间的数据交换,CPCIe通信单元执行PCIe总线标准,实现计算机与通信模块之间数据交换;FlexRay总线通信单元执行FlexRay通信协议,实现通信模块与外部高速总线网络之间数据传输;CPCIe通信单元采用PCIe系统总线标准接口与计算机机箱内CPCIe接口连接,实现通信模块与计算机之间数据传输。本发明实现对FlexRay总线网络进行开发、仿真和测试,增加FlexRay总线应用的便利性。(The invention discloses a FlexRay-CPCIe communication module based on an FPGA, wherein a minimum FPGA system is used as a processing core of the communication module, clock management and logic control of the communication module are realized by designing an IP core and an integrated hard core inside an FPGA chip, data exchange between a PCIe system bus and a FlexRay high-speed external bus is completed, and a CPCIe communication unit executes a PCIe bus standard to realize data exchange between a computer and the communication module; the FlexRay bus communication unit executes a FlexRay communication protocol to realize data transmission between the communication module and an external high-speed bus network; the CPCIe communication unit is connected with a CPCIe interface in the computer case by adopting a PCIe system bus standard interface to realize data transmission between the communication module and the computer. The invention realizes the development, simulation and test of the FlexRay bus network and increases the convenience of the application of the FlexRay bus.)

一种基于FPGA的FlexRay-CPCIe通信模块

技术领域

本发明属于网络通信技术领域,涉及一种基于FPGA的FlexRay-CPCIe通信模块,用于实现计算机通过PCIe系统总线与FlexRay高速外部总线进行数据通信。

背景技术

总线通信广泛应用于各种工业控制网络中,主要为了解决不同电子设备之间的通信问题,尤其体现在航空航天、汽车制造、航海、自动控制、过程工业等领域。目前,应用时间长,技术发展成熟的外部总线通信技术包括CAN总线、1553B总线等,其具有高可靠性、高确定性和高容错性等特点。但随着科学技术的不断发展,日益增长的数据量和越来越高的实时性通信需求已经逐渐对传统的外部总线通信技术提出了挑战,新一代的高速外部总线技术FlexRay总线开始在相关领域得到应用。

FlexRay作为新一代高速串行外部总线协议,与传统总线相比,在通信速率/可靠性和灵活性等方面具备明显优势。FlexRay总线目前只应用于少数品牌的车载总线通信网络中,具有极大的应用前景。相比于CAN总线和1553B总线最高1Mbps的数据传输速率,FlexRay总线单通道上的数据传输速率最高支持10Mbps,两条通道的总传输速率最高可达20Mbps,因此能够适应大数据量和高实时性的通信要求;两条通道可实现单通道工作、双通道工作和冗余工作三种工作方式。此外,FlexRay总线网络拓扑结构灵活,支持点对点、总线型和有源星型等多种结构。在通信机制方面,FlexRay总线采用循环周期通信,数据帧最大支持到254帧,通过合理配置通信周期和消息长度,可保证接收节点提前预知消息到达时间。

在系统总线通信网络中,第三代I/O总线-PCIe总线因其支持串行差分传输、带宽灵活和传输速率高等特点,逐渐替代第二代I/O总线-PCI总线技术,并大量应用于计算机背板接口,实现CPU、内存以及其他板卡之间的数据通信。相比于普通PCIe接口,CPCIe接口因其电磁兼容性强和抗氧化性好等特点,更广泛的应用于军工、测控、航空航天等诸多领域中。由于计算机具有人机交互性和系统可操作性强等优势,普遍作为上位机或网络节点负责命令的收发、数据的采集和监测。通过将不同功能的板卡安装于具有CPCIe接口的计算机背板上,实现板卡间或板卡与计算机之间的通信。当计算机需要与外部总线通信时,应针对具体外部通讯总线协议,在机箱内增加基于CPCIe接口的总线通信模块。

但是,PCIe系统总线与FlexRay高速外部总线两种通信协议之间互不兼容,制约了计算机在FlexRay总线通信网络中发挥作用的同时,也限制了FlexRay高速总线的应用范围。

发明内容

(一)发明目的

本发明的目的是:针对PCIe系统总线与FlexRay高速外部总线两种通信协议之间互不兼容的问题,提供一种基于FPGA的FlexRay-CPCIe通信模块,实现将计算机作为上位机或网络节点,与FlexRay总线通信,向FlexRay高速总线收发命令,采集和监测数据的功能。

(二)技术方案

为了解决上述技术问题,本发明提供一种基于FPGA的FlexRay-CPCIe通信模块,其包括:FPGA最小系统、FlexRay总线通信单元和电源电路单元,FPGA最小系统内设置CPCIe通信单元,FPGA最小系统作为通信模块的处理核心,通过对FPGA芯片内部IP核和集成硬核设计,实现对通信模块的时钟管理和逻辑控制,完成PCIe系统总线与FlexRay高速外部总线之间的数据交换,CPCIe通信单元执行PCIe总线标准,实现计算机与通信模块之间数据交换;FlexRay总线通信单元执行FlexRay通信协议,实现通信模块与外部高速总线网络之间数据传输;CPCIe通信单元采用PCIe系统总线标准接口与计算机机箱内CPCIe接口连接,实现通信模块与计算机之间数据传输;电源电路单元为通信模块各单元供电。

其中,所述通信模块安装于计算机机箱内CPCIe背板上,实现利用计算机操作系统对FlexRay高速总线进行开发、测试的功能。

其中,所述FPGA最小系统包括FPGA芯片,时钟电路,配置接口和程序存储电路;FPGA芯片采用Xillinx公司的Virtex-5系列的XC5VLX110T芯片,该芯片具有680个用户自定义I/O引脚接口和多种配置模式;时钟电路采用外部晶振;配置接口满足调试模式和比特外设接口模式;程序存储芯片采用StrataFlash芯片。

其中,所述CPCIe通信单元利用FPGA内部集成的PCIe硬核和高速数据输入输出接口IP核实现本通信模块的PCIe通信;发送/接收控制和配置状态检查均由verilog语言编写,其中发送/接收控制负责对数据缓存模块数据的提取与存储,配置状态检查负责检查PCIe硬核配置空间的状态。

其中,所述FlexRay总线通信单元采用通信控制器和总线驱动器的FlexRay总线节点框架方案,包括一个通信控制器分别与两个总线驱动器;通信控制器芯片与FPGA连接,通信控制器芯片采用MFR4310;两个总线驱动器芯片分别与通信控制芯片连接,总线驱动器芯片采用TJA1080。

其中,所述FPGA与MFR4310之间通过异步存储器接口方式相连,包括时钟信号、数据信号、地址信号、读/写使能信号、中断信号与复位信号,MFR4310与TJA1080则通过数据信号与收/发使能信号相连。

其中,所述FPGA包括时钟管理模块、FlexRay数据收发模块和CPCIe数据收发模块;时钟管理模块中,外部晶振产生的时钟信号由专用全局时钟引脚输入至FPGA内部;FlexRay数据收发模块包括由verilog语言编写的FlexRay协议控制模块、通道控制模块、中断接口模块和数据缓存模块;CPCIe数据收发模块包括PCIe通信单元以及由verilog语言编写的中断接口模块和数据缓存模块。

其中,所述FlexRay协议控制模块完成初始化配置和协议操作配置,初始化配置包括FlexRay全局参数及通信模式的设置,协议操作配置包括FlexRay通信过程中各状态的转换与控制;通道控制模块实现对双通道FlexRay通信状态以及使能的控制;中断接口模块实现中断信号的监测和消除;数据缓存模块由异步FIFO组成,实现FlexRay数据的发送与接收。

其中,所述PCIe通信单元完成初始化配置和数据的传输及保护;中断接口模块实现中断信号的监测和消除;数据缓存模块由异步FIFO组成,实现PCIe数据的发送与接收。

其中,所述电源模块采用多输出DC/DC芯片为FlexRay总线通信单元和FPGA最小系统提供供电需求;FPGA涉及1.2V、1.5V和3.3V供电,MFR4310为3.3V供电,TJA1080为5V供电。

(三)有益效果

上述技术方案所提供的基于FPGA的FlexRay-CPCIe通信模块,可自由安装于计算机机箱背板上的CPCIe标准接口中,采用FPGA作为模块的核心处理器实现对两种总线的收发控制,实现计算机通过PCIe系统总线与FlexRay高速外部总线进行数据通信,并进一步实现基于计算机的操作系统对FlexRay总线网络进行开发、仿真和测试,增加FlexRay总线应用的便利性。

附图说明

图1本发明基于FPGA的FlexRay-CPCIe通信模块原理图;

图2本发明FPGA最小系统原理图;

图3本发明CPCIe通信单元原理图;

图4本发明FlexRay总线通信单元原理图;

图5本发明FPGA内部功能图;

图6本发明异步FIFO逻辑功能图;

图7本发明电源模块原理图。

具体实施方式

为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

图1为本发明基于FPGA的FlexRay-CPCIe通信模块原理图,该通信模块包括FPGA最小系统(包含CPCIe通信单元)、FlexRay总线通信单元和电源电路单元,FPGA最小系统包括FPGA芯片和CPCIe通信单元,FPGA最小系统作为通信模块的处理核心,通过对FPGA芯片内部IP核和集成硬核设计,实现对通信模块的时钟管理和逻辑控制,完成PCIe系统总线与FlexRay高速外部总线之间的数据交换,CPCIe通信单元执行PCIe总线标准,实现计算机与通信模块之间数据交换;FlexRay总线通信单元执行FlexRay通信协议,实现通信模块与外部高速总线网络之间数据传输;CPCIe通信单元采用PCIe系统总线标准接口与计算机机箱内CPCIe接口连接,实现通信模块与计算机之间数据传输;电源电路单元为通信模块各单元供电。所述通信模块安装于计算机机箱内CPCIe背板上,从而实现利用计算机操作系统对FlexRay高速总线进行开发、测试等功能。

图2为本发明FPGA最小系统原理图。FPGA最小系统包括FPGA芯片,时钟电路,配置接口和程序存储电路。FPGA芯片采用Xillinx公司的Virtex-5系列的XC5VLX110T芯片,该芯片具有多达680个用户自定义I/O引脚接口和多种配置模式,便于提高设计灵活性;16个高速串行收发器(GTP)和硬核端点PCIe模块可直接用于PCIe数据的收发;时钟采用高精度外部晶振;为加强FPGA芯片配置效率,配置接口可同时满足调试(JTAG)模式和比特外设接口(BPI)模式;程序存储芯片采用StrataFlash芯片。

图3为本发明CPCIe通信单元原理图。CPCIe通信单元利用FPGA内部集成的PCIe硬核和高速数据输入输出接口(Rocket I/O)IP核实现本通信模块的PCIe通信。发送/接收控制和配置状态检查均由verilog语言编写,其中发送/接收控制负责对数据缓存模块数据的提取与存储,配置状态检查负责检查PCIe硬核配置空间的状态。PCIe集成硬核完全兼容PCIe 1.1版本,实现总线事务层、数据链路层和物理层协议功能。数据经PCIe集成硬核后,利用高速数据输入输出接口(Rocket I/O)的高速串行收发器(GTP)直接连接至CPCIe标准连接器,实现PCIe数据的收发。

图4为本发明FlexRay总线通信单元原理图。FlexRay总线通信单元采用通信控制器和总线驱动器的FlexRay总线节点框架方案,包括一个通信控制器分别与两个总线驱动器。通信控制器芯片与FPGA连接,通信控制器芯片采用MFR4310;两个总线驱动器芯片分别与通信控制芯片连接,总线驱动器芯片采用TJA1080。

FPGA与MFR4310之间通过异步存储器接口(AMI)方式相连,包括时钟信号、数据信号、地址信号、读/写使能信号、中断信号与复位信号,MFR4310与TJA1080则通过数据信号与收/发使能信号相连。

图5为本发明FPGA内部逻辑功能图,由时钟管理模块、FlexRay数据收发模块和CPCIe数据收发模块三部分组成。

时钟管理模块中,外部晶振产生的时钟信号由专用全局时钟引脚(GCLK)输入至FPGA内部。为提高时钟信号的驱动能力,需首先经过全局时钟缓冲(IBUFG)。为保证时钟精度,使用了时钟管理模块(DCM)对IBUFG输出的时钟信号进行频率调整,并将DCM的输出连接至全局缓冲(BUFG),得到稳定的单端时钟信号供FlexRay数据收发模块和CPCIe数据收发模块调用。

FlexRay数据收发模块包括由verilog语言编写的FlexRay协议控制模块、通道控制模块、中断接口模块和数据缓存模块。FlexRay协议控制模块完成初始化配置和协议操作配置,初始化配置包括FlexRay全局参数及通信模式的设置,协议操作配置包括FlexRay通信过程中各状态的转换与控制;通道控制模块实现对双通道FlexRay通信状态以及使能的控制;中断接口模块实现中断信号的监测和消除;数据缓存模块由异步FIFO组成,实现FlexRay数据的发送与接收。

CPCIe数据收发模块包括PCIe通信单元以及由verilog语言编写的中断接口模块和数据缓存模块。PCIe通信单元完成初始化配置和数据的传输及保护;中断接口模块实现中断信号的监测和消除;数据缓存模块由异步FIFO组成,实现PCIe数据的发送与接收。

图6为本发明异步FIFO逻辑功能图。由于FlexRay数据收发模块和CPCIe数据收发模块时钟速率不同,为避免数据丢失,在FPGA内部采用异步FIFO用于缓存数据。异步FIFO主要由双口RAM、读/写地址发生器和空/满信号发生器组成。对于FlexRay数据收发模块和CPCIe数据收发模块,异步FIFO的工作方式一致。信号的发送由写时钟和写使能(发送使能)控制,当非满信号有效时,将发送数据和地址写入RAM中;然后由读时钟和读使能(通信协议接收使能)控制,将数据和地址发送给对应的通信协议。信号的接收由写时钟和写使能(通信协议发送使能)控制,当非满信号有效时,将接收数据和地址写入RAM中;然后由读时钟和读使能(接收使能)控制,提取数据和地址,执行后续操作。

图7为本发明电源模块原理图。电源模块采用多输出DC/DC芯片为FlexRay总线通信单元和FPGA最小系统提供供电需求。FPGA涉及1.2V、1.5V和3.3V供电,MFR4310为3.3V供电,TJA1080为5V供电。

由上述技术方案可以看出,本发明中,FPGA最小系统作为通信模块的核心处理器,分别实现对CPCIe通信单元和FlexRay通信控制器芯片的控制,FlexRay总线的数据经FPGA处理后通过CPCIe通信单元发送给计算机,同时,计算机下达的命令通过CPCIe通信单元并经FPGA处理后由FlexRay总线下发给总线上的指定终端,实现将计算机作为上位机或网络节点,向FlexRay高速总线收发命令,采集和监测数据的功能。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于I2S总线采集播放多通道音频的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!