fc2ブログ

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

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

「DFPlayerMiniの制御」のレジューム対応版の改善(ソフトUART送信のビットタイミング)

DFPlayerMiniの制御車載外観2

【前振り】
「DFPlayerMiniの制御」の記事はしつこいくらいに出てくる。申し訳ないが、今回も。

おもちゃの修理も含めて人からの頼まれ物は納期があり、それなりに完成するのだが、自分の製作物はいつまでも工事中であり、完成することが無い。

【改善点】
「DFPlayerMiniの制御用ファームウェア」も少しずつ改善されてきていて、今回の改善点は、「ソフトUART送信のビットのタイミングをタイマーで計時するようにした」ことだ。

以前は、ビット巾をスピンループで待っていたため、割り込み処理が走行するとビット巾が延びて、通信エラーになる恐れがあった。そのため、アプリ処理の流れで、送信と割り込み処理が同時に起きないようにしていた。本末転倒の対処だった。

【設計】
正確に言うと改善後もスピンループであるのだが、ループの中でタイマーを見ることで、割り込み処理が走っても正確に計時する。

計時にはTMR0を使う。TMR0は赤外線受信にも使っているが、赤外線受信とDFプレーヤーへの送信は同時並行処理をしないので、TMR0を共用することができる。TMR2はDFプレーヤーからの割り込み受信に使用していて、これは非同期処理なのでTMR2の共用はできない。TMR1は、それを内蔵していないデバイスもあって、ファームウェアのポータビリティを確保するため敬遠した。

計時の方法はオーソドックスに、TMR0に (-経時時間) を設定し、TMR0のオーバフローを待つ。実際には、TMR0の更新時のインクリ抑止期間と関数呼び出しを含めたオーバヘッド分を加味してTMR0を設定する。

この処理は、DFプレーヤーへの送信処理とデバグ情報出力のソフトUARTに適用した。対象のターゲットデバイスは 12F1501 と 16F18313。10F322 はメモリが満杯で手入れができない状況である。

【改善結果】
ホルダ内トラック数のクエリと再生開始コマンド間を130ms空けていたが、30msの待ちに短縮できた。使用感としては変化には気付かない程度だが。

デバグ情報の採取の制約が少なくなったので、デバグはやり易くなった。こちらの方が僕としてはメリットがある。他の開発プロジェクトにも展開して行きたい。

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

プロジェクトは DFPlayer_1501.X と DFPlayer_18313.X
関連記事
スポンサーサイト



  1. 2019/06/16(日) 21:48:24|
  2. 電子オルゴール+音声再生
  3. | コメント:0
<<ミミクリーペット系おもちゃの基板換装用の完成基板の頒布(飯塚こわれたおもちゃの相談所) | ホーム | 「DFPlayerMiniの制御」のレジューム対応版で12F1501をサポート>>

コメント

コメントの投稿


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

プロフィール

大泉茂幸

Author:大泉茂幸
名張市つつじが丘おもちゃ病院
名張市つつじが丘南3番町129番地
mailto:tutuji@cb4.so-net.ne.jp

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

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

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

公開しているファームウェアについては 目次ページ か 全国のおもちゃ病院様での使用実績 をご覧下さい。


当ブログへのリンクはフリーです。

カテゴリ

おもちゃ修理技術 (308)
¦ ・電子オルゴール+音声再生 (129)
¦ ・音声再生・録音再生 (39)
¦ ・2.4GHzラジコン (92)
¦ ・レガシーラジコン (31)
¦ ・赤外線リモコン (5)
¦ ・タッチセンス (8)
¦ ・RFID (4)
ツール製作 (58)
¦ ・プログラマー (47)
¦ ・USB-シリアル変換 (5)
¦ ・その他のツール (6)
修理事例 (281)
¦ ・マイコン換装 (122)
¦ ・電子・電気修理 (114)
¦ ・メカ修理 (45)
製作記事 (20)
PIC開発 (15)
AVR開発 (5)
LPC開発 (3)
STM開発 (2)
R8C開発 (6)
CH32V開発 (13)
おもちゃ病院 (12)
ドクター研修会 (8)
未分類 (0)

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

QRコード

QR