今回は家電などのリモコンに使われている、一般的な赤外線通信の仕組みを調べてみたのでまとめます。
赤外線通信を調べる
赤外線通信って一番身近、かつ誰の家にも車にもある(リモコンがあるならどこにでもある)ものだと思いますが、案外仕組みをちゃんと調べたことはありませんでした。
今回はいろいろ工作に使ってみたかったこともあり、すこし調査してみました。
①一般的な赤外線通信は、「一方通行」
wifi通信、シリアル通信、はたまたモールス信号まで、通信の方式はいろいろありますが、
基本的には一方が何か合図を送ったら、もう一方が返事をする、相互通信をしていることが多いです。
ですが赤外線リモコンなどの送信は、受信側の機器に向かって一方的に合図を送り続けるタイプの通信です。
イメージとしては以下のような感じ。
テレビからリモコンに向かって信号を送ることは、基本的にはないです。
②赤外線通信は赤外線発光ダイオード光のON/OFFでデータを送っている
赤外線リモコンの先端から光を出す、止めるを高速で繰り返すことで、データを送っています。
以下はオシロスコープと簡単な受信回路でリモコンの先端部分からでる赤外線を受信した波形です。
一度ボタンを押すと、ひとまとまりの点滅パターンで赤外線を出します。
ボタンを押すたびに、上記の波形のように同じ信号を繰り返し出します。
③赤外線リモコンから出る光を拡大すると、”通信フォーマット”が見えてくる
一つ前で見た赤外線リモコンからでる赤外線の点滅パターンを拡大してみます。
すると、ONとOFFの幅が変わりながら、点滅を繰り返していることがわかります。
このひとまとまりの点滅パターンが、一度ボタンを押した際に送っている赤外線のデータです。
そしてこのうち、赤外線LEDが発光している区間の波形をさらに拡大してみると、以下のように細かく振動していることがわかります。
拡大図の流れをひとまとめにしてみると、以下のようになります。
④ボタンを押すたびに送られる特定の点滅パターン=送信しているデータ
ここで、最後の拡大波形である細かい振動部分は除いて考えてみます。
このONとOFFの集まりは、実は赤外線通信で送られるデータを表しています。
模式的に表すと下記になります。
今回オシロスコープで観察した波形を見ていると、最初の方に幅の広いパルス(赤外線LEDが長く点灯している期間)があり、そのあと細かい振動を繰り返していることがわかります。
ざっくりとしたイメージですが、これらの意味は以下のようになっています。
実はこの点灯時間が変わりながら点滅を繰り返す特定のパターンが、赤外線通信において、リモコンから受信機器(エアコンやテレビ等)に送られるデータになります。
⑤リモコン先端部の赤外線LEDの点滅パターン=データには、メーカーごとの言語がある
ここまでの内容を少しまとめると、下記のようになります。
・赤外線リモコンの先端部分には赤外線LEDがあり(透明な部品)、ここから赤外線が出る
・赤外線の点滅パターンは、赤外線通信における”データ”を表している
次にこのデータの送り方、つまり赤外線LEDの点滅パターンについて掘り下げてみます。
先ほどオシロスコープでパルスの幅が変わりながら点滅していることは確認しましたが、それらの幅(赤外線LEDの点灯・消灯時間)
にはメーカーや規格ごとに違いがあります。
これらの赤外線LEDの点滅パターンはある程度規格化されており、NECやSONY、家電協会等で決まっています。
ざっくりとした通信フォーマットイメージは下記になります。
⑥赤外線受信におけるデータのやり取りのイメージ
次に赤外線通信のデータのやり取りを見てみます。
最初に赤外線通信は赤外線LEDの点滅を受信機器に送るだけの一方通行の通信であることを説明しました。
受信側の機器はこの赤外線LEDの光り方(データ)を見て動作を決めます。
赤外線LEDの点滅には、データの送信を開始する合図やメーカーを表す記号などが含まれますが、基本的にはすべて数字を送っています。
先ほど赤外線LEDの点滅がデータを表していると説明しましたが、
より正確には、1または0を表す点灯時間(ON/OFF状態でのパルス幅)があり、これを用いて2進数のデータを送っています。
イメージとしては下記のようになります。
リモコンにくっついている赤外線LEDは一個しかないので、一度に送ることができる情報は「赤外線LEDが点灯しているか」or「赤外線LEDが消灯しているか」の2つになります。(・・・0 or 1の2進)
ですがこれを、最初に送ったパルス幅の長い合図を基準に、時間軸上で流してみてみると、ひとまとまりのデータとみれます。
そして送る順に数の重み(上記の図で2の乗数である0~7)を与えてやれば、それは数字になります。
(どちらを桁数的に重いものにするかは様々です・・・・)
実際の波形はもう少しだけ複雑になりますが、ざっくりとしてイメージはこのような感じです。
以上が、赤外線通信におけるデータのやり取りの仕方になります。
⑦混信やデータの破壊を防ぐ”サブキャリア周波数”成分について
おまけとして、赤外線信号に含まれるサブキャリアの話を載せておきます。
最初に見たオシロスコープの波形のうち、赤外線LEDが点灯している区間内で、一定の周期で振動している様子が見られました。
これはノイズではなく、サブキャリア周波数による成分です。
サブキャリア周波数の必要性 1/2
サブキャリア周波数がある理由について、ざっくりとまとめてみます。
まず赤外線通信ではこれまでで説明してきたように、下記のようにリモコンから受信機器へ送信データ(赤外線LEDのON/OFFのパルス幅で表現)を送っています。
しかし赤外線の波長の光は特別なものではなく、自然界にありふれた光です。
そのため太陽光や環境光がある空間では以下のように光が混ざります。
こうなると、受信側の機器はもとのデータがなんだったのか、判別することができなくなります。
そこで、この送信データ(赤外線LEDのON/OFFのパルス幅で表現される)を単に送るのではなく、ある固定の周波数で振動させながら送信します。
振動は赤外線LEDが点灯しているONの区間にだけ現れます。
こうすると、仮に自然光が入ってきた場合でも、元の送信信号が影響を受けにくくなります。
この時、データを振動させている波がサブキャリアであり、その周波数がサブキャリア周波数になります。
この周波数には38kHz程度が使われることが多いらしいです。
理由としては、この周波数で点滅を繰り返す赤外線というものが、自然界(自然光)にないかららしいです。
実際にはサブキャリア周波数はメーカーによって異なり、38kHz~50kHz程度の固定の周波数となります。
サブキャリア周波数の必要性 2/2
もう一つ、サブキャリア周波数が必要になる理由があります。
それは家電同士の信号の混信などを防ぐ役割です。
リモコンを使う機器といっても、エアコンやテレビ、オーディオなど、結構いろいろな種類があります。
冷房をつけているときにオーディオを操作したら、暖房になった・・・
なんてことがあっては困るので、家電の種類(分類)によって、ある程度の度の周波数を使うかなどが決まっている場合があるそうです。
まとめ
今回はどの家庭にでも1コぐらいはある赤外線リモコンと、受信家電の間でやり取りされている赤外線通信の仕組みをざっくりと紹介してみました。
ちゃんと見てみたことはなかったので、結構勉強になった~と感じます。
また何か調べたらまとめてみようと思います。
それでは、また。