0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SPDIFの受信

Last updated at Posted at 2022-02-20

ネットで探すと以下のような参考になるページがあります。

受信のロジックは以下のような方法が考えられます。

  • データはBMCで1ビットを2パルスで送ってくる
  • 1サンプルを32ビットのサブフレームでLRで64ビットの1フレームにしてる
  • データは2パルス以上のH/L信号はなくフレームの先頭だけがHかLの長い3パルスの信号なので、そこを見つける
  • 1秒間の先頭の数を数えるとサンプリング周波数が確認できる
  • 先頭から32ビットのBMCのデータをデコードする
  • 32ビットのサブフレームにはV,U,Cのそれぞれ1ビットの属性情報があり192フレームの1ブロックで一塊の24バイト(32bit x 6)のデータになる
  • 属性情報のCデータにもサンプリング周波数が入っている

FPGAやCPLDで論理実装するときはなんか良い方法があるのかもしれません。売り物のIPもあるようです。

githubを探したらverilogのコードがありました。

ピンが足りなかったので減らして、MAX IIに焼いて試してみました。

image.png

再生するとparityOKが1になるので、ちゃんと動いてそうです。

エラーは以下のようなケースが考えられる

  • パリティが不正
  • 1フレームが64bitじゃない
  • ヘッダーが見つからない
  • などなど
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?