iPhoneには赤外線がないけど消えゆく技術なの?いまさら聞けない 赤外線通信入門(3/4 ページ)

» 2008年09月19日 00時00分 公開
[北角権太郎(IrDA 会長/イーグローバレッジ チーフテクノロジスト),@IT MONOist]

(2)赤外線共通プロトコル

 赤外線物理層を効率よく利用するためには、赤外線物理層によくマッチした基礎的な通信手順を定義し、共通の土台の上で、さまざまなアプリケーションが動作できる通信手順の規格化が必要です。

 IrDAでは、すべてのIrDA規格に準拠する装置は“IrLAPとIrLMPの2つの共通プロトコルを搭載しなければならない”と規定しています(図6)。


IrDAプロトコルの階層構造 図6 IrDAプロトコルの階層構造

IrLAP(Infrared Link Access Protocol)

 このプロトコルは、基本的な通信の「接続」「切断」「エラー復旧」など、赤外線通信の基本的な物理層に対するアクセス制御を行います。IrDA規格は、送信受信で共有する自由空間で赤外線データが交換されるために、送信受信が交互に行われる「半二重方式」の通信手順を使用します。誤り訂正は、データフレームに追加された巡回冗長検査「CRC(Cyclic Redundancy Check)」によるデータ誤りを検出して再送する方式です。基本的なプロトコルは、「HDLC(High-Level Data Link Control)」プロトコルの正規応答モード「NRM(Normal Response Mode)」を拡張したものです。

 IrDA規格では、周辺にある通信可能な機器はその時々に応じて変わりますので、通信の開始前に、周辺機器の検索を行わなければなりません。そのための固有の通信手順が「装置発見手順(Device Discovery)」と呼ばれるものです。赤外線通信を開始する装置は、接続の前に装置発見手順によって周りにある装置を検索し、検索すると同時に装置の名称や機能を知ることができます。この機能はとても重要で、印刷したい場合はプリンタと接続し、ダイヤルアップを行う場合は携帯電話と接続するという具合に、通信を行う前に通信相手の特性を確認して、“不要な相手とは接続しない”ということができるわけです。さらに、接続時にはすべてのIrDA機器が実装している9600bpsの通信速度で、お互いの通信能力「QOS(Quality of Service)」を交換してから、共通の最も高速で効率の良い通信速度とパケットサイズを使用して通信を行います。この機能を“折衝”といいます(図7)。

IrDA固有の装置発見手順と接続手順 図7 IrDA固有の装置発見手順と接続手順

IrLMP(Infrared Link Management Protocol)

 プリンタなどの単機能な装置の場合、搭載されるアプリケーション(上位層)はプリントするための機能に限定されるでしょうが、携帯電話などの場合は電話帳の交換やモデム機能など、複数のアプリケーションが存在します。従って、IrDA通信上で複数のサービスが存在する場合には、仮想的な複数の通信経路をIrLAP上に作らなければなりません。この機能を提供するのがIrLMPです。

 IrLMPは、上位に配置されるアプリケーションごとに論理サービスアクセス点「LSAP(Logical Service Access Point)」を割り振り、その番号によってアプリケーションごとの通信経路を決めます。論理サービスアクセス点は動的に割り振られるため、インターネットのPort番号のようにアプリケーションとPort番号が常に一致しているわけではありません。そこで、IrLMPでは、アプリケーションの情報を格納するデータベースである「IAS(Information Access Service)」を実装することで、LSAPの番号などを取得できるようにしています。LSAP番号0に接続すると、IASのデータベースにアクセスできるので、このデータベースの情報を使ってアプリケーション固有のLSAP番号を取得したり、さらに細かい実装状況(携帯電話なら電話帳のサイズ)などをアプリケーションへ接続する前に取得したりできます。

トランスポート層「TinyTP(Tiny Transfer Protocol)」

 IrDAの実装には、前述のIrLAPとIrLMPの2つのプロトコルが必須とされますが、IrMCやOBEXなどをアプリケーションとして実装する場合には、TinyTPというトランスポートプロトコルを実装しなければなりません。TinyTPには、2つの機能が実装されています。その1つが「フロー制御」です。フロー制御はアプリケーションの処理が遅く、一時的に送信側のデータを待たせるために使用する機能です。もう1つの機能は「分割再構成」という機能です。交換されるデータフレームサイズは、IrLAPの折衝機能によって決定されますので、アプリケーションで使用されるデータフレームサイズと異なる場合があります。TinyTPでは、上位のアプリケーションの指示によってデータフレームサイズを設定することが可能です。

 これらの機能は、「誤りを起こさず」「順序どおりに取りこぼしなく」「正しいあて先(アプリケーション)に」データを確実に転送するための必須機能といってもいいでしょう。これらの基本的な機能が実装されれば、上位のアプリケーションは、アプリケーションが行いたい内容・機能だけに専念できますし、IrDAと同等の通信機能を保証できる通信機能を実現できるほかの通信方式と共用できるアプリケーション指向のプロトコルを、通信の物理的な方式と独立して定義できるのです。

 OBEXは、その典型的なアプリケーション指向のプロトコルです。そのため、OBEXは、IrDAはもちろんのこと、BluetoothやIP接続、USB上でも動作するのです。

ティータイム(2)赤外線リモコン方式との違いは?

 もうお分かりだと思いますが、赤外線リモコンとIrDA規格の違いは次のように説明できます。

 赤外線リモコンは一方的にデータを送信するだけで、データに誤りがあるかどうかの検出はできますが自動的にエラーを訂正することはできません。

 一方、IrDA規格は一般的なデータ通信に必要な機能をすべて備えています。IrDAの場合、金銭情報などを取り扱うアプリケーション「IrFM(Infrared Financial Management)」や、コンテンツ配信で課金対象になる情報の交換「IrBurst(High-speed Information Transmission Profile)」などは、取り扱うデータに誤りを許すことができないだけでなく、確実な通信の開始と完了の処理が必要となります(Transaction処理)。

 このように、通信結果を「ヒト任せ」にしてしまう赤外線リモコンとは異なり、IrDA規格は厳格な通信手順を採用しています。

赤外線リモコン IrDA方式赤外線通信
・単方向通信、データの誤り検査程度の信頼性
・データの相互やり取りはできない
・速度が非常に遅い(300bps程度)
・標準化されていない(各社バラバラ)
・セキュリティ機能がない
・OSI7階層モデルを採用した正統性のある通信方式
・双方向通信、単方向通信、データ誤り検出再送が可能
・コストによって、通信速度やデータサイズの選択が可能
・標準化団体(IrDA)で厳格な規格策定とテストを実施
・自動的に相手を識別してアプリケーションを選択
・光通信なので電波法の規制を受けず、世界統一規格
表2 赤外リモコンとIrDAは何が違うのか?

 だからといって、IrDA規格は「赤外線リモコンの使い勝手」を否定するものではなく、「赤外線リモコンの使い勝手」をお手本にしている部分も数多くあります。赤外線リモコンは「向けてボタンを押すだけの簡単操作」で「その場ですぐに相手が反応する」という、ほかの通信と異なる「単純明快さ」が売りです。IrDAの目指す通信は、この「赤外線リモコンの使い勝手」をそのままに、高度な情報交換ができる手軽なユビキタス通信を具現化しようとしているといってもいいでしょう。

 IrSimpleを例に挙げると、薄型テレビなどの家電製品との通信では、赤外線リモコンと同じ単方向通信を採用しています。単方向通信にすることで、家電製品のコストを下げることも可能ですし、1秒程度でデータ転送が完了するのであれば、「ヒト任せ」で再送信してもらっても、使っている人に負担は掛からないというコンセプトで設計されています。また、現在のIrDA規格がギガビットを目指しているのも納得できます。1秒で100Mバイト以上の情報を交換できれば、1日かけて撮った写真も数秒でプリントキオスクに転送可能ですし、携帯電話やメディアプレーヤの音楽データも瞬間同期が可能となるでしょう。

Copyright © ITmedia, Inc. All Rights Reserved.