數(shù)據(jù)讀取
注:數(shù)據(jù)線表示數(shù)據(jù)總線(1位或4位)。
單塊讀取
主機(jī)選擇一張卡進(jìn)行CMD7的數(shù)據(jù)讀取操作,并設(shè)置CMD16面向塊的數(shù)據(jù)傳輸?shù)挠行K長(zhǎng)度。讀操作的基本總線時(shí)序如下圖所示。該序列從單個(gè)塊讀取命令(CMD17)開(kāi)始,該命令在參數(shù)字段中指定起始地址。響應(yīng)像往常一樣在CMD行上發(fā)送。

卡的數(shù)據(jù)傳輸開(kāi)始于從讀命令結(jié)束位開(kāi)始的訪問(wèn)延時(shí)Nac之后。在最后一個(gè)數(shù)據(jù)位之后,CRC校驗(yàn)位的后綴允許主機(jī)檢查傳輸錯(cuò)誤。
多塊讀取
在多塊讀取模式下,卡按照主機(jī)的初始讀取命令發(fā)送連續(xù)的數(shù)據(jù)塊流。數(shù)據(jù)流由停止傳輸命令(CMD12)終止。數(shù)據(jù)塊的時(shí)序如下圖1所示,停止命令的響應(yīng)如下圖2所示。在stop命令結(jié)束位之后,數(shù)據(jù)傳輸將停止兩個(gè)時(shí)鐘周期。


數(shù)據(jù)寫入
單塊寫入主機(jī)選擇一張卡進(jìn)行CMD7的數(shù)據(jù)寫操作。主機(jī)設(shè)置CMD16面向塊的數(shù)據(jù)傳輸?shù)挠行K長(zhǎng)度。寫操作的基本總線時(shí)序如下圖所示。該序列從單個(gè)塊寫命令(CMD24)開(kāi)始,該命令(在參數(shù)字段中)確定起始地址。它像往常一樣由CMD行上的卡響應(yīng)。收到卡片響應(yīng)后,從主機(jī)開(kāi)始的數(shù)據(jù)傳輸開(kāi)始NwR時(shí)鐘周期。
數(shù)據(jù)的后綴是CRC校驗(yàn)位,允許卡檢查傳輸錯(cuò)誤??▽RC檢查結(jié)果作為CRC狀態(tài)令牌在DATo線路上發(fā)回。在傳輸錯(cuò)誤的情況下,卡發(fā)送一個(gè)負(fù)CRC狀態(tài)('101')。在無(wú)錯(cuò)誤傳輸?shù)那闆r下,卡發(fā)送一個(gè)正的CRC狀態(tài)(010)并開(kāi)始數(shù)據(jù)編程過(guò)程。當(dāng)發(fā)生flash編程錯(cuò)誤時(shí),卡將忽略所有進(jìn)一步的數(shù)據(jù)塊。在這種情況下,不會(huì)向主機(jī)發(fā)送CRC響應(yīng),因此總線上不會(huì)有CRC起始位,并且三個(gè)CRC狀態(tài)位將讀取('111')。下一個(gè)命令的響應(yīng)中顯示CRC Status后出現(xiàn)錯(cuò)誤。

注意,CRC響應(yīng)輸出總是在數(shù)據(jù)結(jié)束后的兩個(gè)時(shí)鐘。如果卡沒(méi)有空閑的數(shù)據(jù)接收緩沖區(qū),卡通過(guò)將數(shù)據(jù)線拉到LOW來(lái)指示這種情況。只要至少有一個(gè)用于定義的數(shù)據(jù)傳輸塊長(zhǎng)度的接收緩沖區(qū)變?yōu)榭臻e,卡就停止拉下DAT0線。該信令不提供任何關(guān)于主機(jī)應(yīng)該輪詢的數(shù)據(jù)寫狀態(tài)的信息。
多塊寫入
在多塊寫模式下,卡期望數(shù)據(jù)塊按照主機(jī)的初始寫命令連續(xù)流。
在單塊寫入的情況下,數(shù)據(jù)的后綴是CRC校驗(yàn)位,以允許卡檢查傳輸錯(cuò)誤。卡將CRC檢查結(jié)果作為CRC狀態(tài)令牌在DAT0線路上發(fā)回。在傳輸錯(cuò)誤的情況下,卡發(fā)送一個(gè)負(fù)CRC狀態(tài)('101')。在非錯(cuò)誤傳輸?shù)那闆r下,卡發(fā)送一個(gè)正CRC狀態(tài)('010')并開(kāi)始數(shù)據(jù)編程過(guò)程,當(dāng)flash編程發(fā)生錯(cuò)誤時(shí),卡將忽略所有進(jìn)一步的數(shù)據(jù)塊,在這種情況下,不會(huì)向主機(jī)發(fā)送CRC響應(yīng),因此總線上不會(huì)有CRC起始位,三個(gè)CRC狀態(tài)位讀為('111');
數(shù)據(jù)流由停止傳輸命令(CMD12)終止。帶卡忙信號(hào)和不帶卡忙信號(hào)的數(shù)據(jù)塊時(shí)序如下圖所示。

停止傳輸命令的工作原理與讀取模式類似。下方圖描述了不同卡狀態(tài)下stop命令的執(zhí)行時(shí)間。

只有當(dāng)塊的CRC數(shù)據(jù)被驗(yàn)證并且CRC狀態(tài)令牌發(fā)送回主機(jī)時(shí),卡才會(huì)將數(shù)據(jù)塊視為成功接收并準(zhǔn)備好編程。下方圖2是一個(gè)試圖傳輸CRC狀態(tài)塊被中斷(被主機(jī)停止命令)的例子。該序列與所有其他停止傳輸示例相同。在數(shù)據(jù)線上,主機(jī)命令的結(jié)束位后面跟著一個(gè)數(shù)據(jù)位,然后開(kāi)始忙信令。在這種情況下,沒(méi)有用于切換總線方向的Z時(shí)鐘,因?yàn)榭偩€方向已經(jīng)指向主機(jī)。在這種情況下,接收到的數(shù)據(jù)塊被認(rèn)為是不完整的,不會(huì)被編程。

前面的所有示例都處理了主機(jī)在非活動(dòng)數(shù)據(jù)傳輸期間停止數(shù)據(jù)傳輸?shù)膱?chǎng)景。下面兩個(gè)圖描述了接收數(shù)據(jù)塊之間的停止傳輸?shù)膱?chǎng)景。在第一個(gè)示例中,卡忙于對(duì)最后一個(gè)塊進(jìn)行編程,而在第二個(gè)示例中,卡是空閑的。然而,在輸入緩沖區(qū)中仍然有未編程的數(shù)據(jù)塊。一旦收到停止傳輸命令并且卡激活忙音信號(hào),這些塊就被編程。

R1b時(shí)序在R1b命令操作期間,卡可能發(fā)出“busy”(通過(guò)將數(shù)據(jù)線拉低)的信號(hào)。busl事務(wù)定時(shí)如上圖所示(非Nse指定)。在非UHS-I模式下,R1b忙線在命令結(jié)束位后2個(gè)時(shí)鐘啟動(dòng)。在UHS-Il模式下,從命令結(jié)束位開(kāi)始2到4個(gè)時(shí)鐘后啟動(dòng)R1b忙。
重新選擇忙卡當(dāng)當(dāng)前處于斷開(kāi)狀態(tài)的忙卡被重新選中時(shí),它將在數(shù)據(jù)線上恢復(fù)其忙信令。重選卡的總線時(shí)序如上圖所示(非Nse指定)。l在非UHS-I模式下,所選卡從CMD7結(jié)束位開(kāi)始指示忙2個(gè)時(shí)鐘。在UHS-I模式下,從CMD7的結(jié)束位開(kāi)始,所選卡開(kāi)始指示忙2到4時(shí)鐘。
審核編輯 黃宇
-
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4797瀏覽量
90079 -
數(shù)據(jù)線
+關(guān)注
關(guān)注
8文章
315瀏覽量
54208 -
SD NAND
+關(guān)注
關(guān)注
0文章
114瀏覽量
1831
發(fā)布評(píng)論請(qǐng)先 登錄
瀚海微SD NAND飛線焊接與SMT貼片焊接的差異及對(duì)軟件工作的影響
從NOR Flash 到 NAND Flash 和SD NAND,從底層結(jié)構(gòu)到應(yīng)用差異
ESP32 驅(qū)動(dòng)瀚海微SD NAND 完整方案 + FAT/FAT32 驅(qū)動(dòng)核心區(qū)別
SD卡讀寫均衡失效問(wèn)題分析
從NOR Flash到NAND Flash和SD NAND,從底層結(jié)構(gòu)到應(yīng)用差異
瀚海微SD NAND/TF卡數(shù)據(jù)損壞與校驗(yàn)錯(cuò)誤(含CRC錯(cuò)誤、數(shù)據(jù)比對(duì)失?。﹩?wèn)題解析
解決SD NAND CRC校驗(yàn)失敗的綜合指南:瀚海微存儲(chǔ)產(chǎn)品的可靠性保障
瀚海微SD NAND TF卡硬件識(shí)別與初始化類問(wèn)題探討
瀚海微SD NAND/TF卡數(shù)據(jù)讀寫超時(shí)(Data Transfer Timeout)問(wèn)題深度解析
解鎖存儲(chǔ)密碼:SD NAND、TF卡、SD卡的應(yīng)用全景
瀚海微SD NAND/TF卡:賦能全場(chǎng)景數(shù)據(jù)存儲(chǔ),定義高效安全新基準(zhǔn)
瀚海微SD NAND/TF卡——數(shù)據(jù)世界的全能搭檔
CS創(chuàng)世SD NAND在北京君正平臺(tái)和瑞芯微RK平臺(tái)的應(yīng)用
NAND Flash與SD NAND的存儲(chǔ)扇區(qū)架構(gòu)差異
瀚海微SD NAND存儲(chǔ)功能描述(21)數(shù)據(jù)讀寫
評(píng)論