RCXの受信特性


はじめに

Message BallのメッセージをRCXがあまり良く受信しないと言う問題がありました。

  1. Messageの間隔が詰まりすぎていて受信部でOrver runしている。
  2. Dutyの可変による、出力の調整が、受信特性に悪影響している。
  3. Dataが詰まりすぎ、Characterの同期が乱れた後に回復しにくい。

ほか、いろいろの可能性を探りながら、改良を試みましたがあまり改善することができませんでした。

そんな折、JinさんのSiteの電子工作BBSでSharp IS1U60 赤外線受信モジュールの、立下り立ち上がりに差がかなりあり、このため波形歪を生じてデーターサンプリングがずれ、このためにうまく受信できない可能性が判明し、RCXの受信モジュールにも同様な傾向がないか調べるうちに、Start bitを短縮すると、大幅に特性改善する事が分かりました。

これについては、Message Ball改良その2に述べた通りです。

その後、いしかわさんのPocketStationを使用したRCXリモコン、PocketCommanderにパッチしやはり特性が改善する事を確認したため、この解析と対策は、間違いないものと思いました。

しかし、ななしのさんが開発した、WonderSwanを使用したリモコンWonderCommandで、同様にstart bitを短縮する実験を試みていただいたところ、改善は認められない事が分かり、RCX個体差で特性にばらつきがある危険性が浮上しました。

この実験とレポートは、Start bit短縮がRCXの受信特性に与える影響を追試し、特性のばらつきを定量的につかむためのツールを提供するものです。


解析ツール

解析ツールは、Message Ball v2のハードウエアを用い、start bitの長さを広範かつ自動的に変化するfirm wareと、一定の時間に受信できたメッセージの数を計測するnqc programで構成されます。

Message Ballは、Message 101〜107を信号強度に差をつけながら送信しますが、この解析ツール用のfirm wareは、Message 101〜116を同じ信号強度で、start bitの長さを変えながら繰り返し送信します。

可変する単位は38.4kHzの赤外線搬送波の1波、26μsとなっています。標準のスタートビットの長さに対し、-14〜+2をMessage 116〜101に対応させています。

firm ware sbtest.asm

NQC計測プログラムmescnt.nqc


使用方法

  1. sbtest.asmをMicrochip Technology提供のMPLAB Assemberを使い、hex object fileを生成する。
  2. PIC writerでPIC16F84に書きこむ。
  3. Message Ball V2のハードウエアにこのチップをさす。
  4. こうしてできた特殊Message BallをSbtesterと呼ぶ。
  5. RCXに、mescnt.nqcを転送する。RcxCCを使用するのが簡便である。
  6. Sbtesterの電源を入れ、Rcxに受信マークが出るのを確認する。
  7. Sbtester - RCXの距離を所定の距離にセットする。接触、50cmの2水準とした。
  8. RcxのRunボタンを押す。
  9. 約1分でプログラムは終了し、音で合図する。
  10. Sbtesterの電源を一旦止める。こうしないとIR Towerとの通信ができない。
  11. RcxCCのtoolsメニューから、datalogを選択する。
  12. Uploadボタンを押し、datalogを吸い上げる。
  13. dataに異常がなければsaveボタンを押し適当なfile nameでsaveする。
  14. 必要に応じて、距離を変え7から繰り返す。また、Rcxを変え、5から繰り返す。

結果

私の家にある2台のRCX 1.0を計測した結果をしまします。

key ssa lsa ssb lsb sla lla slb llb
RCX mode short long short long short long short long
Message Ball-RCX 距離 接触 接触 接触 接触 50cm 50cm 50cm 50cm
機番 124316 124316 141523 141523 124316 124316 141523 141523

 

start bit ssa lsa ssb lsb sla lla slb llb
2 0 0 0 0 2 2 0 0
1 81 81 6 10 25 39 1 5
0 82 82 82 82 79 75 43 56
-1 83 82 82 82 82 83 82 81
-2 83 82 82 82 82 83 83 82
-4 83 82 82 82 82 83 83 82
-5 83 82 82 82 82 83 83 83
-6 83 82 82 82 82 82 83 83
-7 83 82 82 82 82 80 82 83
-8 83 83 82 83 59 49 68 66
-9 40 44 38 51 15 9 27 19
-10 0 0 0 0 0 0 8 1
-11 0 0 0 0 0 0 0 0
-12 0 0 0 0 0 0 0 0
-13 0 0 0 0 0 0 0 0
-14 0 0 0 0 0 0 0 0

中間結果


お願い

もし、できることでしたら、この測定システムを使い、お手持ちのRCXを測定いただき、レポートをお送り下さい。

">mailto:

また、ミーティング等の際に、私がこのシステムを持参しました折、お手持ちのRCXを是非測定させていただきたく、お願い申し上げます。

2台だけの結果からは、-2すれば安定する事が分かりますが、「標準規格」から故意にずらす「改悪」をしています。多くのRCXで、問題なく作動し、結果的には「改悪でなく改良になっている」事を確認させていただきたいのです。

Message Ballだけの問題ではなく、IR通信を行う全ての自作ハードウエアに関連する問題ですので、できるだけ確実なデーターを提供したいと思っています。


MindStormsの洞窟の戻る

Google