マイコン工作実験日記

Microcontroller を用いての工作、実験記録

TLV320DAC3203

2024-05-23 12:51:37 | DoomPlayer

秋月の新製品情報を見ていたら、Nucleo-U575ZI-Qが出ていることに気づいたのですが、4,800円もすることにビックリ。円安の弊害をあらためて痛感しました。これじゃ、EP32やRas Picoに人気が流れてしまう傾向は強まるばかりですね。

DoomPlayer Nucleo-U575ZI にコーデックを載せようとして検討した際にも、コーデックチップがとても高くなっていることに気付かされました。TLV320AIC3204あたりが900円もする。そんななか、200円台で買えるTLV320DAC3203を見つけたので、これを使うことにしました。名前が示すようにTIの製品分類ではAudio CODECではなくAudio DACになっているのですが、アナログ入力やデジタルマイク入力も受けられるようです。96Kとか192Kのようなハイレゾオーディオには対応しておらず48KHzが上限のDACですが、DoomPlayer では44.1KHz 16bitステレオの音楽データをヘッドホンへの出力ができれば良いので、これで充分です。

DAC3203はDVddとして1.8Vが必要なので、NJM12877F18を載せてあります。アナログ電圧(AVdd)は内蔵LDOで生成するという使い方にしたので、AVdd端子はパスコンをつないだだけです。

STM32U575側では、SAIを使ってデジタルオーディオデータを送信。HSI 16MHzからPLLを使って生成した11.29MHzをMCLKとしてDAC3203に供給しています。この周波数は、44.1KHzの256倍になっています。DAC3203のReference Guideを参考にして初期化をおこなってから実際に音を出してみると、イヤフォンからはとても大きな音が出てきてびっくり。レジスタ設定を確認してみるとディフォルトのPowerTune ModeはPTM_P3になっており、アナログ出力の振幅が大きくなるようです。PTM_P1に変更することで、イヤフォン向けの大きさになりました。


新基板を作成

2024-05-15 12:50:34 | DoomPlayer

しばらくぶりの更新ですが、この1ヶ月の間にNucleo-U575ZI用の基板を作り直していました。

当初は使用する部品数を最低限に抑えて、簡単に作ることをひとつの目標としていたので、音の再生にはSTM32U5のDACを用いていました。その目的は達成することができて、音楽の再生もDOOMのゲームの実行もできるところまではできたのですが、実際に音を聞いてみるとやはり12bitのDACでは高域がカットされてしまうので、音の厚みが欠けており満足のできるものではありませんでした。

そんなわけで、部品数は増えてしまうけれども、やはりCODECを載せることに方針転換。基板を作り直しました。CODEC制御のためにSAIとI2Cを使う必要が生じたので、それに伴いSTM32U5側のピン割り当ても一部変更せねばならなくなりました。ひと通り動くようになったら、回路図とソースコードを開示するつもりです。