CN107729278A - 一种基于axi总线协议的spi控制器及其控制方法 - Google Patents
一种基于axi总线协议的spi控制器及其控制方法 Download PDFInfo
- Publication number
- CN107729278A CN107729278A CN201710918509.8A CN201710918509A CN107729278A CN 107729278 A CN107729278 A CN 107729278A CN 201710918509 A CN201710918509 A CN 201710918509A CN 107729278 A CN107729278 A CN 107729278A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- spi controller
- axi bus
- state
- 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.)
- Pending
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/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4286—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
-
- 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/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种基于AXI总线协议的SPI控制器,它包括AXI总线,其特征在于,AXI总线的一端连接有CPU,另一端连接有AXI总线接口模块,所述的AXI总线接口模块连接有控制模块、状态模块以及数据寄存模块,所述的控制模块连接有数据传输模块和写缓存模块,控制模块还与所述的状态模块连接;所述的状态模块连接有ID控制模块和读缓存模块,所述的状态模块还与所述的写缓存模块连接;所述的数据寄存模块与所述的写缓存模块和读缓存模块连接;所述的读缓存模块与所述的数据传输模块连接;所述的数据传输模块连接外部设备。
Description
技术领域
本发明属于服务器总线设计技术领域,具体涉及一种基于AXI总线协议的SPI控制器及其控制方法。
背景技术
近年来,SOC设计技术成为集成电路发展的主流趋势,而随着生产工艺的不断进步,不断增长的晶体管数量限制了集成电路的发展,为了实现更多功能,在一块芯片集成大量的逻辑电路变得愈发困难,IP复用技术成为解决该困难的有效途径。但是,要把不同的IP复用核集成到一个SOC上就要求这些可复用的IP核具有统一标准的接口协议,片上总线技术就有效的解决了这个问题。
AXI总线协议与SPI总线协议是集成电路设计行业广泛采用的两种总线。AXI总线是面向高性能、高带宽、低延迟的系统总线协议。该协议适用于高时钟频率和高带宽的高性能系统。SPI总线是一种高效率串行通信总线协议,该协议在低速外部设备中应用广泛。但是,这两种不同协议之间的不兼容性导致了设备之间通信困难。此为现有技术的不足之处。
因此,针对现有技术中的上述缺陷,提供设计一种基于AXI总线协议的SPI控制器及其控制方法;以解决上述技术问题,是非常有必要的。
发明内容
本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种基于AXI总线协议的SPI控制器及其控制方法,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种基于AXI总线协议的SPI控制器,它包括AXI总线,其特征在于,AXI总线的一端连接有CPU,另一端连接有AXI总线接口模块,所述的AXI总线接口模块连接有控制模块、状态模块以及数据寄存模块,所述的控制模块连接有数据传输模块和写缓存模块,控制模块还与所述的状态模块连接;
所述的状态模块连接有ID控制模块和读缓存模块,所述的状态模块还与所述的写缓存模块连接;
所述的数据寄存模块与所述的写缓存模块和读缓存模块连接;
所述的读缓存模块与所述的数据传输模块连接;
所述的数据传输模块连接外部设备。
作为优选,所述的AXI总线接口模块负责与AXI总线通信,生成数据传输的握手信号、响应信号及队列ID标识信号,并且AXI总线接口模块包含与AXI总线对接所需要的所有接口信号;以保证CPU通过AXI总线传输信号的完整性。
作为优选,所述的控制模块包含各种使能信号;控制模块是SPI控制器处理命令时的控制核心;SPI控制器在正确有效的控制信号作用下进行对应命令的读写行为,控制信号保证各种命令精确地进行;控制模块主要信号的具体信息包括:检测片选信号和时钟信号的上升沿及下降沿、读写地址和数据的发送与应答、读写寄存器ID标识的选择等。
作为优选,所述的数据寄存模块在SPI控制器处理读操作或写操作时,寄存地址信息及数据信息;数据寄存模块主要信号的具体信息包括:保存当前ID的地址及数据等。
作为优选,所述的状态模块记录SPI控制器在进行读写操作时,命令、地址、数据在传输过程中的各种状态;状态模块主要信号的具体信息包括:读写命令状态、标识状态及SPI控制器输出状态等。
作为优选,所述的写缓存模块在SPI控制器处理多请求命令时,将未应答请求的写地址、写数据及状态寄存器所处的状态进行缓存。写缓存模块信号的具体信息包括:缓存各ID的写地址、写数据及写状态等。
作为优选,所述的读缓存模块在SPI控制器处理多请求命令时,将未应答请求的读地址、读数据及状态寄存器所处的状态进行缓存。读缓存模块信号的具体信息包括:缓存各ID的读地址、读数据及读状态等。
作为优选,所述的ID控制模块通过状态模块的状态判断将未响应的请求命令分别对应存放在读或写缓存模块,并且正确区分地址、数据及状态三类信息;应答命令发出后,通过识别读写地址ID标识来判断应答的地址请求命令,将对应数据传输出去,同时清空该命令对应的相关缓存信息;ID控制模块是SPI控制器支持乱序访问的核心控制模块。
作为优选,所述的数据传输模块进行数据输入输出的移位操作,在SPI控制器片选信号有效时,与外部设备进行数据传输;数据传输模块主要信号的具体信息包括:按位移位输入与输出等。
一种基于AXI总线协议的SPI控制器的控制方法,包括以下步骤:
步骤S1:AXI总线接口模块接收CPU通过AXI总线传输过来的命令;
步骤S2:控制模块通过控制各种使能信号控制数据的传输;
步骤S3:数据通过数据传输模块一位一位的移入和移出,完成与外部设备的数据传输;同时ID控制模块将未响应的命令数据分别对应存放在读或写缓存模块,便于后续继续处理,应答命令发出后,通过识别ID标识进行相对应的读写操作。实现乱序访问功能。
本发明的有益效果在于,本发明设计出了一种基于AXI总线协议的SPI控制器及其控制方法,该控制器作为SOC系统的配置及控制模块,向SPI控制器外部设备提供满足SPI总线协议的信号,使得SOC上的不同外围设备可以通过SPI总线协议的时序规范进行通信,提高了SOC的整体性能,可以更好的满足项目需求,降低项目成本。此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1是本发明提供的一种基于AXI总线协议的SPI控制器的结构原理图。
其中,1-CPU,2-AXI总线,3-AXI总线接口模块,4-控制模块,5-状态模块,6-数据寄存模块,7-写缓存模块,8-ID控制模块,9-读缓存模块,10-数据传输模块,11-外部设备。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,本发明提供的一种基于AXI总线协议的SPI控制器,它包括AXI总线2,AXI总线2的一端连接有CPU1,另一端连接有AXI总线接口模块3,所述的AXI总线接口模块3连接有控制模块4、状态模块5以及数据寄存模块6,所述的控制模块4连接有数据传输模块6和写缓存模块7,控制模块4还与所述的状态模块5连接;
所述的状态模块5连接有ID控制模块8和读缓存模块9,所述的状态模块5还与所述的写缓存模块7连接;
所述的数据寄存模块6与所述的写缓存模块7和读缓存模块9连接;
所述的读缓存模块9与所述的数据传输模块10连接;
所述的数据传输模块10连接外部设备11。
本实施例中,所述的AXI总线接口模块3负责与AXI总线2通信,生成数据传输的握手信号、响应信号及队列ID标识信号,并且AXI总线接口模块包含与AXI总线对接所需要的所有接口信号;以保证CPU通过AXI总线传输信号的完整性。
所述的控制模块4包含各种使能信号;控制模块是SPI控制器处理命令时的控制核心;SPI控制器在正确有效的控制信号作用下进行对应命令的读写行为,控制信号保证各种命令精确地进行;控制模块主要信号的具体信息包括:检测片选信号和时钟信号的上升沿及下降沿、读写地址和数据的发送与应答、读写寄存器ID标识的选择等。
所述的数据寄存模块6在SPI控制器处理读操作或写操作时,寄存地址信息及数据信息;数据寄存模块主要信号的具体信息包括:保存当前ID的地址及数据等。
所述的状态模块5记录SPI控制器在进行读写操作时,命令、地址、数据在传输过程中的各种状态;状态模块主要信号的具体信息包括:读写命令状态、标识状态及SPI控制器输出状态等。
所述的写缓存模块7在SPI控制器处理多请求命令时,将未应答请求的写地址、写数据及状态寄存器所处的状态进行缓存。写缓存模块信号的具体信息包括:缓存各ID的写地址、写数据及写状态等。
所述的读缓存模块9在SPI控制器处理多请求命令时,将未应答请求的读地址、读数据及状态寄存器所处的状态进行缓存。读缓存模块信号的具体信息包括:缓存各ID的读地址、读数据及读状态等。
所述的ID控制模块8通过状态模块的状态判断将未响应的请求命令分别对应存放在读或写缓存模块,并且正确区分地址、数据及状态三类信息;应答命令发出后,通过识别读写地址ID标识来判断应答的地址请求命令,将对应数据传输出去,同时清空该命令对应的相关缓存信息;ID控制模块是SPI控制器支持乱序访问的核心控制模块。
所述的数据传输模块10进行数据输入输出的移位操作,在SPI控制器片选信号有效时,与外部设备进行数据传输;数据传输模块主要信号的具体信息包括:按位移位输入与输出等。
本发明还给出一种基于AXI总线协议的SPI控制器的控制方法,包括以下步骤:
步骤S1:AXI总线接口模块接收CPU通过AXI总线传输过来的命令;
步骤S2:控制模块通过控制各种使能信号控制数据的传输;
步骤S3:数据通过数据传输模块一位一位的移入和移出,完成与外部设备的数据传输;同时ID控制模块将未响应的命令数据分别对应存放在读或写缓存模块,便于后续继续处理,应答命令发出后,通过识别ID标识进行相对应的读写操作。实现乱序访问功能。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (10)
1.一种基于AXI总线协议的SPI控制器,它包括AXI总线(2),其特征在于,AXI总线(2)的一端连接有CPU(1),另一端连接有AXI总线接口模块(3),所述的AXI总线接口模块(3)连接有控制模块(4)、状态模块(5)以及数据寄存模块(6),所述的控制模块(4)连接有数据传输模块(6)和写缓存模块(7),控制模块(4)还与所述的状态模块(5)连接;
所述的状态模块(5)连接有ID控制模块(8)和读缓存模块(9),所述的状态模块(5)还与所述的写缓存模块(7)连接;
所述的数据寄存模块(6)与所述的写缓存模块(7)和读缓存模块(9)连接;
所述的读缓存模块(9)与所述的数据传输模块(10)连接;
所述的数据传输模块(10)连接外部设备(11)。
2.根据权利要求1所述的一种基于AXI总线协议的SPI控制器,其特征在于,所述的AXI总线接口模块(3)负责与AXI总线(2)通信,生成数据传输的握手信号、响应信号及队列ID标识信号,并且AXI总线接口模块包含与AXI总线对接所需要的所有接口信号。
3.根据权利要求1或2所述的一种基于AXI总线协议的SPI控制器,其特征在于,所述的控制模块(4)包含各种使能信号;SPI控制器在正确有效的控制信号作用下进行对应命令的读写行为。
4.根据权利要求3所述的一种基于AXI总线协议的SPI控制器,其特征在于,所述的数据寄存模块(6)在SPI控制器处理读操作或写操作时,寄存地址信息及数据信息。
5.根据权利要求4所述的一种基于AXI总线协议的SPI控制器,其特征在于,所述的状态模块(5)记录SPI控制器在进行读写操作时,命令、地址、数据在传输过程中的各种状态。
6.根据权利要求5所述的一种基于AXI总线协议的SPI控制器,其特征在于,所述的写缓存模块(7)在SPI控制器处理多请求命令时,将未应答请求的写地址、写数据及状态寄存器所处的状态进行缓存。
7.根据权利要求6所述的一种基于AXI总线协议的SPI控制器,其特征在于,所述的读缓存模块(9)在SPI控制器处理多请求命令时,将未应答请求的读地址、读数据及状态寄存器所处的状态进行缓存。
8.根据权利要求7所述的一种基于AXI总线协议的SPI控制器,其特征在于,所述的ID控制模块(8)通过状态模块的状态判断将未响应的请求命令分别对应存放在读或写缓存模块,并且正确区分地址、数据及状态三类信息;应答命令发出后,通过识别读写地址ID标识来判断应答的地址请求命令,将对应数据传输出去,同时清空该命令对应的相关缓存信息。
9.根据权利要求8所述的一种基于AXI总线协议的SPI控制器,其特征在于,所述的数据传输模块(10)进行数据输入输出的移位操作,在SPI控制器片选信号有效时,与外部设备进行数据传输。
10.一种基于AXI总线协议的SPI控制器的控制方法,包括以下步骤:
步骤S1:AXI总线接口模块接收CPU通过AXI总线传输过来的命令;
步骤S2:控制模块通过控制各种使能信号控制数据的传输;
步骤S3:数据通过数据传输模块一位一位的移入和移出,完成与外部设备的数据传输;同时ID控制模块将未响应的命令数据分别对应存放在读或写缓存模块,便于后续继续处理,应答命令发出后,通过识别ID标识进行相对应的读写操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710918509.8A CN107729278A (zh) | 2017-09-30 | 2017-09-30 | 一种基于axi总线协议的spi控制器及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710918509.8A CN107729278A (zh) | 2017-09-30 | 2017-09-30 | 一种基于axi总线协议的spi控制器及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107729278A true CN107729278A (zh) | 2018-02-23 |
Family
ID=61209627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710918509.8A Pending CN107729278A (zh) | 2017-09-30 | 2017-09-30 | 一种基于axi总线协议的spi控制器及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729278A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947677A (zh) * | 2019-02-27 | 2019-06-28 | 山东华芯半导体有限公司 | 支持乱序功能的axi总线位宽转换装置及数据传输方法 |
CN112987690A (zh) * | 2021-02-25 | 2021-06-18 | 山东英信计算机技术有限公司 | 一种espi控制器验证系统及方法 |
CN114201436A (zh) * | 2021-12-03 | 2022-03-18 | 苏州长风航空电子有限公司 | 一种基于axi总线的Lvds数据通信实现方法及通信装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021104A (zh) * | 2014-06-12 | 2014-09-03 | 国家电网公司 | 一种基于双总线结构的协同系统及其通信方法 |
CN106407522A (zh) * | 2016-08-31 | 2017-02-15 | 德为显示科技股份有限公司 | 基于fpga的逻辑ip总线互联实现装置 |
US9659359B1 (en) * | 2015-05-05 | 2017-05-23 | Flextronics Ap, Llc | Method of and device for quality control process optimization |
CN106951379A (zh) * | 2017-03-13 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种基于axi协议的高性能ddr控制器及数据传输方法 |
CN107015927A (zh) * | 2017-05-24 | 2017-08-04 | 南京典格通信科技有限公司 | 一种基于SoC支持多个SPI接口标准组的装置 |
-
2017
- 2017-09-30 CN CN201710918509.8A patent/CN107729278A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021104A (zh) * | 2014-06-12 | 2014-09-03 | 国家电网公司 | 一种基于双总线结构的协同系统及其通信方法 |
US9659359B1 (en) * | 2015-05-05 | 2017-05-23 | Flextronics Ap, Llc | Method of and device for quality control process optimization |
CN106407522A (zh) * | 2016-08-31 | 2017-02-15 | 德为显示科技股份有限公司 | 基于fpga的逻辑ip总线互联实现装置 |
CN106951379A (zh) * | 2017-03-13 | 2017-07-14 | 郑州云海信息技术有限公司 | 一种基于axi协议的高性能ddr控制器及数据传输方法 |
CN107015927A (zh) * | 2017-05-24 | 2017-08-04 | 南京典格通信科技有限公司 | 一种基于SoC支持多个SPI接口标准组的装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947677A (zh) * | 2019-02-27 | 2019-06-28 | 山东华芯半导体有限公司 | 支持乱序功能的axi总线位宽转换装置及数据传输方法 |
CN112987690A (zh) * | 2021-02-25 | 2021-06-18 | 山东英信计算机技术有限公司 | 一种espi控制器验证系统及方法 |
CN112987690B (zh) * | 2021-02-25 | 2022-05-24 | 山东英信计算机技术有限公司 | 一种espi控制器验证系统及方法 |
CN114201436A (zh) * | 2021-12-03 | 2022-03-18 | 苏州长风航空电子有限公司 | 一种基于axi总线的Lvds数据通信实现方法及通信装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196824B (zh) | 实现数据传输的方法及装置、电子设备 | |
EP3035198B1 (en) | Low power entry in a shared memory link | |
US10515030B2 (en) | Method and device for improved advanced microcontroller bus architecture (AMBA) and advanced extensible interface (AXI) operations | |
KR100840140B1 (ko) | 메모리 허브 메모리 모듈들을 사용하여 데이터 전송들을조직화하는 시스템 및 방법 | |
US7743172B2 (en) | Die-to-die interconnect interface and protocol for stacked semiconductor dies | |
CN101556565B (zh) | 嵌入式处理器的片上高性能dma | |
CN109471816A (zh) | 一种基于描述符的pcie总线dma控制器及数据传输控制方法 | |
CN106951379B (zh) | 一种基于axi协议的高性能ddr控制器及数据传输方法 | |
CN110309088B (zh) | Zynq fpga芯片及其数据处理方法、存储介质 | |
CN105573951B (zh) | 一种针对数据流传输的ahb总线接口系统 | |
EP3465453B1 (en) | Reduced pin count interface | |
CN106933760A (zh) | 一种基于axi协议的dma控制器及数据上传方法 | |
EP2761386B1 (en) | Managing sideband segments in on-die system fabric | |
US11899612B2 (en) | Online upgrading method and system for multi-core embedded system | |
CN102169470B (zh) | 一种ahb总线到bvci总线的转换桥 | |
EP2388707A1 (en) | Interconnection method and device, for example for systems-on-chip | |
CN109478168A (zh) | 内存访问技术及计算机系统 | |
CN112965924A (zh) | 一种AHB-to-AXI桥接器及激进式处理方法 | |
CN107729278A (zh) | 一种基于axi总线协议的spi控制器及其控制方法 | |
US20060236001A1 (en) | Direct memory access controller | |
CN105786741A (zh) | 一种soc高速低功耗总线及转换方法 | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
CN107783927A (zh) | 用于连接axi接口和dma接口的电路转换系统及方法 | |
CN110941582A (zh) | 一种bmc芯片的usb总线结构及其通信方法 | |
CN115982071A (zh) | 一种面向ddr3控制器的片上网络转换接口 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180223 |
|
RJ01 | Rejection of invention patent application after publication |