3.4.16 ボイスレコーダの実験2
1.作成時期
2009/11/中旬〜2010/1/上旬 2.作成日数 4週間 3.実験,作成 1.部品,回路について 部品,マイコン回路について、A/D, D/A変換に高速処理が必要な為、セラロック20Mをセラロック40Mに変更しました。 尚、今回の実験で、A/D, D/A変換処理, 複数I2CポートでのEEPROMアクセスは実現できたのですが、EEPROMのデータ書き込み速度が低速な為、 ボイスデータのEEPROMへの直接書き込みは実現できませんでした。実現する為には、高速なSRAMに一旦ボイスデータを書き込んだ後、 SRAMのデータをEEPROMに書き込む等の対策が必要だと思います。 ○参考書籍 ・PICによるホーム・コントロール工作入門(CQ出版社) ![]() 2.マイコンプログラムについて マイコンプログラムは、2種類(No.1, No.2)作成しました。No.1マイコンプログラムは、A/D, D/A変換処理, 複数I2CポートでのEEPROMアクセス処理です。 モードキーを押すと100μsec周期でA/D変換を行い、D/A変換により、音声を出力します。又、SW1,SW3,SW11を押すと、I2Cポート(No.1〜No.3)に 接続したEEPROMに文字列を書き込み、SW2,SW4,SW12を押すと文字列を読み込んでLCDに表示します。特に問題なく動作します。 No2マイコンプログラムは、作成途中の500μsec周期A/D変換でのボイスレコーダ実験プログラムです。EEPROMアクセスが低速な為、非常に音が 悪くなるのですが、A/D変換速度を500μsec周期に落としました。しかし、それでも処理渋滞が頻繁に発生し、異常動作をして全く使えません。 I2Cの通信速度は、約100kbps(毎秒6400ワード)の為、1ワードデータの通信時間は、約160μsec(1/6400sec)になり、ボイスデータのEEPROMへの 直接書き込みは、遅すぎて無理な事がわかりました。EEPROMにボイスデータを書き込むには、高速なSRAMに一旦ボイスデータを書き込んだ後、 SRAMのデータをEEPROMに書き込む等の対策が必要だと思います。 尚、コンパイルについて、割り込みタイプの変更(クイック割り込み→通常割り込み)と、スタックオプションの変更(スタックをRAM上に作成)を行いました。 変更方法は、"PICによるホーム・コントロール工作入門(CQ出版社)"のColumn1-3, Column1-5を参照してください。 ○アプリケーションデザイナ設定(VOICERECORDERプログラム(No.1,No.2)) ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ○アプリケーションデザイナ設定(VOICERECORDERプログラム(No.2)(上記(VOICERECORDERプログラム(No.1,No.2))の相違箇所)) ![]() ![]() ○マイコンプログラム ・プログラムリストNo.1(VOICERECORDER_User.c) ・プログラムリストNo.2(VOICERECORDER_User.c) ・プログラムリスト(I2C.c) ・プログラムリスト(I2C.h) ・WIZ-C(Ver.12)プロジェクト(THERMOLOGGER:03041601P.LZH) ・WIZ-C(Ver.12)プロジェクト(THERMOLOGGER:03041602P.LZH) 3.以下の写真について 写真1枚目はVOICERECORDERプログラム(No.1)のEEPROMアクセス処理の動作確認の写真です。特に問題なく動作します。 写真2枚目はVOICERECORDERプログラム(No.1)のA/D, D/A変換処理の動作確認の写真です。マイコン装置の入力Audioジャックには、オーディオ背面の OUT端子を直接接続し、マイコン装置の出力Audioジャックには、マグネチックイヤホンでは、音が小さすぎる為、クリスタルイヤホンを接続して音を確認します。 少し音質は低下しますが、特に問題なく入力した音が聞こえます。 ![]() ![]() 4.感想 今回の実験では、A/D, D/A変換処理, 複数I2CポートでのEEPROMアクセスは実現できたのですが、EEPROMデータ書き込み速度が低速な為、 ボイスデータのEEPROMへの直接書き込みは実現できませんでした。実現する為には、SRAM回路が必要になると思います。 ボイスレコーダの実験は、しばらく中断します。SRAMの実験を行った後で、再開します。 トップページヘもどる |