FC2ブログ

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

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

「RFIDタグからシリアル番号(UID)を取得する」の改善

RFIDタグからシリアル番号(UID)を取得するファームウェア の改善の話だ。

おもちゃのファームウェアはとにかく忙しい。例えばPIC電子オルゴールでは、複数パートの音符の発音処理、音声再生、赤外線受信、モーターやLEDの制御など沢山のイベントを同時並行処理しなければならない。しかもレイテンシは数usが要求されるときもある。1本道を真直ぐに歩くプログラムは誰だって作れるが、短いレイテンシでのマルチイベント処理を書くとなると少しハードルが高くなる。

RFIDの応用として、タグを読んで対応する言葉をしゃべることが考えられる。レジのおもちゃがそれだ。商品に貼り付けたタグで商品を識別して、商品の名前と値段をしゃべる。これを実現するには、PIC電子オルゴールにRFID機能を統合するのが早道だ。RFIDに限らず、おもちゃのファームウェアは殆どPIC電子オルゴールをベースに機能をカスタマイズして作っている。PIC電子オルゴールにいろんな機能を集約することで、その応用範囲を大きく拡大して来ている。

しかし、RFID機能の統合は一筋縄では行かない。それは、PIC電子オルゴールの処理のレイテンシが数10usを要求されるのに対して、RFIDの処理のレイテンシはタグとの同期を含めて数10msもある。せっかちな人とおっとりな人が一緒に行動するとどんなことになるか、結果は見えている。

こんなときはステートマシンにすると解決する。RFIDの処理を細かなステートに分割して、10msのコールバック周期で1ステート分ずつ処理をコツコツと進めて行く。RFIDリーダライタの処理待ち時間はコールバック周期に隠してしまう。

それで、RFIDタグからシリアル番号を取得するファームウェアをステートマシン向けに書き砕いた。それとアセンブラ化に向いたデータとモジュール構造に変えた。PIC電子オルゴールに組み込む前の、他のプロジェクトに応用し易い状態で公開する。

口で説いても判り辛いのだが、ソースコードを見るとご理解いただけると思う。 MFRC522_STATE.c の最後の方にある 「タスク処理」 がステートマシンになっていて、タグ検出からシリアル番号取得までの一連の処理を12のステートに分割している。PIC電子オルゴールに組み込んだ場合は1個のタグを読み取るのに120ms掛かることになるが、レスポンスとしては十分だ。

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

16F1503用のプロジェクトは MFRC522_SERIAL_STATE_1503.X
16F1705用のプロジェクトは MFRC522_SERIAL_STATE_1503.X
関連記事
スポンサーサイト
  1. 2018/02/16(金) 20:55:43|
  2. RFID
  3. | コメント:0
<<「RFIDタグからシリアル番号(UID)を取得する」のtiny13A版 | ホーム | RFIDタグからシリアル番号(UID)を取得する>>

コメント

コメントの投稿


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

プロフィール

大泉茂幸

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

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

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

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

カテゴリ

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

最新記事

最新コメント

月別アーカイブ

訪問者数

検索フォーム

RSSリンクの表示

リンク

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

ブロとも申請フォーム

この人とブロともになる

QRコード

QR