CN109558076A - 一种可配置的虚拟spi-flash - Google Patents
一种可配置的虚拟spi-flash Download PDFInfo
- Publication number
- CN109558076A CN109558076A CN201811314799.6A CN201811314799A CN109558076A CN 109558076 A CN109558076 A CN 109558076A CN 201811314799 A CN201811314799 A CN 201811314799A CN 109558076 A CN109558076 A CN 109558076A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- spi
- register
- transmission
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明为发明型专利,公开了一种可配置的虚拟SPI-FLASH,针对DSP通过传统SPI进行数据加载时,SPI-FLASH只能存储DSP应用程序的问题。其组成包括SOC总线模块、MUX模块、寄存器模块、数据缓存模块、数据备份模块、控制模块以及SPI从模块。虚拟SPI-FLASH以SOC接口模块的形式实现了SPI FLASH的功能,可实现将实际数据存储在任意存储器中,完成了虚拟存储器功能,可以达到节约存储空间的效果,并且具有高效、高速的特点。
Description
技术领域
本发明涉及一种在片上系统(System on Chip,SOC)中通过该发明接口,虚拟SPIFLASH的功能,从而实现实体SPI FLASH的功能。
背景技术
SOC通常将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上。SOC可以使应用产品实现小型、轻量、低功耗、多功能、高速度和低成本,因此具备较强的市场竞争力,主要广泛用于计算机、通信、消费、工控、交通运输等领域。
对于多核架构的微系统,不同处理器需要外挂各自独有的非易失性存储器作为上电重启的代码存储,因此会浪费很多的存储芯片。而该设计可以通过虚拟存储器的接口功能,将实际的存储空间整合,将不同核的代码放在同一块存储空间中,完成虚拟存储器功能,实现节省存储的功能。
发明内容
鉴于现有技术不同核的代码需要存储在各自的存储器中。本设计发明了一种模块以两种操作模式解决以上问题。为了实现上述目的,本发明采用了如下技术方案,虚拟FLASH电路包括:SOC总线模块、MUX模块、寄存器模块、数据缓存模块、数据备份模块、控制模块以及SPI从模块。
所述SOC总线模块主要为总线接口,如AHB、APB、AXI等。主要用于处理总线协议。
所述MUX模块为选择模块,用于选择总线对寄存器还是数据缓存模块进行操作。
所述寄存器模块主要为模块实现可配置,包括中断寄存器用于中断使能、模式寄存器用于对两种操作模式进行选择,源地址寄存器用于配置目标文件的地址,状态寄存器用于读取该模块现在的状态、字节计数寄存器用于配置传输文件的大小。
所述数据缓存模块用于缓存从源地址搬运过来的数据。
所述数据备份模块用于备份已通过SPI接口发送的数据,从而实现校验从发过程。
所述控制模块用于对数据进行选择和转换。
所述SPI从模块用于外部接口通信,与其他核的SPI主接口相连,从而代替实际的SPI FLASH的SPI从接口。
所述的两种模式分别为连续传输模式和非连续传输模式。对于连续传输模式预先通过SOC进行模式选择和源地址配置后,通过DMA或CPU将数据按存储空间顺序搬运,直到字节计数器计数为0。对于非连续模式,SPI从接口通过接受24位地址,在完成20位地址采样后,产生中断进行数据的搬运。实现数据的预先搬取。
本发明的有益效果为:第一,通过接口模块代替了实际的SPI FLASH芯片,从而达到节约芯片的效果。第二,相比于普通的SPI从接口,具有速度较快,可备份已发送数据,具有数据预先传输的功能。第三,具有两种操作模式,可考虑实际情况和要求而合理选择。从而提高效率。
附图说明
图1为采用该发明与传统方式对比图。
图2为接口模块的架构示意图。
图3为连续发送模式的流程图。
图4为非连续发送模式的流程图。
图5为数据预取的时序图;
具体实施方法
为使本发明的目的,计数方案和优点更加清楚,下面将结合附图对本发明实施方案作进一步的详细描述。
图1为采用虚拟SPI FLASH与DSP通过传统SPI加载方式时的架构对比图,通过该发明与SOC相连接实现了DSP可通过以SPI方式正常加载,并且可将存储空间用于存储多个芯片的程序。
图2为模块架构图,模块有两个接口,一个是和总线连接的AHB接口,一个是和外部连接的SPI从接口,总共7个模块。其中可通过AHB总线访问的模块有寄存器模块和数据缓存模块。
数据的操作模式分为两种,连续发送模式和非连续发送模式。
图3为连续模式的发送流程图,该模式下发送数据的发送顺序需要连续的。该模式相比较于普通的SPI从接口可以实现自动的数据备份,在校验从发时无需再从源地址取数据,而直接可以从数据备份区取数据。省去了总线操作时间,可以加速传输速度。操作过程如下:1.通过CPU初始化,配置模式、源地址、字节计数寄存器,若需要使用DMA传输数据,还需要配置DMA相应寄存器;
2.DMA/CPU从源文件头传输数据缓存空间大小数据到接口的数据缓存区;
3.控制模块将数据从数据缓存模块取出到逻辑控制模块,并对数据备份模块写入相同数据。等待SPI接受完指令和地址后对数据进行选择和发送;
4.每当控制模块从数据缓存模块取一半的数据,寄存器会产生一次中断,DMA/CPU再传输相应大小的数据到数据缓存模块。同时控制模块从数据缓存模块取数据,对数据备份模块写数据,判断是否接收到新地址,若是则跳到(5),否则直到传输完成跳到(7);
5.每当SPI从接受到一个地址后与上个地址进行对比,判断是否相同,若相同,则跳转到(6),若不同,则跳转到(3);
6.控制模块从数据备份模块取数据,完成选择和发送。判断是否接受到新地址,若是,则跳到(5),否则跳到(4);
7.结束。
图4为非连续模式的发送流程图,该模式下发送数据的发送顺序可以为非连续的。该模式可以实现数据预期和已发送数据的备份功能。相比较上一种模式而言可以实现数据的非连续读取,但速度没连续模式的速度快。操作过程如下:
1.通过CPU初始化,配置模式、源地址、字节计数寄存器;
2.SPI从机等待指令和地址,完成指令采样和24位地址的前20位地址采样后产生中断信号;3.删除数据缓存模块中的数据,CPU或DMA从采样到的20位加4’b0000地址取4x32bit数据发送给数据缓存模块;
4.控制模块从数据缓存模块取出数据同时向数据备份模块写入读出的数据,并根据后4bit数据进行选择,发送给SPI从机;
5.每当控制模块从数据缓存模块取一半的数据,寄存器会产生一次中断,DMA/CPU再传输相应大小的数据到数据缓存模块。同时控制模块从数据缓存模块取数据,对数据备份模块写数据,判断是否接受到新地址,若是则跳到(6),否则直到传输完成跳到(8);
6.每当SPI从接受到一个地址20bit后与上个地址的20bit进行对比,判断是否相同,若相同,则跳到(7),若不同,则跳到(3);
7.控制模块从数据备份模块取数据,完成选择和发送。判断是否接受到新地址,若是,则跳到(6),否则跳到(4);
8.结束。
图5为数据预取时序图,MOSI为SPI主发送的数据,传输开始时会有8bit指令和24bit地址。从机在SCLK上升沿采样。当从机采样完指令和20bit地址后虚拟SPI FLASH开始从源地址取数据,即图中的a。在采样完24bit地址后SPI从机开始发送数据,即图中b位置。
Claims (4)
1.一种可配置的虚拟SPI FLASH,其特征在于:通过SOC中的接口模块实现实际SPIFLASH的功能,其中包括SOC总线模块、MUX模块、寄存器模块、数据缓存模块、数据备份模块、控制模块以及SPI从模块;
所述SOC总线模块主要为总线接口,如AHB、APB、AXI等,主要用于处理总线协议;
所述MUX模块为选择模块,用于选择总线对寄存器还是数据缓存模块进行操作;
所述寄存器模块主要为模块实现可配置,包括中断寄存器用于中断使能、模式寄存器用于对两种操作模式进行选择,源地址寄存器用于配置目标文件的地址,状态寄存器用于读取该模块现在的状态、字节计数寄存器用于配置传输文件的大小;
所述数据缓存模块用于缓存从源地址搬运过来的数据;
所述数据备份模块用于备份已通过SPI接口发送的数据;
所述逻辑控制模块用于进行数据选择和控制信号产生;
所述SPI从模块用于外部接口通信。
2.根据权利要求1所述的一种可配置的虚拟SPI FLASH,其特征在于:配置实现两种不同的传输模式,分别为连续传输模式和非连续传输模式;
所述连续传输模式,其特征在于传输速率高,按存储空间的地址顺序进行顺序发送,可对源地址寄存器赋值从而读取不同存储空间的数据;
所述非连续传输模式,其特征在于可对实际存储空间的数据进行非连续的读取,以数据预传输的方式进行数据传输控制。
3.根据权利要求1和2所述的一种可配置的虚拟SPI FLASH,其特征在于:在非连续模式中,以数据预传输的方式进行数据传输控制。
4.根据权利要求3所述的数据预传输是利用SOC的高速时钟,对已经采样到的SPI地址进行自动补齐后搬运地址所对应以及之后的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811314799.6A CN109558076A (zh) | 2018-11-06 | 2018-11-06 | 一种可配置的虚拟spi-flash |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811314799.6A CN109558076A (zh) | 2018-11-06 | 2018-11-06 | 一种可配置的虚拟spi-flash |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109558076A true CN109558076A (zh) | 2019-04-02 |
Family
ID=65865778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811314799.6A Pending CN109558076A (zh) | 2018-11-06 | 2018-11-06 | 一种可配置的虚拟spi-flash |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558076A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295284A (zh) * | 2007-04-27 | 2008-10-29 | 上海芯致电子科技有限公司 | Flash数据读取电路 |
CN105760313A (zh) * | 2015-08-07 | 2016-07-13 | 深圳市证通金信科技有限公司 | 基于SPI-Flash的文件系统的数据处理方法及装置 |
US20180210846A1 (en) * | 2017-01-25 | 2018-07-26 | Hewlett Packard Enterprise Development Lp | Files access from a nvm to external devices through an external ram |
-
2018
- 2018-11-06 CN CN201811314799.6A patent/CN109558076A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295284A (zh) * | 2007-04-27 | 2008-10-29 | 上海芯致电子科技有限公司 | Flash数据读取电路 |
CN105760313A (zh) * | 2015-08-07 | 2016-07-13 | 深圳市证通金信科技有限公司 | 基于SPI-Flash的文件系统的数据处理方法及装置 |
US20180210846A1 (en) * | 2017-01-25 | 2018-07-26 | Hewlett Packard Enterprise Development Lp | Files access from a nvm to external devices through an external ram |
Non-Patent Citations (2)
Title |
---|
XUAN SU ET AL.: "Flash-DBSim: A simulation tool for evaluating Flash-based database algorithms", 《2009 2ND IEEE INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY》 * |
程巍: "MC-SOC中虚拟 FLASH 控制器的设计与验证", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8266369B2 (en) | Flash memory interface | |
CN104520932B (zh) | 闪存存储器控制器 | |
US6594713B1 (en) | Hub interface unit and application unit interfaces for expanded direct memory access processor | |
KR100349787B1 (ko) | 싱글칩마이크로컴퓨터 | |
US7171526B2 (en) | Memory controller useable in a data processing system | |
JP5977094B2 (ja) | フレキシブルフラッシュコマンド | |
US20120198165A1 (en) | Mechanism to Update the Status of In-Flight Cache Coherence In a Multi-Level Cache Hierarchy | |
US7930462B2 (en) | Interface controller that has flexible configurability and low cost | |
US20070136503A1 (en) | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features | |
CN103714026B (zh) | 一种支持原址数据交换的存储器访问方法及装置 | |
WO2011059897A1 (en) | Command queue for peripheral component | |
EP2804106A1 (en) | Inter-processor communication system | |
EP1535169B1 (en) | Improved inter-processor communication system for communication between processors | |
US20020184453A1 (en) | Data bus system including posted reads and writes | |
WO2021120623A1 (zh) | 一种数据传输方法、装置及相关组件 | |
US20150347017A1 (en) | Command trapping in an input/output virtualization (iov) host controller (hc) (iov-hc) of a flash-memory-based storage device | |
US6263390B1 (en) | Two-port memory to connect a microprocessor bus to multiple peripherals | |
US8284792B2 (en) | Buffer minimization in interface controller | |
US6633927B1 (en) | Device and method to minimize data latency and maximize data throughput using multiple data valid signals | |
US20070028021A1 (en) | Apparatus and method for sparse line write transactions | |
US20020078282A1 (en) | Target directed completion for bus transactions | |
TWI474254B (zh) | 用於在一記憶體系統中執行命令的方法與裝置及資料儲存系統 | |
US6662258B1 (en) | Fly-by support module for a peripheral bus | |
CN116166581A (zh) | 用于pcie总线的队列式dma控制器电路及数据传输方法 | |
CN109558076A (zh) | 一种可配置的虚拟spi-flash |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190402 |
|
WD01 | Invention patent application deemed withdrawn after publication |