YM2203のピン機能

YM2203のピン機能についてまとめます。
YM2203ピン配置図

φM

マスタークロック入力。このクロックをもとにFM音源とPSG音源は動作します。最大入力周波数は4.2MHzです。
※ 僕のFM音源シールドではGR-SAKURAのMTUで生成した4MHzのパルスを入力しています。

φS, SH, OP-O

FM音源のシリアルDAC出力。専用のDAC YM3014に接続します。φSがクロック, SHが同期信号, OP-Oが13ビット浮動小数点シリアルデータです。

D0〜D7, A0, #CS, #RD, #WR

プロセッサとのバスI/F。データバス、アドレスバス、チップセレクト、リード、ライトからなる、古典的な外部メモリバスです。データバス幅は8ビットです。しかしアドレスバスは1ビットしかありません。YM2203の内部レジスタにアクセスするときはまず0番地に内部レジスタのアドレスを書き込んでから、1番地を読み書きします。これによりアドレスバスのピン数を節約しています。

#CS #RD #WR A0 動作
 0  1  0  0 レジスタアドレスを書き込む
 0  1  0  1 レジスタの内容を書き込む
 0  0  1  0 ステータスを読み出す
 0  0  1  1 レジスタの内容を読みだす
 1  X  X  X データバスはハイインピーダンス
※ 僕のFM音源シールドでは、素直にGR-SAKURAの外部バスに接続しています。それほど高速なアクセスは必要ない(というかYM2203のほうが遅い)ので、外部バスI/Fを持たないマイコンでも、GPIOを12本使えばたぶん代用できるでしょう。

#IRQ

タイマー割り込み出力。YM2203は2個のタイマーを持ち、一定周期でプロセッサに割り込みをかけることができます。プロセッサにYM2203と同期して音楽演奏の処理をおこなわせるために使用します。
※ 僕のFM音源シールドでは、そもそもプロセッサであるGR-SAKURAからYM2203にクロックを供給しているうえ、GR-SAKURA自身が高精度のタイマ割り込みを持っているので、このピンの機能は使用しません。

#IC

リセット入力。LOWにするとYM2203はリセットされ、すべての内部レジスタの内容は0になります。

Analog Channel A, B, C

PSG音源(SSG音源)のアナログ出力です。ソースフォロワーになっているので、抵抗を用いてミキシングできます。

IOA0〜IOA7, IOB0〜IOB7

汎用入出力ポートです。各端子ともプルアップ抵抗を内蔵しています。音源の機能とは直接関係ありません。
※ 僕のFM音源シールドでは、使用していません。そもそも汎用入出力ならYM2203の手を借りなくてもGR-SAKURA自身にたくさんありますし。ここらはやはり30年前のチップですね…

AGND

PSG音源(SSG音源)の内蔵DACのためのアナロググランド端子です。

Vdd, GND

+5V電源端子とグランド端子です。