ryuchi's wiki pages
設計・パーツ選択 †
構想がだいたい決まったら、設計して、パーツ選択。本来なら、きちんと機能ブロック図や 条件確認をするべきなんですが、そこは、趣味で作ってみる世界、細かいことは すっとばして、いきなりパーツを選定したり、回路図のようなものを作成してまおうと考えています。
まぁ 構想している間に、自分の頭の中では、先に進めてしまっていますが... (汗)
というわけで パーツ選択を...
入力部 †
- PS/2キーボード
- ごく一般的な PS/2インターフェイスなキーボード。最近は USBなものが多くなってきているようですが、まだまだ健在なはず。なお PC-9801用の方が楽そうだけど、こちらは既に少ない?
- ミニDINコネクタ (6pinタイプ メス側)
- PS/2キーボード接続用。本体側には メス側のコネクタを使用。ちなみに PC-9801用キーボードを使うなら 8pin用を使えばいいはずだけど...
- 少電力スイッチング用 NPN型トランジスタ
- 2SC1815など。ほかにも いくつか種類があるが TO-92パッケージな NPN型のバイポーラトランジスタなら 動く気がします。
PS/2キーボード用のインターフェイス回路を作成して PICに接続します。 Webを検索してみると、CLKとDATAの2本だけを接続して使っている例もみますが、ここでは オープンコレクタでキーボードと接続し、PIC側からは、4本のIOを使って、ドライブする回路を構成してみます。
どうしても IOピンが足りない状況になれば、直接 2本だけ接続してIOピンを節約してもいいかもしれません。
CPU部 †
- PICを使用する
- 今回は、PIC24F64GA002 というPICを使用します。この 1個のLSIで、演算部、プログラム/データ用メモリ(ROM/RAM)そして、IO周辺回路が入っていますので 外付け部品はほとんどありません。
出力部 †
- キャラクタ表示LCD
- 秋月電子通商で、購入可能なキャラクタ表示LCDモジュールを使います。表示文字数の大きさや、バックライトの有無、表示色などで いくつか種類があります。
表示文字数は少ないもので 16桁x1行から 多いもので 20桁x4行 または 40桁x2行のものがあります。今回は サイズの関係で 16桁x2行のものを利用しようと思います。
なお、マイナーチェンジで グラフィックス表示可能なLCDを使うことも考えていますので、回路は これに対応できるようにしておきます。
通信部 †
- RS-232Cの通信をサポートした回路がPICに 2チャンネル分内蔵されています。これを使うと簡単に実現できるので、これを利用します。但し、PICからの入出力は +3.3VのTTLレベルなので 専用のICを使ってレベル変換をします。
なお、マイナーチェンジ後に グラフィックLCDに対応しようとすると、IOピンの数が足りないので ハードウェアフロー制御は 今回はサポートしません。少し工夫すれば ハードウェアフローにも対応できるのですが...
電源部 †
回路全体に正しく電源が供給されないと、当然、動作しません
PS/2キーボードは 基本的に +5Vで動作します。 LCDは +3.3Vでも動作する物もあるようですが、+5Vなら確実なようなので これも +5Vで駆動することにします。一方、PICは 3.3V±10%以内で 駆動させます。+5Vの電源回路に接続すると壊れてしまうので +3.3Vの電源が必要になります。また RS232C用のコンバータは +5Vでも動作するけど +3.3Vが標準なようなので +3.3V駆動とします。
まとめると キーボードおよびLCDは +5V駆動、 PICおよびRS232Cは +3.3V駆動となるので、 今回は +5Vと +3.3Vの 2電源方式とします。+3.3Vは、 +5Vから3端子電源ICを使って作りますので、外部からは +5Vだけ供給することにします。(スイッチング電源ICを使えば 効率が改善します)
参考回路図 †