USB-Audio用USBを考える

15/05/02初稿

 ハイレゾについて考えていたら、≪foobar2000≫のPCM→DSD変換によって「DACユニットをアナログLPFとしてのみ利用する」用法はとても魅力的に思えてきました。
 そのためには(手持ち機材としては)UDA-1を使う必要があります。つまりUSB-Audioです。しかし、これまでずっとHDMIばかりケアしてきたのでUSBについてはほとんど白紙です(笑)。今更のように“AudioによいUSB”について考えることになりました。

 なお、本稿に記す音質関連の評は客観的なデータとの因果関係に基づくものではありませんから、一般論にはなり得ません。
 「こう考えてやってみたらこうなったので私はこっちにする」ジャンルのお話です。
 せっかくいろんなUSBポートがあるんですから、漫然とではなくどうしてそうするのか考えないとモッタイナイ(笑)。


■Audio用USBポート考察

 はじめに。一部誤解があるようにも見えますが、USBは原則「新しいホスト規格は古い規格をサポート」しています。
 例えば、ONKYO製SE-U55SXはUSB1.1デバイスですがUSB3.0ホストに繋いでも動きます。もちろんUSB1.1モードでリンクして、です。
 USB3.0に繋いだからといってUSB2.0対応DACユニットとのI/F速度は10倍になって空回りしたりはしません。

 逆に「ホストの規格にダウンして動くデバイス」もあります(ていうか概ね動く?)。例えば、USB1.1ホスト(*)にUSB2.0デバイスたるUDA-1を繋いでも動きます。もちろんUSB1.1モードでリンクしており、24192などのハイレゾは通りませんけれど。
 ちなみにSB-DM-PHDもUSB1.1HUB経由で(少なくとも再生機能は)動きました。

*:さすがにネイティブUSB1.1ホストは所有していないので、実際にはUSB1.1時代のHUB経由で確認したものです。

 ですが、一般的には(CPUと同じように)「ホストはなるべく低速規格の方がAudioにはヨイ」信仰があるように思います(互換性のハナシは別として)。USB3.0より2.0、もしかしたら1.1信仰もあるカモ?
 しかし、実体験としては、オンボードのRenesas製3.0コントローラの方がチップセット内蔵2.0より好ましく聴こえたことがあります。

 そういう可能性あるのでしょうか?

・割り込み負荷
 そこでUSB3.0について調べたところ、2010年の大原雄介氏記事(*)を見つけました。今更でスイマセン。
 これによると、USB3.0コントローラ「xHCI」ではCPU負荷軽減が図られている模様です。1.1も2.0も3.0もすべてxHCIが制御するとのことですから、2.0モードでも1.1モードでもその恩恵を受けられると理解できます。
 つまり、速度ではなく割り込み負荷の意味で「USB-Audioでは3.0(というかxHCI)コントローラを使った方が有利」な可能性はあるのでは。

*:http://pc.watch.impress.co.jp/docs/column/interface/20100930_396807.html

 ちなみに、各世代のコントローラは以下の通りです。

・UHCI・・・USB1.1世代。IntelとVIAが採用。バスマスタ転送非対応
・OHCI・・・USB1.1世代。NEC(現Renesas)など。バスマスタ転送対応
・EHCI・・・USB2.0世代。USB2.0専用
・xHCI・・・USB3.0世代。USB1.1も2.0も制御できる

 そういえばUSB-Audioデバイスがまだ1.1だった時代、「UHCIよりOHCIの方が負荷が低いのでUSB-Audioに有利」なんてハナシあったことを思い出しました。本件はその続きになるでしょうか。

 Renesas製コントローラチップの内部ブロック図を見ると、USB2.0コントローラ(*1)ではUSB1.1用のOHCIと2.0用のEHCIが搭載されていますが、3.0コントローラ(*2)にはxHCIしかありません。USB2.0世代では1.1と2.0のコントローラコアが異なっていたワケですが、3.0世代では確かにひとつで全規格まかなってるようですね。
 USB2.0世代では「1.1デバイス接続時にはどうせ使ってないEHCIを無効にする(USB2.0をDisableにする)」といった“チューニング”もやりましたが、USB3.0世代ではそのあたりの事情も変わっているということですね。

*1:http://japan.renesas.com/products/soc/usb_assp/product/upd720102/index.jsp
*2:http://japan.renesas.com/products/soc/usb_assp/product/upd720202/index.jsp

 ということで、「負荷」について実動作で確認してみることに。

・GIGABYTE製GA-Z68X-UD3H-B3&2600Kの自作メインPCを使用
  Audio用E-350システムじゃないのは、いろいろ弄くる必要があるため
・DACユニットはUDA-1
・≪foobar2000≫による1644WAVのDSD256変換再生にて
  転送データ量をできるだけ多くするため
  なお、データ量には関係ないがResampler-Vでx4にしている
・USBコントローラ
  オンボード2種
    Z68チップセット内蔵(USB2.0)
    Etron製EJ168(USB3.0)
  拡張カード3枚
    Renesas製uPD720200(PCIe,USB3.0)
    Renesas製uPD720202(PCIe,USB3.0)
    Renesas製uPD720102(PCI,USB2.0)

 タスクマネージャで「割り込み負荷」を見ます。2600Kの定格では1~2%程度となりほとんど差が出ませんので、BIOS(UEFI)でCPU動作を最低レベルの「1.6GHz/2コア/2スレッド(当然TurboBoostはDisable)」に設定しました(“最高の最低”1コア/1スレッドじゃないのは、DSD変換でパフォーマンス使い切ってしまうためです)。
 正確な数字かどうかアヤシイですが、ざっくりした相対比較はできるのではないかと。

 すると、確かにUSB2.0よりUSB3.0の方が負荷率は低いようです。

 また、OSのINBOXドライバとベンダ提供ドライバ、そのバージョンなどでも“倍”レベルで変わります。
 Etron製EJ168はGIGABYTEやEtron社サイトにある“純正”ドライバだとほとんどハング状態になってしまいましたが、OSのINBOXドライバに変更してみたらちゃんと動きました(苦笑)。(特に初期型の?)USB3.0チップ、イカガワシイこともあるようです。
 これは極端な例としても、ドライバのデキでも負荷は結構変わる可能性を感じました。

 う~む。「割り込み負荷」的には、USB3.0(xHCI)の方がいいような気がしてきました。

・バスパワー品質
 さて、USBポートにはUSBデータI/F以外にも着目すべきポイントがあります。言うまでもなく「バスパワー品質」です。
 バスパワー駆動の機器には当然大きな影響を及ぼすでしょう。UDA-1ではホストが活きてるかの検出にしか使っていないようですが、それでも品質(GND含め)はイイに越したことはありません。

 そのUSB5Vの“出自”ですが、M/B標準搭載のUSBポートでは、チップセット内蔵であれオンボコントローラ(イマドキはPCIe接続)であれ、M/B上の5Vが使われているハズです。GIGABYTEやMSIではその品質を向上させたことをウリにするM/Bも出していますね。
 一方、USB3.0の拡張カードはペリフェラル電源を入力して使う仕様になっています。当該電源はM/Bを経由しない“PSUダイレクト”の5Vです(ただしそれを繋がなくても使えるカードもあります。後述します)。
 また、電源回路部品(コンデンサなど)の配置スペースやコストの制約が大きいM/Bより、それが確保しやすい拡張カードの方が、5V電源品質は高いような気がします。実際、オンボではFUSEを複数ポートで兼用してたりするようですし。

 そこで、試聴してみるためPCIeのUSB3.0拡張カードを調達。USB3.0コントローラとしては定評あるRenesas製uPD720200F1です。N/Bですけど。
 ざくっとオンボと聴き比べしてみると「ちょっといいかな」というところ。
 しかし変化は感じたので、より新しいuPD720202も試したくなりました。新型はノートPCを考慮して低消費電力化されたということですし、割り込みもより洗練されて低負荷になっているかも知れませんし。
 uPD720202搭載カードを物色したところ、“USB-Audio用として”ちょっと魅力的な商品を見つけました。

  PP2U-E : uPD720202搭載2ポートPCIe2.0-USB3.0拡張ボード ver1.0
                 PP2U-E : uPD720202搭載2ポートPCIe2.0-USB3.0拡張ボード ver1.0

PP2U-E : uPD720202搭載2ポートPCIe2.0-USB3.0拡張ボード ver1.0

 EはEnhance=強化版の意でしょう。

http://www.bplus.com.tw/Adapter/PP2U.html
http://www.bplus.com.tw/PDF/PP1U2U_jp.pdf

   同商品だと思いますが型番違うのもアリ

 三洋製固体電解コンデンサとかLDO(Low Drop Out)レギュレータ(おそらくuPD720202の1.05V電源生成用と推定)とか、よさげではありませんか。

#pdfによるとLDOレギュレータはRICOH製らしい。刻印はH00DPU。EEPROMはChingisTechnology製Pm25LD512。

 早速調達。が、装着したらPCが起動しません。別のPC(Asusマザー)で試してみると、起動してコントローラとしては認識されましたがUSBデバイスを挿してもウンスン。
 不良品かと思いましたが、いろいろ試したところ挿したUSBメモリのLEDが点灯しないことに気づきました。ではとペリフェラル電源を繋いでみたらサックリ動作(苦笑)。このカード、内部ペリフェラル電源を繋がないとUSBデバイスが電源不足になるだけでなく(M/Bによっては?)正常動作しない仕様だったのです。

 N/Bカードでは繋がなくても使えたので油断してました。つまり、カードによって違いがあるということです。

・バスパワー生成の種類
 そこでUSBバスパワーとPCIe x1スロットの電源について調べてみました。
 N/Bカードはペリフェラルコネクタを繋がなくてもUSB5Vを供給できるのですから、PCIeのエッジコネクタからの電源でそれをまかなっているハズです。が、実はPCIeには5V供給はありません。ですので、12Vからレギュレートしていると推定されます。
 しかし、通常のx1スロットの12Vの供給能力は規格(*)では0.5Aなので、単純に5V換算すると1.2Amaxです。つまり、USB3.0仕様である900mAは1portしか供給することはできません。

*:http://pc.watch.impress.co.jp/docs/column/hot/20100324_356370.html
 x1でもサーバ用途などではもっと流せるものもあるようですし、x4以上だと能力は拡大します。USB3.1世代などx4以上のカードの場合は事情が変わりそうです。

・N/Bカード
 ペリフェラル電源は必須ではないワケですが、パターンをテスタで追ってみると、スロット電源12Vから生成した5Vとペリフェラル5Vをミックスしているようです。
 ペリフェラル電源を「繋ぐとポートごとに900mA,繋がないとポート合計で900mA」といった仕様の製品もあるようですが、この方式によるものと推定されます(N/Bカードの仕様は不明です)。

・PP2U-E
 こちらはペリフェラル必須ですが、スロット電源との関係はどうなっているのでしょう?
 それを調べるため、まずPCIeカード電源エッジ部のピンアサインを確認します(“裏面”は本論に影響ないので省略)。
 商品写真を加工利用してよいことが確認できているBUFFALOさんのカードIFC-PCIE2U3S2の写真を使わせていただきました。ありがとうございます。

PCIeエッジ

 これを踏まえてPP2U-Eのエッジコネクタ部を見ると、なんとPCIeスロットからの12V供給端子パターンがありません。
 テスタで追ったところ、ペリフェラル5VがFUSE代わりの電源スイッチTI製TPS2068に入り、そのOUTがEMIフィルタに繋がってるようです。
 つまり「PP2U-Eはペリフェラル5VのみをUSB5Vに使っている」ということです。

 USB3.0拡張カードのバスパワー5Vには大きく2種類の出自があると言えそうです。

 となると、「ペリフェラル電源を繋がなくても使える」カードよりも「繋がないと全く使えない」カードの方がUSB5Vの純度は高いと言えるのではないでしょうか。M/Bを経由しないPSUからダイレクトに入った5Vのまま、12Vからレギュレートした5Vと混ぜていないのですから。

 ただ、実物を入手する前に完璧に仕様を判断するのは難しいですね。エッジに12Vパターンがない場合はPSUダイレクト型であることはまず間違いないですが、パターンがあっても部品非実装だったり回路に繋がってないデザインもあり得ますので。ペリフェラル5Vとレギュレート5Vを切り替える仕様や、ペリフェラル12Vから5Vを生成するデザインもあり得ないとは言えませんし。

 ですが、オンボでは「PSUダイレクト」の可能性はまずありませんから、バスパワー品質の点では「拡張カードでよさけなものを探す」方がよいのではと思います。

・バスパワー“チューン”と拡張カード
 たとえ混ぜる仕様であっても、拡張カードなら「パターンカットしたり部品ハズしたりして混ぜないように改造する」って荒技もアリかも知れません。

 PSUダイレクト型の拡張カードなら、USBケーブルなどに細工せず出力前の「バスパワー供給源」を変更できるだろう点も面白そうですね。ちょっと工夫すればバッテリ駆動なども出来そうです。UDA-1はDetect用途のみで5mA程度しか流れないようですからeneloopなどでも実用になりそうです。
 15/05/19追記:eneloopだとダメかも。電源スイッチICをONする電流値が必要かな?
 16/04/13追記:2A出力可能なモバイルバッテリでもダメっぽいです。起動時に突入的な電流が必要?
 16/07/20追記:ちなみに、モバイルバッテリは、バスパワーがデータと別コネクタになってるアコリバのUSBケーブルでUDA-1に直結しても出力オンしません。いくつか試しましたがすべてダメ。UDA-1の負荷が小さすぎて繋がってることを認識しないようです。
 そういう出力制御していないeneloop4本直列直結ならUDA-1動作しました。

 「USB5VをDetectにすら使っていない」DACユニットもあるようですので、そのような場合はカンタンに「元からカット」接続に出来るのも利点かも。ウチのZ68マザーみたいにカード自体を認識しなくなっちゃうこともありますけど(笑)。


 PP2U-Eの5VはPSUダイレクト型であることに加え、関する回路は上記の通り“よさげ”です(笑)。
 これはいいんじゃないでしょうか。気に入っちゃいました。
 2ポートありますが、ペリフェラル電源からのパターンパスが素直に見える上側を使おうと思います(キモチの問題です(笑))。

・バス純度
 イマドキはCPU&チップセットがネイティブサポートする拡張用バスはPCI Expressしかなく、PCIバスはPCIe→PCI変換チップによって実現されています。拡張するならPCIe一択となるでしょう。
 同じチップでもバスパワーの観点からオンボより「拡張カード」の方がよさそうだと思いますが、さらに、“バス純度”の観点からもそれは補強されそうです。というのも、イマドキのプラットフォームではCPUがPCIe-I/Fを有しており、M/B上にその拡張スロットを持てるからです。チップセット経由のPCIeより純度高そうじゃありませんか(イメージです(笑))。
 オンボチップはチップセットPCIeに接続されるのが普通ですので、「CPUと直結」するためには拡張カードにする必要があるということです。

・シリコン純度
 変なタイトルでスイマセン(苦笑)。
 Intelの場合(SoC除く)、プラットフォーム標準装備のUSBはIOHに内蔵されています。その中ではUSB以外にもSATAコントローラなどのいろんなシリコンがひしめいて忙しく動いています。IOHとCPUとのI/F(DMI)はPCIeの変形版ですので、言ってみれば「PCIe接続のマルチI/Oコントローラ」として実装されていることになります。
 専用チップより不利っぽいですよね(笑)。

・レイアウト純度
 コントローラ→USBポートの配線の観点でも、チップセットUSBより拡張カードの方が有利と言っていいでしょう。チップセットUSBはポートに至るまでにM/Bの中を這い回ることになりますので、他のいろんな信号線の影響受ける可能性が高くなるためです。

・PCIカード
 PCIeと異なりPCIバスには5Vが供給されていますからバスパワーとしてはそれを使っていると推定されます。その点においてはオンボチップやチップセット内蔵と同等と言えるでしょう。
 実事情的にはPCIはチップセットネイティブではなく変換になるってところは不利かもしれません。
 今回試聴用に準備したのはRATOC製PCIU3(USB2.0:Renesas製uPD720102搭載)です。


 「割り込み負荷」「バスパワー品質」「バス純度」「シリコン純度」「レイアウト純度」からすると、USB3.0の拡張カード、よさそうじゃありませんか。
 当然PCIe、それもできる限りCPU直結で。


■USBバトル

 ということでいろんなUSBホストを揃えて試してみることに。
 メインPCにごっそり拡張カードを搭載し、USBポートの聴き比べを敢行。UDA-1を鳴らすUSBホストを決めようと思います。

・CD音源のPCM→DSD256変換
・UDA-1のヘッドホン出力でHD700にて
・Z68メインPCにて
  Audio用システムじゃないですけど、相対比較するだけなので利便性を優先
・PCIeはCPU直結ではなくチップセット側
  チップセット内蔵やオンボやPCIと条件近づけるため

 結果は以下の通り。

 PP2U-E > N/B > オンボ(Etron製EJ168) > Z68内蔵 > PCIU3

 といっても、「PP2U-Eがいい」ことと「PCIU3がイケてない」のは判る気がするのですが、それ以外はダンゴでしょうか。
 やっぱり「USB5Vの出自」は効いてる気がします。
 試しにUSBケーブルを細工して「PCIU3でI/FしてUSB5VはPPU2-Eから供給」してみたところ、PCIU3単独よりはよいように聴こえました。
 PCIU3がふるわないのは「Z68マザーではPCIがネイティブではなく変換チップ経由のため」という理由もあるかも知れません。
 USB3.0は供給可能電流値規格が2.0の倍近く(500mA→900mA)になってることも安定感の面で有利かもです。

 ただし、客観的相関データはありませんので真実かどうかなんて解りません。いくつか思いつく実験してみましたが有効なデータは採れませんでした。
 いずれにしろ個人的に納得するために勝手にリクツ付けして決めたってレベルのお話ですので、採れなくてもいいやと思ってやめちゃいました(笑)。


 以上より、UDA-1用USBとしては、

・なるべく新しい規格の新しいチップ
・オンボではなく拡張カード
・拡張スロットのバスはCPU&チップセットネイティブのもの。つまりPCIe
・USB5Vの出自がヨイもの(PSUダイレクト型など)

という方針で行こうと思います。当面はPP2U-Eでいいでしょう。

 なお、一般的なUSB3.0コントローラチップはPCIe Gen.2のx1接続でしょうから、Gen.1ではなくGen.2で使った方がいいでしょう。もちろんDACユニットとのデータ転送レートのことを言っているのではありません。「割り込み応答性」観点での配慮です。
 また、当然ながら「1カード1デバイス」で使うべきでしょう。Renesasのブロック図を見ても解りますが、チップの中にxHCIコントローラは1個しかなく、「チップ内ハブ」を介して2port接続しているからです。
 ですので、「せっかく速いUSB3.0カードを増設したんだから」などとHDD接続したり、「チップセットUSBを全停止したいから」とK/Bを繋いだりしない方がよいと思います。


 さて、となると。
 PCM→DSD変換再生するならCPU性能的にE-350だと無理があるのでM/B変更は必須です。
 HDMI-Auido用に「Gfxカード」は残しておきたいので、加えて「USB3.0カード」も挿すとなると、フォームファクタもMini-ITXでなく最低でもMicroATXにする必要があります。
 つまりケースごと変更する必要があるということに。CPUパワーを上げるので当然排熱性能も再考する必要がありますし。

 む~ん、全取っ替えかな?


メインメニューへ

テーマ : オーディオ
ジャンル : 趣味・実用

最新記事
ERIへようこそ

Author:らかせ
「最新記事」または
「メインメニュー」からどうぞ

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です

・一応、拍手にコメント(非公開)付けられるようにしてあります

・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください

・ということもありますし、記すまでもないですが無断転載(ファイル含む)はご遠慮ください

・引用の考え方については「007:諸事」をご参照ください

・アフィリエイトはAmazonのみです

・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)

カテゴリ
検索フォーム
FC2カウンター