CN109684245B - 一种apb总线访问spi flash的方法及装置 - Google Patents

一种apb总线访问spi flash的方法及装置 Download PDF

Info

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
Application number
CN201811515358.2A
Other languages
English (en)
Other versions
CN109684245A (zh
Inventor
杨海波
廖寅龙
王玉欢
曹朋朋
赵强
邓轲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Xiangteng Microelectronics Technology Co Ltd
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201811515358.2A priority Critical patent/CN109684245B/zh
Publication of CN109684245A publication Critical patent/CN109684245A/zh
Application granted granted Critical
Publication of CN109684245B publication Critical patent/CN109684245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program 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/126Program 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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的方法及装置
技术领域
本发明属于集成电路设计技术领域,涉及一种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总线。
CN201811515358.2A 2018-12-11 2018-12-11 一种apb总线访问spi flash的方法及装置 Active CN109684245B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116758968B (zh) * 2023-08-16 2023-12-08 英诺达(成都)电子科技有限公司 存储器内建自测试方法及其电路、芯片

Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101857911B1 (ko) * 2017-03-06 2018-05-14 숭실대학교산학협력단 가상채널을 이용한 다중 채널 메모리 제어기

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 促進與積體電路間(ic)反向相容性之改良式積體電路間(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