一种基于关键字优先的QSPI接口缓存模块及方法与流程
- 国知局
- 2024-09-11 14:44:24
本发明涉及计算机数据通讯,尤其涉及一种基于关键字优先的qspi接口缓存模块及方法。
背景技术:
1、片外spi flash是一种基于spi协议的闪存存储器,因其有:存储容量通常比较大,电可擦除可编程,断电期间数据不会丢失,且静态功耗低的特点,在mcu通讯中大多采用片外spi flash来存储图片或视频信息,或在内部存储空间不够时用来存放应用程序。
2、片外spi flash使用的过程中,不可避免ahb总线通过qspi接口直接读片外spiflash延迟开销过大,并且数据预取模式简单不灵活。
技术实现思路
1、为了克服现有技术的不足,本发明提供了一种基于关键字优先的qspi接口缓存模块,包括ahb,qspi控制器和外部spi flash三部分,ahb通过qspi控制器连接外部spiflash。在读外部spi flash数据时候,通过缓存控制部分,采用关键字(ahb读请求字地址)优先的一种接口缓存模块及方法。
2、所述qspi控制器包括两部分:缓存控制和寄存器配置,所述缓存控制部分用于控制读操作时,基于关键字(ahb读请求字地址)优先的方法,从缓存中读取数据并返还给ahb;所述寄存器配置部分用于ahb发出读命令时,根据qspi协议产生所需的控制位。
3、缓存控制部分包括:存储体和控制逻辑单元,存储体ram可以分成n行,每行包含k个字,形成地址矩阵(nⅹk),n和k的值可由程序员通过寄存器配置;控制逻辑单元中设置n组,对应存储体ram的n行,每任意组n(0≦n<n)包含valid寄存器、saddr寄存器和cnt寄存器;valid寄存器用于记录该行是否有缓存数据的有效位;saddr寄存器用于记录该行缓存的首个字地址;cnt寄存器用于记录该行已经接收字的数量。
4、当ahb总线接口发出读外部spi flash数据的请求,配置寄存器根据qspi协议产生所需的控制位,缓存控制部分中的控制逻辑单元对读数据发出的请求地址高30位req_addr30(关键字)进行判断,具体是将其与存储体ram中缓存地址矩阵中的saddrn、saddrn+cntn、saddrn+k的大小关系(0≦n<n)进行比较,设定判断条件,并执行对应的数据返回和缓存填充模式。
5、具体判断条件是:
6、若case1:req_addr30<saddrn或req_addr30>saddrn+k;
7、表示存储体ram所有缓存行中没有缓存当前请求地址的字段,即缺失,发出缺失请求和对应的地址,启动qspi接口的读命令,从片外spi flash读回数据;当qspi控制器接收到第一个32bits字时立即返回给ahb总线,并把此字写入存储体ram对应的位置,并把行有效位valid置1,并且后续每接收到一个32bits字即写入存储体ram,直到总的k个字传输完成,qspi协议读命令停止传输数据,一次读命令周期完成;
8、若case2:saddrn≦req_addr30≦saddrn+cntn;
9、表示命中缓存行n已经缓存的数据字段,控制逻辑生成的地址从缓存的存储体ram中读出数据返回给ahb总线,同时缓存行的有效位valid=1不变;
10、若case3:saddrn+cntn<req_addr30≦saddrn+k-1;
11、表示命中缓存行n中还没有返回数据缓存的字段,需要等待qspi控制器从片外spiflash读回数据缓后把数据返回给ahb总线,再写入存储体ram对应的位置,直到剩下k-cntn个字传输完成(即本行传输完成),qspi协议读命令停止传输数据,一次读命令周期完成,行有效位valid保持置位不变;
12、当所有缓存行填满数据后,新的缺失请求替换第0个缓存行,再次的缺失请求替换第1个缓存行,依次顺序直到所有缓存行再次填满数据重新循环。
13、在应用加载时,所述mcu主机通过扩展的spi(即qspi)接口,可以实现对外部spiflash的高速读操作,并且可以利用qspi的队列传输机制,实现多个数据包的连续传输,提高数据传输效率,并且qspi控制器缓存方法是通过关键字优先,通过内存映射的方式来访问外部spi flash,使得访问外部spi flash与访问内部flash的方式相同,简化了程序设计和开发过程。
14、与现有技术相比,本发明的有益效果在于:
15、1、本发明公开的方案所设计的具有关键字优先缓存容量可配置的缓存qspi控制器,当ahb总线通过qspi控制器接口从片外spi flash读取数据时,缺失时可在qspi控制器接收到一个字后即返回给ahb总线,读请求地址连续时可连续命中缓存行,减少延迟开销。
16、2、本发明公开的方案通过关键字优先返回的缓存模块,使得ahb总线通过qspi控制器接口从片外spi flash读取数据的效率得到极大提升。且保证了低成本低功耗,以满足mcu系统快速读片外spi flash存储器的需求。
技术特征:1.一种基于关键字优先的qspi接口缓存模块及方法,其特征在于:包括ahb,qspi控制器和外部spi flash;
2.根据权利要求1所述接口缓存模块及方法,其特征在于:
3.根据权利要求2所述接口缓存模块及方法,其特征在于:
4.根据权利要求2所述接口缓存模块及方法,其特征在于:
5.如权利要求4所述接口缓存模块及方法,其特征在于:
6.权利要求4所述接口缓存模块及方法,其特征在于:
7.权利要求4所述接口缓存模块及方法,其特征在于:
8.根据权利要求5至7任意一项所述的接口缓存模块及方法,其特征在于:缓存行的saddrn和cntn通过寄存器读取,缓存行的n和k大小可配置。
9.根据权利要求5至7任意一项所述的接口缓存模块及方法,其特征在于:
10.一种基于关键字优先的qspi接口缓存模块及方法,其特征在于:qspi控制器在进行数据缓存过程中,模块中实现了缓存行的有效位valid开关控制功能,当所有行有效位valid=0关闭时,缓存行初始化,新的读请求将缺失。
技术总结本发明提出了一种基于关键字(AHB读请求字地址)优先的QSPI接口缓存模块及方法,应用在计算机数据通讯和数据处理技术领域。其包括:AHB、QSPI控制器和外部SPIFlash;缓存控制和寄存器配置,共同组成QSPI控制器。缓存控制部分由存储体和控制逻辑单元组成,存储体可以分成N行,每行包含K个字,组成缓存矩阵(NⅩK);寄存器配置部分根据QSPI协议产生所需的控制位。本发明设计一种QSPI接口缓存模块,当MCU主机通过扩展的SPI(即QSPI)接口通讯时,通过缓存矩阵QSPI队列传输机制,采用关键字优先的缓存方法,可以实现对外部SPIFlash的高速读操作,实现多个数据包的连续传输,提高数据传输效率。技术研发人员:李明,张琢受保护的技术使用者:广东华芯微特集成电路有限公司技术研发日:技术公布日:2024/9/9本文地址:https://www.jishuxx.com/zhuanli/20240911/291996.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。