since 2007.8 by K-ichi

トランジスタ技術2006年4月号に、MAX II(EPM240T100C5)基板が付録として付いた。

MAX IIは、メーカはCPLDと呼んでいる。しかしその実は、いわゆるFPGAにコンフィグROMを同梱したもの。MAX7000(EPM7256AがDesign Wave2003年1月号に付録)などとはまったく異なる。安価により大きな容量を得ることができる半面、起動直後にコンフィグの時間があるなど、多少の注意は要する。

このPLDは、コンフィグROMとして使われないフラッシュメモリの一部を、ユーザに解放している。その関連で、精度はないが内蔵オシレータも持っている。512ビット×16、しかもシリアルアクセス、という特殊なメモリではあるが、アイデア次第では使えるかもしれない。今回はROMとして利用した。

PLD用ツールは、ALTERAサイトからQuartusIIがダウンロードできる。以前はライセンス申請(半年毎)が必要だったが、最近のバージョンでは不要になったらしい。



この手の基板をいじる際には、電源コードを引っ張り、スイッチ、7セグLED等入出力装置を外付けすることが多い。MSXにつなぐことで、あらかたまかなえ、アクセスもしやすくなる。接続は、MSXのカートリッジバスを介して行う。

カートリッジ基板は、大昔に買っておいたエミールソフト開発製大型基板。ピンヘッダで下駄を履かせてPLD基板を2階にしている。ちなみに社長のページもある。

MSXのカートリッジバスのピンアサインは、connector contentsの下のほうにある。

基板上にByte Blaster MV相当の回路が搭載されているが、カートリッジに収めることも考えて、10ピン・ピンヘッダで自作ケーブルをつなぐようにした。このケーブルはPCのパラレルポートへ接続する。

PLDは3.3Vで動作する。MSXは5Vなので、72333(JRC)などで3.3Vを作る。LEDなどインジケータを付ける場合には、諸事情から、なるべくこの3.3Vから取るようにする。

このPLDは、TTLレベルではあるが5Vトレラントではない。従って、MSX側につなぐピンには、電圧制限回路を付加する。ちなみにMAX IIシリーズの上位デバイスには、トレラント機能を持つものもある。

回路は電流制限抵抗(R=100Ω)とクリップダイオード(1N4148など)からなる。クリップダイオードにより、3.3V+VFに制限される。その際、電流制限抵抗によって制限された電流が、3.3Vラインに捨てられる。
抵抗が小さければ、捨てられる電流が多くなり、バスの負荷は大きくなり、3.3Vラインも電圧が上がり気味になってしまう。これが上記の「諸事情」。逆に抵抗が大きければ、ICの入力容量などとの積分回路により、信号が遅延してしまう。実際には、1kΩあたりが妥当かもしれない。

なお、オープンコレクタ入力(INT、WAIT)、アナログ入力(SUNDIN)には、この抵抗は付けていない。



動作の様子。左下が起動画面。右上が外観。

「外観」内の挿さっている基板の赤いLEDは、電源インジケータ。その隣で、ふわっと点灯するのがドライブしているLED。右端で青く点灯するのが、FDD IN USEのLED。青色LEDは、前使用者が換装したらしい。
ちなみにマッパーRAMを挿しているので、よく見ると「起動画面」のメモリ容量が増えている。

1.ッボっと電源が入り赤色LEDが点灯
2.MSXのタイトル表示
3.3回BEEPおよび、ほんわり点灯
4.一瞬FDDにアクセスしBEEP
5.画面が変わり、MSX-DOSが起動

通常は、タイトル後、BEEP一発後にフロッピーから立ち上がる。INITルーチンを仕込んだROMカートリッジとして動作させるので、「3.」も実行するようになる。ほんわりLEDは、トランジスタでバッファしてはいるものの、ごく普通に抵抗を咬ませただけ。ハードウェアでPWMを構成して、デジタル的にほんわり感を実現している。



主な作成ファイルは、MSX_MAX2.vhd、MSX_MAX2.mifの2つ。
前者は、PLDのVHDLファイル。MSXとのバスのやりとりや、UFM(User Flash Memory)の操作をしている。後者は、UFM用のROMデータ。速度は出ないが1KB分確保できる。

ほかに、起動時とほぼ同じ動作をするBASICプログラムとして、MSX_MAX2.basも作っておいた。turboR高速モード用なので、Z80で動かす場合には、for文のstepを荒くする必要がある。サイン波風にLEDが点滅する。人間の目は2乗に比例して感じるので、そのような式になっている。

参考に、PLDのピン割り振りを記述したMSX_MAX2.qsfも含めた。

以上すべてをMSX_MAX2.zipにまとめてある。


なお、ハード、ソフトとも、2006年に作成したものを焼きなおした。

0 件のコメント:

コメントを投稿

※ コメントは管理者の確認後に表示されます

関連記事


この記事へのリンク by 関連記事、被リンク記事をリストアップする」記事
Related Posts Plugin for WordPress, Blogger...

ブログ アーカイブ