2010年12月26日日曜日

DSDデータのキャプチャ

 DSDデータの受信回路を作成し、SignalTapIIでキャプチャしてみました。




上から
  1. State:5=同期確立中
  2. DSD受信データ(サンプリングクロックのほうが荒い為意味なし)
  3. ポジ側データを32bitパラレル化
  4. ネガ側データの反転を32bitパラレル化
  5. H:ポジ側とネガ側が一致 L:不一致
  6. H:"5A5A5A5A"パターン L:"5A5A5A5A"パターン以外
     DSDデータキャプチャ波形("5A5A5A5A"パターン以外初出部分)


 大体のところは、すでに某サイトで確認されていますので、追加情報的なところをあげてみます。

 実施手順
 ・同じディスクを①停止=>再生と②ポーズ=>再生の各々2セットをキャプチャ(片チャネルのみ)
 ・トリガ条件"5A5A5A5A"パターンか否かを常時監視し、"5A5A5A5A"のパターン出現でキャプチャ開始
 ・トリガ前512×32bit トリガ後3584×32bitのデータをキャプチャ
 ・cvsファイルにexportし、Excel上で編集・解析

 結果からわかること
 ・DSD Phase Modulation Modeのポジ側(前側)データとネガ側(後側)データの反転したものを比較し不一致がないかを検出する回路をつけたが、すべて一致した。
 これより、適当なジャンパーではあるが、伝送エラーは発生していないとほぼ断定できる。
 
 ・大体5A5A5A5A"以外初出から2500word(4byte)ぐらいのところで4つのキャプチャデータパターンが一致。なぜか32bit整列で比較しているのにすべて一致するという結果に、プレイヤー内では32bitあるいはそれ以上のbit処理であるためと推測する。

 ・5A5A5A5A"以外初出から4つのデータが一致するまでのword数には24word位のばらつきがみられた。もしかするとスタートボタンを押したときとピックアップの位置などが影響しているのかも?
 
 ・キャプチャした4096wordすべてのwordで32bit中の1の数は、15,16,17のいずれか。
  内訳は、15個:314、16個:3463 17個:320 
  ローパスをかければ直流。つまりキャプチャした部分はすべてまだ無音区間。


 曲間の区切りを検出するには、32bit中の1の個数を移動平均フィルタをかけ、閾値以上が検出される前n wordとかがよさそうです。

    キャプチャデータ 5A5A5A5Aパターン以外初出部

2 件のコメント:

  1. ををっ、これはわかりやすい。

    ビット列でみると結構はっきりしてきますねぇ…ふむふむ参考にさせてもらいます

    返信削除
  2. とりあえず次は、32bit中の1の個数で先頭位置付近が判別できるか見てみようと思います。

    返信削除