posted by rerofumi
2008/5/27 火曜日 23:12:26
まずはI2CシリアルROMにデータを書き込む必要がある。
そのためにPSoCマイコンとPCをシリアルで繋ぎ、PCから流し込んだデータをPSoCのI2C経由でシリアルEEPROMに書き込むという作業を行う。
今回書き込むのは音声データなのだけれども、8bit 8khz モノラルと規定しておく。
8khzのwav形式データを作成して、RIFFフォーマットからDATAチャンクのみを取り出す。つまり音声データだけ取り出して、その他情報は捨てたいわけなのです。
そのために適当にDATAチャンクを取り出す使い捨てコードを作成。
Cのソースコード: wavsprit.c
これを使ったりしてあらかじめデータを用意しておく。
回路図はこんな感じ。
PCからの一方通行でデータを流し込めば良いので RX だけ接続してある。
LCDモジュールは別段必要でもないのだけれども、書き込んだデータ量を確認するためにアドレスを表示させている。
シリアルはゆっくり目の 4800bps で接続、これ以上早くするとEEPROM書き込みが間に合わなくてデータ欠落が起こるみたい。
ソースコード: i2crom_writer.zip
先日秋月でPSoCのCコンパイラを購入したので、今回からC言語で作成している。ご了承あれ。
アセンブラも楽しいけど、短時間でぱぱっと組みたいときC言語が使えるとやっぱ便利だわ。
Leave a Reply