SBC6809 メモリ増設とIO増設準備

SBC6809ですが、メモリが8kBなのはちょっと物足りないので、RAMを増やしたいな、それから、I2Cインターフェースもつけたいな、と思いましたので、なるべく少ない改造でそれらを実現したいなと考えました。

問題となるのは、アドレスデコーダーです。SBC6809では、LS138によって8kBバンク分割されていますが、IOをつけようとすると、自前のアドレスデコーダーを実装しない限りは、1つのIOをつけると8kB無駄になります。結構悩んだけど、いい解決法を思いつかなかったので、これは我慢することにしました。

6809のメモリマップトIOは、FMを使っているときはどうとも思いませんでしたが、こうやって自分でマイコンいじりをすると、悩ましいですね。ハッキリ言ってZ80のようにIOが分離している方がハードウェアが組みやすいのではないでしょうか。

メモリマップを

0000-7FFF  SRAM

8000-9FFF  シリアルI/F (LS138 pin11をCS-)

A000-BFFF  I2CインターフェースIC(PCF8584) (LS138 pin 10をCS-)

C000-FFFF  ROM

とすることにしました。このアドレスデコーダーは、A15が0の時SRAMを選択、A15, LS138 pin 10,11がいずれも1の時に(つまりROM以外のどれも選択されていない時)ROMを選択するというようにすれば良いことになります。

最初、追加ハードウェアを最小にしようと思ってすでに搭載されているPIC12F1822のソフトウェアで上記のアドレスデコーダーを実現しようとしたんですが、さすがに無謀でした。意外に1MHz CPUクロックは速い。

というわけで、仕方なく手持ちの74HC00 でアドレスデコーダー(3入力NAND)を実装。SRAMは256kbit SRAMを秋月から調達(めちゃ安!)。

下記の通り、やっつけ配線を基盤の裏面にしました。SBC6809の美しいお姿が台無し。追加部品は両面テープで貼ってます。

メモリの動作確認は、こちらのモニターで行いました。もちろん、SRAMを増設したので、もともとの64kbit SRAMはソケットから取り外してます。

ちゃんとメモリが見えています!

I2Cインターフェースチップは、これもまた、裏面に貼りつけようと思っていますが、メモリが32kB使えることを確認して力尽きました。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)