10/12/20[mon] 学位授与試験は終わったが・・・・

 そんなに甘くは無かった

 「よっしゃぁ,終わった終わった.あとは授業の課題を消化しつつ,そらん氏の委託業務をこなすだけやな」
 と,思ってた矢先
 電話「Trrrrrrrr........」
 !?
 この電話が第一章の始まりで,これまでが序章に過ぎなかったことを告げる...
 研究担当教員の呼び出し.内容は”進学先の研究担当予定教員から学会発表に出てくれ”という内容
 で,学会の主催要項?を渡された.

 講演申込締切(予定)2011年1月21日

 (゜д゜;)

 開催期間は5/26~28て

 で,ここまで書いてなんだが,この調子で書くと面倒そうなので(←
 学位授与試験を終えてから,新たに増えたことを纏め上げると,
 ・ さっきの学会発表のアブストラクトを作る
 ・ 卒業までに,後輩に部活におけるソフト(C言語・他)を伝授,もとい教える
 ・ H8Sの実験回路作成(回路図,パターン図,機能テストプログラム)
 ・ 卒論のために研究をもう一歩進める(サーボモーター制御,取り付け周辺部品作成,プログラム作成)
 
 因みに,上記他でやるべきことは,
 ・ 各授業課題(故障物理(課題),物理学特論(レポート課題*3),並列計算法(課題プログラム作成・実験・発表),電気電子演習(PSpiceシミュレーション回路作成),電気電子演習(電磁気か何かのローレンツ収縮とかそんなソフトの作成,レポート),国際社会の中の日本(レポート)
 ・ そらん氏のソフトウェア業務委託
 ・ 進学先での家探し,契約
 ・ 学年末定期試験
 ・ 卒論 & 発表

 (゜д゜;)

 

 俺は,のんびりとマイコンと戯れていたいんだぁぁぁぁ!



10/12/19[sun] 試験は終わったけど,せっかく大阪に来たので
【音ゲー】
心斎橋 - ラウンドワン
 水飴氏と共にポップンの新筐体があるらしい心斎橋のラウンドワンへ
 1クレ200円ですか・・・流石にそうだよね
 ポップンは1クレだけやって,リフレクビートなる新しい音ゲーなるものがあったので対戦でやってみた

 ・・・・.

 3曲とも負けたw

 調子乗って最初からLv4とか最後やからLv6とか(ry

 DDRはジョイントプレミアム付いてたので二人で100円づつだして2回
 「Extraいくぞー」って張り切ったものの,1曲目AA出せたけど,2曲目,3曲目はA,4曲目は諦めたw
 全曲平均AAって無理やろwww

 2クレ目,
 Sakura Stormの鬼があったのでやってみた,地味に難かったw
 ラスト4曲目で,「え?やんの?wwwwやんのか?wwww」ってノリでFaXX激やってみた
 バーがあるアーケードならっ・・・・
 
 ・・・・・できました
 (左:水飴 右:麦粉)
 後半ボロボロwwでもあの密集地帯をどうにか出来るかでスコアも大きく変わるかなぁ

 

 こんなんだからいつまでたってもAA取れないんだよ!!wwwww
 仕方ないね,クリアラーで満足してるもん



10/12/03[fri] 学位授与試験対策は大丈夫か?

 さて、SDカードと通信するために初期化の手順へ
 以前作ったI/Oで試みたソースをもとにSCI通信仕様に書き換え
 勿論、コマンド類はMSBからLSBに反転

 と、CMD0のリセットは出来るものの、CMD1のレスポンスが0x05となんか変・・・
 レスポンス内容的には「コマンドが変」?ってことなんだが・・・
 錯誤しながら、前のソースを見直してみると、コマンド処理の後に、1バイトの「ダミークロック」を送っていた
 そういえばそうだった。
 なんか、同期がズレるとかなんとか
 そしたら難なく出来て次はセクタの読み込み

 MBRの読み込みは成功?
 受信データが何か変やなぁと思ってたらバイト反転してるの忘れてたwww
 アドレス計算とかするときには反転してからでないと出来ないので、結局、バイト反転の関数を作ることに・・・
 でも受信データ全部反転してたら、無駄に遅くなるので、必要なところだけ

 で、いけったっぽい・・・・んやけど、BPBっぽいデータに辿りつけない・・・
 MBRからBPBのセクタ値を参照して、バイト反転して、0x200(512)を掛けてセクタを算出
 その値でCMD17でーと思ったら、CMD17で読もうとするときにまた反転せなあかんのやったwww面倒いなぁ・・・
 それでやってみたもののBPBのあるところにあるはずのファイルシステムの情報が無い・・・
 MBRの fileSystemDescriptorの値が0x0eとか・・・・
 SDカードフォーマットしても駄目
 試しに別のSDカード使ってみたらいけたw

 ちょっと調べてみたら
  >>「AT32は無視するとしても、この0x0eが曲者です。実は、Windows XPなどで容量の小さなSDカードをフォーマットすると、実際にはFAT12でフォーマットされているにもかかわらず、fileSystemDescriptorは0x0eになります。そのため、実際にはこのフィールドだけではFATの厳密な種類を判別できません。」

 (゜д゜;)

 なん・・・・だと・・・・
 読み込み試験に使ってるSDは秋月で100円で買った8MのSDだった・・・・
 なるほど。そういうことか

 あとはファイルを読み出すだけなんだが、前回のは使い回しが良いようにってほど作りこんでないので、ここで纏め上げなければならない
 しかも、クラスタとか気にしてなかったが、今回はちゃんと考慮しなければならない・・・
 音楽を鳴らすまではもう少し時間かかるかな・・・


【参考文献】
 FAT FS フォーマットの実装についての覚え書き/(KabaVM System)
 SDカードドライバの設計(2)/(Resilient Mind)



10/12/02[thu] SDカード通信試験再び

 DREQが上がってこない原因はクリスタル付近だった(ぁ
 コンデンサが12pFであるべきところを0.1uFを付けていた・・・
 つまり発振してなくて動作して無かったと

 でもってVS1053bとの通信試験にsin波出力テストを試みるも動かない・・・
 なんでや~といいつうH8/3694のハードウェアマニュアルを見てみると,
  >>「通信データの1 キャラクタは、LSB から始まる8 ビットデータで構成されます。(ry」
 (゜д゜;)
 つまり,1バイトのデータを送る際,3694は1ビット目から送るのに対し,VS1053は8ビット目から受け取るようになってる.
 このままだと「そこのデータを5にセットしてくれ」と言ったつもりが,「れくてしトッセに5をターデのこそ」って伝わる感じw
 ・・・なんか余計分かりにくいなw

 だったら,3694からはMSBで送ってやればいいんじゃないか,
 と,思っているあなた!
 ってなノリで3694をはじめ,300HTinyにはMSBから送れるようにするためのレジスタが無い!
 つまり無理だ

 まぁ幸いながら,送るべきコマンドは限られているので,
 無理やりにでもデータのビット列を反転させたのを定義しておてハードコーディングで済ませるのもアリかなぁと
 いやまぁ,反転させる関数を作るのも手なんですが,マイコンという限られたリソースを余分に使いたくないと思いまして.

 そんなやり方でとりあえず,VS1053bのレジスタのリードコマンドで,期待されるデータっぽいのが帰ってきたので,とりあえずは成功したのかな?
 でも,レジスタ0のデフォルトの返答が「0x0800」のはずなんだけど,「0x4800」が帰ってくる件
 (MSBをLSBで読んでるのでテスト表示とは違うが一応記述はデータシート準拠)
 マイク/ライン1選択のビットが1になってる・・・
 まぁ,他のアドレス(0x1)とか見てもVS1053からの返答は正しいっぽいのでいいか.

と,アドレス0の9ビット目の項目をみつけてしまった.
  >>「9 SM_SDIORD SDIビット順 0:MSbファースト 1:LSBbファースト」
 !?
 lこんな項目があったのか!と浮かれてる間に騙された・・・
 しばらくうまくいかず,データシートを見てて,
  >>「SM_SDIORDが"0"のとき,SDI上のデータはMSbファーストとみなされます.SM_SDIORDを"1"にすると,SDIデータのビットの並びを逆,すなわちビット0が最初でビット7が最後となる順番にできます.ただしバイトの並びは変わりません.またこの設定は
SCIバスには影響を与えません.」

 (゜д゜;)

 

 無駄に時間食ってしまった・・・
 ということで,反転ビットを定義するのは仕方なく妥協して,
 気を取り直して,sin波出力テストを試したら鳴った!

 やったよ~.やっと第一歩だよ~.

 続いて,SDカードの読み取り試験.
 前回,やったのはI/Oパタパタでの実装なので賞味使えない(ぁ
 でも,両方SCI使って受け渡しするより,片方I/Oで受け取って,SCIで渡したほうが効率良いんかなぁ?・・・
 まぁ,もう回路作っちゃったからいいやw

 SDカードをSPI,もといクロック同期式SCIで通信するのを再度試みるにあたって気づいたこと
 SDカードもMSBだよ (´д`;)
 どうせ,ここでビット反転したデータ受け取るなら,VS1053に送るときもそのままでいいよな・・・って
 反転設定いらなくなったよ

 仕方ないね,と思いつつコマンドテーブルを書き換えて,1バイト送信関数などをI/OパタパタからSCI用に変えて
 さて,初期化出来るか!?って試行するも・・・ダメー
 あ,ここでみのりんの例の画像ほしいな

 全然返答が来ないなーってやってて,ポチ氏が帰り際にSDカードの基盤部分チェックすると・・・
 「ああぁw繋がってないです」「ちょwwww」
 クロックの線が繋がってなかったとかw
 あ,因みに,テスト回路基盤のパターンは自分でやったけど,
 SDカード部分と加工補助はポチ氏にやってもらった(ここ重要)
 まぁミスはあるさ,仕方ないね

 で,試してみたら,普通に返答来たw

 さて,ここからSDカードの初期化を実装していくわけだが,時間的に今日はこの辺で終わりかな
 今日一日の大半をこれに費やしてしまったな・・・


【参考文献】
 VS1053b 日本語データシート私家版/(課後の電子工作)