H8-3694でSDカードの読み取り実験


全てはVS1053bへの布石・・・

昔のことなんて覚えてないのでログ引用(←
使用ボードは、AKI-H8/3694


09/04/07[tue]

 やっと進展したよ(やってなかっただけだけど)
 SDカードの読み取りに成功しましたb
 
 H8のSCI使ってのSPI通信がどうしてもできなかったので(信号が出ない。設定ミス?)
 IO制御でSPI通信実装してみたらうまくSDからのレスポンスを確認できた!
 
 CMD0で初期化ができてCMD1でSPI移行時にうまくいかなかったがCMD1にもCRCが必要と分かって原因判明
 CMD16でブロック長設定して、CMD17でSDカードのMBRのダンプに成功したZE☆
 
 ここまでくれば、もうSDは完全制御下においたも同じもの!
 あとは、FATのファイルシステムの取り扱いさえどうにかすればイィィィィィィィィヤッッホホゥゥゥゥゥゥゥゥゥやねw
 
 
 一通り落ち着いたら、SCI機能で出来るように通信部を書き直してみよう…
 秋月LCDは変換基盤ができてないのでまだ先になりそう


09/04/11[fry]
 SDが不調です…
 
 セクタのダンプは問題ないんですが
 ルートディレクトリ、ファイル情報の格納場所が見つけれません…
 
 FATのファイルシステムとか資料は十分にあるのですが
 全然目的のデータが見えないです
 
 とりあえず今日の進展は、BPBのからのアドレス表示は論理セクタであること
 つまり、BPBが論理セクタ0としてのアドレス、相対的にセクタ番地情報が載ってるみたいです
 それで、FAT領域らしきデータ郡は確認できたのは良いんですが、目標のルートディレクトリが見えないorz
 
 マイコンで読み取る以上、一気にダンプ出来ないのが難点です
 (SDは一度の読み取りで、セクタ単位で読みよります
  1セクタは512byteなのでダンプしようものなら最低512byte必要です
  PCの観点なら小さすぎるものですが、マイコンの観点だと
  H8/3694のRAMは2kbyteしかないので1セクタ読み取るのでも結構容量食ったりします)
 
 SDの通信にSCIは使ってないので、USBデバイスとしてPCと通信し、ファイルに保存するようにも出来ないことも無いですが…ぬ~ん
 あるいはCOMポートの通信。MFCとか適当にシリアル通信からデータ読み取ってテキストファイル化するようなプログラム作るとか…?
 まず、通信データの読み取りがワカンネw


09/04/12[sat]
 あ、いけた
 
 FAT32のフォーマットは諦めて、
 FAT16にしてから色々弄ってたらなんかいけたwww

 あとはファイル情報の管理等々か・・・
 なんか面倒だな・・・w

 さて、SDは一通り落ち着きそうなので
 これでやっとこさやっと、VS1053bに手を付けれる訳だ




【まとめ】
 SPIは使ってない、IOで制御

 ・先頭セクタを取得してターミナルにダンプするプログラム(´・ω・)つ
 ・↑のやつに、セクタを指定して取得できるようにしたもの(´・ω・)つ
 ・ルートディレクトリが読めた時点のソース(´・ω・)つ

【注意】
 ソース整理してないのでごっつい汚いです
 「これで動く」というものではなく、こんな感じで"一応"動くというもので、参考程度にしていただければと思います
 過去の遺物なので色々効率悪いですし、読みにくいかもしれませんが、それでもいい!って方だけご利用ください。

 あと、今後はちゃんとSCI使ってやる・・・予定。