一种基于spi接口的寄存器快捷读写方法

文档序号:6625910阅读:428来源:国知局
一种基于spi接口的寄存器快捷读写方法
【专利摘要】本发明公开了一种基于SPI接口的寄存器快捷读写方法,它包括寄存器读写和寄存器批量读取两个步骤,寄存器读写包括以下子步骤:设备选通信号CS变为有效即低电平,保持4节拍持续有效;在第一节拍,通过SDI数据线传送读写命令和读写地址CMD[7:0],其中,CMD[7]=0,表示读写命令,CMD[6:0]为读写地址;在第二节拍,通过SDI数据线传送写数据DATA0;在第三节拍,通过SDO数据线读出所述读写地址CMD[6:0]的旧数据DATA1;在第四节拍,通过SDO数据线读出所述读写地址CMD[6:0]的新数据DATA2,DATA2应该与DATA0一致;设备选通信号CS变为高电平,寄存器读写结束。本发明所提供的读写方法,不需要多次寻址,时序简单、操作快捷简便,并且对于提高我国SPI接口通信的整体运营水平、制度规范将发挥重要作用。
【专利说明】—种基于SPI接口的寄存器快捷读写方法

【技术领域】
[0001]本发明涉及移动通信【技术领域】的SPI接口的读写方法,尤其涉及一种基于SPI接口的寄存器快捷读写方法。

【背景技术】
[0002]SPI接口为同步串行外设接口,作为一种通用的数据接口,由于其使用简单方便且节省系统资源,应用非常广泛,SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间,它可以使MCU与各种外围设备以串行的方式进行通信以交换信息。
[0003]由于SPI接口是一种事实标准,并没有标准协议,大部分厂家都是参照Motorola的SPI接口定义来设计的,正因为没有确切的版本协议,不同厂家产品的SPI接口在技术上存在一定的差别,容易引起歧义,有的甚至无法互联。


【发明内容】

[0004]本发明的目的在于克服现有技术的不足,提供一种不需要多次寻址、时序简单、操作快捷简便的一种基于SPI接口的寄存器快捷读写方法。
[0005]本发明的目的是通过以下技术方案来实现的:
一种基于SPI接口的寄存器快捷读写方法,它包括寄存器读写和寄存器批量读取两个步骤,其中,所述的寄存器读写包括以下子步骤:
511:设备选通信号CS变为有效即低电平,保持4节拍持续有效;
512:在第一节拍,通过SDI数据线传送读写命令和读写地址CMD[7:0],其中,CMD [7] =0,表示读写命令,CMD [6:0]为读写地址;
513:在第二节拍,通过SDI数据线传送写数据DATAO ;
514:在第三节拍,通过SDO数据线读出所述读写地址CMD [6:0]的旧数据DATAl ;
515:在第四节拍,通过SDO数据线读出所述读写地址CMD [6:0]的新数据DATA2,DATA2应该与DATAO —致;
516:设备选通信号CS变为高电平,寄存器读写结束;
寄存器批量读取包括以下子步骤:
521:设备选通信号CS变为有效即低电平,保持多个节拍持续有效,持续长度最好为8*n个时钟周期;
522:在第一节拍,通过SDI数据线传送读写命令和读写地址CMD[7:0],其中,CMD[7]=1,表示批量读取命令,CMD[6:0]为批量读取的首个读取地址,其后的地址依次加I ;
523:在第二节拍,通过SDI数据线传送无效数据DUMMY ;
524:在第三节拍,通过SDO数据线读出所述读写地址CMD[6:0]的数据;
525:在第四节拍,通过SDO数据线读出所述读写地址CMD [6:0]加I后的数据DATA2 ; S26:依次类推,通过SDO数据线逐步读出多个数据,直至设备选通信号CS变为高电平,寄存器读写结束。
[0006]所述的数据传输的波特率小于或等于16MHz。
[0007]所述的设备选通信号CS下降沿到第一个时钟信号上升沿之间的时间最小为半个时钟周期。
[0008]本发明的有益效果是:本发明的读写方式中,在一次寻址操作后,可以进行一次写操作,两次读操作,而且可以通过第二次读操作来验证数据是否写入,如其他方式,可能验证数据写入还需一次寻址,在批量读取方式中,同样不需要多次寻址,时序简单、操作快捷简便;并且对于提高我国SPI接口通信的整体运营水平、制度规范将发挥重要作用。

【专利附图】

【附图说明】
[0009]图1为本发明一种基于SPI接口的寄存器快捷读写方法的寄存器读写时序图;
图2为本发明一种基于SPI接口的寄存器快捷读写方法的寄存器批量读取时序图。

【具体实施方式】
[0010]下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
[0011]一种基于SPI接口的寄存器快捷读写方法,它包括寄存器读写和寄存器批量读取两个步骤;
如图1所示,寄存器读写包括以下子步骤:
511:设备选通信号CS变为有效即低电平,保持4节拍持续有效;
512:在第一节拍,通过SDI数据线传送读写命令和读写地址CMD[7:0],其中,CMD [7] =0,表示读写命令,CMD [6:0]为读写地址;
513:在第二节拍,通过SDI数据线传送写数据DATAO ;
514:在第三节拍,通过SDO数据线读出所述读写地址CMD [6:0]的旧数据DATAl ;
515:在第四节拍,通过SDO数据线读出所述读写地址CMD [6:0]的新数据DATA2,DATA2应该与DATAO —致;
516:设备选通信号CS变为高电平,寄存器读写结束;
如图2所示,寄存器批量读取包括以下子步骤:
521:设备选通信号CS变为有效即低电平,保持多个节拍持续有效,持续长度最好为8*n个时钟周期;
522:在第一节拍,通过SDI数据线传送读写命令和读写地址CMD[7:0],其中,CMD[7]=1,表示批量读取命令,CMD[6:0]为批量读取的首个读取地址,其后的地址依次加
I;
523:在第二节拍,通过SDI数据线传送无效数据DUMMY ;
524:在第三节拍,通过SDO数据线读出所述读写地址CMD[6:0]的数据;
525:在第四节拍,通过SDO数据线读出所述读写地址CMD [6:0]加I后的数据DATA2 ;
526:依次类推,通过SDO数据线逐步读出多个数据,直至设备选通信号CS变为高电平,寄存器读写结束。
[0012]数据传输的波特率小于或等于16MHz。
[0013]设备选通信号CS下降沿到第一个时钟信号上升沿之间的时间最小为半个时钟周期。
[0014]无效数据DUMMY,建议为8hff。
【权利要求】
1.一种基于SPI接口的寄存器快捷读写方法,其特征在于:它包括寄存器读写和寄存器批量读取两个步骤,其中,所述的寄存器读写包括以下子步骤: 511:设备选通信号CS变为有效即低电平,保持4节拍持续有效; 512:在第一节拍,通过SDI数据线传送读写命令和读写地址CMD[7:0],其中,CMD [7] =0,表示读写命令,CMD [6:0]为读写地址; 513:在第二节拍,通过SDI数据线传送写数据DATAO ;514:在第三节拍,通过SDO数据线读出所述读写地址CMD [6:0]的旧数据DATAl ; 515:在第四节拍,通过SDO数据线读出所述读写地址CMD [6:0]的新数据DATA2,DATA2应该与DATAO —致; 516:设备选通信号CS变为高电平,寄存器读写结束; 寄存器批量读取包括以下子步骤: 521:设备选通信号CS变为有效即低电平,保持多个节拍持续有效,持续长度最好为8*n个时钟周期; 522:在第一节拍,通过SDI数据线传送读写命令和读写地址CMD[7:0],其中,CMD[7]=1,表示批量读取命令,CMD[6:0]为批量读取的首个读取地址,其后的地址依次加I; 523:在第二节拍,通过SDI数据线传送无效数据DUMMY ; 524:在第三节拍,通过SDO数据线读出所述读写地址CMD[6:0]的数据;525:在第四节拍,通过SDO数据线读出所述读写地址CMD[6:0]加I后的数据DATA2 ; 526:依次类推,通过SDO数据线逐步读出多个数据,直至设备选通信号CS变为高电平,寄存器读写结束。
2.根据权利要求1所述的一种快捷SPI读写方法,其特征在于:所述的数据传输的波特率小于或等于16MHz。
3.根据权利要求1所述的一种快捷SPI读写方法,其特征在于:所述的设备选通信号CS下降沿到第一个时钟信号上升沿之间的时间最小为半个时钟周期。
【文档编号】G06F13/16GK104239247SQ201410447834
【公开日】2014年12月24日 申请日期:2014年9月4日 优先权日:2014年9月4日
【发明者】杨力, 向建军 申请人:成都锐成芯微科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1