數(shù)據(jù)讀取
注:數(shù)據(jù)線表示數(shù)據(jù)總線(1位或4位)。
單塊讀取
主機選擇一張卡進(jìn)行CMD7的數(shù)據(jù)讀取操作,并設(shè)置CMD16面向塊的數(shù)據(jù)傳輸?shù)挠行K長度。讀操作的基本總線時序如下圖所示。該序列從單個塊讀取命令(CMD17)開始,該命令在參數(shù)字段中指定起始地址。響應(yīng)像往常一樣在CMD行上發(fā)送。
卡的數(shù)據(jù)傳輸開始于從讀命令結(jié)束位開始的訪問延時Nac之后。在最后一個數(shù)據(jù)位之后,CRC校驗位的后綴允許主機檢查傳輸錯誤。
多塊讀取
在多塊讀取模式下,卡按照主機的初始讀取命令發(fā)送連續(xù)的數(shù)據(jù)塊流。數(shù)據(jù)流由停止傳輸命令(CMD12)終止。數(shù)據(jù)塊的時序如下圖1所示,停止命令的響應(yīng)如下圖2所示。在stop命令結(jié)束位之后,數(shù)據(jù)傳輸將停止兩個時鐘周期。
數(shù)據(jù)寫入
單塊寫入主機選擇一張卡進(jìn)行CMD7的數(shù)據(jù)寫操作。主機設(shè)置CMD16面向塊的數(shù)據(jù)傳輸?shù)挠行K長度。寫操作的基本總線時序如下圖所示。該序列從單個塊寫命令(CMD24)開始,該命令(在參數(shù)字段中)確定起始地址。它像往常一樣由CMD行上的卡響應(yīng)。收到卡片響應(yīng)后,從主機開始的數(shù)據(jù)傳輸開始NwR時鐘周期。
數(shù)據(jù)的后綴是CRC校驗位,允許卡檢查傳輸錯誤??▽RC檢查結(jié)果作為CRC狀態(tài)令牌在DATo線路上發(fā)回。在傳輸錯誤的情況下,卡發(fā)送一個負(fù)CRC狀態(tài)('101')。在無錯誤傳輸?shù)那闆r下,卡發(fā)送一個正的CRC狀態(tài)(010)并開始數(shù)據(jù)編程過程。當(dāng)發(fā)生flash編程錯誤時,卡將忽略所有進(jìn)一步的數(shù)據(jù)塊。在這種情況下,不會向主機發(fā)送CRC響應(yīng),因此總線上不會有CRC起始位,并且三個CRC狀態(tài)位將讀取('111')。下一個命令的響應(yīng)中顯示CRC Status后出現(xiàn)錯誤。
注意,CRC響應(yīng)輸出總是在數(shù)據(jù)結(jié)束后的兩個時鐘。如果卡沒有空閑的數(shù)據(jù)接收緩沖區(qū),卡通過將數(shù)據(jù)線拉到LOW來指示這種情況。只要至少有一個用于定義的數(shù)據(jù)傳輸塊長度的接收緩沖區(qū)變?yōu)榭臻e,卡就停止拉下DAT0線。該信令不提供任何關(guān)于主機應(yīng)該輪詢的數(shù)據(jù)寫狀態(tài)的信息。
多塊寫入
在多塊寫模式下,卡期望數(shù)據(jù)塊按照主機的初始寫命令連續(xù)流。
在單塊寫入的情況下,數(shù)據(jù)的后綴是CRC校驗位,以允許卡檢查傳輸錯誤??▽RC檢查結(jié)果作為CRC狀態(tài)令牌在DAT0線路上發(fā)回。在傳輸錯誤的情況下,卡發(fā)送一個負(fù)CRC狀態(tài)('101')。在非錯誤傳輸?shù)那闆r下,卡發(fā)送一個正CRC狀態(tài)('010')并開始數(shù)據(jù)編程過程,當(dāng)flash編程發(fā)生錯誤時,卡將忽略所有進(jìn)一步的數(shù)據(jù)塊,在這種情況下,不會向主機發(fā)送CRC響應(yīng),因此總線上不會有CRC起始位,三個CRC狀態(tài)位讀為('111');
數(shù)據(jù)流由停止傳輸命令(CMD12)終止。帶卡忙信號和不帶卡忙信號的數(shù)據(jù)塊時序如下圖所示。
停止傳輸命令的工作原理與讀取模式類似。下方圖描述了不同卡狀態(tài)下stop命令的執(zhí)行時間。
只有當(dāng)塊的CRC數(shù)據(jù)被驗證并且CRC狀態(tài)令牌發(fā)送回主機時,卡才會將數(shù)據(jù)塊視為成功接收并準(zhǔn)備好編程。下方圖2是一個試圖傳輸CRC狀態(tài)塊被中斷(被主機停止命令)的例子。該序列與所有其他停止傳輸示例相同。在數(shù)據(jù)線上,主機命令的結(jié)束位后面跟著一個數(shù)據(jù)位,然后開始忙信令。在這種情況下,沒有用于切換總線方向的Z時鐘,因為總線方向已經(jīng)指向主機。在這種情況下,接收到的數(shù)據(jù)塊被認(rèn)為是不完整的,不會被編程。
前面的所有示例都處理了主機在非活動數(shù)據(jù)傳輸期間停止數(shù)據(jù)傳輸?shù)膱鼍?。下面兩個圖描述了接收數(shù)據(jù)塊之間的停止傳輸?shù)膱鼍?。在第一個示例中,卡忙于對最后一個塊進(jìn)行編程,而在第二個示例中,卡是空閑的。然而,在輸入緩沖區(qū)中仍然有未編程的數(shù)據(jù)塊。一旦收到停止傳輸命令并且卡激活忙音信號,這些塊就被編程。
R1b時序在R1b命令操作期間,卡可能發(fā)出“busy”(通過將數(shù)據(jù)線拉低)的信號。busl事務(wù)定時如上圖所示(非Nse指定)。在非UHS-I模式下,R1b忙線在命令結(jié)束位后2個時鐘啟動。在UHS-Il模式下,從命令結(jié)束位開始2到4個時鐘后啟動R1b忙。
重新選擇忙卡當(dāng)當(dāng)前處于斷開狀態(tài)的忙卡被重新選中時,它將在數(shù)據(jù)線上恢復(fù)其忙信令。重選卡的總線時序如上圖所示(非Nse指定)。l在非UHS-I模式下,所選卡從CMD7結(jié)束位開始指示忙2個時鐘。在UHS-I模式下,從CMD7的結(jié)束位開始,所選卡開始指示忙2到4時鐘。
審核編輯 黃宇
-
存儲
+關(guān)注
關(guān)注
13文章
4469瀏覽量
86915 -
數(shù)據(jù)線
+關(guān)注
關(guān)注
8文章
291瀏覽量
38534 -
SD NAND
+關(guān)注
關(guān)注
0文章
86瀏覽量
1409
發(fā)布評論請先 登錄
相關(guān)推薦
Nand flash 和SD卡(SD NAND)存儲扇區(qū)分配表異同
國產(chǎn)安路FPGA SD NAND FLASH 初步描述
瀚海微SD NAND存儲功能描述(28)RCA Registers

瀚海微SD NAND存儲功能描述(26)CSD Registers

瀚海微SD NAND存儲功能描述(25)SD Registers

瀚海微SD NAND存儲功能描述(22)Timing Values

瀚海微SD NAND存儲功能描述(18)命令類e

瀚海微SD NAND存儲功能描述(14)命令類a

瀚海微SD NAND存儲功能描述(13)讀寫擦除超時

瀚海微SD NAND存儲功能描述(11)命令系統(tǒng)CMD8

瀚海微SD NAND存儲功能描述(9)切換功能

瀚海微SD NAND應(yīng)用存儲功能描述(6)讀寫數(shù)據(jù)

瀚海微SD NAND應(yīng)用之SD協(xié)議存儲功能描述2 初始化命令

評論