TIといってもTIに買収された元National Semiconductor社の製品のLMK04000シリーズとしていくつかの品種があり、その新製品にあたるもののようです。
LMK04816では123 fs RMS jitter (100 Hz to 20 MHz)がLMK04828Bでは、91 fs RMS jitter (100 Hz to 20 MHz)に改善されています。
使いこなすには、かなり調べあげル必要がありそうですが、Si5326の有力な対抗馬になりそうです。
LMK0482xBブロック図
使用するとして、Si5326に対して良いと思う点は、
・入力ポート:最大3port (Si5326は2port)
・出力ポート:最大14port(Si5326は2port)
・安い :¥1,726(Si5326は¥3,362~)(Mouser実勢価格)
・ジッタ特性が良い?
64-pin QFN (9.0 x 9.0 mm)でSi5326の32-pin QFN (6.0 x 6.0 mm)より大きいですが、別にクロックドライバを必要としないのでかえって良いですが、外部フィルタが必要となります。
どちらもLVDS,LVCMOS対応しており、この点は問題なしです。
PLL2に外部VCOを使うこともでき、この仕組を使うとCXOを外部VCOとして接続するとジッタクリーナとしてではなくCXOのクロックドライバとしても使えそうなので、切り替えて比較することもできそうです。
話は変わりますが、今日は、Windows Home ServerのHDDが1台壊れて、各共有フォルダのステータスが黄色に変わり、ファイルにも正しくアクセスできなくなってしまったため、HDDを差替えました。
壊れたHDD(1TB)を抜き、代わりに新しいHDD(2TB)を入れてDickManegment画面で追加し、壊れたHDDをサーバーの記憶域画面で削除したら、削除処理が始まり数時間コンソールが使えない状態になり、その後はWHSコンソールウインドも切れて、再ログインも出来ない状態に。手順が正しいのかも不安でヒヤヒヤもんでしたが、そのうちコンソール画面も開けるようになり、各共有フォルダも正常に戻りました。
Windows Home Serverは、共有フォルダ毎に複製するオプションが選択でき、複製を設定しておけばHDDが故障しても、交換後自動的にデータを復旧できるので、RAIDよりは便利で安心です。
Windows Home Serverは2011を最後になくなってしまいましたが、割りと良いと思うので残念です。
・出力ポート:最大14port(Si5326は2port)
・安い :¥1,726(Si5326は¥3,362~)(Mouser実勢価格)
・ジッタ特性が良い?
64-pin QFN (9.0 x 9.0 mm)でSi5326の32-pin QFN (6.0 x 6.0 mm)より大きいですが、別にクロックドライバを必要としないのでかえって良いですが、外部フィルタが必要となります。
どちらもLVDS,LVCMOS対応しており、この点は問題なしです。
PLL2に外部VCOを使うこともでき、この仕組を使うとCXOを外部VCOとして接続するとジッタクリーナとしてではなくCXOのクロックドライバとしても使えそうなので、切り替えて比較することもできそうです。
話は変わりますが、今日は、Windows Home ServerのHDDが1台壊れて、各共有フォルダのステータスが黄色に変わり、ファイルにも正しくアクセスできなくなってしまったため、HDDを差替えました。
壊れたHDD(1TB)を抜き、代わりに新しいHDD(2TB)を入れてDickManegment画面で追加し、壊れたHDDをサーバーの記憶域画面で削除したら、削除処理が始まり数時間コンソールが使えない状態になり、その後はWHSコンソールウインドも切れて、再ログインも出来ない状態に。手順が正しいのかも不安でヒヤヒヤもんでしたが、そのうちコンソール画面も開けるようになり、各共有フォルダも正常に戻りました。
Windows Home Serverは、共有フォルダ毎に複製するオプションが選択でき、複製を設定しておけばHDDが故障しても、交換後自動的にデータを復旧できるので、RAIDよりは便利で安心です。
Windows Home Serverは2011を最後になくなってしまいましたが、割りと良いと思うので残念です。
kou さま
返信削除LMK48XXは私も気になってましたがレイアウトがSi53XXより難しく多分4層では満足な結果が出ないだろうと敬遠してました。
評価ボードはまだ出ていないようですね。
Si5317を通してジッター減少したクロックをスペアナで見るとスプリアスはオシレーターと比べてほとんど減っていないようでした。
低ジッター=高SFDRではないみたいです。
rtm_iino さん
返信削除評価ボードはTIサイトでは供給状況ACTIVE、Mouserでは納期10週になっています。もう出てはいるのかもしれません。しかし5万を超すのでちょっと購入する気にはなれませんでした。
4層でも厳しいですかね。確かにPLL1のフィルタ、VCXO、PLL2のフィルタ、電源種が多いなど周辺回路の配置に困りそうですね。理想通りは無理でしょうが4層ならなんとかなるかと軽く考えていました。
Si5326の構成だと、Si5326 2個とSi53301 2個必要とするところがLMK04828Bだと1個で済むのでトータル的には実装少なくて済むのが良いのですが...
ジッタクリーナーは、入力クロックのループ帯域以上の周波数のジッタを抑圧してくれますが、代わりにループ帯域以上はVCXOの位相ノイズが見えてくることになるのだと思います。入力が直近に置かれたCXOだった場合、そのCXOとジッタクリーナーのオシレーターに位相ノイズの差があまりなければあまり変化が見られないのではないかと思います。
kou さま
返信削除Si53301のチャンネル間スキューを<50pSにするにはジッタークリーナー一つでは難しいかもしれません。
LMK4826はQFN64で値段も安いならトライしてみる価値はありそうですね。
ジッタークリーナーはPLLでロックした周波数しか見ないでしょうが、ES9018Sのように非同期クロック入れてもビットレートを割り出すシステムにはスプリアスは悪影響が出そうです。
BenchmarkのDAC2-HGCも面白そうな作りのようですがDAC部分に何を使っているのかご存知ですか?
rtm_iino さん
削除今の構想では、DAC側のクロック系統としてはSi5326から直接DACチップへクロックを供給するつもりなので、Si53301等は介在せずに済む予定です。
いずれにしても、チャネル間スキューは特に影響のある使い方は今の想定にはありません。
rtm_iinoさんはどのようなケースでSi53301のチャネル間スキューを小さくしようとしておられるのでしょうか?
LMK4828は使ってみたいとは思いますが、Si5326から乗り換えるとなるとまた色々大変そうです。
BenchmarkのDAC2-HGCは、内部写真を見るとESSのチップが載っており、ES9018Sを使用しているように思います。
kou さま
返信削除Si53301は分配用として作ってみたのですが4分周したクロックとオリジナルの入力の遅延が少なければ
ソースに11.2896MHzを入れてCDデータでのES9018SのNo Bandwidthでテストするように準備中です。
Si5338EVBで位相調整レジスタで弄ると確かに差は縮まるのですが自動調整するには位相検波器がないと無理です。
Si5317のINC,DECピンを使った事がないのですが120pSくらいのステップで調整できる事になっていますね。
ジッター減らしたクロックをLVDSで入れるならSi53301が無調整の最有力候補です。
Si5326は位相調整のレジスタがありますが、Si5327ではその辺のレジスタ番号は抜けています。
今までSi5326もSi5327も同じでPLLバンド幅が狭いだけの認識でしたが
データシートに載せていないという事は使えないのだと思います。
LMK4828は他のLMKシリーズよりはピン数少ない分だけ機能ブロックにわけて基板を作れば何とかなりそうです。
Real HD AudioのJohn Slauのコメントを読まれましたか?
http://www.realhd-audio.com/?p=804
7番目のコメントからES9018Sではないと思ってました。
rtm_iino さん
削除チャンネル間のスキューというより、入出力間の位相差ゼロを目的とするならゼロディレイバッファが選択デバイスとなると思います。
Si53301を使用する場合、分周しない出力と4分周する出力間であれば、位相差がかなり小さくできると思いますが、それではダメでしょうか?
Output to Output Skew Identical Configuration,Differential (QN to QM) 50ps Single-ended (QN to QM) 100psとなっています。
LMK04xxxシリーズは、LMK04828同様の64pinQFNのものが多いように思います。また48pinQFNのデバイスもあるようです。
4層でもなんとかなりそうとなると、Si5326からチェンジしたい気になりますが、I2SではなくSPIである点がDAC用としては問題となりこの点でも躊躇してしまっています。
HDMIコネクタ経由でES9018とクロックデバイスを両方とも制御するつもりですが、I2CであればES9018と兼用となるので問題とならないのですが、SPIだとコネクタに2本信号追加となるのですが、割り当てるpinがありません。
はじめましてこんにちは
返信削除henともうします。
DAC2-HGCはどうもES9018らしいですね。
http://www.realhd-audio.com/?p=804
ここにはSNを稼ぐため64個の1bitDACを加算したと書いてありますが
ES9018の各出力ピンはサーモメーターコードの6bit電圧加算型DACのはずなのでウソか間違いか…もしそうでないとすれば
秘密のレジスタに6bit分解能のPWMDACx64個にする設定があるのかもしれません。
その際各1bitDACは1/64MCLKとかずつシフトパラかもしれません。
http://www.google.com/patents/US7570693
このfig7がそんななのでもしかするとと思った次第です。
henさん
削除はじめまして
放課後の電子工作 掲示板でのES9018関してhenさんの書込を読ませて頂きました。ものすごく研究されているようですね。まだ内容はあまり理解出来ていませんが、色々参考にさせて頂きます。
9-bit quantizer modeを含めデュアルモノでのES9018の構成方法や設定でhenさんの考えられている理想をお聞かせいただければ幸いです。
kouさんこんにちは。henです。
削除chiakiさんの掲示板にはこの間AVCCについての考えを書いたのですが…(後日かなり訂正しました)
なにげなくES9018を使っている日本のdiyerには結構ショックな内容を書いたつもりなのに
ぜんぜん返信も議論もなくてちょっとがっかりしています。
実は私はes9018はひとつも所有していなくて9008なら動作未確認のbuffaloIがあるだけなんですが、
次に挑戦するならES9018K2Mでいいと思っています。
ES9018を2chやモノラルで使うとオペアンプの負荷が重くなりすぎて嫌だと思っていたので
2ch分だけにしたK2Mのリリースは僥倖でした。
隠しレジスタは変わってしまっているかもしれませんが、それならそれでいいです。
わたしが9018をステレオで使うなら6bitか8bitでtrue differentialです。pseudoはAVCCにどえらい負担がかかるのでダメです。
YOさんの書いていたモノラル9bitもいいと思いますが、モノラルまでいくのは投資額に見合ったリターンがないと思っています。
hen さん
削除henさんの書込に対して、まだ議論出来るほどの知識がありません。まだまだ勉強が必要ですね。
henさんとしては、K2Mで2chだけ使用する方が良いということですね。
私としては、Capriceでデュアルモノにすると良いという書込が多く見られることもあり、一度モノラルに挑戦してみたいと思っています。
chiakさんの掲示板の内容からすると、ture differentialの9bitは構成出来ないため、 ture differentialの8bitで各サイド+/-を4出力づつ設けるのが良いということになると判断しました。
K2Mはまだデータシートも整備されていないようですが、個人でもNDAを結べば完成後見せてくれるようです。
hen さま
返信削除X64はDSD64つまりSACDフォーマットのDSDの事だと思います。
SNRがPCM96が144dBでDSDx64が120dBと書かれています。
一時間かかって10個のパスコンをES9018Sのリードに乗せたので今から少しオーバークロックしてみようと思います。
rtm_iino様
返信削除henです
先ほどの書き込みですがjohn siauさんのコメントから引用すると
>Benchmark never used multi-level conversion because...
> Benchmark has overcome the noise limitations of 1-bit conversion through the use of parallel 1-bit conversion systems.
>Our DAC2 sums the outputs of four balanced converters. Each of these four converters has sixteen equally-weighted balanced 1-bit converters (for a total of 64) that are summed together to improve the SNR of the system.
とあるので64DSDとは別の話です。
たんにbinary weightedじゃないということを平易に説明するためこうなったのかもしれませんが…
いままたちょっと調べたところ
ES9018だということはbenchmarkのサイトにも書かれていました。
http://www.benchmarkmedia.com/dac/dac2-comparison-chart
hen さま
返信削除先ほどES9018Sを150MHz駆動しましたが完全同期で24.576MHzマスターの96KHzPCMの方が良い音でした。
Si53301ではNBWは音切れしましたがLowestとの差が私の耳ではほぼわからなくなりました。
ジッタークリーナーはSi53301の前にひとつですが位相調整用にBCLKにもうひとつ入れてみようと思っています。
kou さま
返信削除今日は音を聞くだけで精いっぱいでオシロで位相差確認していません。
コンデンサをかなり撒き散らしながらリードの上に乗せました。
ソースクロックの質がかなり低い物を使ったWM8805のSPDIFからI2S出力とSPDIF出力)ので改善の余地はあると思います。
Si53301の分周期は良くできていると思います。 CPLDやFPGAでここまで同期とれないと思いますし、価格的にまず自分で作れないでしょう。
コントロールポートのアイソレーターやコントローラーのピン、コネクタと諸々が絡んでくるのですが、
SPIとI2C両方使えるようにするかI2CとSPIの変換ロジックを入れるかデバイス上でピン数たりているならIPコアで変換するかですね。
http://www.silabs.com/products/interface/spitoi2c/Pages/default.aspx
両方使えるDACもありますし、SPIだけのもありますからDACをあれこれ変えたいならSPIはあっても良いと思います。
ES9018SのSPDIFは386fsと書いてますがWM8805のマスターは24.576MHzで、ちゃんと96KHzのSPDIFから音出てました。
非同期クロックでオーバークロックするよりずっと立体感があり良い音です。
かなり良質のクロックで125MHzくらいまでがSN落とさずに使える限界なのかもしれません。
今回使った基板はDIYINHKの前のバージョンを譲り受けたものですのでパスコンが大きくて遠いので0510+1μFタンタルに置き換えました。
kou さま
返信削除Zero Delay BufferですがSi5338もこの目的で使えますが最低周波数が5MHzからです。
PCM96 ,DSD128 からしか使えないのでCDやDSD64は無理ですが10pS単位なので本当に位相関係だけなら解決可能かと思います。
Rise,Fallの2割と見ても100pS以内ならロックしないとおかしいですね。
DACのプロセスが700MHzまで出力できる物と同じ作りだとは思えませんのでやはりどこかに裏口があるのでしょう。
rtm_iinoさん
返信削除ES9018のMCKとBCLKの位相差を0psに近づけようという試みをされているのだと思いますが、Bunpeiさんが聞いたSFORZATOのコメント”I2S信号を同期したMCLKでリタイミングしただけ"が正確な表現なら、MCLKでリタイミングしたBCLKは必ず位相差があり、多分500ps以上は遅れがあるのではないかと思います。
もしかすると、BCLKだけではなく、DATAとLRCKもリタイミングして位相を揃えてあげる必要があるのかもしれません。
ES9018内でBCLKでリタイミングは一切せず、最初からBCLKでI2Sの各信号をサンプリングしていれるなら、そうすることが意味があることになると思います。
kou さま
返信削除今のところわかっている事は
1.No Band Widthの場合ジッター量に関係なく音は出るがMCLKとBCKの比率は4倍の時のみである。
NBWのアンロック周期はBCLKの2^32の時間で、切れる時間も比較的長いという事。
2.NBWでアンロックする際にはアナログ電流もぐんと減少する。
外部ジッタークリーナーで極力ジッター減らして同期クロックを作れば音質差はDPLL幅で極端に変わらないように思います。
rtm_iino さん
返信削除無理にNo band Widthを狙っても同期クロックであればLowestと余り変化なしということですね。
>かなり良質のクロックで125MHzくらいまでがSN落とさずに使える限界なのかもしれません。
さすがに150MHzでは定格150%なので、LSIの内部ロジックのタイミングマージンにもよりますがSetUpを守れていないんじゃないかと思います。
kou さま
返信削除Amaneroのようにマスタークロックの上限が低いタイプは同期クロックで使う場合OSFバイパスしないと192KHzが通りません。
昨日1時間ほどDSDをSCD-XE800から取って聞いていたのですがシステムクロックの周波数は50MHzくらいが良かったです。
通常の同期90MHzや非同期100MHzより45MHz~50MHzくらいがSNが高いように思いました。
ミュートしない設定で使っていたらCDが止まってしばらくしたらホワイトノイズのような音がして2分ほどでプツプツ音に変わって止まりました。
NBWをあれこれ弄っていて感じたのはクロックシステムの質が良い場合は非同期でのみDPLLが生きてくると言う点です。
外部ジッタークリーナーやバッファに300mA余分に食わせるとES9018Sの44.1KHz時の6倍近い消費量なのでどうかと思いますが、ある方が確実に音質は上がります。
高速ラッチでリクロックしてみると何か変わるでしょうか。
通過するゲートの数だけジッター増えるだけのような気もします。
rtm_iino さん
削除ラッチする件は、前に書いたとおりで、Bunpeiさんが聞いたSFORZATOのコメント”I2S信号を同期したMCLKでリタイミングしただけ"でNo band Widthを実現できた理由として2通り考えられると考えています。
①電源ノイズやジッタを相当改善したからという可能性と、②"MCLKとBCLKの位相関係"がある条件に入った場合の2つです。。
②の方ですが、MCLKとBCLKの位相関係によっては、完全に同期していてもカウンタのロード(リセット)タイミングとBCLKの位相によってMCLKのカウンタと必ず1つカウントがずれてしまうことになるというものです。MCLKと同期したI2S信号をMCLKでリタイミングするということは、MCLKに対するBCLKの位相がリタイミング前と後で必ず変わるはずですので、リタイミングにより"MCLKとBCLKの位相関係"がある条件に入る/入らないが変化した可能性もあるかと思います。
kou さま
返信削除256fsのMCLKでは遅すぎるように思います。
NBWに関係なく非同期で200MHz以上でリクロックしてみるつもりでした。
Si5338でLVDSのドライブなら700MHz、CMOSで200MHzまでなのでそれで音が変わるのかどうか見てみたいと思っています。
LRCKがネックになっている可能性もありますね。
まずは調べるところから始めてみようと思います。
マイコン使ってNBWのロック条件の幅を見てから考えてみます。
音が切れるのと音が出ないのは全く関係ないわけですから。
rtm_iino さん
返信削除別々のことをイメージして話が咬み合っていないようです。
まず各々の言葉の定義の受け止め方も違っていると思いますので、rtm_iinoさんの試そうとしていることについて、もう少し詳細をお願いします。
・高速ラッチの高速はFFのクロック周波数を上げることで、入力から出力への遅延が小さいということでは無いで良いでしょうか?
・"非同期"で200MHz以上でリクロック、これは何に対して何が非同期でしょうか?
MCLKとBCLKが非同期で、I2SのData、LRCK、BCLKをFFのDinにせ接続し、非同期のMCLKをFFのクロック端子に接続してリタイミングするということでしょうか?
・"256fsのMCLKでは遅すぎるように思います。" 遅すぎるというのは上記の様なリクロックを行うには遅すぎるということでしょうか?
・LRCKは、クロックといってもLchとRchを識別する制御線ですので、Dataと位置づけは同じだと思っており、ネックになるというのがイメージできません。どういった点でネックと思われるのでしょうか?
前の私の書込は、ES9018のMCLK入力位相に対して、I2S(BCLKのみと3本全部の2通りが考えられます。)の位相を調整する。つまりMCLKのrise edgeに対してI2Sの各信号の変化点を、0ns、1ns、2ns .....10nsと遅らせて行くと、ある範囲でNWBでの周期的なリセットで音が切れる現象が改善するかもしれないということです。SFORZATOの”I2S信号を同期したMCLKでリタイミングしただけ"の情報からは、FlipFlopの遅延として想定されるMCLKに対して0.5nsから5ns程度がその範囲になると思います。
kou さま
返信削除不明瞭な内容になってすみません。
私が前から作りたかったのはASRCで入力と出力のビットレートが同じ場合のイメージです。
サンプルクロックを高く取りたいのはオシロの分解能と同じです。
LRCKがスタート地点でLJ,RJなどのフォーマットが変わればデータのサンプルタイミングも変わります。
昨日全てのフォーマットで同じようにNBWが音ぎれするのを確認しました。
仰るように完全なタイミングのクロック出力を作ってから偏差を見るしかなさそうですね。
VCXロジックでも、tpd、setup、holdも考えると数nSレベルの誤差は残ります。
汎用だとPotatoのCMOSでないと無理かもしれませんね。
rtm_iino さん
返信削除すみません。やはりよくわかりません。
前の質問に対して説明していただけるとわかるかもしれません。先ず確認したいのはリクロックに使用するクロックはI2Sのデータに対して同期したものでしょうか?非同期ではジッタを余計に増加させるだけで良いことは何も無いはずです。
また同期している場合も、サンプリングクロックを高速にする。すなわちBCLKに対して4倍、8倍、16倍と周波数を上げていっても何が効果があるのか、私には全く想像がつきません。MCLKおよびI2S信号のサンプリングクロックの周波数は100MHz未満でBCLKの2の階乗から選択するのが良いと思っています。
LJ,RJなどのモードでLRCKに対するデータの位置は変わりますが、それはモード設定に対して正しくデータ位置を合わせて入力するのはNBWに限らず必須であって、モードによってNBWに出来る・出来ないが変わることは考えにくいと思います。
kou さま
返信削除最初の3つはNo Band Widthとは関係ないと考えてください。
ロジアナで非同期でサンプルして波形表示させる場合を想像してください。
通常のDACとES9018Sの違いはI2SやSPDIF、DSDといったフォーマットとビットレートをBCLK、MLCK,LRCKの比率から割り出します。
その際に使われるのが32ビットのカウンタだと考えています。
Iオーディオストリームはエラープロトコルがありません。
垂れ流しの一方通行のデータなので受けてと送り手のクロックが多少違ってもある幅まで吸収できなければいけないですから
DPLLの幅以上に大きいジッターの場合はロックが外れるのだと思います。
RATOCのI2Sフォーマットの解説のページに書いてあるようにBCLK、SCKの立ち上がりから100nS以内なら通常は音が出ると思います。
今日 No Band Widthの音切れと周期測定をしてみました。
96KHzでは512mSくらい音が切れます。
その際に気が付いた事ですがLock Pinに周波数カウンタを当てて通常の周波数を読むと5MHz台が表示されました。
周波数カウンタはロジック用ではないのでプリアンプ入っています。
バイパスが完全にできていなくてDPLLカウンタのクロックが回りこんでいるのかもしれません。
NBWはOSFバイパスすると音は出なくなるようです。
LowestはFIRを使ってもバイパスしても音は出ます。
音切れのUnlockも44.1KHzと96KHzではほぼクロックに比例しています。
CDフォーマットで1秒以上の音切れは致命的ですね。
Si5368あたりでLRCKも含めて信号作れば解決する可能性もあるかもしれませんが
そもそも完全同期だとDPLLが動いていない状態に近い感じなのでそこまでしなくても同じ音が出ているような気がします。
Audio Precisionのアナライザで比較測定できる人がいたらやって欲しいですね。
rtm_iino さん
削除ロジアナでサンプリングレートが高いほど、波形が正確に再現できることは当然のごとく理解しています。
しかし、MCLKとBCLKが同期関係になるなら、BCLKに対してMCLKが2倍であろうと8倍であろうと変わらないことになります。
最初の3つはNBWとは関係無いということですが、NBWを達成するためにMCLKとBCLKが同期関係にしているなら、上記にあてはまると思いますが非同期状態にしているのでしょうか?
>垂れ流しの一方通行のデータなので受けてと送り手のクロックが多少違ってもある幅まで吸収できなければいけないですから
DPLLの幅以上に大きいジッターの場合はロックが外れるのだと思います。
クロックが違うというのが非同期ということであるなら、非同期の場合、ASRCを介してないなら聴感上わかるかどうかは別としてどこかでスリップが起きます。通常の装置では同期させるかASRCを解すかどちらかのはずで吸収することはで想定していないと思います。
クロックが違うというと、仕事柄もありますが非同期と捉えていますがジッタのことを指しているのでしょうか?
NBW時はPLLのロックハズレの検出幅がほぼゼロだと思われます。同期している場合、ロック外れは実際には起きていなくても小幅の位相ズレでロック外れを検出するのだと想定されます。繰り返しになりますが、SFORZATOがNBWでのロック外れなしを達成できた理由は、①総合的にジッタやノイズを他者よりも小さく出来た。②I2Sの各信号をMCLKでリタイミングしたことにより位相関係がOK領域に入った。のどちらかと想定しています。
結構②の可能性が高いような気がしています。
>96KHzでは512mSくらい音が切れます。
癒しの音につつまれてさんの http://blog.livedoor.jp/skydream787/archives/1817961.html では95秒周期となっていますが、ほぼ2桁違いますね?
>その際に気が付いた事ですがLock Pinに周波数カウンタを当てて通常の周波数を読むと5MHz台が表示されました。
ロック外れしていない場合は、"L"もしくは"H"固定なのでしょうか?
NBWで512ms周期音切れ時は5MHz周期でロック外れ発生しているということになりますかね?
kou さま
返信削除ES9018SでNBWで音が出る条件はかなり限られています。
BCLKの整数倍や2^nだと音が出るかというとそうではないようです。
非常に安定度が悪いDDCからの信号でもBCLK:MCLKが1:4の場合は音は出ます。
ちなみに512mSというのは96KHzのPCMでアンロックで無音になる時間です。
音が出ている時間は43秒強(カウンターでの測定では44.202Sで無音を含む周期)だと思います。
Lockピンに5MHz台が出ていると言ってもロジックレベルではなく数mVレベルのノイズです。
AD1896のデータシートの動作原理を読まれた事がありますか?
ES9018Sも原理的には似たような形でフォーマットやレートの判定していると思います。
仰るようにNBWのPLLのロックレンジは極端に狭いと思います。
電源周辺を強化した基板でないとノイズ対策できていないので完全なI2Sの同期信号入れてもロックしない可能性もあります。
Si5326を2個使うかSi5369あたり使えばクロックは比較的楽に作れると思います。
BCLKをMCLKでリクロックするより、Si5326のマルチプライヤでBCLKからMCLKを作る方が精度的には上だと思います。
私の想像では44.1KHzを基準にSi5326に入れてその信号でBCLK、MCLKを作るのが一番だと思います。
rtm_iino さん
返信削除512msは音が途切れる時間のほうでしたか、43秒強ということはサンプリング周波数の比率からすると同じ状況ということになりますね。
レート、フォーマット判定の件ですが、43秒間は正常に音が出ているわけなので、レート、フォーマット判定は常に正しくできていると考えて良いと思います。
また繰り返しになりますが、SFORZATOがNBWでのロック外れなしを達成したのは”I2S信号を同期したMCLKでリタイミングしただけ"が事実であるならば、BCLKだけでなく、LRCKとDataもリタイミングしているはずです。
Si5326でBCLKの精度を上げてもLRCK、Dataについてのケアがなされないので、この条件を満たさないことになる可能性があります。
ES9018のI2Sの受信回路が不明ですが、内部に取り込んでBCLKでリタイミングするのが通常の手法だと思いますが、いきなりMCLKでサンプリングしている可能性もあります。そうなるとI2Sの各信号の変化点がほぼ正確に揃っているかいないかでMCLKでのサンプリングが1クロック以上ずれることになり、NBWの場合は1クロックずれただけで外れていると判断している可能性も考えられます。
私は、DACへは1つのクロックだけを送り(BCLKは送らない)、Si5326でMCLKとBCLKを生成することを考えていましたが、この事がひっかかるので、I2SはBCLKも含めて送り、FFを置きMCLKでリタイミングする構成に戻そうと考えています。
kou さま
返信削除NBWはタイミング以外の条件、OSFバイパスすると音が出ない等他のファクターもあるように思います。
AITLABOさんのブログに気になる記述がありますね。
http://aitlabo.net/blog/?y=2012&m=04&d=05&all=0
ただLJ,RJでもNBWは音が切れるのでI2Sのタイミングの問題は関係ないかもしれません。
ワードクロックだけで送ってSi5326でBCLK,MCLKを作ってしまう方が通常のDACならタイミング的にはベストでしょう。
> AITLABOさんのブログに気になる記述がありますね。
返信削除この件は私が指摘して発覚した現象なので覚えていますw
ES9018のI2S時のL/R Dataを送るタイミングは一般に使われるI2Sと違っているようです。一般的にはLRCLKの立ち下がりから次の立ち下がりの1クロック間でL信号、R信号のワンセットを送るようですが(立ち上がりタイミングでL→Rと変化)、ES9018では立ち上がりから次の立ち上がりの1クロック間でワンセットを送っているようです(立ち下がりタイミングでR→Lと変化)。
従って一般的なI2Sと思って設計すると信号タイミングとしては半波長ずれ、尚且つL/R引っ繰り返ります。音楽信号としては1/fs分ずれたL/R信号が反転して聞こえます。
ESS社の資料データがどういう書き振りになっているかは私は知らないのですが、間違いを誘発する書き方になっているんでしょうね。
と言うようなことで、今お2人が議論されている問題とは直接的には関係ないと思われます。
tetu さん
削除ES9018のデータシートを見ましたが、たしかにRev1.2のタイムチャートはLJ/RJではないいわゆるI2Sの場合、R(LRCLK="H"),L(LRCLK="L")の順序で書かれており、通常のI2Sと逆でRchが先、Lchが後の順序で書かれています。
ところが、先日入手したRev1.22(2012/12/12)のデータシートでは、L(LRCLK="L")、R(LRCLK="H")の正しい順序で記述されています。
誤記を直したのか、バグを直したのかどちらなんでしょうね。
henさんの書かれているように、Rev1.2の通りの場合、1サンプルずれますがLRは反転しないはずです。反転したとすると、LJ/RJとLRCKの極性が逆なのにLJ/RJとI2S同じ極性で扱っていたことになると思います。
1サンプルのズレを検証するのは、結構難しいような気もしますが、どうやって検証したのでしょうか?
いずれにしてもES9018を使う場合、LJかRJで動作させたほうが無難なようですね。
> kouさん
削除resが被ってましたね。
『I2S転送時にLチャンネルとRチャンネルが入れ替わって聞こえる』これが音楽を聴いた検証結果です。
念の為テスト信号でリサージュ確認しました。これが確認した全てです。あとは説明を聞いての
私の推測で先程までその推測で辻褄が合うと思っていましたが、実はもう一つ間違いが存在しないと
辻褄が合わないなと言うことに気付きました。
henです
削除tetuさんは実験してLRが逆なのを確かめられたのですね。大変失礼しました。
私はどこかでダウンロードしたES9008のデータシートと
代理店にもらったrev1.21のES9018のデータシートを見てレスを書いたのですが、間違いがあるようですね。
kouさんがお持ちの1.22では訂正されたということですが…
LJかRJを使うべきという結論は、私も同感です。
またお邪魔します。
返信削除henです。
ES90xxのI2Sは変ですね。エラッタじゃないんでしょうか?9018で直せばよかったのに。
でもtetuさん、出力は1サンプルずれますが、LRは反転しないと思います。
> henさん
返信削除私はAIT DACの製品版1号機を購入し、I2S,DSD等特殊仕様てんこ盛りであったため、αテスターとして評価したんですが、現象として
『I2S転送時にLチャンネルとRチャンネルが入れ替わって聞こえる』という指摘をしました。その際角田氏が資料を見直し、電話で話を聞き
上記の様に私は頭の中で理解しました。
今タイムチャートを書いてみましたが確かに上記説明のみだとL/R反転は無いですねorz
頭と尻尾が半サイクルずつずれますからこれを補正すればずれると思いますが真相は不明です。
いずれにしてもこの部分はES9018は変ということで、kouさんが実際に基板を起こして動作させた時のお楽しみと言うことで(無責任)。