MC68EZ328 SBC

Project Overview

1996年ごろに登場したPalm PDAで使われていたCPU MC68EZ328でSBCを製作し、uClinuxを動かします。このCPUは68HC000をコアに持ったDragonBall-EZと呼ばれた統合プロセッサ。68000でuClinuxと聞くとワクワクします。このCPUがなぜか手元に数個ありました。

dragonball_mc68ez328_cpu.jpg

以前はMC68EZ328の資料がNXPのサイトに豊富にあったのですが、ディスコンのため次第に消えつつあるようです。情報が無くなる前に何か動かしてみたく、Khaled Hassounahさんが製作されたDragonOne SBCをベースに製作してみることにしました。

MC68EZ328はCPUにブートストラップ機能を持っています。このためPCとシリアルで接続し、DOSで動く専用ツール(BBUG.EXE)があればメモリの読み書きや実行などの機能が使えます。しかしこの専用ツールは配布が終了してしまったので、Pythonで同等のものを作成しました。

ブートストラップ機能を利用してモニタプログラムを載せ、これをベースにフラッシュ書き込みツールをつくり、BASICを載せましたが、過去にuClinuxも動いていたということなので、Linuxアプリケーションやネットワークなどが動くように実験を続けています。

dragonone_sbc_solder_pcb4.jpg

Spec

  • CPU: MC68EZ328 DragonBall-EZ
  • Flash Memory: Am29LV033C 32 Megabit (4M x 8-Bit) x 2
  • DRAM: MT4LC4M16R6 64 Megabit (4M x 16-bit)
  • RTC: DS1306

Schematics

DragonOneのページに掲載されている回路図はやや曖昧なところがあり、そのままでは実装ができなかったため実験をしながら正しい回路図を起こしました。

Memory Map

00000000 +----------+
| DRAM |
007FFFFF +----------+
| : |
10000000 +----------+
| FlashMem |
107FFFFF +----------+
| |

操作方法

  • BOOTSTRAPスイッチを押しながら、RESETスイッチを押すとブートストラップモードになります。9600bpsのシリアルターミナルでEnterを押すと"@"が表示されます。これがブートストラップモードのプロムプトです。このモードではBレコードという形式のファイルを使い、メモリへの書きこみと指定アドレスからの実行ができます。

PCB Gerber data

  • DragonOneのページにガーバーデータは掲載されているのですが、ガーバービューワーで正常に表示されないので、勉強がてらこのサイトにある回路図とPCBパターンの画像から10x10cmに収まるようにKiCadで再設計してみることにしました。なお、サイトにある回路図とPCBパターンは一致してないようで、PCBパターンを優先して回路図を起こしています。
  • Rev.0.1では若干の配線ミスがあったためジャンパー修正が必要です。
  • 回路を修正したRev.0.2は作成しましたが、発注予定はなくテストはできていません。

PCB Errata

プリント基板の修正情報です。

Rev. 0.1

    アプリケーション

    GitHubに掲載しています。

    1. ブートストラップツール
    2. モニタ
    3. フラッシュ書き込みツール
    4. BASIC
    5. uClinux

    製作記事

    きょうのかんぱぱにて製作記事を掲載しています。

    謝辞

    テスターとしてご協力いただいています。ありがとうございます。

    • tomi9(@tomi9tw)様

    利用上の注意

    • 本サイトに掲載している回路、技術、プログラムなどは無保証です。
    • これらの利用によって発生したトラブルには責任を負いかねます。自己責任にてご利用ください。
    • KiCADデータおよびガーバーデータはCC BY-SA 4.0 (Copyright (C) 2021 Kazuhiro Ouchi)です。