-
Notifications
You must be signed in to change notification settings - Fork 0
Home
kuninet edited this page Sep 13, 2020
·
13 revisions
- Z80 CPUボード(KZ80-CPUB)やSBC8080 CPUルーズキットと組み合わせて使用できる FM音源 YM2151 ボードです。
- 本基板は以下の組み合わせで動作可能です。
- ArduinoUNO + KZ80-YM2151
- SBC8080/8005 or KZ80-CPUB + KZ80-IOB <--[Arduino端子]--> KZ80-YM2151
- SBC8080/8005 or KZ80-CPUB <--[SBC8080バス(40pin)]--> KZ80-YM2151
- KiCADデータ、基板製造データはこちらです。
- 部品組み付け例の写真はこちらです。
-
PDF版回路図はこちらです。
-
この基板は、Arduino接続用端子とSBC8080バス(40pinフラットケーブル)のどちらかで接続可能としています。
-
FM音源チップ(YM2151)の#CS(チップセレクト)や#IC(リセット)の切り替えのためジャンパが3つありますので注意してください。
- YM2151(FM音源LSI)とYM3012(DAC)、オペアンプの接続はほぼデータシートの接続例に習っています。
- YM3012 DACからのアナログ信号は単一電源4回路入のオペアンプで増幅しています。
- Arduino Uno/KZ80-IOB Arduino端子との接続回路
- もともとはArduino UnoでYM2151を鳴らす基板としてスタートしたため、こちらの接続が基本です。
- D0〜D7のデータバス、A0アドレス信号、RD/WR(読み/書き)、リセット信号、電源をArduino型端子からもらいます。
- YM2151の#CSについてはArduinoUnoとの接続の場合は常にONで良いのでGNDへ。KZ80-IOBとつなぐ場合は KZ80-IOB側のアドレスデコーダ(74HC138)でコントロールするためArduino型端子側からもらいます。
- SBC8080バスとの接続
- SBC8080/SBC8085 CPUルーズキット等 とKZ80-IOBを 使わず SBC8080バス(フラットケーブル40pin)経由で接続する場合を想定した接続です。Arduino型端子と同様の信号線に加えてアドレスでコード用にA7〜A5アドレス信号ももらいます。
- アドレスデコードは本基板上の74HC138で実施します。アドレスジャンパを適切にセットしてください。(推奨は40h)
- YM2151の#IC(リセット)は負論理のためSBC8080バスののRES端子の信号を2SC1815のNOT回路で反転しています。
接続先基板 | JP1 | JP2 | JP5 |
---|---|---|---|
Arduiono UNO | 1-2 | 1-2 | 1-2 |
KZ80-IOB Arduino端子 | 2-3 | 2-3 | 1-2 |
SBC8080バス | 2-3 | 1-2 | 2-3 |
- ArduinoUNOと接続する場合
- YM2151の#CE(チップセレクト)は常にGNDに落として「常時選択」状態としてください。
- #IC(リセット)はArduino UNOのスケッチ(プログラム)内でコントロールしますのでArduino用端子へジャンパJP5で接続してください。
- KZ80-IOB(Z80 I/Oボード) Arduino端子と接続する場合
- YM2151の#CE(チップセレクト)は、KZ80-IOB上にある74HC138にてにてI/Oアドレスデコードされますので、ジャンパJP1、JP2を経由してArduino端子へ接続してください。
- I/Oアドレスの設定はKZ80-IOB側のジャンパで設定してください。
- YM2151の#IC(リセット)はKZ80-IOB側でSBC8080バスのリセット信号(RES)をNOT回路を経由してArduino端子へ供給していますので、こちらもジャンパJP5を経由してArduino端子へ接続してください。
- YM2151の#CE(チップセレクト)は、KZ80-IOB上にある74HC138にてにてI/Oアドレスデコードされますので、ジャンパJP1、JP2を経由してArduino端子へ接続してください。
- SBC8080バス(40pinフラットケーブル)と接続する場合
- KZ80-IOBを 使わず SBC8080バス(フラットケーブル)経由でつなぐ場合は、#CE(チップセレクト)、#IC(リセット)共に以下のように本基板上の部品でコントロールしています。
- YM2151の#CEのためのアドレスデコードは本基板上の74HC138で実施します。I/OアドレスはジャンパJP3で設定してください。推奨は40hです。JP1、JP2のジャンパ設定は上表のとおりです。
- #IC(リセット)についてはSBC8080バスのリセット端子(RES)の信号を2SC1855で構成したNOT回路経由で供給します。NOT回路からジャンパJP5経由でつないでください。
- KZ80-IOBを 使わず SBC8080バス(フラットケーブル)経由でつなぐ場合は、#CE(チップセレクト)、#IC(リセット)共に以下のように本基板上の部品でコントロールしています。
- 部品表はこちらをご覧ください。OpenOfficeのCalc等で開けるファイルとなっています。
- FM音源(YM2151)、DAC(YM3012)
- 国内では入手が難しいと思いますが....頑張ってください。
- 水晶発振器 3.579545MHz
- キャンタイプ(DIP14幅)に合わせてあります。
- 実装時に極性に十分注意してください。
- 違うタイプを使用する場合は適宜 変換基盤を作ってください。
- オペアンプ
- 単一電源4回路タイプを使用してください。私はピンコンパチのLMC660CNを使用しました。
- コンデンサ類について
- デジタルIC(YM2151/74HC138/YM3012)のバイパスコンデンサは積層セラミックタイプで良いです
- オペアンプに接続するコンデンサは音質に拘るならフィルムコンデンサ等が良いらしいですが、電解コンデンサ/積層セラミックコンデンサでも問題なく動作します。
- 基板取付用3.5mmステレオミニジャック
- AJ-1780のフットプリントを使用しています。たぶんこれしか合うものがないです。
- リセット用トランジスタの動作を速くしたい場合
- SBC8080バスのリセット端子からの信号を反転させるために、2SC1815トランジスタでNOT回路を組んでいます。トランジスタのベース抵抗100kオームの両端に22pF程度のスピードアップコンデンサをとりつけると、信号のたちあがりが速くなります。(KZ80-1MSRAMボードなどの回路を見てみてください。)
- KZ80-YM2151 FM音源ボード (BLOG記事)