[发明专利]一种APB总线访问SPI FLASH的方法及装置有效
申请号: | 201811515358.2 | 申请日: | 2018-12-11 |
公开(公告)号: | CN109684245B | 公开(公告)日: | 2022-05-27 |
发明(设计)人: | 杨海波;廖寅龙;王玉欢;曹朋朋;赵强;邓轲 | 申请(专利权)人: | 中国航空工业集团公司西安航空计算技术研究所 |
主分类号: | G06F13/12 | 分类号: | G06F13/12;G06F15/78;G06F15/17 |
代理公司: | 中国航空专利中心 11008 | 代理人: | 王世磊 |
地址: | 710000 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 apb 总线 访问 spi flash 方法 装置 | ||
本发明提供了一种外围总线APB总线访问串行外围接口SPI FLASH的方法及装置,包括:对所述SPI接口自启动进行判断;若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线。
技术领域
本发明属于集成电路设计技术领域,涉及一种APB总线访问SPI FLASH的方法及装置。
背景技术
在对FLASH的访问中,每一次访问都需要先对SPI控制器的寄存器进行配置。因此需要一种高效的电路方法来完成该工作。
现有技术的做法是处理器对SPI FLASH的访问时,每一次访问都需要通过软件配置20多遍寄存器,可以看出,现有技术的做法软件消耗大,影响了SoC的访问效率。
发明内容
为了解决上述背景技术中提及的问题,本发明提供了一种APB总线访问SPI FLASH的方法,简化了处理器访问FLASH时的寄存器读写操作。
第一方面,本发明提供了一种外围总线APB总线访问串行外围接口SPI FLASH的方法,包括:
对所述SPI接口自启动进行判断;
若所述SPI接口自启动已完成,则将所述APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作;
通过所述SPI控制器的一次读操作读回数据,将所述数据发送至所述APB总线。
可选的,所述将APB总线上的一次读操作转化为对SPI控制器的一次写操作和一次读操作,由状态机进行实现,所述状态机由一命令转换状态机实现,所述命令转换状态机包括SPI空闲状态、BOOT空闲状态、分频配置状态、分频配置结束状态、片选配置状态、片选配置结束状态、发送数据状态、发送数据结束状态、控制寄存器配置状态、控制寄存器配置结束状态、检测状态、检测结束状态、数据发送状态、数据发送结束状态、关闭片选配置状态、关闭片选配置结束状态。
可选的,在所述SPI空闲状态下,若APB信号读外挂FLASH地址,自启动使能信号为高,进入BOOT空闲状态;若自启动使能信号为低,保持在SPI空闲状态;
在所述BOOT空闲状态下,当PSEL信号为高时,进入分频配置状态;当PSEL信号为低时,保持在BOOT空闲状态;
在所述分频配置状态下,配置时钟分频寄存器的值为0,当PREADY信号为高时,进入分频配置结束状态;当PREADY信号为低时,保持在分频配置状态;
在所述分频配置结束状态下,当自启动使能信号为低时,进入SPI空闲状态;当PSEL信号为高时,进入片选配置状态,当PSEL信号为低时,保持在分频配置结束状态;
在所述片选配置状态下,配置从设备片选寄存器的值为1,当PREADY信号为高时,进入片选配置结束状态;当PREADY信号为低时,保持在片选配置状态;
在所述片选配置结束状态下,等待一个预设周期,撤销操作;
在所述发送数据状态下,配置数据发送接收寄存器1,当PREADY信号为高时,进入发送数据结束状态;当PREADY信号为低时,保持在发送数据状态;
在所述发送数据结束状态下,等待一个预设周期,撤销操作;
在所述控制寄存器配置状态下,配置控制寄存器,当PREADY信号为高时,进入控制寄存器配置结束状态;当PREADY信号为低时,保持在控制寄存器配置状态;
在所述控制寄存器配置结束状态下,等待一个预设周期,撤销操作;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司西安航空计算技术研究所,未经中国航空工业集团公司西安航空计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811515358.2/2.html,转载请声明来源钻瓜专利网。