【技术实现步骤摘要】
一种SPI控制器及基于SPI控制器的通信方法
[0001]本申请属于集成电路控制
,尤其涉及一种SPI控制器及基于SPI控制器的通信方法。
技术介绍
[0002]目前,在集成电路的片上系统中,高速域设备(如微控制核)通常连接在高速域总线(如AXI总线)上实现其与其他设备间的数据传输,基于SPI通信协议的低速域设备(如片上SPI FLASH)通常连接在低速域总线(如SPI总线)上,实现其与其他设备间的数据传输。而当高速域设备和低速域设备之间进行数据传输时,则在高速总线和低速总线之间需要使用至少一个片上低速总线(如APB总线)或者片上中低速总线(如AHB总线)进行数据传输的过渡。例如,参见图1或图2所示,在高速域设备和低速域设备之间通过AXI总线、AHB总线、APB总线和SPI总线传输数据。
[0003]但是,在上述数据传输的过程中,数据经过过渡总线(如AHB总线、APB总线)时需要进行协议的转换,以按照过渡总线对应的通信协议进行数据访问和传输,过程复杂,需要耗费大量的传输时间,直接影响了高速域设备与低速域设备之间的传输和访问速度。例如高速域设备在执行芯片启动(Boot)时,通常需要基于SPI FLASH通信协议从低速域设备(如SPI FLASH)中获取用作芯片初始化的程序代码,基于上述数据通信的方式,则需要耗费大量的传输时间,且传输速度较慢,而程序代码的获取速度决定着芯片的启动速度,从而影响芯片的使用性能。
技术实现思路
[0004]有鉴于此,本申请实施例提供了一种SPI控制器及基于SPI ...
【技术保护点】
【技术特征摘要】
1.一种SPI控制器,其特征在于,包括APB接口模块、AXI接口模块、SPI接口模块、第一控制模块、第二控制模块和存储模块;所述APB接口模块,用于根据控制核的配置指令配置所述第一控制模块、所述第二控制模块和所述SPI接口模块的工作状态;所述第二控制模块,用于根据所述第一控制模块、所述第二控制模块和所述SPI接口模块的工作状态,将第一设备通过所述AXI接口模块发送的数据写入所述存储模块,所述AXI接口模块和所述第一设备支持AXI通信协议;存储模块,用于存储所述数据;所述第二控制模块,还用于将所述存储模块中的数据通过所述SPI接口模块发送给第二设备,所述SPI接口模块和所述第二设备支持SPI通信协议。2.根据权利要求1所述的SPI控制器,其特征在于,所述第一控制模块的工作状态包括电性参数、时钟参数、中断使能和中断清除;所述第一控制模块还用于保存配置后的所述工作状态和产生中断时的中断源信息。3.根据权利要求1所述的SPI控制器,其特征在于,所述第二控制模块的工作状态包括AXI读写使能、DMA操作、本地访问相关操作、存储模块的状态;所述第二控制模块还用于保存所述工作状态。4.根据权利要求2或3所述的SPI控制器,其特征在于,所述第一控制模块包括以下寄存器:MODE_CFG寄存器、CLKDIV寄存器、INT_EN寄存器、INT_STATUS寄存器、INT_CLEAR寄存器以及STATUS寄存器;所述第二控制模块包括以下寄存器:BURST_CFG_EN寄存器、AXI_ACCESSEN寄存器、BURST_MODE_CFG寄存器、BURST_ADDR_MAX寄存器、READ_CMD寄存器、DUMMYBYTE_CNT寄存器、PROG_CMD寄存器、READ_TIME寄存器、DMA_CFG_1寄存器、DMA_CFG_2寄存器、RX_FIFO_CTRL寄存器、TX_FIFO_CTRL寄存器以及FIFO_STATUS寄存器;所述SPI接口模块包括以下寄存器:SPI_FLASH_STATUS寄存器、SPI_CMD寄存器、SPI_ADDR寄存器、SPI_TRANS_EN寄存器、SPI_TRANS_CTRL寄存器、SPI_WDATA寄存器以及SPI_RDATA寄存器。5.根据权利要求2~4任一项所述的SPI控制器,其特征在于,所述APB接口模块,用于根据控制核的配置指令配置所述第一控制模块、所述第二控制模块和所述SPI接口模块的工作状态,包括:所述APB接口模块,用于根据控制核的配置指令分别向所述第一控制模块中的所述MODE_CFG寄存器、所述CLKDIV寄存器以及所述INT_EN寄存器执行写操作,从而执行所述SPI控制器的电性参数配置、时钟参数配置以及中断使能配置;所述APB接口模块,用于根据控制核的配置指令分别向所述第二控制模块中的所述BURST_CFG_EN寄存器、所述AXI_ACCESSEN寄存器、所述BURST_MODE_CFG寄存器、所述BURST_ADDR_MAX寄存器、所述READ_CMD寄存器/所述PROG_CMD寄存器、所述DUMMYBYTE_CNT寄存器、所述READ_TIME寄存器执行写操作,从而使能本地操作与AXI读写操作,并配置本地读/写操作所需的配置参数;
所述APB接口模块,用于根据控制核的配置指令对所述SPI接口模块中的所述SPI_TRANS_EN及所述SPI_TRANS_CTRL寄存器执行写操作,从而执行所述SPI接口模块的通信参数配置并启动SPI传输。6.根据权利要求2~4任一项所述的SPI控制器,其特征在于,所述APB接口模块,用于根据控制核的配置指令配置所述第一控制模块、所述第二控制模块和所述SPI接口模块的工作状态,包括:...
【专利技术属性】
技术研发人员:李皇,彭睿,皇甫一凡,王文青,
申请(专利权)人:深圳市国微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。