Multi line SPI-Flash controller of the invention discloses an automatic handling and adaptation device, including the bus slave interface module, register module, interrupt module, clock signal generation module, state machine module, FIFO queue, shift control module and DMA interface module. SPI flash controller of the invention not only support standard single SPI-flash, also support this kind of multi line SPI-flash, the clock frequency is low, compared with the standard SPI-flash controller, the multi line SPI-flash controller can greatly improve the efficiency of data transmission. The SPI-flash controller of the invention also includes the DMA request / response and data channels, using general DMA system to carry the data, which not only can greatly reduce the burden of CPU, improve data transmission efficiency, but also make full use of the system resources.
【技术实现步骤摘要】
自动搬运且适应器件的多线SPI-Flash控制器
.本专利技术涉及SPIFlash控制器领域,具体是一种自动搬运且适应器件的多线SPIFlash控制器。
技术介绍
标准的串行外围设备接口闪存控制器(简称SPIflashcontroller)均只支持单线对flash进行读写擦除等操作。如图1所示,在一个实际系统中,SPIFlash芯片一般用于存放程序或者数据等内容,且其容量往往比较大。在系统启动的时候,需要将SPIflash中的内容读取到片内存储器(memory)供使用。在此大批量数据传输的情况下,SPIflash控制器内的发送和接收缓存器(简称RXFIFO和TXFIFO)深度有限,需要处理器(CPU)在每一次FIFO满了之后进行读取和重新配置,大大加重了CPU的负担。SPIflash广泛应用于电子设备中用来进行数据的存储。传统的SPIflash一般主要包括时钟引脚(SCLK)、片选引脚(CS)、发送数据引脚(SI)、接收数据引脚(SO)、写保护引脚(WP)和保持引脚(HOLD)。如图2、图3所示是标准的SPIflash读操作、写操作时序,在读操作中,SPIflash控制器先从高位到低位发送一个8比特的指令和若干比特的地址,然后数据就按高位到低位从flash器件中输出,当CS拉高后,读操作结束;在写操作中,SPIflash控制器先从高位到低位发送一个8比特的指令和若干比特的地址,然后数据从高位到低位传送到flash器件中,当CS拉高后,写操作结束。这类SPIflash的特点是引脚数目少,且都是单向的,控制简单,但是其传输效率较低,特别是在时钟频率较低时尤为明 ...
【技术保护点】
自动搬运且适应器件的多线SPI Flash控制器,包括总线从机接口模块、寄存器模块、中断产生模块、时钟信号产生模块、状态机模块、先进先出队列、移位控制模块、dma接口模块,其特征在于:所述总线从机接口模块,作为处理器以及通用DMA等总线主机访问SPI flash控制器的通道,用于控制器与外部总线和内部FIFO和寄存器模块进行对接;并控制寄存器模块的读写;寄存器模块,用于接收总线从机接口发过来的配置信息,并存储;通过控制信号线C1~C5对各个模块进行配置和控制;状态机模块,用于所述SPI flash控制器的调度,其接收寄存器模块的控制信息以及FIFO的状态信息,利用这些控制信息产生相应的动作和信号;中断产生模块,用于从状态机模块收集异常信息、开始和结束等关键信息,利用这些信息并结合寄存器模块的控制信息(C5),产生对应的中断信号,并将此中断信号伸出提供给片上系统(SoC)使用;时钟信号产生模块,用来产生SPI flash接口的时钟SCLK,还接收状态机模块的控制信息;先进先出队列(TX/TX FIFO):作为发送FIFO(TX FIFO)和接收FIFO(RX FIFO),发送FIFO和接 ...
【技术特征摘要】
1.自动搬运且适应器件的多线SPIFlash控制器,包括总线从机接口模块、寄存器模块、中断产生模块、时钟信号产生模块、状态机模块、先进先出队列、移位控制模块、dma接口模块,其特征在于:所述总线从机接口模块,作为处理器以及通用DMA等总线主机访问SPIflash控制器的通道,用于控制器与外部总线和内部FIFO和寄存器模块进行对接;并控制寄存器模块的读写;寄存器模块,用于接收总线从机接口发过来的配置信息,并存储;通过控制信号线C1~C5对各个模块进行配置和控制;状态机模块,用于所述SPIflash控制器的调度,其接收寄存器模块的控制信息以及FIFO的状态信息,利用这些控制信息产生相应的动作和信号;中断产生模块,用于从状态机模块收集异常信息、开始和结束等关键信息,利用这些信息并结合寄存器模块的控制信息(C5),产生对应的中断信号,并将此中断信号伸出提供给片上系统(SoC)使用;时钟信号产生模块,用来产生SPIflash接口的时钟SCLK,还接收状态机模块的控制信息;先进先出队列(TX/TXFIFO):作为发送FIFO(TXFIFO)和接收FIFO(RXFIFO),发送FIFO和接收FIFO的分时切换;移位控制模块:移位控制模块用于发送和接收数据的串行、并行之间相互转换;dma接口模块:接收寄存器模块的控制信息(C4)和先进先出队列的状态信号,通过判断FIFO的状态和控制信息,决定是否向通用DMA发起请求:若FIFO中的数据低于或者高于阈值,则发起dma请求,等待DMA返回dma响应,DMA给回响应之后,其通过总线从机接口对SPIFlash控制器进行操作,将存储器(memory)中的数据读出并发送到FIFO,或者从FIFO读取数据存到存储器。2.如权利要求1所述的自动搬运且适应器件的多线SPIFlash控制器,其特征在于:所述寄存器模块存储的信息可以被主线从机接口读取,以供总线主机查询。3.如权利要求1所述的自动搬运且适应器件的多线SPIFlash控制器,其特征在于:其控制方法如下:通过对SPIflash器件不同的操作的分析,可分为以下几个步骤:发送命令阶(即Commandtransfer),发送地址阶段(即Addresstransfer),发送无效字节阶段(即Dummytransfer)和发送或接收数据阶段(即Datatransfer)。4.如权利要求3所述的自动搬运且适应器件的多线SPIFlash控制器,其特征在于:当需要接收或发送大量数据时,选择使用通用DMA来搬运数据以提高传输效率;当接收或发送少量数据时,不使能通用DMA,直接通过CPU将发送数据写入发送FIFO或从接收FIFO中将数据读出来。5.一种利用权利要求1-4之一所述的自动搬运且适应器件的多线SPIFlash控制器通过通用DMA搬运数据的方法,其特征在于:包括如下步骤:将要发送的flash操作指令、地址、无效字节配置到寄存器模块;将传输数据连续的放入到存储器(memory)中;CPU通过总线配置通用DMA;CPU通过总线从机接口配置SPIflash控制...
【专利技术属性】
技术研发人员:刘晶,张晓旭,
申请(专利权)人:杭州朔天科技有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。