CN109684245B - 一种apb总线访问spi flash的方法及装置 - Google Patents
一种apb总线访问spi flash的方法及装置 Download PDFInfo
- Publication number
- CN109684245B CN109684245B CN201811515358.2A CN201811515358A CN109684245B CN 109684245 B CN109684245 B CN 109684245B CN 201811515358 A CN201811515358 A CN 201811515358A CN 109684245 B CN109684245 B CN 109684245B
- Authority
- CN
- China
- Prior art keywords
- state
- configuration
- signal
- spi
- chip selection
- 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.)
- Active
Links
Images
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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/126—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种外围总线APB总线访问串行外围接口SPI FLASH的方法及装置,包括:对所述SPI接口自启动进行判断;若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线。
Description
技术领域
本发明属于集成电路设计技术领域,涉及一种APB总线访问SPI FLASH的方法及装置。
背景技术
在对FLASH的访问中,每一次访问都需要先对SPI控制器的寄存器进行配置。因此需要一种高效的电路方法来完成该工作。
现有技术的做法是处理器对SPI FLASH的访问时,每一次访问都需要通过软件配置20多遍寄存器,可以看出,现有技术的做法软件消耗大,影响了SoC的访问效率。
发明内容
为了解决上述背景技术中提及的问题,本发明提供了一种APB总线访问SPI FLASH的方法,简化了处理器访问FLASH时的寄存器读写操作。
第一方面,本发明提供了一种外围总线APB总线访问串行外围接口SPI FLASH的方法,包括:
对所述SPI接口自启动进行判断;
若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;
通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线。
可选的,所述将APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作,由状态机进行实现,所述状态机由一命令转换状态机实现,所述命令转换状态机包括SPI空闲状态、BOOT空闲状态、分频配置状态、分频配置结束状态、片选配置状态、片选配置结束状态、发送数据状态、发送数据结束状态、控制寄存器配置状态、控制寄存器配置结束状态、检测状态、检测结束状态、数据发送状态、数据发送结束状态、关闭片选配置状态、关闭片选配置结束状态。
可选的,在所述SPI空闲状态下,若APB信号读外挂FLASH地址,自启动使能信号为高,进入BOOT空闲状态;若自启动使能信号为低,保持在SPI空闲状态;
在所述BOOT空闲状态下,当PSEL信号为高时,进入分频配置状态;当PSEL信号为低时,保持在BOOT空闲状态;
在所述分频配置状态下,配置时钟分频寄存器的值为0,当PREADY信号为高时,进入分频配置结束状态;当PREADY信号为低时,保持在分频配置状态;
在所述分频配置结束状态下,当自启动使能信号为低时,进入SPI空闲状态;当PSEL信号为高时,进入片选配置状态,当PSEL信号为低时,保持在分频配置结束状态;
在所述片选配置状态下,配置从设备片选寄存器的值为1,当PREADY信号为高时,进入片选配置结束状态;当PREADY信号为低时,保持在片选配置状态;
在所述片选配置结束状态下,等待一个预设周期,撤销操作;
在所述发送数据状态下,配置数据发送接收寄存器1,当PREADY信号为高时,进入发送数据结束状态;当PREADY信号为低时,保持在发送数据状态;
在所述发送数据结束状态下,等待一个预设周期,撤销操作;
在所述控制寄存器配置状态下,配置控制寄存器,当PREADY信号为高时,进入控制寄存器配置结束状态;当PREADY信号为低时,保持在控制寄存器配置状态;
在所述控制寄存器配置结束状态下,等待一个预设周期,撤销操作;
在所述检测状态下,配置检测控制寄存器,当PREADY信号为高并且读回数据时,进入检测结束状态;当PREADY信号为低或未读回数据时时,保持在检测状态;
在所述检测结束状态下,等待一个预设周期,撤销操作;
在所述数据发送状态下,配置数据发送接收寄存器,当PREADY信号为高时,进入数据发送结束状态,当PREADY信号为低时,保持在数据发送状态;
在所述数据发送结束状态下,等待一个预设周期,撤销操作;
在所述关闭片选配置状态下,配置片选寄存器的值,关闭片选,当PREADY信号为高时,进入关闭片选配置结束状态;当PREADY信号为低时,保持在关闭片选配置状态;
在所述关闭片选配置结束状态,等待一个周期,撤销操作,进入分频配置结束状态。
第二方面,本发明提供了一种外围总线APB总线访问串行外围接口SPI FLASH的装置,所述装置包括判断单元、转化单元和发送单元,其中:
所述判断单元,用于对所述SPI接口自启动进行判断;
所述转化单元,用于若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;
所述发送单元,用于通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线。
本发明提供的APB总线访问SPIFLASH的方法,通过对所述SPI接口自启动进行判断;若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线,可以实现系统上电复位后,处理器对FLASH地址的直接读取数据操作,采用纯硬件实现,提高了CPU访问效率。
附图说明
图1为本发明一种可配置的存储器内建自测试电路的架构示意图;
图2为命令转换状态机的状态迁移示意图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
实施例一
本发明提供了一种外围总线APB总线访问串行外围接口SPI FLASH的方法,包括:
步骤101:对所述SPI接口自启动进行判断;
步骤102:若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;
步骤103:通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线。
可选的,如图1和图2所示所述将APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作,由状态机进行实现,所述状态机由一命令转换状态机实现,所述命令转换状态机包括SPI空闲状态、BOOT空闲状态、分频配置状态、分频配置结束状态、片选配置状态、片选配置结束状态、发送数据状态、发送数据结束状态、控制寄存器配置状态、控制寄存器配置结束状态、检测状态、检测结束状态、数据发送状态、数据发送结束状态、关闭片选配置状态、关闭片选配置结束状态。
可选的,在所述SPI空闲状态下,若APB信号读外挂FLASH地址,自启动使能信号为高,进入BOOT空闲状态;若自启动使能信号为低,保持在SPI空闲状态;
在所述BOOT空闲状态下,当PSEL信号为高时,进入分频配置状态;当PSEL信号为低时,保持在BOOT空闲状态;
在所述分频配置状态下,配置时钟分频寄存器的值为0,当PREADY信号为高时,进入分频配置结束状态;当PREADY信号为低时,保持在分频配置状态;
在所述分频配置结束状态下,当自启动使能信号为低时,进入SPI空闲状态;当PSEL信号为高时,进入片选配置状态,当PSEL信号为低时,保持在分频配置结束状态;
在所述片选配置状态下,配置从设备片选寄存器的值为1,当PREADY信号为高时,进入片选配置结束状态;当PREADY信号为低时,保持在片选配置状态;
在所述片选配置结束状态下,等待一个预设周期,撤销操作;
在所述发送数据状态下,配置数据发送接收寄存器1,当PREADY信号为高时,进入发送数据结束状态;当PREADY信号为低时,保持在发送数据状态;
在所述发送数据结束状态下,等待一个预设周期,撤销操作;
在所述控制寄存器配置状态下,配置控制寄存器,当PREADY信号为高时,进入控制寄存器配置结束状态;当PREADY信号为低时,保持在控制寄存器配置状态;
在所述控制寄存器配置结束状态下,等待一个预设周期,撤销操作;
在所述检测状态下,配置检测控制寄存器,当PREADY信号为高并且读回数据时,进入检测结束状态;当PREADY信号为低或未读回数据时时,保持在检测状态;
在所述检测结束状态下,等待一个预设周期,撤销操作;
在所述数据发送状态下,配置数据发送接收寄存器,当PREADY信号为高时,进入数据发送结束状态,当PREADY信号为低时,保持在数据发送状态;
在所述数据发送结束状态下,等待一个预设周期,撤销操作;
在所述关闭片选配置状态下,配置片选寄存器的值,关闭片选,当PREADY信号为高时,进入关闭片选配置结束状态;当PREADY信号为低时,保持在关闭片选配置状态;
在所述关闭片选配置结束状态,等待一个周期,撤销操作,进入分频配置结束状态。
实施例二
本发明提供了一种外围总线APB总线访问串行外围接口SPI FLASH的装置,所述装置包括判断单元11、转化单元12和发送单元13,其中:
所述判断单元11,用于对所述SPI接口自启动进行判断;
所述转化单元12,用于若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;
所述发送单元13,用于通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线。
另外,本发明还提供一种APB总线访问SPIFLASH的方法,具体设计方法包含以下步骤:
1、系统上电复位后,通过配置总线寄存器的配置芯片为从SPI接口自启动;
2、当SPI接口自启动后,则0x0地址被映射到SPI接口的存储器件,复位撤消后处理器从0地址(即SPI接口)开始取指;
3、此时,处理器通过APB总线发出读操作,转换电路把普通读操作转换为相应的命令操作,通过APB总线发送到SPI控制器,SPI控制器识别命令操作,从FLASH中取回相应地址的数据原路返回到CPU中,这就是CPU读取FLASH数据的一次操作过程;
4、全部的读取操作束后对软复位寄存器进行写操作,清除自启动使能,完成操作。
命令转换电路由一状态机实现,该状态机包括以下16个状态。
本发明提供的APB总线访问SPIFLASH的方法,通过对所述SPI接口自启动进行判断;若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线,可以实现系统上电复位后,处理器对FLASH地址的直接读取数据操作,采用纯硬件实现,提高了CPU访问效率。
Claims (2)
1.一种外围总线APB总线访问串行外围接口SPI FLASH的方法,其特征在于:
对所述SPI接口自启动进行判断;
若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;
通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线;
所述将APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作,由状态机进行实现,所述状态机由一命令转换状态机实现,所述命令转换状态机包括SPI空闲状态、BOOT空闲状态、分频配置状态、分频配置结束状态、片选配置状态、片选配置结束状态、发送数据状态、发送数据结束状态、控制寄存器配置状态、控制寄存器配置结束状态、检测状态、检测结束状态、数据发送状态、数据发送结束状态、关闭片选配置状态、关闭片选配置结束状态;
在所述SPI空闲状态下,若APB信号读外挂FLASH地址,自启动使能信号为高,进入BOOT空闲状态;若自启动使能信号为低,保持在SPI空闲状态;
在所述BOOT空闲状态下,当PSEL信号为高时,进入分频配置状态;当PSEL信号为低时,保持在BOOT空闲状态;
在所述分频配置状态下,配置时钟分频寄存器的值为0,当PREADY信号为高时,进入分频配置结束状态;当PREADY信号为低时,保持在分频配置状态;
在所述分频配置结束状态下,当自启动使能信号为低时,进入SPI空闲状态;当PSEL信号为高时,进入片选配置状态,当PSEL信号为低时,保持在分频配置结束状态;
在所述片选配置状态下,配置从设备片选寄存器的值为1,当PREADY信号为高时,进入片选配置结束状态;当PREADY信号为低时,保持在片选配置状态;
在所述片选配置结束状态下,等待一个预设周期,撤销操作;
在所述发送数据状态下,配置数据发送接收寄存器1,当PREADY信号为高时,进入发送数据结束状态;当PREADY信号为低时,保持在发送数据状态;
在所述发送数据结束状态下,等待一个预设周期,撤销操作;
在所述控制寄存器配置状态下,配置控制寄存器,当PREADY信号为高时,进入控制寄存器配置结束状态;当PREADY信号为低时,保持在控制寄存器配置状态;
在所述控制寄存器配置结束状态下,等待一个预设周期,撤销操作;
在所述检测状态下,配置检测控制寄存器,当PREADY信号为高并且读回数据时,进入检测结束状态;当PREADY信号为低或未读回数据时,保持在检测状态;
在所述检测结束状态下,等待一个预设周期,撤销操作;
在所述数据发送状态下,配置数据发送接收寄存器,当PREADY信号为高时,进入数据发送结束状态,当PREADY信号为低时,保持在数据发送状态;
在所述数据发送结束状态下,等待一个预设周期,撤销操作;
在所述关闭片选配置状态下,配置片选寄存器的值,关闭片选,当PREADY信号为高时,进入关闭片选配置结束状态;当PREADY信号为低时,保持在关闭片选配置状态;
在所述关闭片选配置结束状态,等待一个周期,撤销操作,进入分频配置结束状态。
2.一种外围总线APB总线访问串行外围接口SPI FLASH的装置,其特征在于,所述装置应用于如权利要求1所述的一种外围总线APB总线访问串行外围接口SPI FLASH的方法,所述装置包括判断单元、转化单元和发送单元,其中:
所述判断单元,用于对所述SPI接口自启动进行判断;
所述转化单元,用于若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;
所述发送单元,用于通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811515358.2A CN109684245B (zh) | 2018-12-11 | 2018-12-11 | 一种apb总线访问spi flash的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811515358.2A CN109684245B (zh) | 2018-12-11 | 2018-12-11 | 一种apb总线访问spi flash的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684245A CN109684245A (zh) | 2019-04-26 |
CN109684245B true CN109684245B (zh) | 2022-05-27 |
Family
ID=66187551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811515358.2A Active CN109684245B (zh) | 2018-12-11 | 2018-12-11 | 一种apb总线访问spi flash的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684245B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116758968B (zh) * | 2023-08-16 | 2023-12-08 | 英诺达(成都)电子科技有限公司 | 存储器内建自测试方法及其电路、芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023945A (zh) * | 2009-09-22 | 2011-04-20 | 鸿富锦精密工业(深圳)有限公司 | 基于串行外围设备接口总线的设备及其数据传输方法 |
CN102541788A (zh) * | 2010-12-27 | 2012-07-04 | 北京国睿中数科技股份有限公司 | Apb桥以及利用apb桥执行读取或写入的方法 |
CN102591820A (zh) * | 2011-12-27 | 2012-07-18 | 钜泉光电科技(上海)股份有限公司 | 一种idma总线桥装置 |
CN103198043A (zh) * | 2013-01-24 | 2013-07-10 | 杭州中科微电子有限公司 | 一种改进的AHB to APB总线桥及其控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101857911B1 (ko) * | 2017-03-06 | 2018-05-14 | 숭실대학교산학협력단 | 가상채널을 이용한 다중 채널 메모리 제어기 |
-
2018
- 2018-12-11 CN CN201811515358.2A patent/CN109684245B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023945A (zh) * | 2009-09-22 | 2011-04-20 | 鸿富锦精密工业(深圳)有限公司 | 基于串行外围设备接口总线的设备及其数据传输方法 |
CN102541788A (zh) * | 2010-12-27 | 2012-07-04 | 北京国睿中数科技股份有限公司 | Apb桥以及利用apb桥执行读取或写入的方法 |
CN102591820A (zh) * | 2011-12-27 | 2012-07-18 | 钜泉光电科技(上海)股份有限公司 | 一种idma总线桥装置 |
CN103198043A (zh) * | 2013-01-24 | 2013-07-10 | 杭州中科微电子有限公司 | 一种改进的AHB to APB总线桥及其控制方法 |
Non-Patent Citations (2)
Title |
---|
"A SPI FLASH-based FPGA dynamic reconfiguration method";Mubing Li等;《 2013 IEEE INTERNATIONAL CONFERENCE ON MICROWAVE TECHNOLOGY & COMPUTATIONAL ELECTROMAGNETICS》;20130828;第379-382页 * |
"具有自动加载功能的SPI总线控制器设计与验证";齐宇心等;《具有自动加载功能的SPI总线控制器设计与验证》;20160701;第16-19页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109684245A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874224B (zh) | 自动搬运且适应器件的多线SPI-Flash控制器 | |
US7725638B2 (en) | Application processor circuit incorporating both SD host and slave functions and electronic device including same | |
US8339869B2 (en) | Semiconductor device and data processor | |
CN105468548B (zh) | 串行外围接口的通信 | |
JP2010086524A (ja) | 省電力機能を有するブリッジ装置 | |
CN108268414B (zh) | 基于spi模式的sd卡驱动器及其控制方法 | |
EP2207101A1 (en) | Method and device for parallel interfacing | |
CN109684245B (zh) | 一种apb总线访问spi flash的方法及装置 | |
CN111615691B (zh) | 直接存储器访问适配器 | |
US20200083875A1 (en) | Master read from slave over pulse-width modulated half-duplex 1-wire bus | |
JP2963426B2 (ja) | バスブリッジ装置及びトランザクションフォワード方法 | |
CN106330327B (zh) | 管理光模块的使能状态的方法和装置 | |
TW202143061A (zh) | 促進與積體電路間(ic)反向相容性之改良式積體電路間(i3c)集線器 | |
US20020078282A1 (en) | Target directed completion for bus transactions | |
CN110765066B (zh) | 一种片上系统 | |
CN111221769B (zh) | 单线读写通讯方法 | |
US10948970B2 (en) | Low power microcontroller | |
CN113918497B (zh) | 一种优化ahb总线数据传输性能的系统、方法及服务器 | |
CN110750472A (zh) | 一种int中断转msi中断的转换方法、装置及存储介质 | |
WO2021042836A1 (zh) | 一种去除毛刺的方法、装置及状态机 | |
US20200065274A1 (en) | Always-on ibi handling | |
CN213518255U (zh) | 片上系统 | |
CN109656626B (zh) | 一种基于ahb总线sd卡数据自搬运方法及装置 | |
CN115632903B (zh) | 一种虚拟外设通信总线控制方法、装置及计算机设备 | |
CN112416677B (zh) | 一种具有软关机功能的服务器和软关机方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221011 Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075 Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd. Address before: No.15, Jinye 2nd Road, Xi'an, Shaanxi 710000 Patentee before: AVIC XI''AN AERONAUTICS COMPUTING TECHNIQUE RESEARCH INSTITUTE |
|
TR01 | Transfer of patent right |