在 DDR 模式下,Data Line 在時鐘的上升沿和下降沿都會傳輸數(shù)據(jù),其中上升沿傳輸數(shù)據(jù)的奇數(shù)字節(jié) (Byte 1,3,5 ...),下降沿則傳輸數(shù)據(jù)的偶數(shù)字節(jié)(Byte 2,4,6 ...)。
在 DDR 模式下,1 個 Data Line 上有兩個相互交織的 CRC16,上升沿的 CRC 比特組成 odd CRC16,下降沿的 CRC 比特組成 even CRC16。odd CRC16 用于校驗該 Data Line 上所有上升沿比特組成的數(shù)據(jù),even CRC16 則用于校驗該 Data Line 上所有下降沿比特組成的數(shù)據(jù)。
NOTE:
DDR 模式下使用兩個 CRC16 作為校驗,可能是為了更可靠的校驗,選用 CRC16 而非 CRC32 則可能是出于兼容性設(shè)計的考慮。
2.2.7 CRC Status Token
在寫數(shù)據(jù)傳輸中,eMMC Device 接收到 Host 發(fā)送的一個 Data Block 后,會進(jìn)行 CRC 校驗,如果校驗成功,eMMC 會在對應(yīng)的 Data Line 上向 Host 發(fā)回一個 Positive CRC status token (010),如果校驗失敗,則會在對應(yīng)的 Data Line 上發(fā)送一個 Negative CRC status token (101)。
NOTE:
讀數(shù)據(jù)時,Host 接收到 eMMC Device 發(fā)送的 Data Block 后,也會進(jìn)行 CRC 校驗,不管校驗成功或者失敗,都不會向 eMMC Device 發(fā)送 CRC Status Token。
詳細(xì)格式如下圖所示:
Positive CRC status token