FatFs

車載外部ストレージ

【FileSystem】車載外部ストレージ その13【SDカード⑨】

SDモード通信のNo data Operationを説明。 ノーレスポンスのパターンが割と重要。 ACMD41でSD、MMC判定。 CMD8でSDSC、SDHC以降判定。 SDの仕様が増えるたびに今後増えていくかも。 ノーレスポンス判定タイムアウトは1秒。
車載外部ストレージ

【FileSystem】車載外部ストレージ その12【SDカード⑧】

SDモード通信について確認。 SPIと同じく同期シリアル通信に該当する。 ただし、command/responseはCMDライン、read/writeはDATライン DATラインは最大4bitのラインとなる。 SDモードはデフォルトでDAQ0だけを使う1bitモードなので、commandで4bitモードに切り替える必要がある。
車載外部ストレージ

【FileSystem】車載外部ストレージ その11【SDカード⑦】

SDカードの(Multiple) Block Read Operation(SPIモード)の説明。 Start Block token、Stop Tran tokenというものがある。 Single Block、Multi Blockで各tokenが異なる。 CMD25(WRITE_MULTIPLE_BLOCK)の方が効率的だが、書き込みBlock数が少ない場合はcommand発行回数の都合でCMD24(WRITE_BLOCK)の方が効率的になることがある。
車載外部ストレージ

【FileSystem】車載外部ストレージ その10【SDカード⑥】

SDカードの(Multiple) Block Read Operation(SPIモード)について説明。 response後にdata blockが従属する。 エラー時はresponse後にdata error tokenが従属する。 data error tokenは読み出しならではのエラーパターンが記載されている。
車載外部ストレージ

【FileSystem】車載外部ストレージ その9【SDカード⑤】

SDカードの通信の種類は大きく3種類。 No data Operationはcommandとresponseだけで成り立つもの。 responseパターンはR1,R1b,R2,R3,R7の5種類。 R1bがbusy付きresponse。 busyはresponseの直後に0値出力が続いている間。
車載外部ストレージ

【FileSystem】車載外部ストレージ その8【SDカード④】

SDカードのピン配置説明。 SPIモード時のピンアサイン説明。 SDモード時のピンアサイン説明。 1番ピンのモード変更及びCardDetecctフローを説明。 LowにしたりHZにしたり、コマンド投げて内部プルアップ解除と大忙し。
車載外部ストレージ

【FileSystem】車載外部ストレージ その7【SDカード③】

SPI通信についての説明をした。SCLKの立ち上がりでサンプリング。 よって、同期シリアルと呼ばれる。 SlaveがわはSSの立下りで処理の準備をしている場合があるので、Lowのままにせず一旦Highにしておいた方が安全。 SDのSPIモードとSDモードではコマンド仕様はほぼ一緒。
車載外部ストレージ

【FileSystem】車載外部ストレージ その6【SDカード②】

SDカードのインターフェース仕様は2種類。 SPIモード。 SDモード。 SPIはSCK、MISO、MOSI、SSの4種の信号線を使う。 SSはLowアクティブ。 LowアクティブはTTL時代のオープンコレクタのHigh、HZの区別が付きにくい時代の名残。 調歩同期は装置間通信、同期シリアルは装置内通信で使われる。 同期シリアルの方が圧倒的通信速度が速い。
車載外部ストレージ

【FileSystem】車載外部ストレージ その5【SDカード①】

SDカードの超概要説明。 SDカードの仕様はSDAが策定している。仕様書の一部は無償で入手可能。 すべての仕様を入手するにはSDAへの加盟が必要。 SDカードは4種類。容量が違う。 利用できるインターフェース仕様と適用すべきファイルシステム異なる。
車載外部ストレージ

【FileSystem】車載外部ストレージ その4【不揮発性メモリ②】

NAND-FlashROMの凶悪な一面を垣間見た。 消去単位が128~256[Kbyte]。 同等のRAMを割り当てできないとまともに制御できない。 SDカードの中身はNAND-FlashROM。 しかし、NAND-FlashROMの凶悪な一面はうまく隠されている。