SPI的参考命令集

来源:互联网 发布:2009年好听的网络歌曲 编辑:程序博客网 时间:2024/05/29 06:48

SPI,作为芯片间管理总线,简单且效率高。

具体SPI的时序,随便百度一下就可以看到图。理解一下,其工作模式、上升沿下降沿就可以了。

我关心的是:SPI的命令集,如何定义?相对i2c、uart等接口的命令集,是否有可能相同或很类似???

我没有找到专门总结SPI指令集的文档。根据不同的从器件类型,我罗列下列几个命令集:

1、SD卡的SPI命令集

建议参考:http://www.cnblogs.com/lb0620/archive/2011/10/15/2213135.html。

命令详细一定要看:http://blog.tianya.cn/blogger/post_read.asp?BlogID=3928185&PostID=37479966。

写的比较清楚了。我摘要一下:

a、6字节组成,其中Byte1:0 1 x x x x x x是命令字;Byte2-5:Command Arguments,命令参数;Byte6:前7位为CRC校验位,最后一位为停止位0(注:CRC7?不知道多项式)

b、SD卡命令共分为12类,分别为class0到class11,不同的SDd卡,主控根据其功能,支持不同的命令集。

c、命令虽多,可归类为:1、各种寄存器读写;2、单块读写;3、多块读写;4、特殊或系统操作。

借鉴:在写sd卡多块后,如果出现写错误,会查询好块(然后重发坏块吧);读sd卡,如果出现错误,没看到怎么处理??

2、flash的SPI指令集

参考:http://blog.sina.com.cn/s/blog_533074eb0101ast4.html

常用的,SPIFlash都支持的,并且不同厂家都共有的命令有:
01 写状态寄存器  ;02 写   ;03 读   ;05 读状态寄存器     ;06 写使能   ;D8 擦除  。

读芯片ID的指令,各家不同,可尝试9F AB 90 15。

借鉴:flash有ram buffer区;可以对buffer操作,也可以对flash操作(页操作、字节操作)。

今天想看一下M25P80的手册,st公司的,但网站上没有。到micron网站上看,有nor flash的带spi接口。顺便了解了一下:nor flash和 nandflash的区别:见http://www.eepw.com.cn/article/57419.htm。

在1MB-16MB上,主流是nor flash;而nand flash在8MB-GB;nand flash便宜但操作困难;nor flash可直接运行(少坏区)且有ram buffer。

我下载了M25P80的手册,赋值其指令集如下:

从命令上看,只能按页写;没看到怎么下载2个fpga;有section组织;该芯片没有提ram buffer。

3、小结

spi时序,就类似165移位寄存器类的时序。spi上运行的instruction,指令集也是根据各自芯片来得。



0 0
原创粉丝点击