目次PIC回路集リモコン


無線リモコン受信機 タイムチャート


受信機では最初に電波の存在を確認します。電波が受信されて入力信号がONになると5ミリ秒のタイマーをかけます。送信機から送られる信号が10ミリ秒間隔なので、ON/OFFの検出を状態の安定している位置で行うため、信号の立ち上がりから5ミリ秒ずらしています。
送信機から送られる電波は3つのブロックから構成されています。プログラムでは3つのブロックを受信ステータス(RX_STATUS)で管理しています。ST0、ST1、ST2がそれです。各ブロックのビットはサブステータス(RX_SUBSTATUS)で管理しています。上図で信号の下に書かれている数字がそれを表しています。
受信する信号を順番にチェックした際に上記の構成と合わない状態を検出した場合には検出動作は振り出しに戻り、電波の存在確認の状態からやり直されます。

最初にプリアンブル信号の検出をします。ON-OFFを3回検出し、プリアンブルの終了マーク(ONが2回連続後OFF)を検出して正常なプリアンブル信号と判定します。正常なプリアンブル信号を受信するとステータスを"1"にして制御コードの検出に移行します。
制御コードの各ビットはON信号とOFF信号の間にあります。それぞれのビットを検出する毎にCONT_DATAに格納します。8ビット全てを正常に受信するとステータスを"2"にして終了コードの確認をします。
終了コードは3回連続したON信号です。終了コードを正常に受信すると受信した制御コードのチェックをします。予め登録されている制御コードと照らし合わせ、制御コードに対応するRBポートを制御します。

以上の信号を正常に受信し終わると受信起動時と同じように電波の存在確認の状態にします。これにより受信タイミングが再度設定されることになります。送信機のクロックと受信機のクロックは同じではありません。ですから、同じタイミングで長時間受信しているとタイミングがずれて受信出来なくなることが考えられます。今回のように各フレームを受信する毎に信号の立ち上がりを検出するようにすれば、受信動作を連続させてもタイミングがずれて受信出来なくなることはありません。信号の立ち上がり検出にはラストルックを使っていてOFF状態からON状態になる場合だけを検出するようにしています。