2016-07-11 17:28 — asano
デバッグしながらROMを書き直すのが面倒になって作ったROMエミュレータ、ですが製作後ROMを使う機会が少なくなってしまいました。
中央が本体、右の子基板はPCのシリアルと接続するためのRS-232レベルコンバータです。左のクリップはPCからアクセス中にターゲットをリセットするためのもので、アクセス中はROMとしてターゲットから正常なアクセスはできないからです。ちゃんと切り離してはいるのでリセットしなくてもバスが衝突したりはしません。
製作するに当たって目標とした仕様は以下の通りです。
- 27256専用
- ROMソケットの面積に収まること
- PCに専用ソフトを必要としないこと
- ソフトデバッグ専用
- 表面実装部品を使わない
- バッテリバックアップは必要ない
対象とするROMは27256のみに絞ることにしました。
当然縦型で作ることになります。基板を削るのが面倒で若干超えていますが、普通に設計されたターゲット基板ならまず問題ないでしょう。これで干渉するなら本物のROMでも抜くのに苦労するでしょう。
シリアル接続でインテルHEXかモトローラSの形式で流し込めば良いようになっています。またパッチ当てのため、ターミナルから対話的にD(ダンプ)・S(セット)等のコマンドで書き換えることもできます。
タイミング等の電気的特性はもちろん対象外とします。
やはりROMの幅でDIP部品というのはかなり無理があるようで、非常に密集した配置になっています。
ROMエミュレータの主役はなんと言ってもRAMでしょう。あとの回路はこのRAMをPCとターゲットで共有するための仕掛けにすぎません。中央のSRM2B256SLCX70がそれですね。70ns品なのでバッファの遅延等もふくめ十分と言えます。
コントローラのマイコンにはATMELのAT90S2313-10PC(右上)を使用しています。20ピンパッケージでI/Oが15本というちょっとした制御には手頃なデバイスで、個人的にもお気に入りなのですが、今回のように外部にSRAMを置くとなるとI/Oピンが圧倒的に足りません。そこでPB0~PB7をマルチプレクスバスのように使用しています。
PB0 | D0 / A0 / A8 |
---|---|
PB1 | D1 / A1 / A9 |
PB2 | D2 / A2 / A10 |
PB3 | D3 / A3 / A11 |
PB4 | D4 / A4 / A12 |
PB5 | D5 / A5 / A13 |
PB6 | D6 / A6 / A14 |
PB7 | D7 / A7 |
PD0 | RxD PCからのシリアル受信 |
PD1 | TxD PCへのシリアル送信 |
PD2 | WE 立ち上がりでRAMへの書き込み |
PD3 | OE Lの間RAMからの読み出し |
PD4 | ALEH 立ち上がりでPB0~PB6をA8~A14としてラッチ |
PD5 | ALEL 立ち上がりでPB0~PB7をA0~A7としてラッチ |
PD6 | SEL Lの間RAMにアクセス可能、同時にターゲットへRESET出力 |
左に2つ並んでいるSN74HC574Nはアドレスのラッチ用。
RAMの下のSN74HC541NはターゲットへのD0~D7出力のイネーブル制御、その下の2つの74HC541APはターゲットからのA0~A14のバッファです。右のSN74HC157NはOE,CEをSELによって切り替えるためです。
左上の2ピンのコネクタはターゲットをリセットするためのもの、黄色の線がそうです。青は未使用。
右隣の10ピンのはシリアルポート、レベルコンバータ用の電源も含め使っているのは4ピンのみです。
その右の6ピンコネクタはAT90S2313の書き換えようコネクタになります。
基板下端のコネクタはターゲットへの接続用、適当なコネクタがなかったので長いものを切断して使用しています。
ターゲットのソケットに挿すための変換基板、よく見るとピン数が違います。本来の28ピンのものが行方不明で、これは別な目的で作った32ピンのもの、ピン数以外の構造は一緒です。
これはレベルコンバータ、定番のMAX232CPEを使用しています。232Aではないのでキャパシタは1.0uFが必要なはずですが、0.1uFが付いていますね。MAX232の発売当初は10uF必要とどこかで読んだ記憶もかすかにあるのですが...
D-subコネクタは無理やりハンダ付け、裏側の6~9ピンのところはパターン削り取っています。
2017年2月9日追記:
28ピンの変換基板を発見しました。
コメント
MAX232(Aなし)のキャパシタ
遅レスですが掲題の件、89年のMaxim社英語版データブックで10uFの記載を確認しました。
以前に本ホームページを拝読してから私も疑問でしたが、コロナもあり外出予定がない(暇とも言う)ことから調べてみました。
虎技誤植がきっかけかと疑っていたのですが、こういうことも有るのですね。
確認ありがとうございます
初期の冊子(MAX23xシリーズのみ)を持っていたのですが行方不明になっておりまして。
10μFを見たとすればその資料だろうと疑ってはいたのですが...
勘違いではないとわかり安心しました。
最初は余裕を見て大きな値を指定していたが、後に小さくても問題無いとわかって記述を変更した、といったことだったのかもしれませんね。
コメントを追加