目次PIC回路集リモコン


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


今回使用する制御コードは上記のような構成になっています。この構成は私が独自に考えたもので、標準的な構成ではありません。各ビットの切り替え間隔は10ミリ秒にしています。
送信機から送信する電波は3つのブロックから構成されています。プログラムでは3つのブロックを送信ステータス(TX_STATUS)で管理しています。ST0、ST1、ST2がそれです。各ブロックのビットはサブステータス(TX_SUBSTATUS)で管理しています。上図で信号の下に書かれている数字がそれを表しています。

最初のブロックでプリアンブル(前文)信号を送信します。この信号はON/OFFを繰り返し、受信側で正常な送信機からの信号であることの確認とビットの検出位置を決めるため使用します。プリアンブル信号の終わりは2回続けたON状態とその後のOFF状態で表しています。
次のブロックは制御コードを送るブロックです。制御コードの各ビットはON信号とOFF信号で挟まれています。これは制御コードのビットが全て"1"(ON)であっても、必ずOFF状態が存在するし、制御コードの全ビットが"0"(OFF)であっても必ずON状態が存在するので、受信機での誤認識を防止しています。さらに、1ビットを送るのに3ビットを使うので、ON/OFFを繰り返す信号に対しても誤認識することがありません。
最後はコード終了ブロックで3回続けたON状態です。3回続いたON状態はこのブロックしか存在しません。電波が連続している場合には3回続けたON状態は存在しますが、このブロックの後は再びプリアンブルのブロックになるので、連続した異常電波により誤認識をすることはありません。
上記の3つのブロックは繰り返し送信されます。

受信機側で送信機から発信した電波を先頭から受信するとは限りません。受信機では電波を受信するとプリアンブル信号かどうかのチェックをします。ON-OFF-ONと変化する信号を検出するとプリアンブル信号と認識します。制御コードブロックおよびコード終了ブロックにはこのような変化は存在しません。ですから、制御コードブロックから受信し始めた場合には制御コードおよび終了コードはスキップし、プリアンブル信号を待ちます。