美文网首页BB-black开发板[Linux arm-v8]
SD/MMC物理层协议--Apple的学习笔记

SD/MMC物理层协议--Apple的学习笔记

作者: applecai | 来源:发表于2020-09-29 20:33 被阅读0次

前言:

uboot学习阶段主要关注的外设是sdram及sd卡启动。并且都是和memory相关的,那么memory是我本次复习的重点,sdram驱动比较简单,配置些delay参数即可使用。所以把sd卡相关协议继续进行技术扩展及深入,winhex解析FAT32存储格式理解MBR--Apple的学习笔记里面我简单的提了下sd卡相关,所以这2天就是去官网下载了最新SD卡物理层协议V8.0在看。系统的了解下,并且深入的了解下sd的初始化。

不看不知道,一看吓一跳,sd卡现在发展的真实五花八门,容量越来越大,速度越来越快,当前比较新的是uhs卡,pin脚又多了一层,协议命令也追加了。另外NVMe和PCIe协议都加入进来了,sdio和spi协议在sd卡上的应用将来看来会被淘汰了。万变不离其宗,我还是学习些经典的基础内容。

疑问1

当传输data过程中,一个data传输完成后,Data0线作为busy。那么怎么判断data0代表数据还是代表busy呢?
答:因为数据格式是固定的,所以传输完数据+crc+一个bit1。这是可以解析出来的。之后data0线一直未低则说明buffer full正在写入处于忙状态。
需要注意的是CMD7可以退出传输模式,但是不会终止program,所以CMD7退出后又重新进入传输模式,可能之前依然处于program过程中

疑问2

读写超时后会发生什么?
答:我理解读超时(最大100ms)和写超时(最大250ms)就是想如下重点列表中第5项这样的应用场景。它采用关闭Clock来暂停sd,让sd卡认为是连续的而非超时的。Spec中写了所谓的超时是检查busy超过timeout时间。
网上搜索了案例,多任务处理sd卡处理代码若为低优先级会出现超时,超时后就是读写失败。看了am335x的手册,若打开中断,error发生则会进入中断。

疑问3

IOPS是什么意思?
答:IOPS的实际意思是硬盘每秒进行多少次4K文件的读出(或写入)。IOPS*4/1024=MB/s

重点

  1. 电压匹配和容量匹配是初始化的重点。
  2. CMD42和加密解密及强制擦除相关也是比较重要的。包括COP card和非COP card处理不同。
  3. CMD6是设置访问模式及驱动能力的,也需要注意。
  4. CMD8中的说明就提醒我了一个思路,若host支持的功能则都应该向设备发出询问。
  5. AMD41还是比较有意思的,就是描述host自己没能力,但是还想发大数据的处理方法中需要用到此命令。在连续传输过程中,host的buffer只有512 byte而需要传输1K内容,则会采用等待一半的512字节传输完成后,通过AMD41命令来关闭clock,此时重新装载后512字节的内容到host buffer中,然后再开启clock。这样处理sd卡也认为是连续的过程,传输没有中断过。
  6. AU(allocation unit)和RU(record unit)。AU中包含多个16K的RU,RU不能跨越AU边界。
    一般第一个AU是保存文件系统的,所以用户不能修改。后面介绍了一个FAT更新流程。显示FAT table表的写入,最后是DIR的写入。提及到了CMD20。
  7. 对于大数据的读写有CQ命令队列模式,将操作分为命令阶段和数据传输阶段,说白了全都连接起来操作速度当然快。
  8. SPI模式和SDIO模式除了总线连接及速度的区别,应该命令支持也是不同的。

参考:

1.SDIO—SD卡读写测试

2.ufs物理层协议中文

相关文章

  • SD/MMC物理层协议--Apple的学习笔记

    前言: uboot学习阶段主要关注的外设是sdram及sd卡启动。并且都是和memory相关的,那么memory是...

  • winhex解析FAT32存储格式理解MBR--Apple的学习

    前言:Buildroot自制文件系统sd卡启动成功--Apple的学习笔记中卡我时间最长的就是sd卡无法启动。最后...

  • lvgl显示速度优化及界面工具试用--Apple的学习笔记

    一,前言 之前littlevgl读取sd卡FatFS图像文件--Apple的学习笔记[https://www.ji...

  • SD驱动

    SD卡 挂载分析Framework MMC, SDIO, SD Linux-2.6.30.4在2440上的移植之M...

  • 从物理层到MAC层

    本篇作为学习笔记,文章内容来自“极客时间”专栏《趣谈网络协议》,如有侵权,请告知,必即时删除。 1、物理层 物理层...

  • Linux mmc system

    Linux mmc system MMC、SD、SDIO的技术本质是一样的(使用相同的总线规范,等等),都是从MM...

  • 深入理解SD卡:协议

    Overview 深入理解SD卡系列文章将介绍SD卡,涉及SD卡的协议及驱动代码。我们学习SD卡目的是为了理解SD...

  • 2020-09-07

    学习笔记 计网: 最重要的是协议分层 自顶向下分别是: 应用层、传输层、网络层、链路层、物理层。 应用层:包含HT...

  • UART通信

    串口(USART)通信--串口通讯协议简介 物理层与协议层 一、物理层 1.RS232标准 ...

  • 基于iTop-4412的U-Boot 2017移植[2]:支持S

    基于iTop-4412的U-Boot 2017移植[2]:支持SD/MMC 经过前几篇博文的移植,已经成功在iTO...

网友评论

    本文标题:SD/MMC物理层协议--Apple的学习笔记

    本文链接:https://www.haomeiwen.com/subject/kyfyuktx.html