マイクロテクニカ製品サポートFAQ
[一覧] [1つ前に戻る] [マニュアル及び各種ダウンロードページへ]
MSUH-50, MSC-MOD70でのSDカードのライトプロテクションスイッチの扱いについて
SDカードのライトプロテクションスイッチ(以下WPと記載)は、内部のコントローラ等に接続されておらず単にスライドするプラスチックスイッチの位置が移動するだけで、そのスイッチの位置をSDカードスロットが判別してWPが解除位置にあるのか、ロック位置にあるのかを判定しています。

MSUH-50、MSC-MOD70では本CPU側でWPのロック・解除はJコマンドの実行時以外には判定しておりません。
例えば、SDカードのWPスイッチが「ロック位置にあっても」初期化コマンド(I)や、ファイルのOpen(O)、ファイルのライト(W)などは可能です。

ロックされているか解除されているかの確認はお客様側のシステムで判定して頂いております。
確認方法は2つあり、1つはソフトウエア的に確認する方法、もう1つはハードウエア的に確認する方法があります。

■1.ソフトウエア的に確認する方法
"J"コマンドで、SDカードのWPスイッチがロック位置にあるかどうかを判定できます。
"J"コマンドではマニュアルに記載の通り次のような戻り値がSDカードの状態によって戻ります。

●MSC-MOD70の場合
-カードなし: $00
-解除状態カードあり: $01
-ロック状態カードあり:$03

●MSUH-50の場合
8ビット長のビットフィールドになっています。
上位ビット7〜ビット2まではUSBメモリーの状態を示すビットで、下位のビット1及びビット0がSDカードに関するビットです。

ビット0: SDカードの有無 (0:カードなし、1:カードあり)
ビット1: ライトプロテクトの位置(0:ロック解除(W/R)、1:ロックあり(R only))

WPによって制御が必要なアプリケーションでは最初にJコマンドを発行して頂き、戻り値を確認してロック状態に応じて処理を分岐して頂くよう設計をして頂けますようお願い致します。

■2.ハードウエア的に確認する方法
ボードに採用されているSDカードスロットにはWP検出ピンがあり、ロック状態でHレベルに、解除状態でLレベルになります。このピンの電圧値をお客様のシステム側で見ることでロック状態を判定できます。

SDカードスロットのWP検出ピンは下記の写真の通り1ピンになります。
http://www.microtechnica.tv/support/document/sdslot_wp.jpg

このピンがHレベル(3.3V程度)の時はロックされている状態、
このピンがLレベルの時はロックされていない状態です。

【補足】
将来のALFATファームウエアアップデートで、WPピンの状態によってファイル関係のコマンドを自動的に拒否するようにするよう開発が行われています。
オリジナル - FAQみたいです - 猫でいいです