今回のブログは、ホットプラグ/ホットスワップ対応について紹介させて頂きます。
ホットプラグとホットスワップ、どちらの用語も同じ意味でつかわれることが多いようです。
どちらも機器の電源が入った状態で「抜き差し・交換できる」ことを指します。
身近なもので言うと、USB機器が代表例でしょうか。
USBメモリは、パソコンが起動している状態でも抜き差し可能ですね。
なぜこのような説明をしたかと言うと、
ホットプラグ/ホットスワップ対応は、コネクタや基板上で物理的に工夫されているからです。
上図はUSBコネクタと、PCI-E基板のカードエッジ端子部分です。
よく見ると長い端子と短い端子があります。
この長さの違いがホットプラグ/ホットスワップを実現しています。
つなぐ時を考えます。
コネクタに挿入していくと、先ず長い端子部分がPCなどのHost機器と接触します。
電源が供給され、機器の準備がされます。
わずかな時間差で、短い端子が接触することで、準備された機器から
データの送受信が始まり、正常にデータの通信が始まる・・・
と言う流れになります。
取り外す際は逆の流れで、
短い端子が切断され、データの送受信が途切れます。
これを検知した機器が安全に電源切断できる準備をします。
続いて長い端子も切断されますが、準備出来ているため、
安全に電源切断される・・・と言う流れになります。
USB Type-Aコネクタでは、4本の端子があり、
長い2端子(電源とGND)と、短い2端子(データ線)となっています。
PCI-E基板では、殆どが長い端子(電源とGNDや、各種データ線)で、
短い端子(挿抜検出端子)は端の方にあるだけです。
なお、端にあるのがミソで、x16等の長い基板を抜き差しするときに、
多少斜めになっても効率良く検出できるようになっています。
少し長くなったので、今回はここまでとさせて頂きますが、
次回、引き続きホットプラグ/ホットスワップ対応について
・・・の失敗談を・・・^^;
@kitaoka