CN111008171B - 一种带串行flash接口控制的通信ip电路 - Google Patents

一种带串行flash接口控制的通信ip电路 Download PDF

Info

Publication number
CN111008171B
CN111008171B CN201911165282.XA CN201911165282A CN111008171B CN 111008171 B CN111008171 B CN 111008171B CN 201911165282 A CN201911165282 A CN 201911165282A CN 111008171 B CN111008171 B CN 111008171B
Authority
CN
China
Prior art keywords
flash
circuit
interface
control
communication
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
CN201911165282.XA
Other languages
English (en)
Other versions
CN111008171A (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.)
China North Industries Group Corp No 214 Research Institute Suzhou R&D Center
Original Assignee
China North Industries Group Corp No 214 Research Institute Suzhou R&D Center
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 China North Industries Group Corp No 214 Research Institute Suzhou R&D Center filed Critical China North Industries Group Corp No 214 Research Institute Suzhou R&D Center
Priority to CN201911165282.XA priority Critical patent/CN111008171B/zh
Publication of CN111008171A publication Critical patent/CN111008171A/zh
Application granted granted Critical
Publication of CN111008171B publication Critical patent/CN111008171B/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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种带串行FLASH接口控制的通信IP电路,包括DMA控制器,用于与外围设备接口进行DMA通信;CSR接口,提供对内部控制和状态寄存器的访问;直接访问控制器;间接访问控制器;软件触发指令发生器,通过FLASH命令寄存器生成FLASH命令并提供对闪存的访问;FLASH命令生成器,根据直接访问控制器、间接访问控制器或者软件触发指令发生器的指令生成FLASH命令和地址指令;FIFO控制器,用于存储发送与接收的数据,并产生逻辑控制指令。本发明的电路可直接将FLASH接口时序进行固化,通过QSPI模块的使能信号直接控制与FLASH的接口时序,简化了后续软件操作,提高了使用效率。

Description

一种带串行FLASH接口控制的通信IP电路
技术领域
本发明属于半导体集成电路中IP设计领域,尤其涉及采用QSPI方法对FLASH进行控制的领域,设计一种带串行FLASH接口控制的通信IP电路。
背景技术
QSPI(Queued Serial Peripheral Interface)接口是一种同步串行接口,可以实现微处理器与外围芯片之间的同步串行通信,比较常用于与串行FLASH电路相接,实现四路数据同时通信。QSPI具有连线简单、通讯速率高、可实现全双工通信的优点。
FLASH存储器是一种掉电后数据不丢失的存储器,不仅具备电子可擦除可编程的性能,还不会断电丢失数据,同时可以快速读取数据,平时常用的U盘、SD卡、SSD固态硬盘以及MCU内部用于存储程序的设备都是FLASH类型的存储器。
目前可连接串行FLASH电路的通信IP较多,如常用的SPI、QSPI接口等,这是串行四线接口的IP,与FLASH电路相应的接口相连,通过MCU微处理器进行控制,这种连接方法硬件连接简单,但软件控制较复杂,时序控制、数据传输等工作量较大。
通过查询,目前只有标准的SPI、QSPI接口IP,还未有直接带FLASH接口的通信接口IP电路,虽然SPI、QSPI可以连接FLASH电路,但使用时还需进行软件调试,控制时序、使能信号等。
发明内容
本发明所要解决的技术问题是克服现有技术的缺陷,提供一种带串行FLASH接口控制的通信IP电路,可直接将FLASH接口时序进行固化,通过QSPI模块的使能信号直接控制与FLASH的接口时序,简化了后续软件操作,提高了使用效率。
为解决上述技术问题,本发明采用的技术方案如下:
一种带串行FLASH接口控制的通信IP电路,包括:
DMA控制器,用于与外围设备接口进行DMA通信;
CSR接口,提供对内部控制和状态寄存器的访问;
直接访问控制器,提供对闪存的存储器映射从直接访问;
间接访问控制器,通过本地缓冲和软件传递请求,对闪存进行访问;
软件触发指令发生器,通过FLASH命令寄存器生成FLASH命令并提供对闪存的访问;
FLASH命令生成器,根据直接访问控制器、间接访问控制器或者软件触发指令发生器的指令生成FLASH命令和地址指令;
FIFO控制器,用于存储发送与接收的数据,并产生逻辑控制指令。
进一步地,设有可与FLASH电路的接口相连通讯的时钟端口CLK、片选端口CS、输入端口DI、输出端口DO、写保护信号WP与保持信号HOLD。
进一步地,集成在微处理器中,作为微处理器的一个IP电路。
进一步地,通过APB总线接口与带APB总线接口的微处理器进行集成。
进一步地,FIFO控制器中包括向片选端口发送片选控制信号的片选信号模块。
进一步地,根据不同的Standard SPI模式、Dual SPI或Quad SPI模式,FIFO控制器发送不同的片选控制信号选择串行输出使能信号或Slave选择输出信号。在QSPI模块中,ssi_oe_n为串行输出使能信号,ss_0_n为Slave选择输出信号。当设为Standard SPI模式时,片选控制信号qspi_control置高,选择串行输出使能信号ssi_oe_n[0]信号;当设为Dual SPI或Quad SPI模式时,片选控制信号qspi_control置低,选择Slave选择输出信号ss_0_n信号。
进一步地,根据不同的Standard SPI模式、Dual SPI模式或Quad SPI模式,FIFO控制器发送不同的使能控制信号。
进一步地,当串行输出使能信号为有效信号时,FIFO控制器向FLASH电路发送地址指令信号。当串行输出使能信号ssi_oe_n[0]为有效的低电平信号时,主要区分StandardSPI方式发送地址还是Quad SPI模式发送地址。(1)当串行输出使能信号ssi_oe_n[2]和ssi_oe_n[3]信号为高时,表明此时通过Standard SPI方式由txd[0]发送指令或地址,WP与HOLD信号应为高;(2)当串行输出使能信号ssi_oe_n[2]和ssi_oe_n[3]信号为低时,此时处于Quad SPI模式下发送地址信号,WP与HOLD信号等于txd[2]和txd[3]。
进一步地,当串行输出使能信号为无效信号时,FIFO控制器处于接收数据状态。此时需要区分Standard SPI方式还是Quad SPI模式。在Standard SPI方式下,只用到DI与DO信号,WP与HOLD信号为高电平;在Quad SPI方式下,四线接收数据,WP与HOLD信号应为高阻态,处于接收数据状态。
进一步地,根据不同的Standard SPI模式或Quad SPI模式,采用两线或四线接收数据。在作为标准SPI模式时,只使用RXD与TXD两个数据线,分别与DI和DO相连即可;在作为Quad SPI模式时,由于是四线传输,因此需将WP信号作为数据线2使用,HOLD信号作为数据线3使用。
本发明所达到的有益效果:
本发明研究一种带串行FLASH接口控制的通信IP电路,利用QSPI接口进行接口改进,将与FLASH接口的时序、配置信息、数据传输等功能直接设计固化,在使用时就可直接与FLASH相接进行通信,不需再通过MCU进行控制,大大减少了后续软件开发时间,提高了效率。
附图说明
图1是本实施例设计的电路结构图。
图2是片选信号电路设计图。
图3是DI数据输入端口设计图。
图4是DO数据输出端口设计图。
图5是WP信号电路设计图。
图6是HOLD信号电路设计总体图。
图7是HOLD信号qspi_hold_n_mux0000_imp模块结构图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
1、设计思路
本发明设计一种带串行FLASH接口控制的QSPI电路,利用QSPI模块的时钟端口CLK、片选端口CS、输入端口DI、输出端口DO、写保护信号WP与保持信号HOLD与FLASH电路的接口相连,并通过控制信号对FLASH电路的接口时序、配置信息等进行控制,直接将FLASH电路与QSPI模块相连进行通信。结构图如图1所示。
图1中内部集成DMA控制器,可实现与外围设备接口进行DMA通信,提高效率;
CSR接口提供对控制和状态寄存器访问;
直接访问控制器Direct Access Controller提供对闪存的存储器映射进行访问;
间接访问控制器Indirect Access Controller通过本地缓冲和软件传递请求,提供对闪存的更高性能访问;
软件触发指令发生器STIG通过FLASH命令寄存器Flash Command Generator生成FLASH命令并提供闪存的低级访问;
FLASH命令生成器Flash Command Generator可根据直接访问控制器、间接访问控制器或者软件触发指令发生器STIG的指令生成FLASH命令和地址指令;
FIFO控制器FIFO Control主要用于存储发送与接收的数据,并产生逻辑控制指令。
图1中电路左边设计为AMBAAPB总线接口,引脚名称如下表1所示,可以与带APB总线接口的微处理器进行集成,方便设计时集成在微处理器中,作为微处理器的一个IP电路。图1中电路右边设计为FLASH接口,接口如下表2所示,可以与市场上的串行FLASH相连,在设计时按照与FLASH通信协议事先进行设计,应用时可直接连接串行FLASH进行四线数据通信,不再需要后续软件专门进行时序控制与调整。表3为QSPI电路内部控制信号,包括信号选择、发送数据、接收数据等。
表1 AMBA APB Slave接口
Figure BDA0002287279780000041
Figure BDA0002287279780000051
表2 与FLASH相接端口
管脚名称 类型 描述
CLK 输入 时钟端口
CS 输入 片选端口(低有效)
DI 双向 数据输入(数据位0)
DO 双向 数据输出(数据位1)
WP 双向 写保护(数据位2)
HOLD 双向 保持信号(数据位3)
表3 内部信号端口(QSPI模块产生的控制信号和数据输入输出信号)
Figure BDA0002287279780000052
Figure BDA0002287279780000061
常用的串行FLASH接口如下表4所示。
表4 串行FLASH接口
管脚名称 类型 描述
CS 输入 片选端
SO(IO1) 双向 数据端口1
WP(IO2) 双向 写保护(数据端口2)
VSS
SI(IO0) 双向 数据端口0
SCLK 输入 时钟端
HOLD(IO3) 双向 保持(数据端口3)
VCC 电源
本发明的优点利用该IP模块可以直接与FLASH电路相接,使用时减少后续软件编程的操作,不再需要专门对FLASH时序进行编程,而且该IP模块设计时已经考虑了标准的SPI模式、Dual SPI模式(双数据通信)、Quad SPI模式(四数据通信)等三种工作模式,通过片选使能直接可以控制,提高工作效率。
2、工作原理
QSPI接口可实现标准的SPI模式、Dual SPI模式(双数据通信)、Quad SPI模式(四数据通信),为了应用的灵活性,设计实现多种模式下与串行FLASH电路的时序控制与数据通信。
(1)片选信号模块设计说明
结合图2,片选信号模块包括与门and2b1、与门and2、或门or2。与门and2b1、与门and2的其中一个输入端输入片选控制信号qspi_control,与门and2b1的另一输入端输入Slave选择输出信号ss_0_n、与门and2的另一输入端输入串行输出使能信号ssi_oe_n[0]。与门and2b1、与门and2的输入分别为或门or2的输入信号,或门or2的输出端输出片选信号qspi_cs。当设为Standard SPI模式时,qspi_control置高,选择ssi_oe_n[0]信号;当设为Dual SPI或Quad SPI模式时,qspi_control置低,选择ss_0_n信号。
(2)输入端口DI与输出端口DO设计说明
结合图3和图4,在设计时,按照QSPI协议,将串行输出数据qspi_txd的最低位赋值给DI端口qspi_di(DI端口是本电路的双向端口,在电路内部将qspi_txd[0]相接),并根据串行输出使能信号ssi_oe_n[0]来进行控制,当串行输出使能信号ssi_oe_n[0]为低电平时,将串行输出数据qspi_txd的最低位赋值给DI端口;当串行输出使能信号ssi_oe_n[0]为高电平时,DI端口为高阻态。
同理,将qspi_txd[1]赋值给DO端口qspi_do,并根据ssi_oe_n[1]信号来进行控制,当串行输出使能信号ssi_oe_n[1]信号为低电平时,将串行输出数据qspi_txd[1]赋值给DO端口;当串行输出使能信号ssi_oe_n[1]信号为高电平时,DO端口为高阻态。
另外在进行数据反向通信时,将DI端口和DO端口数据赋值给QSPI模块的串行输入数据qspi_rxd[0]和qspi_rxd[1]端口。
(3)写保护信号WP与保持信号HOLD设计说明
结合图5、图6和图7,在作为标准SPI模式时,只使用RXD与TXD两个数据线,分别与DI和DO端口相连即可;在作为Quad SPI模式时,由于是四线传输,因此需将写保护信号WP作为数据线2使用,保持信号HOLD作为数据线3使用。
在设计时,当设为Standard SPI模式或Dual SPI模式时,使能控制信号wp_hold_control应为高电平;当设为Quad SPI模式时,使能控制信号wp_hold_control应为低电平。
当串行输出使能信号ssi_oe_n[0]为低电平时,主要区分Standard SPI方式发送地址还是Quad SPI方式发送地址。(1)当串行输出使能信号ssi_oe_n[2]和ssi_oe_n[3]信号为高时,表明此时通过Standard SPI方式由txd[0]发送指令或地址,WP与HOLD信号应为高;(2)当串行输出使能信号ssi_oe_n[2]和ssi_oe_n[3]信号为低时,此时处于Quad SPI模式下发送地址信号,WP与HOLD信号应等于txd[2]和txd[3]。
当串行输出使能信号ssi_oe_n[0]为高电平时,主要处于接收数据状态,此时需要区分Standard SPI方式还是Quad SPI模式。在Standard SPI方式下,只用到DI与DO信号,WP与HOLD信号为高电平;在Quad SPI方式下,四线接收数据,WP与HOLD信号应为高阻态,处于接收数据状态。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种带串行FLASH接口控制的通信IP电路,其特征是,包括:
DMA控制器,用于与外围设备接口进行DMA通信;
CSR接口,提供对内部信号的控制和状态寄存器的访问;
直接访问控制器,提供对闪存的存储器映射直接访问;
间接访问控制器,通过本地缓冲和软件传递请求,对闪存进行访问;
软件触发指令发生器,通过FLASH命令寄存器生成FLASH命令并提供对闪存的访问;
FLASH命令生成器,根据直接访问控制器、间接访问控制器或者软件触发指令发生器的指令生成FLASH命令和地址指令;
FIFO控制器,用于存储发送与接收的数据,并产生逻辑控制指令。
2.根据权利要求1所述的一种带串行FLASH接口控制的通信IP电路,其特征是,设有可与FLASH电路的接口相连通讯的时钟端口CLK、片选端口CS、输入端口DI、输出端口DO、写保护信号WP与保持信号HOLD。
3.根据权利要求1所述的一种带串行FLASH接口控制的通信IP电路,其特征是,集成在微处理器中,作为微处理器的一个IP电路。
4.根据权利要求1或3所述的一种带串行FLASH接口控制的通信IP电路,其特征是,通过APB总线接口与带APB总线接口的微处理器进行集成。
5.根据权利要求2所述的一种带串行FLASH接口控制的通信IP电路,其特征是,FIFO控制器中包括向片选端口发送片选控制信号的片选信号模块。
6.根据权利要求5所述的一种带串行FLASH接口控制的通信IP电路,其特征是,根据不同的Standard SPI模式、Dual SPI或Quad SPI模式,FIFO控制器发送不同的片选控制信号选择串行输出使能信号或Slave选择输出信号。
7.根据权利要求2所述的一种带串行FLASH接口控制的通信IP电路,其特征是,根据不同的Standard SPI模式、Dual SPI模式或Quad SPI模式,FIFO控制器发送不同的使能控制信号。
8.根据权利要求6所述的一种带串行FLASH接口控制的通信IP电路,其特征是,当串行输出使能信号为有效信号时,FIFO控制器向FLASH电路发送地址指令信号。
9.根据权利要求6所述的一种带串行FLASH接口控制的通信IP电路,其特征是,当串行输出使能信号为无效信号时,FIFO控制器处于接收数据状态。
10.根据权利要求2所述的一种带串行FLASH接口控制的通信IP电路,其特征是,根据不同的Standard SPI模式或Quad SPI模式,采用两线或四线接收数据。
CN201911165282.XA 2019-11-25 2019-11-25 一种带串行flash接口控制的通信ip电路 Active CN111008171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911165282.XA CN111008171B (zh) 2019-11-25 2019-11-25 一种带串行flash接口控制的通信ip电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911165282.XA CN111008171B (zh) 2019-11-25 2019-11-25 一种带串行flash接口控制的通信ip电路

Publications (2)

Publication Number Publication Date
CN111008171A CN111008171A (zh) 2020-04-14
CN111008171B true CN111008171B (zh) 2020-12-22

Family

ID=70113766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911165282.XA Active CN111008171B (zh) 2019-11-25 2019-11-25 一种带串行flash接口控制的通信ip电路

Country Status (1)

Country Link
CN (1) CN111008171B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897749A (zh) * 2020-06-23 2020-11-06 中国船舶重工集团公司第七0七研究所 基于Quad-SPI控制器与外扩FLASH通信控制系统及方法
CN111782574A (zh) * 2020-07-14 2020-10-16 北京四季豆信息技术有限公司 一种串行外设接口控制方法和串行外设接口控制器
CN112463651A (zh) * 2020-12-07 2021-03-09 长沙景嘉微电子股份有限公司 Qspi控制器,图像处理器及闪存访问方法
CN114201784A (zh) * 2021-12-09 2022-03-18 青岛海信宽带多媒体技术有限公司 一种光模块
CN114637709A (zh) * 2022-02-23 2022-06-17 杭州中科微电子有限公司 一种通过spi控制接口直接执行串行flash程序的方法及模块

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411548A (zh) * 2011-10-27 2012-04-11 忆正存储技术(武汉)有限公司 闪存控制器以及闪存间数据传输方法
CN102768647A (zh) * 2012-06-14 2012-11-07 记忆科技(深圳)有限公司 一种闪存控制器及其控制方法、闪存存储设备
CN103123614A (zh) * 2011-09-16 2013-05-29 联发科技股份有限公司 串行闪存控制器、串行闪存及其执行的方法
US10042808B1 (en) * 2015-09-16 2018-08-07 Xilinx, Inc. Modeling SPI flash memory commands in hardware

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122271B (zh) * 2011-03-01 2012-12-26 株洲南车时代电气股份有限公司 一种nand闪存控制器及其控制方法
US10489313B2 (en) * 2016-10-31 2019-11-26 Alibaba Group Holding Limited Flash storage failure rate reduction and hyperscale infrastructure robustness enhancement through the MRAM-NOR flash based cache architecture
CN106874224B (zh) * 2017-02-17 2020-08-18 杭州朔天科技有限公司 自动搬运且适应器件的多线SPI-Flash控制器
CN108121672B (zh) * 2017-08-08 2024-05-24 鸿秦(北京)科技有限公司 一种基于NandFlash存储器多通道的存储阵列控制方法与装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103123614A (zh) * 2011-09-16 2013-05-29 联发科技股份有限公司 串行闪存控制器、串行闪存及其执行的方法
CN102411548A (zh) * 2011-10-27 2012-04-11 忆正存储技术(武汉)有限公司 闪存控制器以及闪存间数据传输方法
CN102768647A (zh) * 2012-06-14 2012-11-07 记忆科技(深圳)有限公司 一种闪存控制器及其控制方法、闪存存储设备
US10042808B1 (en) * 2015-09-16 2018-08-07 Xilinx, Inc. Modeling SPI flash memory commands in hardware

Also Published As

Publication number Publication date
CN111008171A (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
CN111008171B (zh) 一种带串行flash接口控制的通信ip电路
US9996491B2 (en) Network interface controller with direct connection to host memory
US7725638B2 (en) Application processor circuit incorporating both SD host and slave functions and electronic device including same
USRE46021E1 (en) System-on-chip with master/slave debug interface
US20070136502A1 (en) SPI device
US20070005825A1 (en) System and method for communicating with memory devices
US20080183942A1 (en) Sharing Memory Interface
JPH0452891A (ja) Icメモリカード
KR101679333B1 (ko) 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템
CN109902042B (zh) 一种实现dsp与zynq之间高速数据传输的方法及系统
CN107291655B (zh) 一种带APB总线接口的SoC自举IP电路
CN110765066B (zh) 一种片上系统
CN211719590U (zh) 通信接口与封装结构
CN109522251A (zh) 一种基于PXIe总线的高速同步串口卡及其工作方法
US20090138673A1 (en) Internal memory mapped external memory interface
CN104598404A (zh) 计算设备扩展方法和装置、以及可扩展的计算系统
EP1477903A2 (en) Memory system for a radiotelephone
CN115982071A (zh) 一种面向ddr3控制器的片上网络转换接口
CN116258113A (zh) 一种多协议低速总线接口芯片架构
TWI719684B (zh) 通訊系統以及運作方法
CN101436119A (zh) 一种与存储卡通讯的系统和方法
CN110704349B (zh) 一种用于数据可靠传输的SpaceWire节点装置
CN115103032B (zh) 通信协议控制电路和芯片
CN108984440B (zh) 降低集成电路功耗的方法及其控制电路
CN112667541B (zh) 一种ip动态配置电路和fpga

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