スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

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ホスト(実際にはUSB1.1時代のHUBで試しました)にUSB2.0デバイスたるUDA-1を繋いでも動きます。もちろんUSB1.1モードでリンクしており、24192などのハイレゾは通りませんけれど。ちなみにSB-DM-PHDもUSB1.1HUB経由で(少なくとも再生機能は)動きました。

 ですが、一般的には(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

 ということで、「負荷」について実動作で確認してみることに。いろいろ弄くりますのでAudio用E-350システムではなくGIGABYTE製GA-Z68X-UD3H-B3&2600Kの自作メインPCにUDA-1を繋いで行いました。
 ≪foobar2000≫による1644WAVのDSD256変換再生にて(転送データ量をできるだけ多くするため。データ量には関係ありませんがResampler-Vでx4にしています)。
 メインPCにはデフォルトで「Z68チップセット内蔵USB2.0」と「オンボードEtron製EJ168チップによるUSB3.0」があります(善し悪しはなんとも言えませんが、この両者でも違うように聴こえます)。
 さらに、後述するuPD720200とuPD720202、およびuPD720102(PCI)の拡張カード3枚も加えて比較してみました。

 タスクマネージャで「割り込み負荷」を見ます。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電源生成用と推定)とか、よさげではありませんか。
 早速調達。が、装着したら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ダイレクト」の可能性はまずありませんから、バスパワー品質の点では「拡張カードでよさけなものを探す」方がよいのではと思います。
 ていうか、拡張カードなら、たとえ混ぜる仕様であっても「パターンカットしたり部品ハズしたりして混ぜないように改造する」って荒技もアリかも知れませんし。

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

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

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

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

 USB3.0は供給可能電流値規格が2.0の倍近く(500mA→900mA)になってることも有利かもです。

・バス純度
 イマドキは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はもの凄く特殊というワケではなくPCIeの変形版ですので、言ってみれば「PCIe接続のマルチI/Oコントローラ」として実装されていることになります。
 専用チップより不利っぽいですよね(笑)。

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

・PCIカード
 PCIバスカードも試してみました。RATOC製PCIU3(USB2.0:Renesas製uPD720102搭載)です。
 PCIeと異なりPCIバスには5Vが供給されていますからバスパワーとしてはそれを使っていると推定されます。その点においてはオンボチップやチップセット内蔵と同等と言えるでしょう。
 また、上述の通り2.0世代のチップは割り込み負荷的には3.0より不利なようです。


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


■USBバトル

 ということでいろんなUSBホストを揃えて試してみることに。
 メインPCにごっそり拡張カードを搭載し、USBポートの聴き比べを敢行。UDA-1を鳴らすUSBホストを決めようと思います。
 CD音源のPCM→DSD256変換をUDA-1のヘッドホン出力でHD700にて。Audio用システムじゃないですけど、相対比較するだけなので利便性をとりました。
 CPU直結PCIeは使っていません。

 結果は以下の通り。

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

 といっても、「PP2U-Eがいい」ことと「PCIU3がイケてない」のは判る気がするのですが、それ以外はダンゴでしょうか。
 やっぱり「USB5Vの出自」は効いてる気がします。
 試しにUSBケーブルを細工して「PCIU3でI/FしてUSB5VはPPU2-Eから供給」してみたところ、PCIU3単独よりはよいように聴こえました。
 PCIU3がふるわないのは「Z68マザーではPCIがネイティブではなく変換チップ経由のため」という理由もあるかも知れません。

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


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

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

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

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


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

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


メインメニューへ

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

ERIへようこそ

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

・ファイルへの直接リンク以外はリンクフリー(連絡不要)です
・一応、拍手にコメント(非公開)付けられるようにしてあります
・DB的に利用しており、過去記事もガシガシ書き換えています。特に「最新記事」は初稿から一週間くらいは直してることが多く、大幅に変わっちゃうことも。ご了承ください
・ということもありますし、記すまでもないですが無断転載(ファイル含む)はご遠慮ください
・引用の考え方については「007:諸事」をご参照ください
・アフィリエイトはAmazonのみです
・ハイパーリンクは当Blog記事のみです(054:節電記事のみ例外)

最新記事
カテゴリ
検索フォーム
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。