FC2ブログ

名張市つつじが丘おもちゃ病院

三重県名張市つつじが丘でおもちゃの病院を開院しています。年中無休で修理は無料、部品代のみ実費です。おもちゃの修理依頼は tutuji@cb4.so-net.ne.jp へメールにてご連絡下さい。なお、宅配便での受け付けは行っておりません。このブログにはおもちゃ等の修理事例やツール製作などを載せていきます。故障診断や修理方法の改善等、ご意見をお寄せ下さい。

PIC電子オルゴールで16F1503と12F1501のサンプルプロジェクトを追加

PIC電子オルゴールテストベンチ

【前振り】
PIC電子オルゴールで大容量SPIフラッシュをサポートしたことで、今後はオルゴール演奏しないPIC電子オルゴールの応用が進むと思う。

おもちゃでの音楽演奏は音声再生が使われているが、音声再生はメモリが嵩張るため汎用の部品で換装するとコスト高になってしまう。そこで、メモリが少なくて済むオルゴール演奏で代替すると言うのが元々の発想だった。ところが、近頃は大容量SPIフラッシュメモリが廉価に入手でき、本来の音声再生で換装することができるようになって、もはやオルゴール演奏で代替する必要が無くなった。

オルゴール演奏は音符データから演奏音の波形を生成するのにCPUを大喰いするので、PIC電子オルゴールはFoscが32MHz以上のデバイスをターゲットにしていた。しかし、音声再生はCPU負荷が軽いので16MHzのデバイスでも実行が可能である。

それで、より廉価な16F1503(@80円2018年秋月)でPIC電子オルゴールのサンプルプロジェクトを作った。なお、オルゴール演奏はできない。ついでに弟の12F1501のサンプルも作った。

【設計】
Foscが16MHzなので、PWM分解能が10ビットではPWM周期が64usになってしまう。それで、PWM分解能を9ビットにしてPWM周期を32usにする。PR2には128を設定して、PWMデューティレジスタ上位と下位には8ビットPCMデータを上位7ビットと下位1ビットに分けて設定する。

問題はデバイス個別の処理をどのようにインプリメントするかだ。orgelエンジンにはデバイス個別の処理を書くべきではない。そこで、orgelエンジンでは8ビットPCMデータをPWMデューティレジスタにそのまま設定し、TMR2割り込み処理のコールバック関数で1ビット右シフトをすることにした。それで、orgelエンジンは普遍的な処理のみに留めることができる。

16F1503にはPPS機能が無いので、MSSPモジュールのピン割当てを既存のテストベンチに合わせることができず、SPI通信はソフト実装とした。それでも音声再生でアンダーランは発生していない。

とはいえ、16F1503の内部プルアップ機能はポートAにしかないため、ポートAはアプリケーションで使用できるように残しておきたいこともある。それで、内蔵SPIモジュールを使用することも、#defineの宣言を変更することで可能とする。

【接続図】
既存のテストベンチの接続図を示す。16F1503の記載がないが、ピン割当てを共通にしている。

PIC電子オルゴールVer5_7で大容量SPIフラッシュメモリ(W25Q64)をサポート接続図
PWM出力は正論理がRC3、負論理がRC5に出る。
オートパワーオフ後のWakeUpトリガはRA3の立下りになっている。

【ダウンロード】
設計資料と開発プロジェクトは ここから ダウンロードできる。

追加したサンプルプロジェクトは以下である。
orgel5_7\onsei_PIC1503_SPI.X
orgel5_7\onsei_PIC1501_SPI.X

16F1503で内蔵SPIモジュールを使用する場合は #define SPI_SOFT を無効にする。
関連記事
スポンサーサイト
  1. 2018/12/08(土) 15:51:09|
  2. 電子オルゴール+音声
  3. | コメント:0
<<名張市つつじが丘おもちゃ病院のご案内 | ホーム | アンパンマンことばずかんDXの修理(センサー内にごみ混入)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

プロフィール

大泉茂幸

Author:大泉茂幸
名張市つつじが丘おもちゃ病院
名張市つつじが丘南3番町129
tutuji@cb4.so-net.ne.jp
090-5534-6494
連絡は上記のメール、またはSMSでお願いします。

子どもの頃から趣味は電子工作一筋でやってきました。理科離れが進む中で科学技術に興味を持つ子どもが少しでも増えて行くことを願って、子ども達に電子工作の活動の場を提供しています。

1981年からおもちゃ病院の活動を始め、2014年に三重県名張市への移住を機に「つつじが丘おもちゃ病院」を開院しました。自分でおもちゃを設計し製作する【おもちゃ工房】と、マイコンを応用した電子工作を楽しむ【マイコンクラブ】も併設しています。新規参加メンバーを募集しています。

当ブログで公開している技術情報や成果物の複製、改変および再配布はフリーです。読者様のおもちゃ病院活動のお役に立てば幸いです。ご利用いただいた結果や感想等を記事へのコメントやメールでフィードバックしていただけると有難いです。なお、公開ファイルは最新版を載せているので、古い記事の内容から変わっている場合があります。

カテゴリ

おもちゃ修理技術 (90)
¦ ・電子オルゴール+音声 (32)
¦ ・音声再生・録音再生 (6)
¦ ・2.4GHzラジコン (29)
¦ ・レガシーラジコン (12)
¦ ・赤外線リモコン (4)
¦ ・RFID (3)
¦ ・タッチセンス (4)
ツール製作 (26)
¦ ・プログラマー (19)
¦ ・USB-シリアル変換 (3)
¦ ・その他のツール (4)
修理事例 (154)
¦ ・マイコン換装 (72)
¦ ・電子・電気修理 (59)
¦ ・メカ修理 (23)
製作記事 (4)
PIC開発 (4)
おもちゃ病院 (9)
ドクター研修会 (2)
未分類 (0)

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

ブロとも申請フォーム

この人とブロともになる

QRコード

QR