待望のUSB 3.0の書籍が発売! エンジニアとして押さえておきたい技術 USB 3.0
『USB 3.0設計のすべて』 |
USB 3.0搭載の機器が出回るようになってきた.本書籍は,USB 3.0の規格書の解説から,実際の製品開発に必要なハードウェア設計,ソフトウェア設計,そして,コンプライアンス・テストの解説を行っている.USBホスト側の設計が必要な技術者向けの書籍だが,組み込み製品の開発に携わるエンジニアなら押さえておきたい一冊だろう.
●仕様書は読むのが大変!
Specification,つまり仕様書のことだが,これが必ずしも読みやすいとは限らないのは読者諸兄もご存知の通り.大抵の場合,文章そのものは平易に書かれているにも関わらず非常に読みにくく,しかも「ここについては○○の××章を参照」となっている箇所があり,そちらを読まないと先に進まなかったりする.
これはUSB 3.0のSpecificationに関しても同じであって,USB 1.1/USB 2.0の仕様書の内容を理解していることを前提として記述されているから,一から読み込むのはかなりの苦労が伴う.
かく言う筆者も,USB 3.0の仕様書は一通り読み通した.単に目を通すレベルではなく,仕様書を元に解説をしようとしたので,ちゃんと理解をしないといけないのだが,完全に理解できたのは1年余りを費やして解説も終盤を迎えた頃だった.
筆者はこれでも許されるのだが,エンジニアが「んじゃ,USB 3.0のエンドデバイスを作ることにしたから勉強しておいて」と言われて1年掛けて仕様書を読んでいたら,首を切られても文句は言えないだろう.筆者の読解力が不足していることはさておき,Specificationはあくまで正確かつ漏れのないように記述するのが目的だから,読みやすさを考慮しているわけではない.これは致し方ないところである.
●書籍を通して短期間でUSB 3.0の規格を理解する
実のところ,どの程度までUSB 3.0の中身を理解すべきか,というのは当然状況によって異なる.もし,新規にUSB 3.0のコントローラをスクラッチから作るとすれば,Specificationのほぼ全部をきちんと理解しなければいけない.本書はその場合の副読本となる.
End Deviceを作るだけならば基本的なポイントさえ抑えていれば全部を理解しなくても何とかなる.こうした場合にも,本書は役に立つだろう.
Specificationは当然ながらLayer別にそれぞれの機能を説明しているが,本書はLayer構造に余りとらわれることなく,むしろ初期化→ネゴシエーション→通信に到る一連の動きを,複数のLayerにまたがる形でわかりやすく説明してくれる.なので,まず本書を読んで,その後にSpecificationの必要な箇所を参照するという使い方をすれば,理解も早いし「一体今俺は何を調べてるんだっけ?」と迷子になる頻度も少ないだろう.
●Specificationには絶対載っていない,実際のUSB 3.0実装例を解説
また第6章「ハードウェア設計」はSpecificationには絶対載っていないし,第8章「コンプライアンス・テスト」は実際にコンプライアンス・テストを行った人にしか書けない,Specificationには載っていないノウハウが詰まっている.
第10章「USBホスト・コントローラの制御」に対応するのは,IntelがリリースしているxHCI for USBというSpecificationであるが,これを具体的に実装した例がここには詰まっている.このxHCIのSpecificationもなんというか読みにくいというか,Pseudo Codeでいいからソースにしてくれれば読みやすいのに,敢えて文章で書いていて回りくどい感が否めないのだが,そう感じる人には10章に示されたフローチャートやサンプル・ソースは福音と思えるだろう.
本書を読めばSpecificationは見なくて大丈夫という訳にはいかないが,Specificationを読むときには絶対に脇に置いておくべき資料であろう.
もう何年かすれば,ホスト・コントローラが普通に内蔵されて新規に起こす必要がなくなり,またEnd DeviceについてもUSB 3.0 Device Functionを内蔵した低価格の汎用MCUが出回り,自分の作るシステムにこのMCUをつなげればOKという日が来るだろう.そうなったら本書の出番は殆どなくなるかもしれない.しかし,USB 3.0の規格を理解しなく良いわけではないが….ただそれまでの間は絶対に役に立つことを保障する.
■参考文献
(1)大原雄介;セカンドオピニオン USB 3.0の研究(1)~(78),マイコミジャーナル, 2009年2月~2010年11月
http://journal.mycom.co.jp/column/sopinion/274/
(2)大原雄介;大原雄介の最新インターフェイス動向 USB 3.0 その1~その5,PC Watch,2010年8月~2010年9月
http://pc.watch.impress.co.jp/docs/column/interface/20100805_385435.html
おおはら・ゆうすけ
テクニカル・ライタ
http://www.yusuke-ohara.com/