SPDIF

ソフト S/PDIF トランスミッタ (9)

今回はオーディオ・データの BMC エンコードと変換テーブルの作成についてです。 16 ビット・オーディオ・データを上位 8 ビットと下位 8 ビットとに分割し、それぞれを BMC 符号化して 2 つの 16 ビット・パターンを得ます。 このエンコードを 1 ビットずつ…

ソフト S/PDIF トランスミッタ (8)

秋葉原へ出かけて、 FM 音源チップ YMF276-M (FM 音源ガチャ) STM32 Nucleo-F411RE (マルツ) を買ってきました。 YMF276-M については別の記事で触れることにして、今回は Nucleo F411RE について書きます。 Nucleo シリーズの F411RE 以外のボードについて…

ソフト S/PDIF トランスミッタ (7)

前回の話に関する補足です。 1 ブロックの内容を繰り返し送信する場合、 1 ブロックは 192 オーディオ・サンプルで構成されるので fs = 48 kHz では、4 ms 周期 (周波数 250 Hz) で同じ波形が繰り返されることになります。 ここで、送信バッファの 1 ブロッ…

ソフト S/PDIF トランスミッタ (6)

今回から、やっとソフトウェアの話に入ります。 まず、ブロック/フレーム/サブフレームの組み立てや BMC 変調の説明の図では、左側のビットが先に送信され、右側のビットが後に送信されるような配置で記されています。 実際にはオーディオ・データとの対応や…

ソフト S/PDIF トランスミッタ (5)

前回の BMC 変調までの話で S/PDIF の光送信モジュールへ出力する「信号波形」に対する「ビットマップ」が準備できたことになります。 あとは、メモリに展開されたこのビットマップを実際の連続したシリアル・ビット列に変換するのは SPI/I2S モジュールおよ…

ソフト S/PDIF トランスミッタ (4)

オーディオ・データに前回説明したような制御/情報ビットを加え、サブフレーム/フレーム/ブロック構造を実現した段階では、サンプリング周波数 fs の 2 ch オーディオ・データに対し 1 フレームあたり 64 ビットで構成されるので、ビット・レートとしては (6…

ソフト S/PDIF トランスミッタ (3)

S/PDIF のブロック/フレーム/サブフレーム構造の図を下に示します。 図の左側が時間的に先に、右側が時間的に後に送信されます。 これは伝送すべきオーディオ・データと、それに付加する制御/情報ビットについて表したもので、実際に光ファイバなどを通じて…

ソフト S/PDIF トランスミッタ (2)

S/PDIF では、後述するようなブロック/フレーム/サブフレーム構成と BMC (Biphase Mark Code) 変調により、48 kHz のサンプリング周波数に対しては、ビット・レート 128 × fs = 128 × 48 [kHz] = 6.144 [Mbps] のビット・ストリームとして送信されます。 こ…

ソフト S/PDIF トランスミッタ (1)

ハードウェア S/PDIF 送信チップを使わずに、マイコン内蔵の SPI/I2S, DMA モジュールとソフトウェアのみで S/PDIF トランスミッタ (fs = 48 kHz) の機能を実現するプログラムを作りました。 現在のところ、対象のマイコンは Nucleo F401RE/F411RE で、プロ…