Cente SD Card Driver for TDS701

最新更新日/2010.03.08:Ver1.10

製品概要

本製品を使用する際にはSDAへの加盟が必要です。

本製品はCente FileSystemのデバイスドライバとして動作可能なSDカードコントローラドライバです。

  • SDメモリカード専用のFATファイルシステム
  • SD Memory Card PHYSLICAL LAYER SPECIFICATION Version 2.00準拠
  • FAT12,16,32のフォーマット識別をサポート
  • SDメモリカード制御コマンドにフル対応
  • SD bus仕様に準拠(SPIbusでは本製品は不要)
  • カードバス幅の自動認識
  • 活線挿抜対応
  • DMAによる高速リード/ライトをサポート

対応MPU/SDホストコントローラ

製品はホストコントローラ毎に異なります。

for TDS701

TDS701:凸版印刷製

価格

価格:42万円/プロジェクト限定ライセンス

※本製品にはCente FileSystemを含んでおりませんのでご注意ください。

  • 表記の価格は、1プロジェクトライセンス、税込みの定価となります。
  • 他のライセンス形態につきましては、お問い合わせください。

 

改版履歴

2010.03.08:Ver1.10

・MMCカードに対応

MMCA 4.1規格に準拠したMMC(Multi Media Card)に対応しました。(1ビットモード及び最大周波数20MHzまで対応)

・SDCLK停止処理追加

unmount関数内でTDS701 SD Control Register“SDCLKOFFEN”bitを0に設定し、SDCLKを停止する処理を追加しました。

・SDカード挿入/抜去モジュールの移動

SDカード挿入/抜去モジュール部を、新たに追加したfs_TDS701_config.cファイル内に移動しました。

・TDS701関連ユーザーカスタマイズ定義の移動

fs_TDS701.hファイル内に定義されていたTDS701関連ユーザーカスタマイズ定義を、新たに追加した fs_TDS701_config.hファイル内に移動しました。

・ライトプロテクトフラグのセット/クリア処理追加

マウント処理時にライトプロテクト(書き込み保護スイッチ)の検出を行ない、ライトプロテクトフラグをセット/クリアする処理を追加しました。(上位の FileSystemのために必要な処理)

・write_sector関数、read_sector関数不具合修正

write_sector関数、read_sector関数について、SD_WriteBlock関数(またはSD_ReadBlock関数)からエラーを返された場合に、SD_Card_check関数の戻り値を返してしまっていたため、上位のFileSystemが誤動作する不具合を修正しました。

・SD_SendSCR関数、SD_SendSD_Status関数不具合修正

・マウント処理時のSD_SetBusWidth関数実行前にSD_SendSCR関数(SCRの取得)を実行しているが、そのデータアクセスが完了する前にSD_SetBusWidth関数の処理が行なわれ、コマンドの発行に失敗してしまうことがあったため、処理終了時にデータアクセス完了のチェック処理を追加しました。(SD_SendSD_Status関数の処理も同様)

・SD_Info2_check関数を使用した、TDS701内部バッファのリードイネーブルチェック部について、関数からの戻り値を変数に渡していないのにも関わらず、変数の値を返していたため修正しました。

・SD変換アダプタ挿入時の対応

miniSDカードなどのアダプタのみが挿入された場合(miniSDカード自体は取り外されている状態)の対応として、 SD_SendOpCond関数内のCMD55及びACMD41発行部のcontinue処理をreturn処理に変更し、即座にエラー終了するような形に改善しました。

・クロック設定後に74Clockウェイト処理

SDカードの規格上、SD_SetClk()による100KHz - 400KHz設定後に74clock分のウェイトを追加する必要があるため、1MSEC以上のウェイト処理を追加しました。

・R1レスポンスの有効ビット抽出

R1レスポンスに対して、各コマンドで定められている有効ビット(エラーステータス)のみを抽出し、評価を行うように変更しました。

・未使用のエラーコードをリザーブ化

fs_TDS701.hファイル内で定義されているエラーコードについて、ドライバ内で使用していないエラーコードについては、全て“#define SD_ERROR10  -10 /**< Reserved */”のようにリザーブ扱いに変更しました。

・Hardware Swapに対応

BigEndian環境でのDMA使用時にHardware側でSwapする機構を設けた場合、マクロ(#define SDC_HARDWARE_SWAP)の設定切り替えにより容易にHardware Swap環境への対応が可能なように改善を行ないました。

・リード/ライト時のタイムアウト変更

SD_Info2_check関数によるTDS701内部バッファのリード/ライトイネーブルチェック部に、SDカードの規格に定義されている時間のタイムアウトを設けるように変更しました。

・High Speed Modeに対応

CMD6発行によるHigh Speed Mode対応カードの検出及び、High Speed Modeへの切り替えが行なわれるように改善を行ないました。

・物理フォーマット機能を追加

MBR(Master Boot Record)、PBS(Partition Boot Sector)、FSINFO(FAT32のみ)、FAT、ROOTDIRECTORY領域の初期化を行なう物理フォーマット機能を追加しました。

・ウェイト処理削除

通常動作時(リード/ライト時)の動作クロック設定後に行っていたウェイト処理を削除しました。

・カード抜去によるループ処理の中断対応

タイムアウト分のループ処理が行なわれる箇所について、SD_Card_check関数によるカード挿抜状態のチェック処理を追加し、カードが抜かれた場合は即座にループから抜け、エラー終了するように改善を行ないました。

・永久ループ箇所のタイムアウト化

SD_SetClk関数内のTDS701 SD_INFO2 Register“CBSY”bitチェック部について、“CBSY”bitが1である限り永久にループしてしまう可能性があったため、タイムアウト処理を設けました。

・R7フォーマットのレスポンス取得対応

SD_GetResponses関数内にR7フォーマットが指定された場合の対応処理を追加し、CMD8発行時にR7フォーマットの指定が行なえるように改善を行ないました。

・独自のデータタイプに対応

変数に対するデータタイプ(型)として、独自に定義したデータタイプを使用するように変更しました。(fs_typedef.hファイル内に定義)

・定数のマクロ定義化

マクロが定義されていない定数についてマクロを定義し、そのマクロをドライバ内で参照するように変更しました。

・インクルードファイルの一元化

fs_TDS701.hファイル内で、ユーザーカスタマイズ定義部のヘッダファイルをまとめてインクルードするように変更しました。

・カード挿抜チェック周期ハンドラのタスク化

周期起動ハンドラに対応していないOSがあるため、カード挿抜チェックをタスクにより行う形に変更しました。

・関数名変更

my_wait関数の名前をsd_waitに変更、SDINFO1_INT_body関数の名前をSDINFO2_INT_bodyに変更しました。

・BSP環境変更

BSP環境を「SH7709Sリファレンス基板+SD-EVA-BOARD」上で動作する環境からCente評価ボード(ESPT/ESPT2 /ESPT-SH7673 + ESPT-SD)上で動作する環境に変更しました。

2008.12.26:Ver1.01

不具合修正

一部のSD カードがマウント出来ない不具合を修正

SDA Physical Layer Specification Version 2.00 の Standard Capacity に対応しました。

set_flgをiset_flgに修正

SDカードドライバ部の割り込みサービスルーチン(fs_sdc_dma_CompleteHandler、SDINFO1_INT_body)で使用しているctset_flg を ctiset_flg に修正しました。

2008.06.21:Ver1.00

1.00版リリース

正式リリース

2008.05.30:Ver1.00β

β版リリース

DMA対応、割込み対応、リトライ対応

2008.05.26:Ver1.00α

α版リリース

アルファプロジェクト製SH7709ボード上のTDS701(SDHC)用でリリース。


FATファイルシステムシリーズ


製品マニュアルのお問い合わせ

以下のフォームに必要事項を入力し、「内容確認へ」ボタンを押してください。

印の項目は入力必須です。

個人情報

確認のためもう一度入力してください
-
市区町村名 ※[例] 立川市
町名・番地 ※[例] 錦町1-6-6
建物名 ※[例] 岩崎錦町ビル6F

マニュアルのお問い合わせ内容
製品マニュアル「Cente SD Card Driver for TDS701」

※お問合せ/ご質問の内容についてできるだけ詳しくご記入下さい。
アンケート
Centeミドルウェアシリーズ
Centeハードウェアシリーズ
ミドルウェア統合開発キット
組込みアプリケーション開発プラットフォーム
お取引なし
なし
Centeミドルウェアシリーズ
Centeハードウェアシリーズ
ミドルウェア統合開発キット
組込みアプリケーション開発プラットフォーム
認証コード

見えている文字を入力してください。


  • μITRONはMicro Industrial The Realtime Operating System Nucleusの略称です。
  • Centeはデータテクノロジー株式会社の商標登録です。
  • ESPTはビー・ユー・ジー社製のネットワーク通信機能付き小型CPU基板です。
  • その他の製品名・ブランド名は各社の商標または登録商標です。
  • 記載の仕様・価格・概観等については、予告なく変更する場合があります。

このページのトップへ