2011年2月21日月曜日

使用モードスイッチ切替機能

 使用形態を切り替えるのに、いまのコードのままではDIP SWで切り替えられるようにするのが結構めんどいこともあり、今までいちいちFPGAの論理を書き換えてコンパイルするというアホなことをやっていました。 

 整理すれば、使用形態は下図の4パターンに限定できますので、DIP SW選択でこのパターンを選択できるようにしようと現在FPGAを修正中。


形態1:PCからもしくはBDP-S370からPCでチャネルデバイダ処理して再生
BDP-S370からはSDRAMバッファモード)

形態2: BDP-S370 PC非介在で再生(SDRAMバッファモード)

形態3: DSD再生(SDRAMバッファモード)

形態4:USB Dual AudioからのDSD再生(SDRAMバッファモード)この構成は未確認


 とりあえず、各モジュールでバラバラに配置したモード、パラメータ類の変数を一箇所に集約して、その上でDIP SW設定に合わせて各パラメータ値を切り替えるようにします。

 最初から一箇所で制御できるようにするつもりではいたのですが、systemVerilogの構造体のinterfaceを介したモジュール間渡しがうまくできるか不安というか、最初試したときうまくいかなかったので、モジュール内に配置していましたが、その後inerfaceを介して構造体の受け渡しができることが確認できていたので、集中配置するよう構造を変更。
 今日中にはできると思ったが、色々とてこずり、ようやく集約までは完成しました。
 
 DIP SWで切替られるよう明日、明後日には変更したいと思います。これが調整できたらcapriceのHDMI-I2S接続などに取りかかります。
 

3 件のコメント:

  1. オーディオ初心者2011年2月22日 1:58

    DN-HDMI4000ASの件で、先日は回答頂き有難う御座います。
    さて、念願のcapriceが届きましてDN-HDMI4000ASと同軸で接続しPS3の設定を192Hzまで上げたら時より音が途切れます。
    capriceの裏面のディップSWの2番目を外側にしたら良くなりました。この事からDN-HDMI4000ASの精度はあまり良くないのでしょうか?

    返信削除
  2.  そうですね。
     こちらの場合は、DN-HDMI4000ASでは、たしかLow設定(出荷デフォルト)で同期とれたような記憶がありますが、あまり長く確かめてはいないので確実に同期できているかは怪しいかもしれません。

     現在はMultiDACからの接続にしており、こちらの場合、Lowでは問題ないようですが、Lowestにすると以前問題ないと書いていますが、再生開始後数分間同期が外れることがあるようです。

     DN-HDMI4000ASの場合、構成から考えてHDMIから受信したデータからクロックを再生していると思われるので、データパターンからクロックリカバリする際のジッタがあるのは想定できます。これはDN-HDMI4000ASに限らずHDMI装置では、特別な仕組みを用意している場合を除き避けられないと思います。PLLをジッタ伝達特性の良い高性能なものにすれば改善は見込めるとは思いますが...

    返信削除
  3. Lowestはトラポ側のクロックがしっかりしてないと厳しい…

    I2SだとLowestはダメぽで、Lowまでとか…

    22.xxxMHzぢゃなくて20MHzでサボってる某社のDDCだと、一番広くしないとまともにロックしないとか聞きました…

    返信削除