標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第183回]

●RS232Cケーブルで、パソコンと接続…

前々回に作ったLOADプログラムを、トグルスイッチをパチパチやってRAMに書き込みました。
とりあえず、AND、OR、XOR回路の動作テストをする簡単なプログラムも作りました。
232Cで送信できるように、80アセンブラに機能追加して、バイナリコードを16進数表現→ASCII文字変換したファイルを出力するようにもしました。

あとはパソコンと接続して、いよいよ232Cで送信です。
まずは、232Cケーブルでパソコンと接続しましょう。

昔はRS232Cケーブルといえば、25pinのDSUBがふつうでした。
しかしながらWindowsパソコンが普及してくるにつれて、9pinでの接続がふつうになってきました。
というわけで、「つくるCPU」でも9pinのDSUBコネクタを実装しています。
いままでのパソコンどうしの接続にならって、ケーブルはクロスで接続するつもりでしたから、9pinのDSUBは一般のDOS/Vパソコンと同じ仕様の、オス型を取り付けました。
そうすると、パソコン側と、「つくるCPU」側が同じコネクタで同じ信号配列になってしまうので、当然接続するにはクロスケーブルを使うことになります。
クロスケーブルというのは、片方のコネクタのRXがもう一方の相手側コネクタのTXに接続され、逆に同じ片方のコネクタのTXは相手側のRXに接続されている、というように、TXがRXに、RXがTXに、クロスして結線されているケーブルです。

実は、私自身は、かなりの部分、時間が止まっていますので、なにかの必要があったりしても25pinのDSUBクロスケーブルを、ごくふつうに使ってきていましたので、当然のことながら9pinも同じ考えで選択しました。
ただ25pinDSUBはメス型(穴があいているタイプ)ですが、9pinは逆にオス型(信号端子が出ている)を使うという区別は心得ていました。
ところが…。

いざ、接続しようとして、9pinケーブルを捜してみたら、たまたまなのか、片方がメスで片方がオスというケーブルしか、持ち合わせがない、ことがわかりました。
ううむ。この雰囲気は、どうも、ストレートケーブルらしい…。
テスターで調べてみると、やっぱり、ストレートタイプのケーブルです。
ストレートタイプとは、TXとTX、RXとRXというように、こちら側と相手側で同じピン同士がつながっているタイプです。
このタイプは、パソコンと相手の装置で、役割が決まっていて、こちらがホストで相手がスレーブというようになっている場合の接続に使われます。

よくよく落ち着いて、考えてみると。
パソコン同士をつなぐ場合には、どちらも同じコネクタなので、クロスケーブルを使ったのですけれど、いまどき、パソコン同士を232Cでつなぐって、いつの時代の話なの?って言われてしまいますね。確かに。
そうか。LANが普及してしまったので、パソコン同士をつなぐ目的での232Cなど、いまや完全に過去のもの、だったのですねぇ。

これは、やっぱりストレート接続を前提にして、9pinのDSUBコネクタも、オス型ではなくて、メス型にすべきか。
ま、それはそれとして、とりあえずは、現状でのままで接続しないことには、作業が先に進みません。
そこで、パソコン側と、「つくるCPU」側ともに、9pin→25pin変換アダプタを使って、その間を25pinのクロスケーブルで接続しました。

前回作ったAND〜回路のテストプログラムを232C経由でLOADし終わったところです。
ちょっと小さくて見難いかもしれませんが、HLレジスタの表示が0114になっています。
テストプログラムは0100〜0113に格納されますから、HLレジスタは最後に書き込んだメモリアドレス0113の次のアドレスを表示しています。
LOADプログラムはまだ実行中です(スタンバっています)。続いて何かを送信すれば、この続きのメモリアドレスにLOADされます。

●いまどきのパソコンには、9pinDSUBもないらしい…

いやはや、婆さんや。どうやら、9pinのストレートだ、クロスだと迷っているような時代ではないらしいぞえ。
なんと、最近のパソコンには、パラレルポートだけではなくて、シリアルポートもついていないのだそうな。
んだば、シリアル接続は、どうするんだべ?

いまどきは、プリンタも、キーボードも、マウスも、なんでもかんでも、みーんな、USBで接続するんだと。

自分ひとりで楽しんでいる分には、9pinだって25pinだって、一向に構わないのですけれどね。
古くたって、使えれば、それで十分。

しかし。
仮にも、商品として、皆様方に提供するとなると、これは、ちょっと…。

で。取り寄せてしまいましたよ。「秋月」から。
USB−RS232C変換コネクタ、です。
これなら、232CコネクタのないパソコンでもOKです。
さっそく試してみました。

送信、OK。成功です。
232Cポートからの送信も、それからUSB−RS232C変換コネクタを使って、USBからでも、ともに送信OK、です。

●ハイパーターミナル

プログラムの送信には、とりあえず、ハイパーターミナルを使ってみました。
実を言うと、ハイパーターミナルは、モデム接続時に使用するものだとばかり思っていたので、今まで使ったことはありませんでした。
ところが、「秋月」のUSB−232C変換コネクタの説明文に、「ハイパーターミナルを使って、ROMWRITERなどにデータを送信できる」という文をみつけました。
「ほーか、ほーか。そーいう、使い方もできるのか」

で。
さっそくハイパーターミナルを試してみました。
ハイパーターミナルは「アクセサリ」の「通信」にあります。

「接続の設定」の「新しい接続」の入力では、てきとうな名前をつけます。
アイコンも適当です。
「OK」をクリックします。

「電話番号」は関係ありません。
「接続方法」は、232Cコネクタ接続ならば、COM1かCOM2を選択します。
USB−232C変換コネクタならば、ドライバインストール時にたいていはCOM3が選択されますので、それを選びます。
「コントロールパネル」→「システム」→「ハードウェア」→「デバイスマネージャ」のツリーの「ポート(COMとLPT)」のところを見ると、割り当てられたCOM番号が確認できます。

次の「ポートの設定」または「モデムの設定」で以下を設定します。
「ビット/秒」は「2400」、「データビット」は「8」、「パリティ」は「なし」、「ストップビット」は「1」、「フロー制御」は「ハードウェア」にします。

これで準備OKです。
「転送」の「テキストファイルの送信」を選びます。
拡張子がTXTである必要はありませんが、「ファイルの種類」が「テキストファイル」のままだと、テキストファイル以外は表示されません。「すべてのファイル」にしてから、「ファイルの場所」に、送信したいファイルのあるフォルダを選びます。
目的のファイルを選択して(今回のテストでは、ファイル名は「anatest1.htx」)、「開く」をクリックすると、ただちに送信が行われます。

「ファイル」→「プロパティ」か、「プロパティ」アイコンを選んで、プロパティを開き、「設定」タブの「ASCII設定」をクリックして、「ローカルエコーする」にチェックをつけると、送信と同時に、画面に送信文字がエコー表示されます。


これで、送信テストはOKだったのですけれど。

うーん。
なんだか使い勝手がよろしくありませんねぇ。
ファイルを送信すればよいだけなのに、なにか大げさで、手間がかかってしまいます。
やっぱり、作ったほうがいいかなぁ…。
2009.3.13upload

前へ
次へ
ホームページトップへ戻る