首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

瀚海微SD NAND之SD 协议(37)SPI总线保护和读写

总线传输保护总线上传输的每条SD卡命令都受到CRC位的保护。在SPI模式下,SD存储卡提供了CRC ON模式,使具有可靠数据链路的系统能够排除实现CRC生成和验证功能所需的硬件或固件。...如果检测到CRC错误,无论命令索引如何,卡都会在R1响应中返回CRC错误。数据读取SPI模式支持单块读取和多块读取操作(SD Memory Card协议中的CMD17或CMD18)。...在数据检索错误的情况下,卡将不传输任何数据。相反,一个特殊的数据错误令牌将被发送到主机。下图显示了一个以错误令牌而不是数据块结束的数据读取操作。...如果出现写错误指示(在数据响应上),主机将使用SEND_NUM_WR_BLOCKS (ACMD22)来获取写好的写块的数量。当卡忙时,重置CS信号不会终止编程过程。...当卡擦除或更改预定义扇区列表的写保护位时,它将处于忙状态并使DataOut线保持低电平。下图说明了使用和不使用忙信令的“无数据”总线事务。

14710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SDMMC卡初始化及读写流程

    卡和mmc卡的参数不一样 mmc卡的参数是自己设定一个rca值 ,但是sd卡是通过回复值中读取rca,上面sd卡的初始化中有描述 OUTREG16(A_MSC_CLKRT(0), 1);...SD卡初始化第一步在发送CMD命令之前,在片选有效的情况下首先要发送至少74个时钟,否则将有可能出现SD卡不能初始化的问题。 2....因为不同版本的SD卡操作要求有不一样的地方,所以务必查询SD卡的版本号,否则也会出现SD卡无法正常工作的问题。 3....5. 2GB以内的SD卡(标准卡)和2GB以上的SD卡(大容量卡)在地址访问形式上不同,这一点尤其要注意,否则将会出现无法读写数据的问题。...如果CMD8返回错误则进一步判断为1.0卡还是MMC卡,循环发送CMD55+ACMD41,返回无错误,则为SD1.0卡,到此SD1.0卡初始成功,如果在一定的循环次数下,返回为错误,则进一步发送CMD1

    2.7K20

    瀚海微SD NAND之SD 协议(41)SPI模式命令令牌

    110' -由于写入错误而拒绝数据如果在写多块操作过程中出现任何错误(CRC或写错误),主机将停止使用CMD12传输数据。...如果出现写错误(响应'110'),主机可能会发送CMD13 (send STATUS) 来获取写入问题的原因。ACMD22可用于查找编写良好的写块的数量。...在多块读取的情况下,使用STOP_TRAN命令(CMD12)执行停止传输。数据错误令牌如果读操作失败,卡不能提供所需的数据,它会发送一个数据错误令牌。...在SD模式下,错误bits在被主机读取时被清除,而不管响应格式如何。状态指示灯可以通过读取清除,也可以根据卡的状态清除。下表总结了各种状态位的设置和清除条件: 1) 类型:E:错误位。S:状态位。...X:在执行命令时检测并设置。主机可以通过发出带有R1响应的命令来获取状态。2) 清零条件:A:根据卡当前状态清零。c:按读清零卡寄存器在SPI模式下,只有RCA寄存器不可访问。

    10310

    STM32Cube-20(补充) | 在SD卡上移植FATFS文件系统

    Micro SD卡 小熊派开发板板载 Micro SD 卡槽,需要提前自行准备一张 Micro SD卡,如图: ?...SD卡分区并格式化为FAT文件系统 正常SD卡不需要该步骤!...读取SD卡中的文件内容 同样的,先在main函数开始开辟一块缓冲区,用于存放读取的数据: /* USER CODE BEGIN 1 */ //要操作的文件名 char filename[] = "test.txt...可以看到,FATFS创建文件时,返回的错误码是13,那么如何定位该问题呢?13代表什么? 打开FATFS的ff.h文件即可看到所有错误码所表示的含义: ?...这样问题就定位到了,我们使用的SD卡是之前用于裸机实验的卡,SD卡分区被破坏,SD卡文件系统被破坏,所以FATFS创建文件时才会提示FR_NO_FILESYSTEM问题。

    2.2K21

    stc12c5a60s2功能说明(STC12C5A60S2默认触发)

    我所使用的卡就是SDHC卡,所以有6个字节的返回值,这个在后面说明。另外要说的一点,我曾经直接跳过了CMD8的发送,直接进行了下一步命令,SD卡返回了错误的信息,没有进入正确的读写准备状态。...第四步,发送CMD58,读取OCR寄存器,OCR寄存器记录了SD卡可识别的电压范围;SD卡是否支持大容量存储,即SDHC;和SD卡上点状态。...手册上推荐发送这个命令,主要功能是你可以知道你的V2.0SD卡是标准版本的,还是大容量的SD卡,大容量的SD卡读写操作时按照块(512BYTE)进行的,所以读写地址的方法有所不同。...从这个命令以后,初始化的工作就全部进入了,SD卡进入读写准备状态,接下来就可以任意读取目标地址,对其进行读写操作了。...读写函数的时序图:向SD卡写数据时,时钟上升沿时数据有效;从SD卡读数据时,时钟在高电平时,MCU读到的数据有效,根据这个写两个基本函数就没有问题。

    76010

    瀚海微SD NAND之SD 协议(40)SPI模式CMD8的操作

    SD NAND SPI模式CMD8的操作在SPI模式下,卡总是返回响应。CMD8插卡操作如下表所示*1: Response表示卡实际返回的响应。...和SD模式一样,所有的都先传输MSB。在SPI模式下定义了多个字节响应,但是当其中指出非法命令错误或命令CRC错误时,卡只输出第一个字节(相当于R1)。在这种情况下,主机永远不会读取多个字节的响应。...当主机在锁/解锁过程中试图擦除写保护扇区或出现顺序或密码错误时设置。卡被锁定:当卡被用户锁定时设置。解锁后复位。R3格式当收到READ_OCR命令时,卡将发送此响应令牌。...R7格式当收到SEND IF COND命令(CMD8)时,卡将发送此响应令牌。响应长度为5字节。第一个字节(MSB)的结构与响应类型R1相同。...其他四个字节包含卡工作电压信息和参数中检查模式的回显,并由与SD模式中的R7响应相同的定义指定。

    8510

    瀚海微SD NAND之SD 协议(38)寄存器&复位&开解锁

    读取CID/CSD寄存器类似SD存储卡协议(其中寄存器内容作为命令响应发送)。在SPI模式下读取CSD和CID寄存器的内容是一个简单的读块事务。...SD存储卡和多媒体卡。...错误条件像SD存储卡协议一样,在SPI模式下,卡将始终响应命令。响应表示接受或拒绝命令。在以下任何一种情况下,命令都可能被拒绝:—当卡处于读操作时发送命令(合法的CMD12除外)。...-当卡片处于忙时发送。-卡被锁定,且非0类或7类命令。-不支持(非法操作码)。- CRC校验失败。-它包含一个非法操作数。-在擦除过程中出错。...请注意,如果主机发送命令,而卡在读取操作中发送数据,那么带有非法命令指示的响应可能会干扰数据传输。内存阵列分区同SD模式。

    8310

    相机SD卡无法读取提示格式化 相机SD卡无法读取怎么修复

    相机SD卡中储存着的照片和视频,承载着我们美好的回忆。因为相机SD卡的容量有限,我们会定期对SD卡中的数据进行云盘备份,然后清理相机SD卡中的数据。在打开相机SD卡时,可能会遇到SD卡无法读取的情况。...那么,相机SD卡无法读取提示格式化,相机SD卡无法读取怎么修复?今天作者就和大家介绍一下这两个问题。一、相机SD卡无法读取提示格式化相机SD卡插上电脑,显示无法读取需要格式化,一般有以下几种原因。...3、相机SD卡内部驱动出现问题。我们可以按照下面的方法进行修复。Windows系统可以直接在桌面中打开“此电脑”,找到已经连接的SD卡,右键选择“属性”。...图3:检查然后点击”扫描驱动器“,系统会开始自动扫描和恢复SD卡。图4:扫描驱动器二、相机SD卡无法读取怎么修复相机SD卡无法读取数据时,我们可以使用数据恢复软件对SD卡进行修复。...卡无法读取提示格式化,相机SD卡无法读取怎么修复的介绍了。

    4.2K80

    SD NAND存储功能描述(18)命令类e

    SD存储卡的两种状态信息SD存储卡支持以下两种状态字段:—“Card Status”:已执行命令的错误和状态信息,在响应中显示- 'SD Status':扩展状态字段512位,支持SD存储卡的特殊功能和未来的特定应用功能...表格中的type和clear condition字段缩写如下:类型:E:错误位。S:状态位。R:检测并设置为实际命令响应。X:在执行命令时检测并设置。主机可以通过发出带有R1响应的命令来获取状态。...C:通过读取清除。对于R1响应的每个命令,下表定义了状态中受影响的位字段。“x”表示可以在相应命令的响应中设置错误/状态位。...(1)对CMD3的响应是R6,其中仅包含卡状态中的23、22、19和12:9位(2)此命令在1.10版本中定义SD状态SD状态包含与SD存储卡专有特性相关的状态位,并且可能用于未来特定应用程序的使用。...注意事项:“SD Status”中的“Class”值(包括预留值)大于主机的“Class”值支持,主机应该读取任何类可以与卡一起使用。以上内容由杭州瀚海微科技整理

    8010

    14_TF编程

    近年MMC卡技术已差不多完全被SD卡所代替;但由于MMC卡仍可被兼容SD卡的设备所读取,因此仍有其作用。这项技术一个公开标准,所有愿意改进它或者为它开发产品的公司都可使用。 ​...SD Card Insert 插入卡时是否产生唤醒事件 WECINT Wakeup Event Enable On Card Interrupt 不使能时,时钟使能的情况下才能产生卡中断 RD_DONE_NO...等待数据传输完成USDHC_WaitDataDone函数主要是读取INT_STATUS寄存器,等待传输完成位(TC)设置,同时检查传输出错的位是否设置,出错的位包括数据传输超时错误、数据CRC校验错误、...结束时发送cmd13查询状态,看读的过程是否有错误发生。...发送命令时,CMD24表示单个块的写,CMD25表示多个块的写。结束时发送cmd13查询状态,看写的过程是否有错误发生。 ​

    1.7K20

    SD NAND存储功能描述(11)命令系统CMD8

    在命令系统功能组的各种功能之间切换,将改变这些命令的解释和相关的总线事务(即命令无需数据传输、单块读取、多块写入等)。...当选择“移动电子商务”(功能Ox1)时,这些命令的行为由SD规范Part A1:移动商务扩展规范管理。当使用这些扩展中的任何一个时,应该特别注意正确选择命令集函数,否则,主机命令可能会被错误地解释。...发送接口条件命令(CMD8)CMD8(发送接口条件命令)用于初始化符合2.00及以上物理层规范的SD存储卡。当卡处于Idle状态时,CMD8有效。该命令有两个功能。...1.Resnonse表示卡实际返回的响应(如果不包含响应传递过程中的错误)。2.匹配是指a)和b)条件的与,不匹配为其他情况。...当块长度大于512字节时,无论卡容量大小,都会设置BLOCK_LEN_ERROR错误位。写保护组SDHC和SDXC不支持写保护组。

    14510

    基于STM32设计的小说阅读器(翻页、字体切换、颜色切换、语音播报)

    目的不在于小说阅读器,而是以小说阅读器为例子,学习相关的技术: SD卡、串口通信、SPI通信、8080时序、触摸屏校准原理、FATFS文件系统使用、语音播报模块使用等等。...小说文件还是存放在SD卡上,每次翻页的时候从SD卡上获取文本文件,渲染到LCD显示屏上。...思路说明: 程序里移植了FATFS文件系统,字体文件和小说文件都是存放在SD卡,通过文件系统读取SD卡里的小说文件进行显示。 操作的过程在串口调试助手上也会同步输出信息。...卡读取一个数据包的内容 函数参数: buf:数据缓存区 len:要读取的数据长度....0 else if(r1)return r1; //返回值错误值 return 0xaa; //其他错误 } /* 函数功能:读SD卡 函数参数: buf:数据缓存区

    2.8K10

    程序员带你学习安卓开发系列-Android文件存储

    如图: 输入帐号密码,并勾选记住帐号 ,点击登录时,保存帐号信息。下次登陆可以直接显示上次保存的QQ帐号。 ? 前台界面写法:(当然这并不是标准答案,大家只要把布局布出来就可以) ?...文件的存放路径有时会出现错误,并且只要牵扯到读写文件都需要路径。所以谷歌程序员为我们封装了很多直接取得应用包所在的路径的方法。 如图: ? 这两个api对应上图中的文件夹。 ? 方便了我们的使用。...二、存储到SDCard中: sd卡的特殊点是,sdcard的状态不确定。有时可以使用,有时可能被用户拔出。所以我们需要判断sd卡的状态。在一点就是sd卡的读写需要一定的权限的。其他的与上面相同。...读取shareprefences: 下篇文章讲解xml和sqlite操作。 ?

    77220

    【STM32F429】第4章 ThreadX FileX文件系统移植到STM32F429(SD卡)

    4.1 初学者重要提示 4.2 SD卡硬件接口设计 4.3 SD卡基础知识 4.4 各种存储卡区别 4.5 关于SD卡内部是否自带擦写均衡 4.6 ThreadX FlieX移植步骤 4.7 ThreadX...4.3 SD卡基础知识 这里将SD卡相关的基础知识为大家做个普及。 4.3.1 SD卡分类 根据不同容量做的区分,主要包括Full SD,miniSD和microSD。...4.3.3 SD卡总线速度和速度等级 SD卡速度: SD卡速度等级: 4.4 各种存储卡区别 市面上的卡种类非常多,容易把人搞糊涂,这里将这些卡种类为大家做个区分: 4.4.1...SD卡,miniSD卡,MircoSD卡其实是一种卡,区别是引脚使用上。 4.4.2 SDIO卡 SDIO卡就是使用SDIO外设来接SD卡。...4.7.5 SD卡文件读取 代码实现如下: /* ***********************************************************************

    76420

    【STM32F407】第4章 ThreadX FileX文件系统移植到STM32F407(SD卡)

    4.1 初学者重要提示 4.2 SD卡硬件接口设计 4.3 SD卡基础知识 4.4 各种存储卡区别 4.5 关于SD卡内部是否自带擦写均衡 4.6 ThreadX FlieX移植步骤 4.7 ThreadX...4.3 SD卡基础知识 这里将SD卡相关的基础知识为大家做个普及。 4.3.1 SD卡分类 根据不同容量做的区分,主要包括Full SD,miniSD和microSD。 ?...4.3.3 SD卡总线速度和速度等级 SD卡速度: ? SD卡速度等级: ?...SD卡,miniSD卡,MircoSD卡其实是一种卡,区别是引脚使用上。 ? ? ? ? 4.4.2 SDIO卡 SDIO卡就是使用SDIO外设来接SD卡。...4.7.5 SD卡文件读取 代码实现如下: /* ***********************************************************************

    1.7K10

    保存文件到手机内存

    当然可以问 android 为什么要允许读写 SD 卡上任意目录,个人觉得这是历史问题,如果现在禁止了,估计一大堆读写 SD 卡的应用程序会出现兼容性问题,为了保证这种兼容性,感觉 android 不会将读写...SD 卡这种功能禁止掉。...这样的规定意味着应用程序只能对 SD 卡的指定目录进行读写,不能读写任意目录。相当于 Google 出手对 SD 卡目录结构进行了规范。...之前 android 不限制目录,所以各种应用就随意的在 SD 卡上建一个目录。然后 SD 卡上的目录到处都是,用户对这种现象早就深恶痛绝了!如果 Google 对这件事情下狠手,只能说是大快人心。...另外说一下,SD 卡上的指定目录是这样获取的: 1,程序相关的 内置存储目录,这个目录位于内置 flash,应用程序可以随意读写: getFilesDir(); 2,程序相关的 SD 卡外部存储目录,这个目录位于

    98240
    领券