一种基于FPGA的AXI协议与SPI协议转换的方法技术

技术编号:17709817 阅读:127 留言:0更新日期:2018-04-14 21:22
本发明专利技术公开了一种基于FPGA的AXI协议与SPI协议转换的方法。该方法采用STM32芯片,使用SPI协议与FPGA进行通信,FPGA内部首先解析SPI协议,恢复出协议中包含的指令类型、地址和数据信息,然后将这些信息整合成AXI总线形式;FPGA包括SPI协议解析模块、AXI总线整合模块和10GE ip核。本方法只需要五个SPI寄存器组合读写的方式即可以完成所有基于AXI总线的操作,并且不用担心SPI读数据过程中由于ip核反馈时间不定而带来的时序问题,目前已在某大容量10GE交叉选路设备中应用,可通过上位机对ip核进行状态监视和控制。

【技术实现步骤摘要】
一种基于FPGA的AXI协议与SPI协议转换的方法
本专利技术涉及AXI协议和SPI协议,具体涉及一种基于FPGA的AXI协议与SPI协议转换的方法。
技术介绍
AXI(AdvancedeXtensibleInterface)协议是ARM公司提出的AMBA(AdvancedMicrocontrollerBusArchitecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。近年来,Xilinx推出的ip软核大多基于该协议完成管理和配置,而与此同时,传统的控制协议如SPI、I2C等仍被广泛使用于各个成熟设备的上位机管理软件,因此有必要完成AXI协议与传统协议的转换,实现上位机对底层FPGA模块的状态监视和控制。
技术实现思路
本专利技术的目的就是要解决上述现有技术中存在的问题,提供一种基于FPGA的AXI协议与SPI协议转换的方法。本专利技术采取的技术方案是:一种基于FPGA的AXI协议与SPI协议转换的方法,其特征在于,该方法采用主设备为上层控制器STM32芯片,使用SPI协议与从设备FPGA模块进行通信,FPGA模块内部首先解析SPI协议,恢复出协议中包含的指令类型、地址和数据信息,然后将这些信息整合成AXI总线形式;所述的FPGA模块包括SPI协议解析模块、AXI总线整合模块和10GEip核。所述SPI协议解析模块程序执行以下操作:FPGA模块与STM32芯片之间通过普通输入输出信号线传递片选信息,代表SPI总线的使能,当监测到该信号有效时,判断输入的数据为读指令还是写指令,如果为读指令,指令接收完毕后接收地址信息,然后进入地址信息的分析逻辑,将该地址对应寄存器的内容返回主设备STM32芯片;如果为写指令,指令接收完毕后接收地址信息,然后接收数据信息,将该数据写入该地址对应寄存器。所述AXI总线整合模块使用四个读写寄存器和一个只读寄存器,分别存放AXI地址、AXI写数据、AXI写指令、AXI读指令和AXI读数据。最后AXI总线整合模块连接被访问的10GEip核,如果后端的ip核不止一个,则通过AXIInterconnect做路由选择的处理,实现STM32芯片对10GEip核的监控。所述AXI读指令执行以下操作:(1)、将地址信息写入AXI地址寄存器;(2)、将AXI读指令寄存器的值置1再置0,创建上升沿;(3)、读取AXI读数据寄存器中的内容得到最终结果。所述AXI写指令执行以下操作:(1)、将地址信息写入AXI地址寄存器;(2)、将数据信息写入AXI写数据寄存器;(3)、将AXI写指令寄存器的值置1再置0,创建上升沿。所述以AXI读指令操作顺序为主机与从机先后完成读地址和读数据的通信,首先进行读地址通道握手并传输地址内容,然后在读数据通道握手并传输所读内容以及读取操作的回应,时钟上升沿有效。所述以AXI写指令操作顺序为主机与从机先后完成写地址和写数据的通信,首先进行写地址通道握手并传输地址内容,然后在写数据通道握手并传输所读内容,最后再写回应通道握手,并传输写回应数据,时钟上升沿有效。本专利技术的有益效果是:只需要五个SPI寄存器组合读写的方式即可以完成所有基于AXI总线的操作,并且不用担心SPI读数据过程中由于ip核反馈时间不定而带来的时序问题,目前已在某大容量10GE交叉选路设备中应用,可通过上位机对ip核进行状态监视和控制。附图说明图1为本专利技术的硬件架构图:图2为本专利技术的FPGA模块架构图:图3为本专利技术的SPI协议解析模块程序流程图;图4为本专利技术的AXI读指令操作流程图;图5本专利技术的AXI写指令操作流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步说明。某大容量10GE交叉选路设备采用标准ATCA架构,本专利技术中涉及的协议转换方法在该设备的业务板卡上实现,如图1所示,每个STM32芯片监控四片FPGA组成管理通路,FPGA的数据通路具备10GE高速接口8入8出的能力。FPGA代码中各个子模块的架构设计如图2所示,首先使用SPI协议解析模块从SPI协议的时钟、片选、主入从出、主出从入四根信号线中恢复出AXI总线整合模块所需的五个寄存器的信息,然后整合成AXI总线形式,访问10GEip核,实现STM32芯片对10GEip核的监控。SP协议I解析模块程序执行流程如图3所示,当监测到片选信号有效时,判断输入的数据为读指令还是写指令。如果为读,指令接收完毕后接收地址信息,然后进入地址信息的分析逻辑,将该地址对应寄存器的内容返回主设备;如果为写,指令接收完毕后接收地址信息,然后接收数据信息,将该数据写入该地址对应寄存器。AXI读指令操作顺序为主与从进行读地址通道握手并传输地址内容,然后在读数据通道握手并传输所读内容以及读取操作的回应,时钟上升沿有效,如图4所示。AXI写指令操作顺序为主与从进行写地址通道握手并传输地址内容,然后在写数据通道握手并传输所读内容,最后再写回应通道握手,并传输写回应数据,时钟上升沿有效,如图5所示。上层控制器为STM32(主设备),使用SPI协议与FPGA(从设备)通信,FPGA内部首先解析SPI协议,恢复出协议中包含的指令类型、地址和数据信息,然后将这些信息整合成AXI总线形式,最后连接被访问的10GEip核,如果后端的ip核不止一个,可以通过AXIInterconnect做路由选择的处理,实现STM32对10GEip核的监控。对于AXI总线整合模块,使用4个读写寄存器和1个只读寄存器,分别存放AXI地址、AXI写数据、AXI写指令、AXI读指令和AXI读数据。读指令操作过程如下:1)将地址信息写入AXI地址寄存器,2)将AXI读指令寄存器的值置1再置0(创建上升沿),3)读取AXI读数据寄存器中的内容得到最终结果。写指令操作过程如下:1)将地址信息写入AXI地址寄存器,2)将数据信息写入AXI写数据寄存器,3)将AXI写指令寄存器的值置1再置0(创建上升沿)。本文档来自技高网...
一种基于FPGA的AXI协议与SPI协议转换的方法

【技术保护点】
一种基于FPGA的AXI协议与SPI协议转换的方法,其特征在于,该方法采用主设备为上层控制器STM32芯片,使用SPI协议与从设备FPGA模块进行通信,FPGA模块内部首先解析SPI协议,恢复出协议中包含的指令类型、地址和数据信息,然后将这些信息整合成AXI总线形式;所述的FPGA模块包括SPI协议解析模块、AXI总线整合模块和10GE ip核;所述SPI协议解析模块程序执行以下操作:FPGA模块与STM32芯片之间通过普通输入输出信号线传递片选信息,代表SPI总线的使能,当监测到该信号有效时,判断输入的数据为读指令还是写指令,如果为读指令,指令接收完毕后接收地址信息,然后进入地址信息的分析逻辑,将该地址对应寄存器的内容返回主设备STM32芯片;如果为写指令,指令接收完毕后接收地址信息,然后接收数据信息,将该数据写入该地址对应寄存器;所述AXI总线整合模块使用四个读写寄存器和一个只读寄存器,分别存放AXI地址、AXI写数据、AXI写指令、AXI读指令和AXI读数据;最后AXI总线整合模块连接被访问的10GE ip核,如果后端的ip核不止一个,则通过AXI Interconnect做路由选择的处理,实现STM32芯片对10GE ip核的监控。...

【技术特征摘要】
1.一种基于FPGA的AXI协议与SPI协议转换的方法,其特征在于,该方法采用主设备为上层控制器STM32芯片,使用SPI协议与从设备FPGA模块进行通信,FPGA模块内部首先解析SPI协议,恢复出协议中包含的指令类型、地址和数据信息,然后将这些信息整合成AXI总线形式;所述的FPGA模块包括SPI协议解析模块、AXI总线整合模块和10GEip核;所述SPI协议解析模块程序执行以下操作:FPGA模块与STM32芯片之间通过普通输入输出信号线传递片选信息,代表SPI总线的使能,当监测到该信号有效时,判断输入的数据为读指令还是写指令,如果为读指令,指令接收完毕后接收地址信息,然后进入地址信息的分析逻辑,将该地址对应寄存器的内容返回主设备STM32芯片;如果为写指令,指令接收完毕后接收地址信息,然后接收数据信息,将该数据写入该地址对应寄存器;所述AXI总线整合模块使用四个读写寄存器和一个只读寄存器,分别存放AXI地址、AXI写数据、AXI写指令、AXI读指令和AXI读数据;最后AXI总线整合模块连接被访问的10GEip核,如果后端的ip核不止一个,则通过AXII...

【专利技术属性】
技术研发人员:陈轩张晓峰陈伟峰李斌高海源
申请(专利权)人:天津光电通信技术有限公司
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1