YM2203をNucleo F401REで鳴らす話 (序)
YM2203とYM3014を入手しました。これでFM音源でも鳴らそうと思います。 pic.twitter.com/SH560sEC8K
— 七瀬ともな (@nanasetomona) 2015, 1月 28
先日、友人と例のガチャガチャで YM2203 を入手しました。
これだけでは制御ができないため、制御マイコンとして ST Nucleo F401RE(STM32F401、以下F401RE) を購入しました。
購入前に詳しく調べませんでしたが、YM2203 と F401RE はともに 5[V] での駆動が可能です。YM2203 の消費電力に若干不安はありましたが、F401RE の電源ピンから電源は取れそうです。
YM2203 はPSG音源(SSG音源とも)はアナログ出力ですが、FM音源はデジタル出力です。
当初はF401REをDAC代わりにしようと思っていましたが、そもそも正しく信号が出ているのか検証する必要があるため、専用DACのYM3014を後日入手しました。
他にオペアンプが必要ですが、汎用オペアンプなどはすでに持っていたため流用しました。
実際に購入→正しく発音までに3週間ほどかかりました。
数回に分けてこの3週間にどこでつまずいたのかを記録しておこうと思います。
ここまで正しい発音ができない状態が続いたのは、次のような要因が重なったためです。
- YM2203の日本語データが乏しい
- F401REに正しいプログラムを書き込んだか?
- F401REが正しい信号を出しているのか?
- YM2203に書き込むデータは正しいのか?
- YM2203に書き込むタイミングは正しいのか?
- そもそもF401RE、YM2203、YM3014は正しく動作しているのか?
結論、F401RE、YM2203、YM3014は正しく動作していました。
Nucleoシリーズ及びmbedは初めて使いましたが、数日の使用で正しく、しかも簡単に扱えることが理解出来ました。
最も時間を費やした作業はYM2203に書き込むデータとそのタイミングでした。
幸い、YM2203を動作させるための回路図は随所で発見できますし、ブレッドボード上の回路は非常に簡単でした。
先日からいじり始めたYM2203ですが、今日未明ようやくFM音源の音を聴けるようになりました。データ書き込みの時間が想定よりもかなり長い印象です。 pic.twitter.com/KzfNsq87z9
— 七瀬ともな (@nanasetomona) 2015, 1月 31
次回より何にどう躓いて、どうやって解決したかを数回に分けて記録していきます。