Almost lost technologies

ここは昔の CPU を用いた工作記事を書くために用意しました。

TMS9900 CPUボード、関連システム (その2)

まず、いくつか間違いがあったのと (PL2303SA回り、周辺素子へのアドレス)、実験結果から発振部を修正した関係でCPU基板の修正を貼ります。。

 

f:id:efialtes_htn:20190630233507p:plain

今回は、この枠組で複数の CPU を扱おうとしていること、その中にはCPUまたは周辺部品で入手が困難なものが含まれていること、の2つの理由から基板は起こさない方向としています。要するに、部品入手関係で基板をつくるほど追試する人がいる可能性がかなり低いものが多いです。今回のものはその中では入手容易とも思いますが、今回分に関してはCPUが大きいので、小さな基板には載らないという理由もあります。

で、今回のシステムは秋月の Aタイプ基板に組み立てることとしました。実際に上の回路の通りのものを載せてみると下のような感じです。基板の設計方針は、以下の通りです。

  1. CPU基板、メモリ基板を最小構成とする。CPU基板にはシリアルインターフェースをのせ、ホストとの通信 (要するにモニタなど)を賄う。
  2. バスには 5V 系の信号、電源以外は通さない。電源はバス端子から供給する。
  3. バス信号は Intel CPU like、Little-Endian とする。データバスは 16bit、アドレスは 24bit (バイトアドレス) で張る。CPU側で出ていない場合は、CPU側でグランドに落とす。
  4. あまり高速なバスとはしないが、10MHz 程度は通るようにする。

f:id:efialtes_htn:20190630234110j:plain

この基板はまずこのシステムで動く CPUを用意することが目的の一つなので、Stuart Conner さんのファームを改造して流用する予定です。その関係で回路的には同じような内容になっていますが、もし追試を考えている人がいる場合の参考として幾つか回路コメントを書いておきます。

  • Stuart Conner さんはクロック回りに TMS9904A を用いていますが、これは今回用いた TMS9904 とは別物で、今回の Aなし品は 48MHz の発信をさせる必要があります。基本波としては不可能ではなくとも厳しい周波数帯なので、3倍オーバトーンの発振子を用いることになりますが、3倍オーバートーン発振をさせるのは水晶によって結構癖があります。中華水晶でうまくいっても再現性が怪しいので、今回はまず秋月の 48MHz セラミックレゾネータを実験してみました。試した感じだとタンクを多少調整しないと発振しませんが、調整自体はあまりピーキーではありません。秋月に 48MHz 3倍オーバートーン水晶もありますので、そちらの方がいいかもしれません。それと、TMS9904 は 1W 近く食うのでかなり発熱します。電解コンデンサの配置は考慮してください。
  • 今となってはドライバの関連で PL2303SA はあまりいい選択ではありません。Arduino 向けのモジュールの方がいいと思う。但し、専有面積は見たとおり小さいです。
  • 部品自体は、TMS9904 と PL2303SA、タンクのコイルは手近には Aitendo, TMS9900/01/02 は探してください。他は汎用部品なので、入手は困らないはずです。回路図で2つある100μHの L は写真の通り別物ですが、電流を考慮して適当なものを選択してください。セラミックのパスコン以外は大きさも含めて写真ぐらいだと思います。電源回りの電解コンデンサは当然ですが、リップルにほどほどに耐えるものを。今回は 12V 出力は Rubycon の ZLH 35V品、入力側は日ケミの KZH にしていますが、あまり神経質になる必要はないでしょう。

バスや、メモリ関連については次回に書きます。