CN107911391A - 一种基于fpga的axi协议与spi协议转换的方法 - Google Patents
一种基于fpga的axi协议与spi协议转换的方法 Download PDFInfo
- Publication number
- CN107911391A CN107911391A CN201711340372.9A CN201711340372A CN107911391A CN 107911391 A CN107911391 A CN 107911391A CN 201711340372 A CN201711340372 A CN 201711340372A CN 107911391 A CN107911391 A CN 107911391A
- Authority
- CN
- China
- Prior art keywords
- axi
- write
- address
- data
- read
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Abstract
本发明公开了一种基于FPGA的AXI协议与SPI协议转换的方法。该方法采用STM32芯片,使用SPI协议与FPGA进行通信,FPGA内部首先解析SPI协议,恢复出协议中包含的指令类型、地址和数据信息,然后将这些信息整合成AXI总线形式;FPGA包括SPI协议解析模块、AXI总线整合模块和10GE ip核。本方法只需要五个SPI寄存器组合读写的方式即可以完成所有基于AXI总线的操作,并且不用担心SPI读数据过程中由于ip核反馈时间不定而带来的时序问题,目前已在某大容量10GE交叉选路设备中应用,可通过上位机对ip核进行状态监视和控制。
Description
技术领域
本发明涉及AXI协议和SPI协议,具体涉及一种基于FPGA的AXI协议与SPI协议转换的方法。
背景技术
AXI(Advanced eXtensible Interface)协议是ARM公司提出的AMBA(AdvancedMicrocontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。近年来,Xilinx推出的ip软核大多基于该协议完成管理和配置,而与此同时,传统的控制协议如SPI、I2C等仍被广泛使用于各个成熟设备的上位机管理软件,因此有必要完成AXI协议与传统协议的转换,实现上位机对底层FPGA模块的状态监视和控制。
发明内容
本发明的目的就是要解决上述现有技术中存在的问题,提供一种基于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核的监控。
所述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总线形式,访问10GE ip核,实现STM32芯片对10GE ip核的监控。
SP协议I解析模块程序执行流程如图3所示,当监测到片选信号有效时,判断输入的数据为读指令还是写指令。如果为读,指令接收完毕后接收地址信息,然后进入地址信息的分析逻辑,将该地址对应寄存器的内容返回主设备;如果为写,指令接收完毕后接收地址信息,然后接收数据信息,将该数据写入该地址对应寄存器。
AXI读指令操作顺序为主与从进行读地址通道握手并传输地址内容,然后在读数据通道握手并传输所读内容以及读取操作的回应,时钟上升沿有效,如图4所示。
AXI写指令操作顺序为主与从进行写地址通道握手并传输地址内容,然后在写数据通道握手并传输所读内容,最后再写回应通道握手,并传输写回应数据,时钟上升沿有效,如图5所示。
上层控制器为STM32(主设备),使用SPI协议与FPGA(从设备)通信,FPGA内部首先解析SPI协议,恢复出协议中包含的指令类型、地址和数据信息,然后将这些信息整合成AXI总线形式,最后连接被访问的10GE ip核,如果后端的ip核不止一个,可以通过AXIInterconnect做路由选择的处理,实现STM32对10GE ip核的监控。
对于AXI总线整合模块,使用4个读写寄存器和1个只读寄存器,分别存放AXI地址、AXI写数据、AXI写指令、AXI读指令和AXI读数据。
读指令操作过程如下:
1)将地址信息写入AXI地址寄存器,
2)将AXI读指令寄存器的值置1再置0(创建上升沿),
3)读取AXI读数据寄存器中的内容得到最终结果。
写指令操作过程如下:
1)将地址信息写入AXI地址寄存器,
2)将数据信息写入AXI写数据寄存器,
3)将AXI写指令寄存器的值置1再置0(创建上升沿)。
Claims (3)
1.一种基于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核不止一个,则通过AXIInterconnect做路由选择的处理,实现STM32芯片对10GE ip核的监控。
2.根据权利要求1所述的一种基于FPGA的AXI协议与SPI协议转换的方法,其特征在于,所述AXI读指令执行以下操作:
(1)、将地址信息写入AXI地址寄存器;
(2)、将AXI读指令寄存器的值置1再置0,创建上升沿;
(3)、读取AXI读数据寄存器中的内容得到最终结果;
所述AXI写指令执行以下操作:
(1)、将地址信息写入AXI地址寄存器;
(2)、将数据信息写入AXI写数据寄存器;
(3)、将AXI写指令寄存器的值置1再置0,创建上升沿。
3.根据权利要求2所述的一种基于FPGA的AXI协议与SPI协议转换的方法,其特征在于,以AXI读指令操作顺序为主机与从机先后完成读地址和读数据的通信,首先进行读地址通道握手并传输地址内容,然后在读数据通道握手并传输所读内容以及读取操作的回应,时钟上升沿有效;
以AXI写指令操作顺序为主机与从机先后完成写地址和写数据的通信,首先进行写地址通道握手并传输地址内容,然后在写数据通道握手并传输所读内容,最后再写回应通道握手,并传输写回应数据,时钟上升沿有效。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711340372.9A CN107911391A (zh) | 2017-12-14 | 2017-12-14 | 一种基于fpga的axi协议与spi协议转换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711340372.9A CN107911391A (zh) | 2017-12-14 | 2017-12-14 | 一种基于fpga的axi协议与spi协议转换的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107911391A true CN107911391A (zh) | 2018-04-13 |
Family
ID=61869910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711340372.9A Withdrawn CN107911391A (zh) | 2017-12-14 | 2017-12-14 | 一种基于fpga的axi协议与spi协议转换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107911391A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108873667A (zh) * | 2018-07-13 | 2018-11-23 | 昆明理工大学 | 一种基于Linux系统下的时间测量系统及其方法 |
CN110321307A (zh) * | 2018-03-28 | 2019-10-11 | 爱思开海力士有限公司 | 寻址切换方案 |
CN111736792A (zh) * | 2019-03-25 | 2020-10-02 | 西安诺瓦电子科技有限公司 | 可编程逻辑器件及其控制方法、控制系统和视频处理器 |
CN112104664A (zh) * | 2020-11-02 | 2020-12-18 | 长沙树根互联技术有限公司 | 物联网数据的协议转换方法、装置及设备 |
CN113961500A (zh) * | 2021-09-01 | 2022-01-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种iic总线从控制器及其工作方法 |
CN114253884A (zh) * | 2022-03-01 | 2022-03-29 | 四川鸿创电子科技有限公司 | 基于fpga的多主对多从访问仲裁方法、系统及存储介质 |
CN114328346A (zh) * | 2021-12-14 | 2022-04-12 | 中航洛阳光电技术有限公司 | 一种用于扩展并行接口的逻辑ip核 |
CN114925010A (zh) * | 2022-05-23 | 2022-08-19 | 中国电子科技集团公司第五十八研究所 | 一种Quad SPI转AXI接口的方法 |
CN115129639A (zh) * | 2022-06-14 | 2022-09-30 | 沐曦集成电路(南京)有限公司 | Axi总线的延时调整装置 |
CN115357926A (zh) * | 2022-10-19 | 2022-11-18 | 南京芯驰半导体科技有限公司 | 基于SoC芯片的AXI总线协议访问权限控制方法及装置 |
CN114925010B (zh) * | 2022-05-23 | 2024-05-10 | 中国电子科技集团公司第五十八研究所 | 一种Quad SPI转AXI接口的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482856A (zh) * | 2009-01-05 | 2009-07-15 | 东南大学 | 基于现场可编程门阵列的串并行协议转换装置 |
US9659359B1 (en) * | 2015-05-05 | 2017-05-23 | Flextronics Ap, Llc | Method of and device for quality control process optimization |
CN107015927A (zh) * | 2017-05-24 | 2017-08-04 | 南京典格通信科技有限公司 | 一种基于SoC支持多个SPI接口标准组的装置 |
-
2017
- 2017-12-14 CN CN201711340372.9A patent/CN107911391A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482856A (zh) * | 2009-01-05 | 2009-07-15 | 东南大学 | 基于现场可编程门阵列的串并行协议转换装置 |
US9659359B1 (en) * | 2015-05-05 | 2017-05-23 | Flextronics Ap, Llc | Method of and device for quality control process optimization |
CN107015927A (zh) * | 2017-05-24 | 2017-08-04 | 南京典格通信科技有限公司 | 一种基于SoC支持多个SPI接口标准组的装置 |
Non-Patent Citations (1)
Title |
---|
杨晓: "基于AXI总线协议的SPI控制器设计与验证", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321307A (zh) * | 2018-03-28 | 2019-10-11 | 爱思开海力士有限公司 | 寻址切换方案 |
CN110321307B (zh) * | 2018-03-28 | 2023-06-13 | 爱思开海力士有限公司 | 寻址切换方案 |
CN108873667A (zh) * | 2018-07-13 | 2018-11-23 | 昆明理工大学 | 一种基于Linux系统下的时间测量系统及其方法 |
CN111736792B (zh) * | 2019-03-25 | 2024-02-06 | 西安诺瓦星云科技股份有限公司 | 可编程逻辑器件及其控制方法、控制系统和视频处理器 |
CN111736792A (zh) * | 2019-03-25 | 2020-10-02 | 西安诺瓦电子科技有限公司 | 可编程逻辑器件及其控制方法、控制系统和视频处理器 |
CN112104664A (zh) * | 2020-11-02 | 2020-12-18 | 长沙树根互联技术有限公司 | 物联网数据的协议转换方法、装置及设备 |
CN113961500A (zh) * | 2021-09-01 | 2022-01-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种iic总线从控制器及其工作方法 |
CN113961500B (zh) * | 2021-09-01 | 2024-04-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种iic总线从控制器及其工作方法 |
CN114328346A (zh) * | 2021-12-14 | 2022-04-12 | 中航洛阳光电技术有限公司 | 一种用于扩展并行接口的逻辑ip核 |
CN114328346B (zh) * | 2021-12-14 | 2024-04-30 | 中航洛阳光电技术有限公司 | 一种用于扩展并行接口的逻辑ip核 |
CN114253884A (zh) * | 2022-03-01 | 2022-03-29 | 四川鸿创电子科技有限公司 | 基于fpga的多主对多从访问仲裁方法、系统及存储介质 |
CN114253884B (zh) * | 2022-03-01 | 2022-05-10 | 四川鸿创电子科技有限公司 | 基于fpga的多主对多从访问仲裁方法、系统及存储介质 |
CN114925010A (zh) * | 2022-05-23 | 2022-08-19 | 中国电子科技集团公司第五十八研究所 | 一种Quad SPI转AXI接口的方法 |
CN114925010B (zh) * | 2022-05-23 | 2024-05-10 | 中国电子科技集团公司第五十八研究所 | 一种Quad SPI转AXI接口的方法 |
CN115129639B (zh) * | 2022-06-14 | 2023-10-27 | 沐曦集成电路(南京)有限公司 | Axi总线的延时调整装置 |
CN115129639A (zh) * | 2022-06-14 | 2022-09-30 | 沐曦集成电路(南京)有限公司 | Axi总线的延时调整装置 |
CN115357926A (zh) * | 2022-10-19 | 2022-11-18 | 南京芯驰半导体科技有限公司 | 基于SoC芯片的AXI总线协议访问权限控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911391A (zh) | 一种基于fpga的axi协议与spi协议转换的方法 | |
US11971446B2 (en) | Interface system for interconnected die and MPU and communication method thereof | |
CN110362512B (zh) | 一种面向sca和sdr的快速系统重构方法 | |
CN108228513B (zh) | 一种基于fpga架构的智能串口通讯装置 | |
CN102169470B (zh) | 一种ahb总线到bvci总线的转换桥 | |
CN110297797B (zh) | 异构协议转换装置和方法 | |
CN101510185B (zh) | 一种高速总线向低速总线写入、读取数据的方法和装置 | |
CN105573951B (zh) | 一种针对数据流传输的ahb总线接口系统 | |
CN110417780B (zh) | 定制化数据传输协议的多通道高速数据接口转化模块 | |
CN108132897A (zh) | 一种基于zynq平台软核的srio控制器 | |
CN103136163B (zh) | 可配置实现fc-ae-asm和fc-av协议的协议处理器芯片 | |
CN105095139A (zh) | 集成电路总线系统及其数据操作和传输方法 | |
CN104636301B (zh) | 一种基于pci‑e接口的大规模plc高速背板总线系统 | |
CN203812236U (zh) | 一种基于处理器和现场可编程门阵列的数据交换系统 | |
CN104714907A (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN108600017A (zh) | 多协议串口扩展方法 | |
CN101436171A (zh) | 模块化通信控制系统 | |
CN111414325A (zh) | 一种Avalon总线转Axi4总线的方法 | |
CN111290986A (zh) | 一种基于神经网络的总线互联系统 | |
CN102981827A (zh) | 一种基于中间件的显示界面数据处理方法及平台 | |
CN107436851A (zh) | 串行外设接口四线隔离系统及其控制方法 | |
CN106980587A (zh) | 一种通用输入输出时序处理器及时序输入输出控制方法 | |
CN112187341B (zh) | 一种基于fpga的数据模拟源及其搭建与控制方法 | |
CN219574799U (zh) | 一种基于amba总线的多总线桥接器及其片上系统 | |
CN205263807U (zh) | 一种PCIe接口的双路FC电路结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180413 |