SpdifTransmitter
S/PDIF consumer transmitter
PCM stereo sampleを受け取り、channel statusを自動生成してBMC lineへ出す。 channel statusの詳細設定を明示的に受け取るため、用途に応じて固定値を上位で管理できる。
sample_valid && sample_readyでstereo sampleを受理し、payloadを内部保持してA(left)、B(right)の順にsubframeを送る。B subframeを受理するまではsample_readyがLowとなり、busyはBMC送信完了までHighを含み得る。
64cellの詳細は省略し、line_valid区間として示す。
Ports
| clk | input | clock | システムクロック |
|---|---|---|---|
| rst | input | reset | リセット |
| cell_tick | input | logic | BMC cell進行パルス |
| sample_valid | input | logic | stereo sample有効 |
| sample_ready | output | logic | stereo sample受理可能 |
| left_audio | input | AudioSample | 左チャンネルPCM |
| right_audio | input | AudioSample | 右チャンネルPCM |
| left_invalid | input | bbool | 左チャンネルinvalid flag |
| right_invalid | input | bbool | 右チャンネルinvalid flag |
| left_user | input | logic | 左subframeのU bit |
| right_user | input | logic | 右subframeのU bit |
| sample_rate | input | SampleRate | 現在のサンプルレート |
| original_sample_rate | input | SampleRate | 元のサンプルレート |
| category_code | input | logic<7> | channel status category code |
| source_number | input | logic<4> | channel status source number |
| left_channel_number | input | logic<4> | 左チャンネル番号 |
| right_channel_number | input | logic<4> | 右チャンネル番号 |
| copy_permitted | input | bbool | コピー許可フラグ |
| non_audio | input | bbool | non-audioフラグ |
| emphasis | input | logic<2> | emphasis code |
| mode | input | logic<2> | channel status mode |
| clock_accuracy | input | logic<2> | クロック精度コード |
| original | input | bbool | オリジナル音源フラグ |
| line_bit | output | logic | BMC line出力 |
| line_valid | output | logic | line_bit有効 |
| busy | output | logic | 送信中フラグ |