CN111008171B - 一种带串行flash接口控制的通信ip电路 - Google Patents
一种带串行flash接口控制的通信ip电路 Download PDFInfo
- 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
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/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/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- 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/0002—Serial 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
技术领域
本发明属于半导体集成电路中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接口
表2 与FLASH相接端口
管脚名称 | 类型 | 描述 |
CLK | 输入 | 时钟端口 |
CS | 输入 | 片选端口(低有效) |
DI | 双向 | 数据输入(数据位0) |
DO | 双向 | 数据输出(数据位1) |
WP | 双向 | 写保护(数据位2) |
HOLD | 双向 | 保持信号(数据位3) |
表3 内部信号端口(QSPI模块产生的控制信号和数据输入输出信号)
常用的串行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模式,采用两线或四线接收数据。
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)
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)
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)
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存储器多通道的存储阵列控制方法与装置 |
-
2019
- 2019-11-25 CN CN201911165282.XA patent/CN111008171B/zh active Active
Patent Citations (4)
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 |