FLASH数据读取电路制造技术

技术编号:12844962 阅读:88 留言:0更新日期:2016-02-11 12:22
本发明专利技术提供一种FLASH数据读取电路,是应用在SOC芯片内部,用以提高外部FLASH数据读取速度的电路设计。该FLASH数据读取电路包括AHB总线接口电路,用于根据接收到的AHB主设备指令来配置参数,以及锁存AHB总线上的地址和数据;AHB协议转换电路,使用AHB标准协议,并对FLASH接口的数据读取使用特殊指令;及FLASH SPI串行接口控制电路,用于在接收到所述特殊指令的控制信号后读写FLASH设备。本发明专利技术提出一个基于AHB总线的修改方案,既能保证SPI接口的简洁,降低系统成本,又能保证系统的高性能。

【技术实现步骤摘要】

本专利技术涉及FLASH数据读取电路,尤其涉及一种提高AHB总线数据输入效率的FLASH数掘读取电路。
技术介绍
在系统设计中,为了满足相应的性能,必须有很高的代码执行速度,故访问外部FLASH的代码速度要有保证。在以往的设计中,并行接口闪存(FLASH)被釆用来达到告诉数据访问的目的。但是并行按口占用的芯片管脚很多,面对成本要求越来越严格的市场现状,串行接口 SPI逐渐取代并行接口,成为系统方案不可缺少的部分。通常系统为了简化设计,SPI接口一般直接和APB总线相连。指令的读取通过DMA来进行搬运。但是高级外围总线(Advanced Peripheral Bus ;APB)的设计主要是针对低功耗,频率比较低。串行接口 SPI的数掘位宽为一个比特,这就使得数据传输速度下降,成为系统性能提高的瓶颈。系统的成本和性能成为矛盾。为了使读取FLASH的数据频率提高,可以把FLASH串行外围接口 (Serial peripheral Interface ;SPI)直接和AHB高速总线相连接,其目的是进而増加数据吞吐量。这样的设计还存在一个问题:SPI的数据读取速度远低于系统运行的速度,而且高级系统总线(AHB ;Advanced High performance Bus)是系统的高速总线,一旦被占用则其他需要数据传输的主设备将被挂起,直到SPI接口数据传输结束。这很大程度上损害了系统的整体性能。针对这个现象,本专利技术提出一个基于AHB总线的修改方案,既能保证SPI接口的简洁,又能保证系统的高性能。
技术实现思路
本专利技术的目的是提供一种应用在S0C芯片内部的FLASH数据读取电路,用以提高外部FLASH数据读取速度,同时可以避免DMA的设计。本专利技术主要包含三个部分:AHB总线接口电路,用于根据接收到的AHB主设备指令来配置参数,以及锁存AHB总线上的地址和数据;AHB协议转换电路,使用AHB标准协议,并对FLASH设备的数据读取使用特殊指令;及FLASH SPI串行接口控制电路,用于在接到所述特殊指令的控制信号后读写FLASH设备。AHB总线接口电路解析AHB总线协议,并锁存相关的地址、控制和数据。AHB协议转換电路通过AHB标准协议的AHB总线命令,将读指令分为两步:先写地址、长度,然后再读取数据。特殊指令包括系统通过处理器发出的特殊写命令,以及根据FLASH的传输状况发出的读取命令;AHB总线接口电路解析AHB总线命令,如果解析得到特殊写命令,就立刻通过HRESP信号回复总线一个OKAY状态,使得AHB总线被释放;FLASHSPI串行接口控制电路计算数据读取所需要的时钟数,在数据真正准备好之后,系统再通过AHB总线发出一个读取命令来得到数掘。FLASH SPI串行接口控制电路包括直接和AHB总线相连接的SPI接口,读、写复用的内部FIFO,和用于和SPI接口通信的通信电路;FLASH SPI串行接口控制电路接收到特殊指令后,立刻按照FLASH接口标准将数据读取到FIFO中。本专利技术的优点在于可以兼顾系统的成本和性能两方面需求。而且使用的是标准AHB总线传输协议,增加部分是在基本协议层以上,系统软件修改十分简単,而且对后期验证没有任何影响。【附图说明】图1为根据本专利技术一实施例的系统电路的结构示意图。图2为根掘本专利技术FLASH数据读取电路的内部结构示意图。图3为本专利技术一实施例的FLASH数据读取电路的工作波形图。【具体实施方式】本专利技术的设计方案延用通用AHB协议,不改动最底层的AHB传输协议,只修改上层协议解析部分,从而达到统一验证环境以及灵活实现,方便系统移植的目的。本专利技术不仅能提高FLASH数据读取效率,而且基本上没有增加系统的设计复杂度。系统结构示意图如图1所示。图1中,SDRAM通过外部存储器接口连接到AHB总线,RISC处理器直接连接到AHB总线,FLASH设备通过FLASH数据读取电路连接到AHB总线。为实现系统的高速执行效率,指令从FLASH中读取的速度和效率都有一定要求。故本专利技术将FLASH SPI串行接口和AHB高速总线相连接以达到数据传输的高频率,高带宽。同时为了保证系统其他模块的高性能,AHB总线不能被FLASH接口长时间占用,仅仅在指令数据集中传输的时候才占用总线。如图2所示,本专利技术的FLASH数据读取电路主要由三部分电路组成:AHB总线接口电路,AHB协议转换电路,及FLASH SPI申行接口控制电路。AHB总线接口电路用于根据接收到的AHB主设备指令来配置参数,以及锁存AHB总线上的地址和数掘。AHB总线接口电路解析AHB总线协议,并锁存相关的地址、控制和数据。其中地址和控制信号放入地址和控制电路,数据存放在数据FIFO中。AHB协议转换电路需要系统指令配合实现高速数据读取。AHB协议转换电路通过AHB总线命令,将读指令分为两步:先写地址、长度,然后再读取数据。FLASH数据读取被本专利技术分为两段:系统首先通过RISC处理器发出特殊写命令;然后再根据FLASH的传输状况发出读取命令。特殊写命令通过AHB总线到达AHB总线接口电路。AHB总线接口电路解析AHB总线命令,看到是特殊写命令,就立刻通过HRESP信号回复总线一个OKAY状态。这就使得AHB总线被释放,其他总线上的主设备可以继续访问总线。而通常的读命令则必须等待设备数据准备好,设备再通过HREADY信号高速AHB总线取数据。这样的实现使得AHB总线一直被占用,直到数据被读取出来,系统的效率非常低下。FLASH SPI串行接口控制电路包括直接和AHB总线相连接的SPI接口,读、写复用的内部FIFO,和用于和SPI接口通信的通信电路。在接收到系统特殊写命令后,FLASH SPI串行接口控制电路立刻按照FLASH接口标准将数据读取到内部FIFO中。根据FLASH的读取协议,FLASH SPI串行接口控制电路可以很容易计算出数据读取所需要的时钟数。在数据真正准备好之后,系统再通过AHB总线发出一个读取命令就可以拿到数掘。在特殊写命令和后续读取命令之间的AHB就可以被系统其他模块任意使用。图3为本专利技术实现电路的时序波形示意图。根据AHB协议首先发出特殊写指令,HWRITE为高表示对目的地址写,HADDR总线上是SPI接口内部的特设寄存器,用于存放目的地址和所要读取数据长度的信息。目的地址和数据长度由HWDATA提供。CONTROL上是AHB标准的控制信息。在特殊写指令完成后,SPI接口电路立刻回复0KAY,释放AHB总线。同时启动内部电路从FLASH读出的数据到FIFO中。等到数据准备完成后,系统再发出数据读取指令,这个指令和通常AHB总线读取指令完全一样。HWRITE由于是读取数掘而貴为低,HADDR不断发出待读取数据的地址,从FIFO中取出的数据就体现在HRDATA总线上。至此,一个完整的读取过程结束。本专利技术的优点在于完全和AHB协议兼容,不仅方便设计,而且在验证方面能节省很多时间。此外,AHB高速总线的性能得到保障,FLASH读取数据的效率很高,基本上和系统时钟同频。而且完全避免AHB总线等待外部数据准备的情况。最后,排除了 DMA设计的需求,简化系统设计复杂度,保持模块设计相当的独立性,进一步节省了芯片的成本和设计风本文档来自技高网...

【技术保护点】
一种FLASH数据读取电路,包括AHB总线接口电路、AHB协议转换电路、FLASH SPI串行接口控制电路,其特征在于:所述的AHB总线接口电路,用于根掘接收到的AHB主设备指令来配置参数,以及锁存AHB总线上的地址和数据;AHB协议转换电路,使用AHB标准协议,并对FLASH设备的数据读取使用特殊指令;及 FLASH SPI串行接口控制电路,用于在接收到所述特殊指令的控制信号后读写FLASH设备。

【技术特征摘要】

【专利技术属性】
技术研发人员:张镭李春峰
申请(专利权)人:西安中科晶像光电科技有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1