DSD Phase Modulation Modeですが、データの周波数が倍になるためタイミングは厳しくなります。といってもたかだか2.8Mbit/s程度なのでクロック波形がきれいであれば問題ではないはずですが...
見方を変えると、必ずエッジが存在するため、BCKなしでもデータが再生できることに気がつきます。S/PDIFやADAT等と同様にBCKなしでも受信可能です。
しかも、BCLKネガエッジ側のDSD_L(R)データは、ポジエッジ側の反転データであるため、ポジ側とネガ側の反転データが一致するかどうかで、誤り検出として使用できるかもしれません。
誤り検出として使えるかは、コードバイオレーションがないことが前提となります。たとえばS/PDIFの場合は、PreambleのX/Y/Zcode時は、"1"は"10"または"01"に0は"11"または"00"にエンコードするルールに反するコードを使用して実現しています。
DSD Phase Modulation Modeもこのようなコードバイオレーションを用いていなければ誤り検出に使用できると思われます。
また、BCKを用いて受信したデータと、上記のBCLKを用いないで受信したデータをコンペアすることによっても、完璧ではありませんが、データ誤りの検出方法として利用できることが期待でいます。
BCKが鈍っていることを考えると、BCKを用いない受信回路の方が、確実にデータを受信できるのではないかと思われます。というか、今のBCK波形ではまともに受信できるか非常に怪しい。
ということで受信キャプチャは、先ずはBCKを用いずデータエッジを利用してデータを受信する方法でやってみようと思います。
またFPGAとしては、BCKを用いないほうが、もうひとつメリットがあります。
S/PDIF、ADAT、I2S、DSDなどの受信回路を共通回路化する場合、モードによってクロックを切り替えることは、できれば避けたいので、BCKを使用せずに受信できるのはありがたい。
0 件のコメント:
コメントを投稿