【コラム】
「Standard Modeで」混在が出来ない、と書いたのはFast Modeならばこの混在が可能になっているからだ。7bitモードは前も書いたとおり、まず7bitのアドレスが送出され、次にR/Wを示す1bitが出るというシーケンスになるわけだが、10bitモードではアドレス部だけで10bitになり、8bitで一塊のI2Cバスでは1回の転送で賄いきれない。そこで10bitモードではアドレスを上位2bitと下位8bitに分け、まず上位2bitについては"11110"という特定の値を定める。つまりアドレスとしては"11110XX"になるわけだ。で、これに続いてR/Wを1bit追加したのが最初の転送となる。で、残り8bit分のアドレスは続く2バイト目で転送を行うという形になる。
この方式の場合、従来の7bitモードしか認識しないI2Cデバイスでも問題なく混在できることになる。つまり、"11110XX"にあたるアドレスさえ割り振らないようにすれば、10bitアドレスがきてもそれを間違って7bitデバイスが受け取ったりすることはないからだ。ただ今「混在は問題ない」といったが、これは混在のしかたによる。1本のI2Cバスの上に、複数の7bitデバイスと複数の10bitデバイスが一緒に接続されているケースを考える。ここで7bitデバイスは7bitデバイスとだけ、10bitデバイスは10bitデバイスとだけ通信するという話であれば、これは確かに問題がない。また7bitデバイスと10bitデバイスが通信する場合でも、10bitデバイスがMaster、7bitデバイスがSlaveならば確かに通信可能である。ところが7bitデバイスがMaster、10bitデバイスがSlaveとなるとこれは問題になる。7bitデバイスは10bitアドレスフォーマットをサポートしないから、事実上通信相手を指定できないわけで、現実問題としてこれは通信が不可能になる。
このあたり、Specificationでは詳細に指定されていないが、現実のデバイスを見ると、うまく互換性を取ったデバイスが多い。例えば7bitアドレスと10bitアドレス、2つのアドレスを同時にサポートするI2Cデバイスは多い。この場合、7bitアドレスで指定が来たら7bitアドレスとして、10bitアドレスで指定が来たら10bitアドレスとしてそれぞれ振舞うという形になっているから、うまく互換性が取れるわけだ。またFastMode以降では、そもそも10bitアドレスへの対応が原則として必須になっているから、このあたりに問題が生じないわけだ。
実際のところ、Standard Modeでも殆どのケースで10bitアドレスは利用可能である。ただ、まだ10bitアドレスが存在しない頃に作られたデバイスが完全に消えた訳ではないので、互換性を考えると10bitアドレスが必須とは言い切れないわけだ。
これに比べると、400KbpsのFastModeはかなり簡単である。単に信号速度が400Kbpsに上がっただけで、その他の電気的特性やプロトコルに変化はないからだ。強いて言えば、バスへの負荷を200pF以下に抑えろとか、スパイク・サプレッサーやシュミット・トリガをバスからの入力回路には備えろといった指示があるだけである。
これに対してHighSpeed Modeはもうちょっと話が面倒になる。流石に速度が3.4Mbpsまで上がるとなると、同じ信号で混在するという訳にはいかなくなっている。信号自体もSDAとSCLからSDAHとSCLHに切り替わっており、信号レベルを含めて互換性はない。ただ相互運用性はちゃんと確保されており、遅い方の速度にあわせて通信を行うことになっている。もっとも、「遅いほう」といっても話が厄介である。例えばPhoto01の様に同一バス上にHighSpeed ModeとFast/Standard Modeのデバイスが混在する場合、最大転送速度は400Kbpsに制限されてしまう。これはHighSpeed Modeデバイス同士の場合でも同じである。そうではなく、HighSpeed Mode同士は3.4Mbpsで通信したいと思う場合、Photo02の様にバスを分離してやる必要がある。ちょっと面倒な話ではあるが、ここで混在に拘ると速度を上げにくいし、大量に世の中に存在するStandard/Fast Mode対応デバイスを全てHighSpeed Mode対応にするのは不可能だから、現実的な解とも言える。ちなみにプロトコルの面では従来のものと全く変わらないから、アプリケーションレベルでは単にI2Cが高速になったというだけでしかない。このあたりの互換性は十分に確保できている(続く)。
【コラム】自作パーツ実験室 第32回 RADEON X800 GTとは!? - X800/700シリーズ計4枚で比較(2)
【コラム】自作パーツ実験室 第31回 RADEON X800 GTとは!? - X800/700シリーズ計4枚で比較(1)
| 富士通研、PCやタブレットの単眼カメラで3次元ジェスチャーを認識する技術 [18:39 5/21] |
| デル、「オフィスまるごとサポート」の販売エリア限定解除 - 記念割引も [18:27 5/21] |
| ツートップ、小規模サーバー/エントリーWS向けの「WSS WX1200」シリーズ [17:22 5/21] |
| ジャパンディスプレイ、タッチ対応5型フルHD液晶モジュール「Pixel Eyes」 [17:08 5/21] |
| エレコム、スマートフォン/タブレットに便利なタッチペンを10シリーズ [16:53 5/21] |
|
【レポート】写真で見るKDDIの2013年夏モデル - 「URBANO L01」編 [19:02 5/21] 携帯 |
|
富士通研、PCやタブレットの単眼カメラで3次元ジェスチャーを認識する技術 [18:39 5/21] パソコン |
|
au版iPhone 5、75Mbpsの実人口カバー率はわずか14% - 消費者庁より措置命令 [18:35 5/21] 携帯 |
|
日本スマートフォンセキュリティ協会、「スマクラガイド」を公開 [18:33 5/21] エンタープライズ |
|
[MD松尾のヒット解析]「サモンナイト」が好調 メガテン、ヴァルハラナイツなど期待 [18:30 5/21] ホビー |