Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« SabreBerry32のExt端子について | トップページ | ALX-03 進捗 70% くらいか »

2016年11月 5日 (土)

RaspberryPi vs Beagle Bone I2S信号について

RaspberryPi vs Beagle Bone  の I2S信号について、まとめてみようと思います。 

 

どちらも小型のLinuxボードで、I2S信号を出すことができます。 

Pivsbb01_2

信号のアサインはこのようになっていて、DAC-ICへ直結してオーディオデータを転送することが可能です。 

ただし、RaspberryPiの場合はMCK(SCK) というマスタークロック(システムクロック)には注意が必要です。 というのも、MCKを出力(入力も)させることができないからです。

一方のBeagle Boneは、外部からMCKを入力してI2S信号の基準源に使用することができます。 つまり精度は外部からのクロックに依存するようになります。

 

実は、MCKが無い状態で使用できるDACや、DAC側がI2Sマスターに切り替わるDAC非常に限られた製品しか存在しません。 
これがRaspberryPiの制限で、DAC基板はたくさんあるのにDAC-ICの品種が少ない理由です。 

 

高級DACの代表格であるPCM1792A、AD1955、CS4398、ES9018などもI2Sマスターにはなれません。

では、そういった高級DACを使ったCDプレーヤーなどの音質が悪かったのかというと、当然そんなハズはなく、DAC-ICのそばに基準クロックを置いてジッターが乗らないように使っています。 

 

Pivsbb02

図にするとこんな感じです。 (上級CDプレーヤーの例です) 

低価格なCDプレーヤーや古い機器ではCDサーボIC側にセラロックや水晶発振子をつけて、MCK、BCK、LRCK、DATAの4本をサーボICからDACへと送っています。 MCKを長い距離 引き回したりCMOSバッファを介しただけでジッターは増えていきます。 

現在のDAC-ICのようにデジタルフィルタが内蔵されているタイプは、MCKがDAC動作の要になっていて、BCKやLRCKはデータ受信のラッチ信号に過ぎないのです。 つまりMCKのジッターが低いことが最も重要です。 (BCK/LRCKのジッターは影響がゼロか?というとそうでもないのが難しいですが)

 

高級CDプレーヤーと同じ方法で、DAC側に置いた基準クロックを使えるのがBeagle Bone+boticのメリットと言えそうです。 RPiと比べて使えるDAC-ICが格段に多くなります。  興味のある方はこの際、ご自身でDAC基板を作ってしまうというのもアリでしょう。 

Beagle Boneは、自作DAC基板用として非常に優れたプラットホームです。

みんなで、じゃんじゃんハイレゾDAC基板を作ってしまおう! という提案です(笑 

Botic_pin_assign2

Boticドライバが起動したときの信号の全ピンアサインは、ご覧のとおり。 

気をつけなければならない点は、MCKのinputです。 電源投入と同時に端子へ入力してしまうと、Beagle Bone を壊してしまいます。 GPIO_50から出るEnable信号が H になったら準備OKの合図です。  それまでは 3-state バッファーなどで Hi-z にしておきます。

それと、パワーボタンが 9pinにアサインされていますので、ここにプッシュスイッチを付けることで電源のON/OFFができるようになります。 

その他、BBBの詳しい情報はこちらからどうぞ。   現在のRaspberryPiよりもオープンなハードウェアですね。

 

私は、PCM5102Aでお手軽に基板を作りましたが、みなさんのお気に入りのDAC-ICで基板を作ってみてはいかがでしょうか。 DSD信号が出せるのもboticの良い点です。 

回路図も公開しているので、どうぞご自由に活用してください。

 

 

 


ここから先は、オーディオ系の電子工作に詳しい方々には常識なので、読み飛ばしていただきたいのですが、、

 

実は、オーディオ製品としての単体DACは、SPDIFやUSB入力が殆どで、I2Sをはじめとする3線シリアルのデジタル信号はマイナーだ(そんなインターフェース見たこと無い!)と思っている人が多いと思います。 

ところが、実態は、その単体DACの中で、SPDIF -> I2S変換チップやUSB->I2S変換チップなどを使って、3線シリアルに変換してからDAC-ICへと入力しています。

Pivsbb03

 ■ SPDIF -> I2S変換チップの代表例として
   「DIR9001」「CS8416」「WM8804」など

 ■ USB -> I2S変換チップの代表例として
   「XMOS」「CM6631A」「TE8802」などがあげられます。

 例外としては、USB-DACチップのPCM2704/5/6/7 がダイレクトにUSBからアナログ音声へと変換します。 また、ESS社のES9018シリーズは、SPDIF信号をダイレクトに受信してアナログへ変換できます。 

 

I2SやMSBファースト前詰め、後詰め、LSBファーストなどの3線シリアルデータは、PCMデータをシリアルにしただけのもので、データ変換や変調など一切ない純粋なデータです。 WAVファイルもヘッダ部を除くと一緒です。

いづれにしても、RaspberryPiや Beagle BoneはI2S信号を出力することができて、USBやSPDIFという中間フォーマットへ変換することなくDAC-ICへと直結できるというメリットがあります。 無駄を省いていくことで高音質化を目指すマニアから注目を浴びているのはそのためです。 蛇足ながらWindowsよりもLinuxやmacの方が音が良いというのも常識の範疇かもしれません。 (異論はあるとは思いますが) 

 

ではでは、良いオーディオ電子工作ライフを!

 

 

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 



« SabreBerry32のExt端子について | トップページ | ALX-03 進捗 70% くらいか »

Raspberry Pi」カテゴリの記事

BeagleBone」カテゴリの記事

コメント

BeagleBoneには手を出さない様に・・・と思ってきたのですが、ぐぐっと引き寄せられはじめました・・・

通りすがりのおじさんさん

手を出さないと決めたら、出さなくても良いと思います。 CPUのパフォーマンス的には、Pi2、Pi3の方が上ですし。

なにか困ったときに、これらの情報が役立てられれば幸いです。 

CPU本体の破壊理由が良く理解出来ました
DACとCPUを別電源とした時に、気を付ける事は有りますか?
例えば、電源投入順序等はどちらが先でも問題無いですか

Amanero/Combo384をクロック源にしてBoticを使い始めたのが、約2年半前です。その時の驚きを忘れることが出来ません。
敷居が高いのかなかなか利用者が増えないようでしたが、最近になって簡単に使える基板を頒布する方が多くなり嬉しく思っています。
I2Sの4(3)本の線だけでDACが動くので、使わないDAC基板が増殖しています。たかじんさんのをはじめ面白そうな基板があるのですが、しばらくは我慢しようと思っています。

Boticにしてから、BBB(G)の電源の影響が大きくなったように感じていましたが、クロックのところがネックのようで、ローノイズのローカルレギュレータを入れてからはBBB(G)の電源の影響が少なくなったようです。某ブリッジ基板をお使いの方は、フェライトビーズを外してそこから3.3Vを入れてやるのがいいようです。

そういえば、Boticのサポートページの最後(現時点の)にupdate to v7rc1 larger buffersという項目があったので、実行して みました。
これはお薦めです。

オーシャン さん

電源は、どちらが先でも構いません。 

Moct さん

Boticはそんなに前からあったのですか。

Combo384も良いようですね。 私はRPiとWEVE IOをつないでそこから22MHz/24MHzのクロックで駆動しました。 ジッタークリーナー(PLLベース)よりもダイレクトな水晶発振器のクロックの方がオーディオ的ななりかたがするように感じます。

BBB上の3.3Vはかなりノイジーなので、あれをクロックやバッファの電源に使うのは良くないですね。 5Vからレギュレータを使う必要があると思います。 それでも完全には影響を断ち切れません。 

v7rc1 larger buffersは

http://www.diyaudio.com/forums/twisted-pear/258254-support-botic-linux-driver-180.html#post4773437

これでしょうか? Boticの情報を把握するのは結構大変です。 助かります。 ありがとうございます。


たかじんさん
私のブログで紹介しているBOTIC7のイメージファイルを作られたのがMoctさんです。
BOTICのことを一番知っている方だと思います。

yseki118さん

なるほど、そうでしたか。 yseki118さんもお詳しいですが、さらに上をいくお方なのですね。  ありがとうございます。 

botic製作者のmieroさんのwebサイトも、botic7の情報を直接書いてくださると見通しが良くなると思う今日この頃です。
boticバージョンのVolumio2に期待ですね。

BBBB-DACのSPDIF出力は良い音がしますね。

以前、BBBにUSBでXMOSに繋ぎSPDIFにしてヘッドホンで聞いていました。IrBerry+RasPiのI2Sと聞き比べて、I2Sに移行し、SabreBerry、SabreBerry32と聞いて、SabreBerry32のアンプを使った音が一番かなと感じていました。

BBBB-DACのSPDIFを、お蔵入りしていたBBBで使用していたDACとアンプに繋ぐと良い音が出たので驚いています。

SabreBerry32と、BBBB-DACのSPDIF出力を聞き比べながら改造していく楽しみができました。

まだ上がありそうですね。

nzato さん

確かに、SPDIFは原理的に送信側のジッターに大きく左右されるので、botic と B4-DACの組み合わせをSPDIF送信機に使うのは良いかもしれませんね。

あの基板の電源・クロックをSPDIFのためだけに使用するというのは、おそらく民生機としては存在しないくらい豪華だと思います。

光コネクタよりも同軸出力の方がさらにジッターが減る可能性がります。
ただ、SPDIF用のトランス(3.3Vpp->0.5Vpp 75Ω)が売っているのをみたことがないのがネックです。 
規格的には、絶縁して送信しなければなりません。

 早速に、手持ちのパルストランスと抵抗分圧で同軸出力を作成し、BBBのSPDIF出力に接続し聞いています。

 DACの入力切り替えで、光と同軸を切り替えると、音は変わります。判断は、まだできませんが、同軸の方が、静けさの中に何かあるように感じさせてくれます。

nzato さん

素晴らしいですね。 私もテストしたいと思っているのですが、ちょうどよいパルストランスが入手できず、確認できていません。

光コネクタは、昔よりノイズが減ったとはいっても、送信・受信と2回変換を行なうためどうしてもジッターが加算されてしまいます。

同軸は、75Ωのインピーダンス整合ができていなければ、数MHzの周波数といえども反射波がおきてしまいますが、インピーダンス整合さえキッチリできると最良の状態で信号を転送できます。 

光接続の方が好きだという人もいらっしゃいますので、最終的には好みの問題なのかもしれませんね。 

海神無線に有るようです
Webショップも有ります
http://www.kaijin-musen.jp/157.html
同軸と光はパラでいけますかね

オーシャンさん

ありがとうございます。 このトランスは1:1トランスなので、既にSPDIFの電圧になったものを更に絶縁したい用途に見えますね。 (SPDIFは規格上絶縁しているので、これを追加すると2回絶縁することになる)

TTLレベルや3.3VロジックレベルをSPDIFの電圧に変換するには2:1トランスの方が適切と思います。 

http://www.scientificonversion.com/Aespaper.PDF
Fig. 18 (37ページ)

こちらを参考にどうぞ。 

光コネクタとパルストランスをパラってもいけるかもしれませんが、安全をみると一度バッファを通してそれぞれを駆動してあげた方が良いと思います。 最悪の場合、負荷が重すぎてBBBのポートを破壊しかねません。

nzatoです

 私の使っているのが、海神のDA102Cです。BBBのSPDIF出力から220Ωでパルストランスに繋ぎ、反対側は直流カットのコンデンサーを入れています。同軸出力側は75Ωを入れてRCAコネクタを繋いでいます。光コネクタとパラですが、220Ωを入れてあるので、大丈夫ではないかと素人考えです。DACも不満を言っていないので、良しとしています。

 光と比べて、同軸の方が細かい音が聞こえ、解像度が高いように感じています。

たかじんさん

 いつも有益な情報と高性能な基板の提供をありがとうございます。
おかげでB4-DACはエージングもまだまだですが、私の駄耳には十分な高音質で音楽を奏でています。SabreBerry32でのOLED表示など使い勝手も捨てがたく、うれしい悩みが続きそうです。

 ところで、質問が2点あります。アドバイスいただければ幸いです。
1. 上のピンアサインではMCK-IN OKが18番ピンから出ていますが、B4-DACの回路図と実物では14番となっています。単なる間違いとも思えなかったので、教えてください。
2. B4-DACでOLED表示は可能でしょうか?かなり難しいのか、表示プログラムを組み込むとせっかくのBoticの軽さをスポイルするのであえてされていないのか、お考えをいただけないでしょうか。

以上不躾な質問かもしれませんが、よろしくお願いします。

myoko さん

ご指摘ありがとうございます。
間違っておりました。回路図が正解です。 上の図も修正しました。

BBBでOLED接続ですが、
BBG+Botic7で接続できたという報告は頂いております。
http://6218.teacup.com/nwelec/bbs/1803

1箇所の修正がどの部分かは、不明です。
https://nw-electric.way-nifty.com/blog/2016/09/volumio2i2coled.html
スクリプトはこちらのものです。 

こんばんは
BBGの場合、J4(白いコネクタ)にI2C2の信号が出ていますので、Grove用ケーブルを使用してOLEDを接続すると見た目綺麗です。
この場合、スクリプトは以下の様に2に変更する必要があります。
self.bus = smbus.SMBus(2)

たかじんさん

早速のご回答ありがとうございました。
色々、いじって楽しみたいと思います。
今後ともよろしくお願いいたします。

teru さん

有益な情報をありがとうございました。

teru さん

貴重な情報ありがとうございます。
BBGは、基板上にI2Cコネクタ、UARTコネクタが純正で装備されているので、そこを使うのはスマートですね。

myoko さん

うまくいくといいですね。

teru さん
たかじん さん

アドバイスありがとうございました。
ケーブルが届いたのでチャレンジしたところ、あっけなく動きました。
起動も早く快適です。

以上、ご報告まで。お世話になりました。

myoko さん

OLED表示、いいですね。 たしかに起動も速くて安定しているので実用的に使うには、かなり良いと思います。 

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: RaspberryPi vs Beagle Bone I2S信号について:

» たかじんさんのBeagle Bone 用 32bit DAC基板 B4-DAC購入 [落花流水【 愛燦々と! 】]
たかじんさんのBeagle Bone 用 32bit DAC基板 B4-DAC [続きを読む]

« SabreBerry32のExt端子について | トップページ | ALX-03 進捗 70% くらいか »

サイト内検索(new)

2024年11月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30