• 車種別
  • パーツ
  • 整備手帳
  • ブログ
  • みんカラ+
イイね!
2016年07月17日

クロックに手を出す

クロックに手を出す またしばらく意味不明なブログとなります。m(_ _)m

今までの作業は以下の青線部分であるデータとLRCK(ワードクロック)に焦点を当てており、タイムアライメント付きのメモリバッファを経由する事で信号を作り直す回路を作成しました。
しかしながら赤線の基準となるクロックについては入力されたものをそのまま利用している状態です。






という事で赤線のクロック部分に手を入れることにしました。

一概にクロックと言ってもI2S信号では3種類ありMCLK(マスタークロック)、BCLK(ビットクロック)、LRCK(ワードクロック)と言われるものがあり、今回はMCLK、BCLKに焦点を当てます。

MCLKは一番大元のクロックにになり、精度を上げるとなると、PLLという回路でジッタを取り除くか、もっと高精度なクロックを外部から入力する方法しか無さそうです。BCLKはMCLKを分周すれば作る事ができるようです。イメージとしてはこんな感じ.↓







この手法が良いものか、そして効果的かもわかりませんが、今回はMCLKをPLLでジッタクリーニング、BCLKはクリーニングされたMCLKから作り直しという事をやってみたいと思いました。


MCLKはcombo384の場合22.5792MHz、24.576MHz、WM8805はLRCKの256倍になります。

入力されるMCLKだけでも4パターンあります。


MCLKをどのぐらい分周すればよいか軽く計算すると

COMBO384の場合
44.1KHz&DSD64のBCLK
44.1KHz × 64 ÷ 22.5792MHz = 1/ 8

48KHzのBCLK
48KHz × 64 ÷ 24.576MHz = 1/ 8

96KHzのBCLK
96KHz × 64 ÷ 24.576MHz = 1/4

192KHzのBCLK
192KHz × 64 ÷ 24.576MHz = 1/2

WM8805の場合
64 ÷ 256 = 1/4
※全レート同じ

こちらはMCLKの1/2と1/4と1/8の3パターンが用意できればよさそうです。

さて、PLLの説明を見ると以下の記載があります。


「入力クロックの周波数がわかっていること」とも読めます。

固定っぽい??

試しに弄ってみるも任意に変更できる気配なし、ちなみにこのFPGAにはPLLが2個しかありません。
このままコアモジュールを作るとなると少なくとも4つPLLが必要なのですが....(^_^;)

遥か昔、学生の頃の記憶を掘り起こすと、そもそもPLLって簡単に任意の周波数のクロックを作れるのがメリットと習った気がするんですが....

動的にパラメータを変更する事をダイナミックリコンフィグレーションというらしいのでGoogleで探したところ.....出てきました!( ´ ▽ ` )ノ




FPGAはメーカーからの資料がしっかりあるので助かります。
但し、情報量が多くて素人の私には手に負えませんが.....

読んでゆくと....



ここからダウンロードせよとのこと!

リンク先に行くと



なんかIDとパスワードを要求されます(^_^;)
その後は、同意を求められます。


なんだか厳重な体制をクリアしてやっとダイナミックリコンフィグレーション用のコードをダウンロードできました。

なんだか敷居が高そうです(^_^;)


続く.....かな?(汗






ブログ一覧
Posted at 2016/07/17 01:13:56

イイね!0件



今、あなたにおすすめ

ブログ人気記事

洗車しました
R172さん

4/30 水曜日の朝‼️
ミッキーたんさん

^^;イイお天気ですね😊
mimori431さん

駄々っ子たちの言い分
きリぎリすさん

ウェットブラスト初体験な件
☆よっけさん

やっぱり可愛いなぁ〜❣️
SELFSERVICEさん

この記事へのコメント

2016年7月17日 5:34
おはようございます(^o^)/
今回もなかなか、面白いブログに
なりましたね\(//∇//)\
って、難し過ぎて(T_T)
さすがですd(^_^o)
コメントへの返答
2016年7月17日 7:31
先輩、内容が難しいとふざけれないです(ノ_<)
2016年7月17日 9:01
こんにちわ
いわゆるジッタークリーナーという発想ですね。
クロックジッターにもいろいろあって、除去したいジッターに合わせて回路を構成しないと努力が報われません(^^; オーディオの場合はFPGA内部のPLLでは役不足で、外部にVCXOという可変発信器を使うのが王道です。 TA用のバッファがあるのですから、入力と出力のクロックを非同期にして(出力側はVCXO)バッファの増え具合、減り具合を観測しながらVCXOの周波数をゆるーく調整するというのはいかがですか? そこまでやらなくてもバッファ量を増やして出力クロックは固定、なんてやりかたもアマチュアらしくて良いと思います。
コメントへの返答
2016年7月17日 11:05
ありがとうございます(^^)
メモリをかますメリットは出力側を非同期にできる事だと感じてはおりましたがアマチュアが手に入れれるオーディオクロックというのが限られておりとり、まずは入力をクリーンにしてお茶を濁してみようかと思ってました。
入力側のクロックを使う方が、面倒な気もしております(^^;;
2016年7月17日 9:19
もうひとつ

プレーヤーのクロックに手を入れる前提であれば、プレーヤーのクロック(12MHZとか27MHz)をVCXOに置き換えて、DACのマスタークロックとの周波数の差を計測してフィードバックしてやるというのもアリです。 この場合DACのマスタークロックに固定周波数のものを使えますので更なる高音質が狙えます。

(USBのトランスポートの場合は、USBのクロックからオーディオのマスタークロックを作る場合が多いので、更に奥のクロックに帰す必要があります)

ただ、VCXOでクロックをゆさぶるデバイスが単位時間当たりどれぐらいの周波数変化に耐えられるか、といった考察は必要ですが、バッファもあることだし、ゆっくりやれば大丈夫かと。
コメントへの返答
2016年7月17日 11:13
幸いにしてUSBのDDC基板にそこそこよさそうなクロックをもっているのでそこまでやらなくても良さそうです(^^
FPGAのPLLがオーディオでは役不足と言われたあたりが今実感しているところです。
PLLの出力が3.125MHz以上でDSDのクロックつくれなかったりで四苦八苦ですwww
2016年7月17日 20:34
Combo384はTCXO乗ってるので、ジッタ
低そうですが、問題はS/PDIFですね。

FPGAのpllはオーディオ用に向かないんですね。

外部にクロックを設けるのが良いのかな?

pllと言えば、オーディオ向け基板がどっかに有った様な・・・
コメントへの返答
2016年7月17日 21:27
spdifはナビの音が聞ければいいぐらいのオマケなんであまり気にしてないのですよ(^^;;
外部のPLLだったら結局入れて出してをしないといけないので、外部クロックが一番いいですができれば同一基板上に欲しいですね(^^)
2016年7月19日 14:39
こんにちわ
シンクロナスタイプのUSB-SPDIFコンバータをお使いのようですので、DACのマスタークロックを固定クロックにして、分周したものをUSB上のクロックに入力するように工夫すればジッターは大きく低減できます。 ただ、FPGAの遅延によってMCLKの位相がずれますのでそのあたりの工夫は必要かもしれませんが、DACによってはMCLKと他の信号との位相の整合性は要求されないものもあるので案外簡単にいくかも?!
コメントへの返答
2016年7月19日 20:11
ありがとうございます(^^)
私の腕前でどこまでできるかは不明ですが希望がみえました!

私が使っているxilinx のspartan6シリーズには幸運にもDCMという機能で分周後の位相変化をキャンセルできるような記述があるので試してみたいと思います。

またメモリ読み出しの回路で発生する遅延は、読み出し部分が回路の最終段になっていて遅延要因を減らしている事も幸いしてか、USBDDCからの入力クロックで読み出ししている状態で一応音が出ているので気にする程では無さそうです。(甘く見てると痛い目を見そうですが...)

ですのでMCLKと分周して生成したBCLKのタイミングが合っていればそのままメモリの読み出しクロックとして入れてあげる事でなんとか音は出そうです。

とはいえ回路全体で発生する遅延の調整は必要だと思いますので、次にクロックスキューの調整について勉強したいと思います。

たくさん勉強する事があります(^^;;
2016年7月20日 9:30
こんにちわ

ご使用のDAC CS4398のマニュアルを見たところMCLKとBCLK等の位相関係は規定されていませんから、調整は不要かと思います。 つまりMCLKとBCLKの立ち上がりの時間差がどんどんずれていくような状態でなければOKということです。 音質はDACに入力されるMCLKの純度でのみ決定されますので、他の信号に多少のジッターが乗っても関係ありません。 トランスポートとDACのクロックの大元が同じであれば、位相差の変化は発生しませんね。
DACにMCLKとLRCLKの倍率関係を設定することができます。これを使えばUSB上のクロックをひっぱってきてそのまま使うこともできるかもしれませんね?!
コメントへの返答
2016年7月20日 18:49
わざわざお調べ頂きありがとうございますm(_ _)m

CS4398は今回のシステムには都合が良さそうとのことで、偶然ですがよかったと思います(^^)
今後の拡張や他の自作の方にも使ってもらえるよう、なるべく位相は合わせたいと思いますが、MCLKの純度というのが一番難しいですね(^^;;

私の環境ではもはやMCLKは測定できる次元ではないので(オシロ20MHz帯域なもので...)、いろんなパターンで音質を比べながら(音が出ればですが...)試してみたいと思います。

今の所サンプリングレートは判定して送ってあげればMCLKとLRCKの倍率は違うパターンを入れてもDAC側で自動認識してくれているようですのでCS4398のマニュアルに記載の通常パターンであればUSBDDCのクロックで動かせるようです。

i2SとDSD信号を入力した際の作りこみもメーカーさんがしっかり対応されているようで助かります。
2016年7月20日 21:40
こんばんわ

クロックにこだわるならMCLKを発生する発信器は極力DACの近くに配置して最短の配線でDACに接続する事が一番肝!、ここはDENONさんの言う通りだと思います。 

MCLKはケーブルで基板をまたがせたりしたとたんに悲しいことになる場合が多いのですが、コストの都合でそういう設計のSACDプレーヤも結構多いんです。

以前、MCLKのジッタの有無をスイッチで切り換えてブラインドテストで当てられるかどうか試した事があって、私を含むオッサン3人組は全くダメ(T^T)、たまたま事務所にいた20代の女性に見事に聞き分けられて、オーディオマニアを名乗るオッサン達は悲しい思いをしたのでした(^^; 

でもわかる人にはわかるのです、ぜひ頑張ってくださいね!
コメントへの返答
2016年7月21日 7:43
おはようございます。

たった今聴覚で判定する最後の望みが消えました....((.;゚;:Д:;゚;.))

同じようにスイッチ切り替え式にして分かる人に聞いてもらうこととします。
2016年7月21日 8:39
そう悲観なされることもないですよ。 オッサンというよりは爺さんの話ですので・・・(^^;

ちょっと上等なサウンドカードとWavSpectraがあればMCLKのジッタの影響を可視化して相対的に比較するのは簡単です。 スイッチ切り替えができるようになればそれだけで大したものですよ。
コメントへの返答
2016年7月21日 14:11
ありがとうございます。今度ジッタ測定にチャレンジしてみます(^^)

プロフィール

「@tomii さん>欲しいけど高い><」
何シテル?   03/21 21:21
灰道三です。よろしくお願いします。 グレー(灰)のストリートトリプル(道三)というバイクに乗ってます。 カーオーディオはハイレゾシステムの車載を進めてますが、...
みんカラ新規会員登録

ユーザー内検索

<< 2025/4 >>

  12345
6789101112
13141516171819
20212223242526
27282930   

リンク・クリップ

ハイブリッド車の「整備モード」移行方法 
カテゴリ:その他(カテゴリ未設定)
2024/08/03 20:48:58
【デッドニング】天井の施工 
カテゴリ:その他(カテゴリ未設定)
2023/12/19 19:48:22
CAR MATE / カーメイト クロスライド Xride セーフティガード NS107 
カテゴリ:その他(カテゴリ未設定)
2023/10/25 14:08:50

愛車一覧

トヨタ シエンタ トヨタ シエンタ
P80系からの乗り換えです。 スッと曲がるし、滑らかに加速するし、欲しい機能は付いている ...
トライアンフ ストリートトリプル トライアンフ ストリートトリプル
愛車です。 トライアンフは始めてですが、三気筒のエンジンフィーリングが素晴らしいです。 ...
トヨタ シエンタ トヨタ シエンタ
子供と妻の為にコンパクトでスライドドアのシエンタにしました。 前車も丸目インプレッサでバ ...
ヘルプ利用規約サイトマップ

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車、今いくら?
メーカー
モデル
年式
走行距離(km)
© LY Corporation