FatFs

車載外部ストレージ

【FileSystem】車載外部ストレージ その43【SD読み書きSPIモード③】

ACMD23(SET_WR_BLK_ERASE_COUNT)による消去ブロック数指定について説明。 ACMD23のリクエストパラメータはNumber of blocks。 指定しない場合のdefault値は"1"となる。 仕様書上は書き込み高速化が見込めるとあるが、実際はSDカード側の設計次第。
車載外部ストレージ

【FileSystem】車載外部ストレージ その42【SD読み書きSPIモード②】

CMD24(WRITE_BLOCK)による書き込みについて説明。 CMD24(WRITE_BLOCK)のリクエストパラメータは32bitのdata addressが付く。 1block512byteとすると2TBが上限。 CMD24(WRITE_BLOCK)のレスポンスはR1フォーマット。
車載外部ストレージ

【FileSystem】車載外部ストレージ その41【SD読み書きSPIモード①】

SDカードのSPIモード通信の読み書きの手順について説明。 詳細は以下の流れで説明予定。 Single Block Write処理。 Multi Block Write処理。 Single Block Read処理。 Multi Block Read処理。
車載外部ストレージ

【FileSystem】車載外部ストレージ その40【SD初期化㉓】

「CMD7(SELECT/DESELECT_CARD)によるTransfer State(tran)遷移」について説明。 CMD7にはSELECT_CARDとDESELECT_CARDがある。 Stand-by State(stby)とTransfer State(tran)の遷移に使う。 stbyの方が省電力の可能性あり。
車載外部ストレージ

【FileSystem】車載外部ストレージ その39【SD初期化㉒】

CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得の説明続き。 card status bitsはcard statusの一部を切り出したもの。 CMD3(SEND_RELATIVE_ADDR)として、card status内の無関係なエラーパターンを削除したものがcard status bitsになっている。
車載外部ストレージ

【FileSystem】車載外部ストレージ その38【SD初期化㉑】

「CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得」について説明。 CMD3(SEND_RELATIVE_ADDR)はパラメータ無しのコマンド。 レスポンスはR6フォーマット。 RCA(Relative Card Address)とcard status bitsを内包。
車載外部ストレージ

【FileSystem】車載外部ストレージ その37【SD初期化⑳】

CID(Card IDentification)の詳細の話の続き。 Product serial numberは32bit長のシリアルナンバー Manufacturing dateは12bit長のフィールド。 8bitで年、4bitで月を表現。
車載外部ストレージ

【FileSystem】車載外部ストレージ その36【SD初期化⑲】

CID(Card IDentification)の詳細の話の続き。 Product nameは最大8文字のASCIIコード。 "SD01G"のような文字列。 Product revisionはn.mを示す形でそれぞれ二進化十進数(BCD)で表記。 二進化十進数(BCD)は二進法の4桁で0から9を表現。
車載外部ストレージ

【FileSystem】車載外部ストレージ その35【SD初期化⑱】

CID(Card IDentification)の内訳説明。 ManufacturerIDは8bitの数値。(情報未開示) OEM/ApplicationIDは2文字のASCIIコード。(情報未開示) ManufacturerIDとOEM/ApplicationIDの取得はSD-3C,LLCにライセンスを付与してもらう必要がある。
車載外部ストレージ

【FileSystem】車載外部ストレージ その34【SD初期化⑰】

「CMD2(ALL_SEND_CID)によるCIDの取得」の説明。 CIDはCard IDentificationの略。 CMD2(ALL_SEND_CID)のレスポンスはR2レスポンスフォーマット。 CIDは128bitの6種類の情報を持つ。