[发明专利]SPI系统自动读取数据的控制方法及SPI系统在审
申请号: | 202110659540.0 | 申请日: | 2021-06-15 |
公开(公告)号: | CN113419985A | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 珠海市一微半导体有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 519000 广东省珠海市横琴*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | spi 系统 自动 读取 数据 控制 方法 | ||
本发明公开了一种SPI系统自动读取数据的控制方法及SPI系统,该方法包括以下步骤:S1:SPI系统判断SPI总使能位开启且配置接收数据总量符合要求,则进行数据读取;S2:SPI系统往TX FIFO里填充数据,来将数据读取到RX FIFO中,并记录已接收数据总量;S3:SPI系统比较已接收数据总量和配置接收数据总量,来判断继续执行步骤S2还是结束工作。该方法通过SPI系统硬件往TX FIFO中填充数据,CPU只需要响应RX FIFO中断,搬走数据即可,不需要再往TX FIFO中填充数据,减少了CPU负担;根据已接收数据总量和配置接收数据总量就可以持续不断读取数据,CPU只需要响应RX FIFO中断,减少CPU占用率。
技术领域
本发明具体涉及一种SPI系统自动读取数据的控制方法及SPI系统。
背景技术
SPI协议作为一种应用广泛的外设接口协议,应用于读取Flash器件数据、陀螺仪装置数据、主从SPI芯片间交换数据等。其中,SPI系统读取Flash器件数据相对于其他的应用场景来说,其读取的数据量是十分庞大的。
传统的大数据量读取方法是,cpu一开始填满TX FIFO,此后当TX FIFO的水位触发中断起来之后,cpu不仅要及时搬运走RX FIFO的数据,且cpu判断要读取的数据还未全部读取完成时,cpu还要持续填充数据进入TX FIFO触发SPI控制器读取数据。该方法的缺点就是cpu在SPI读取大批量数据过程中需要不断响应SPI中断、填充TX FIFO来启动SPI接收数据,损失了cpu的效率。
发明内容
为解决上述问题,本发明提供了SPI系统自动读取数据的控制方法及SPI系统,只需要在一开始配置阶段配置好要读取的数据量的大小,在未读取完规定的数据量之前,SPI系统会一直读取数据,自动化高;并且设立数据保护机制,当cpu忙碌无法及时取走RX FIFO数据造成RX FIFO被写满时,自动暂停自动读过程,等待cpu空闲取走数据之后,再次自动开启自动读,防止读取过程中有效数据丢失。本发明的具体技术方案如下:
一种SPI系统自动读取数据的控制方法,该方法包括以下步骤:S1:SPI系统判断SPI总使能位开启且配置接收数据总量符合要求,则进行数据读取;S2:SPI系统往TX FIFO里填充数据,来将数据读取到RX FIFO中,并记录已接收数据总量;S3:SPI系统比较已接收数据总量和配置接收数据总量,来判断继续执行步骤S2还是结束工作。该方法通过SPI系统硬件自动往TX FIFO中填充数据,CPU只需要响应RX FIFO中断,搬走数据即可,不需要再往TX FIFO中填充数据,减少了CPU负担;SPI系统会判断已接收数据总量和配置接收数据总量关系,持续不断读取数据,CPU只需要响应RX FIFO中断,减少CPU占用率。
进一步地,步骤S1中,SPI系统在读取数据前,会预先配置接收RX FIFO水位中断触发值和配置接收数据总量。可以根据实际情况来设置RX FIFO水位中断触发值和配置接收数据总量,灵活性高。
进一步地,步骤S1中,配置接收数据总量符合要求为:配置接收数据总量不为零。
进一步地,步骤S2中,SPI系统自动往TX FIFO里填充数据后,发出一组时钟信号,使SPI系统将数据读取到RX FIFO。
进一步地,SPI系统每读取设定容量的数据到RX FIFO中后,会产生RX FIFO水位触发中断,通知CPU搬运RX FIFO中的数据。
进一步地,步骤S2中,SPI系统在读取数据后,会判断RX FIFO中的数据是否已满,若RX FIFO中的数据已满,则触发保护机制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海市一微半导体有限公司,未经珠海市一微半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110659540.0/2.html,转载请声明来源钻瓜专利网。