CASIO PB-1000/C用 RS-232C I/Fの作成

PB-1000/C用のRS-232C I/Fです。現在入手がほぼ絶望的なFA-7/MD-100が無くても、
PCとのシリアル通信が可能となります。比較的簡単な工作で作成できるので、I/F box
をお持ちでないPB-1000/Cユーザーの方は是非お試し下さい。

注意
今回作成するRS-232C I/FはFA-7/MD-100との互換性はありません。
また製作に失敗した場合、ポケコン本体を壊してしまう可能性もあるため、
実施は自己責任でお願いします。

1.はじめに

PB-1000/Cは専用I/F boxのFA-7/MD-100に接続することでシリアルポートを介したデータ伝送が
可能になりますが、現在これらの入手は著しく困難です。またPB-1000本体にはシリアル通信用の
UARTが内蔵されていないため、レベルコンバータを接続しただけではデータ伝送ができません。

そこで、データフローをソフトウェアで制御することにより、PB-1000本体のみでの通信を可能にした
RS-232C I/Fを作成しました。本I/FはPiotr Piatek氏が公開しているSimple RS-232C I/Fと同じ
コンセプトで作成されていますが、プログラムの最適化により9600bpsの高速伝送を実現したのと、
専用ICによるレベルコンバートにより、回路を簡素化しているのが特徴です。


2.回路構成

下図に回路構成を示します。30pinコネクタのポート1とポート3をそれぞれ受信、送信用に設定し、
これをICL3232でレベルコンバートしてD-sub 9pinコネクタに接続しています。



3.準備するもの

本製作に必要な道具および材料です。秋月電子通商とマルツパーツの通販でほぼ揃います。

番号 名称 数量 入手先
1 半田ごて(15W程度/セラミックヒータータイプ) 1
2 カッター(ユニバーサル基板切断用) 1
3 テスター(通電を音で確認できるタイプが便利) 1
4 RS-232Cドライバ ICL3232CPZ(MAX232相当品) 1 秋月電子通商:I-02376
5 セラミックコンデンサ 0.1uF 5 秋月電子通商:P-00090
6 40x2 1.27mmピッチ ヘッダピン 1 マルツパーツ:HW101-2X40PIN
7 ユニバーサル基板(サンハヤト ICB288G) 1 マルツパーツ:ICB288G
8 D-sub 9pinコネクタ(メス) 1 秋月電子通商:C-00030
9 ジャンパ線 適当
10 半田(0.8mm以下の物) 適当


4.RS-232C I/Fコネクタの作成

下図に基板への実装例を示します。ユニバーサル基板(ICB288G)はランドに沿ってカッターを
入れると簡単に折れるので必要なサイズにカットしたら、実装面にIC、基板面にコンデンサを
配置し、各部品・端子間をジャンパ線や半田ブリッジでつなぎます。このうち30pinコネクタの
実装は多少コツが要ります。40x2のヘッダピンを15x2のサイズに切断し(こちらもカッターで
溝を入れると簡単に折れます)、ピンを後ろから押してPB-1000に挿す側を少し長くします。
これを基板を挟む形で実装しますが、そのままだと基板が厚くて入らないので、基板の実装
面をカッターとやすりを使って薄く削ります。また図のようにピンがショートする部分のランドは
あらかじめ半分に切っておきます。


下の写真が製作例です。相変わらず汚い半田付けで申し訳ありませんが参考にして下さい。



5.USB接続型 RS-232C I/Fコネクタの作成

最近のPCはシリアルポートを持たないため、USB-シリアル変換アダプターが必須になりつつあります。
そこで秋月のUSB-シリアル変換モジュールAE-UM232Rを使ったRS-232C I/Fについても紹介します。
図のように、30pinコネクタのポート1、ポート3、Vssを、それぞれモジュールのTxD、RxD、GND端子に
接続するだけでOKです(念のため、RTSとCTS、DTRとDSRをショートしています)。

なお本モジュールについてはUSBシリアル変換(FT232RL利用)ケーブルの作成の中で詳しく解説
されていますので、そちらを参考にして下さい。


図のように30pinコネクタを実装したユニバーサル基板上に変換モジュールを載せます。
ジャンパ線は基板面に這わせています。



6.データ送受信・変換用プログラム

以上で通信を行うためのハード的な環境は整いましたが、前に述べたようにFA-7/MD-100
との互換性は無いので、データの送受信には以下のプログラムが必要になります。

プログラム名 概要
RECEIVE PCから送信されるデータを受信してMEMO.Sに格納
SEND MEMO.Sの内容をPCに送信
MEMTOBIN MEMO.SがPBF形式のテキストファイルならバイナリファイルに変換
BINTOMEM バイナリファイルMEMO.EXEが存在すればPBF形式に変換してMEMO.Sに出力

まずRECEIVE.EXEを導入します。アーカイブ内のreceive.bas(PB-1000Cはreceive_c.bas)を
入力し、115バイト以上のマシン語領域を確保して実行するとRECEIVE.EXEが生成されます。
PB-1000の場合、receive.asmを入力し、内蔵アセンブラでアセンブルしてもOKです。

次にMEMTOBIN.EXEを導入します。I/Fユニットを30pinコネクタに接続し、RECEIVE.EXEを
実行した後、PCからmemtobin.bas(PB-1000Cはmemtobin_c.bas)を送信します。
なお、本RS-232C I/Fの仕様は、通信速度=9600bps、データ長=8ビット、パリティチェック無し、
ストップビット長=1、フロー制御無し、となるので、この設定でPCのポートをオープンして下さい。
送信終了後、basicモードにて load "MEMO" を実行し、311バイト以上のマシン語領域を確保
して、RUN実行するとMEMTOBIN.EXEが生成されます。

SEND.EXE、BINTOMEM.EXEは各機種に対応するPBFファイルを上記と同じ方法で送信し、
MEMTOBIN.EXEでバイナリファイルに変換すればOKです。

プログラムの詳細は各アーカイブに添付したREADMEファイルを参照して下さい。


7.あとがき

1.27mmピッチのヘッダピンの入手性が悪かったので躊躇していたRS-232C I/Fの作成ですが、
今回マルツパーツにて良心的な価格で手に入れることが出来たため、実行に踏み切りました。
元々I/F boxを持っていないPB-1000/Cユーザーのために作成したものなんですが、嵩張る
FA-7やMD-100無しでPCに接続できるのはかなり使い勝手が良く、最近は専らこれでPCとの
やり取りをしています。

2010-1-31@Miyura


記事は、Miyura氏よりご寄稿して頂きました。ご協力誠にありがとうございました。

戻る