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の実験を行った後で、再開します。






トップページヘもどる