STM32F446RE 内蔵の SAI モジュールの AC97 モード (2)
AC97 では、1 オーディオ・フレームは 256 ビットから構成されており、「BIT_CLK」 (ビット・クロック) の周波数は、 256 × 48 kHz = 12.288 MHz となります。
256 ビットの 1 フレームはさらに、16 ビット幅のスロットが 1 個、20 ビット幅のスロットが12 個の、合計 13 個のスロットに分割されます。 各スロット内のデータは MSB ファーストで送受されます。
STM32CubeIDE 対応 TGSTM32F4 (1)
STMicroelectronics 製 STM32F4 マイコン・ボード 「STM32F4 Discovery」(STM32F407VGT 搭載) 用のFM音源プログラム 「TGSTM32F4」(2012 年 04 月 18 日に公開) では、開発環境として、無償版の Atollic TrueSTUDIO for STMicroelectronics STM32 Lite V 2.3.0 を使用しています。
このバージョンの TrueSTUDIO では、無償版にもかかわらずコードサイズの制限がなかったのですが、その後継のバージョンではコードサイズ 32 KB の制限が加わり、TGSTM32F4 プログラム公開の時点で V 2.3.0 はダウンロードできなくなっていました。
新版FM音源プログラム (21)
STM32F4 シリーズには、「Adaptive real-time accelerator」(ART Accelerator) と称するフラッシュ・メモリ読み出しのためのキャッシュ機構が備えられています。
フラッシュの読み出し幅は 128 ビット (16 バイト) で、フラッシュ上の命令 (I-Code) に対しては 64 ライン分の命令キャッシュが用意されており、プリフェッチされた命令が格納されます。
命令キャッシュ・メモリ容量としては、16 × 64 = 1024 バイトとなり、90 バイト足らずの calc_slot() 関数は全体がキャッシュ・メモリ内におさまります。
フラッシュ上のデータ (D-Code) に対しては 8 ライン分のデータ・キャッシュが用意されています。