SPI的参考命令集

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,指令集也是根据各自芯片来得。



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: spi-flash命令集是指用于操作SPI闪存的一组命令。在SPI存储器的设备驱动中,可以通过spi_mem_adjust_op_size函数来调整操作的大小,通过spi_mem_supports_op函数来检查存储器是否支持特定的操作,通过spi_mem_exec_op函数来执行操作。\[1\]SPI闪存通常用于存储程序代码和数据,可以通过SPI接口进行读取和写入。对于不同的SPI闪存芯片,其命令集可能会有所不同。如果您想了解特定芯片的命令集,您可以查阅该芯片的手册。例如,M25P80是ST公司的SPI闪存芯片,您可以在ST公司的手册中找到相关的命令集信息。\[2\]同时,您还可以参考相关的技术文章和论坛讨论,了解NOR闪存和NAND闪存之间的区别。\[2\]在SPI存储器的设备驱动中,还需要声明自己为struct spi_mem_driver,该结构体包含了一些与设备驱动相关的函数指针,如probe、remove和shutdown等。\[3\] #### 引用[.reference_title] - *1* *3* [Linux SPI驱动框架(4)——spi-mem驱动](https://blog.csdn.net/weixin_42262944/article/details/120807758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SPI参考命令集](https://blog.csdn.net/design_logic/article/details/38986467)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值