MassStorageClass DEMOを動かす

最近工作ものばっかに手を取られて本業の二次裏メイド業が
おろそかになってる私。下描きでほったらかしているいないさんの絵が
早く仕上げてと訴えている。もうちょっと待っててね♥




さて本題、てDWM誌2008年5月号の付属基板と同梱のCDには
DFU経由でCQ-STARM基板に書き込みができるように
いくつかのデモがすぐに使えるようにとdfuファイル形式で
入っていました。しかし、紙面の説明がとても乏しく、そのとおりに
やっても動かない云々の意見と(その対策)が出ていたのは
みなさんご承知のとおりと思います。

この同梱されたdfuファイルというのはCQ-STARM向けではなく
STマイクロが提供する評価キットSTM3210B-EVAL/STM3210E-EVAL
向けのものです。

CQ-STARMはSTM3210B-EVALの回路構成を真似て設計されており、
STM3210B-EVAL向けのdfuデモファイル群も一応動くのですが、
その中でMassStorageClassの奴をそのまま使ってしまうと
ちょっとまずいことが起こります。

CQ-STARM上ではSDカードを挿入したときに必ずLになるポート
が出力になっており、ショートしてCPUおよびSDカードに
ダメージが行きます。どうなってるかはここ見てくださいね。
この件も私が見つけたわけではなく、去年すでに騒がれたこと
なのですが、忘れ去られた頃に新たにCQ-STARMに触る人がいる
かもしれないから書き残しておきます。


以下私が行ったわーくあらうんど。
●ソフトウエア
 初期のデモでは確かSTM3210B-EVAL上のLED4つが同時点灯するという
 コードのようでしたがV3.0.0/V3.0.1のデモコード見ると最小限のLEDのポートが
 出力になるようになってました。前回のコードはV3.0.0を適用してあるので
 そっちを使ってもらえればいいかなと思います。
 LEDの出力もCQ-STARMに合わせて変えてます。でも下のパタンカットは必須ですよ!

●ハードウエア
 STM3210B-EVALは本来MicroSD搭載なのでライトプロテクトと挿入検知は
 存在しない。だからここにつながるパタンいらないからカット!
 こんな感じで

ついでだから他の便利な改造も基板に施してますので紹介します。

●USBディスコネクト
 USBのデモにはRESETをかけるとUSBが切り離される"USBディスコネクト"
 のコードが含まれているのですが、CQ-STARMはハード的に駆動させるための回路
 が存在しません。したがってDFUで書いてはUSBケーブル抜きを繰り返す
 必要があり非常にめどいです。だからこの部分を追加。
 具体的な改造はこんな感じ。パタンカットもなくビアとポリイミド
 テープを駆使してなんなく達成。これでUSB-miniBコネクタが激しい抜き差しで
 ガバガバになるのを避けられます。


●加速度センサにコンデンサ追加
 加速度センサ周りに10uFのチップセラコンと1nFのチップセラコンを追加する。
 これは加速度センサの指示ですね。つうか本来はじっそうすべきなのですがなぜか
 この基板を設計した人はそれを無視して動作不安定になるような回路設計を
 してらっしゃいます。

 10uFのチップセラコンは+3.3V系以下の系では秋月のこれを愛用してます。
 こいつは2012サイズなのに大容量でかつ静電容量変化率も少ないので、
 セラミックコンデンサ対応のLDOとも相性バッチリです。
 
 1nFのチップセラコンは1608のをビアと近接のGNDパタンはがして実装。
 10uFの方は元の1uFは一旦どいてもらってポリイミドでガードした上
 に仲良く同居。こんな感じで



使ってみた感じですが、わたしの手持ちの256Mb,512MB,1GB,2GBはすべて
Windows上のディスクドライブとして認識、読み書きもできました。
残念ながらSDHCはファームウエアで対応しておらず認識できないようです。

Go to top of page