Veryl registryAkiyukiOkayasu/gndless-adat-veryl · gndless_adatSource ↗

Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

AdatTx

ADAT TXトップモジュール

8ch 24bit PCMをADATフレームへ変換し、NRZI信号として出力

実機確認状況

実機動作は未確認。現時点ではNative testと、RTL内部で接続したAdatTxAdatRx loopback testだけを確認している。 外部ADAT機器との相互接続、光送信回路を含む電気的条件、実機上のタイミングは未検証。

送信パイプラインは以下の3段で構成される。

  1. frame_builder
    • frame_clk立ち上がりをトリガに256bit ADATフレームを構築
  2. bit_serializer
    • 256bitフレームをMSB-firstでシリアル化
    • ADAT_FAMILYに応じて44.1kHz系/48kHz系のビット周期を選択
  3. nrzi_encoder
    • シリアルビットをNRZIへ変換してadatへ出力

公開インターフェースの概念タイミング

次図は縮尺なし。frame_clkの立ち上がりでchannelsを取り込み、256bitのNRZI送信が完了するとframe_doneをシステムクロック1周期だけHighにする。 adatの遷移パターンはPCM値によって変わる。

Parameters


CLK_FREQ u32 システムクロック周波数 [Hz]
ADAT_FAMILY AdatFamily ADATビットレートファミリー (44.1kHz系 or 48kHz系)

Ports


clk input clock システムクロック (50MHz)
rst input reset リセット
frame_clk input logic 外部フレームクロック立ち上がりで新規フレーム送信開始
channels input logic<24> [8] 8ch 24bit PCM入力
smux_active input bbool S/MUX有効フラグ入力
adat output logic ADAT NRZI出力
frame_done output logic 256bitフレーム送信完了パルス