1.ブロック図
2.構成説明
1)PWM
・周期 サンプリング周波数より 1/48kHz
・分解能 システムクロック96MHzをクロックとして 2000
2)オーディオデータ
・USBデータバッファ合計 Middleware実装値 48 * 80 パケット: 15360byte/ms
・仕様と変換 48kHz 16bit 2ch リトルエンディアン8bit区切りデータをPWM値に変換
・転送 サンプル数位相ズレ吸収のため数量2倍のバッファに格納しDMAでTIM2に転送
2)同期
・サンプル数同期 TIM2 カウンタアップデートをTIM1クロックとしてTIM1カウント値で同期
・サンプリング周波数 ホスト側周波数基準のUSB割込タイミングとTIM2 アップデートタイミングを比較
TIM2 Period設定値にフィードバック
3.解説
・PWM用タイマーは32bitタイマー TIM2を使用しているが16bitタイマーを使えばバッファのメモリーサイズは半分に出来る
・ステレオ再生にするにはTIM2 PWMとバッファ、DMAを1組追加する
次はSTM32CubeMX設定