簡易型レベルダウンコンバータ

最終更新日:2016年3月9日

簡易型レベルダウンコンバータ

おことわり

少し難しい話になりますが、必ず読んでください。

俗にRS-232Cと呼ばれているものは、送信側の信号条件としてハイレベル12V、ローレベル-12Vを要求しています。対してポケコンはハイレベル5V、ローレベル0Vです。

そのためパソコンとポケコンを直接接続した場合、ポケコンからデータを送信してもパソコンで認識できず、パソコンからデータを送信するとポケコンは壊れます。この信号レベルを変換するのがレベルダウンコンバータです。

ここで紹介するものは、パソコンからの信号をポケコンの信号レベルに落とすのみで、ポケコンからパソコンへは5Vのまま送ります。それではパソコンが認識しないのでは?と思うかもしれませんが、RS-232Cでは受信側の信号条件として「ハイレベル3V以上」と定めているため、パソコン側がRS-232Cに準拠していれば問題はありません。ローレベルに付いては-3V以下を要求していますが、最近設計された多くのパソコンは0Vをローレベルと認識するようになっています。ローレベル0Vの取り扱いについて、トランジスタ技術(2004年1月号「第7章 シリアル・インターフェース回路」)で「実用上は問題なく使用できます」と記述されてます。

ただし、これは全てのコンピュータに対する動作保証をするものではありません。シリアルポートを使わなければならない事情が無いのであれば「改良型USBシリアルコンバータ」強く勧めます。

また、nさんのご好意により、パソコン側のローレベルを0V未満に引き下げるフリーハードウエア「J-3100GT021A←ポケコン用レベル変換回路」も掲載します。

材料

ユニバーサル基盤 2.54mmピッチ
ピンヘッダ 2.54mmピッチ、1x11ピン、L型
抵抗 10kΩ 1/4W 2本
ツェナーダイオード 5V 2本
近似値も可。ただし5.12Vを超えないこと。
D-Sub9ピンコネクタ
(メス)
カバーも用意してください
4芯シールドケーブル

なお、シリアルポートが無いパソコンの場合はUSB-シリアル変換機が必要ですが、直接USBで接続できる「改良型USBシリアルコンバータ」を強く勧めます。

配線

レベルダウンコンバータ回路図

シールドケーブルのシールド線は、ポケコンの3ピンとパソコンの5ピンをつなぐのに使ってください。

画像の通りに回路を組んでください。線のとなりに振ってある番号は、ピン番号です。ポケコンのピン配列は、下の画像を参照してください。

ポケコンピン配列

パソコン側D-Sub9ピンの配列は、下の画像を参照してください。大抵、ピンの根元に小さく番号が書いてあるので迷うことは無いと思います。画像でもその番号が見えます。

D-Sub9ピン配列

ポケコンの通信設定

パソコンと通信する前に、パソコンとポケコンの通信条件を合わせる必要があります。まずポケコンから設定しましょう。

ポケコンの[TEXT]ボタンを押して、テキストエディタを呼び出します。

*** TEXT EDITOR ***
Edit Del Print Sio File Basic Rfile

この画面になったら、S、F、リターンと押してください。通信条件の設定になります。以下のように設定してください。上下キーで項目移動、左右キーで選択しリターンで決定です。選択したあと上下キーで移動すると元の値に戻ってしまいます。選択したら必ずリターンを押してください。

ただし、end of fileのみ、キーボードで「いち エー」と入力してリターンを押してください。

baud rate =9600 data bit =8 stop bit =1 parity =none end of line =CR LF end of file =1A <--キーボードで直接入力 line number =yes flow =RS/CS

設定できたら、最後にリターンを押してからONを押して設定から抜け、電源を切っておきましょう。次はパソコンの設定です。

パソコンの通信設定

USB-シリアル変換機を使う場合は、接続してインストールを完了させておいてください。

まず、デバイスマネージャを表示させます。

Windows XPでは、マイコンピュータを右クリックし、プロパティをクリックします。「システムのプロパティ」ウインドウが開くので、「ハードウエア」タブをクリックします。画面が切り替わったら、「デバイスマネージャボタン」をクリックしてください。

システムのプロパティウインドウ

Vistaでは、スタートメニュー内の「コンピュータ」を右クリックし「プロパティ」をクリック。「システム」ウインドウが開くので、「デバイスマネージャ」をクリックします。

システムウインドウ

10では、スタートメニューの中の「設定」をクリックし、出てきたウインドウの「システム」をクリック。
左下にある「バージョン情報」をクリックし、右側をスクロールして下の方にある「デバイスマネージャ」をクリックします。

システムの設定ウインドウ

デバイスマネージャが開いたら、「ポート(COMとLPT)」の中にあるシリアルポートをダブルクリックします。シリアルポートが複数ある場合は、実際にポケコンに接続するシリアルポートをダブルクリックします。

デバイスマネージャ

「COMxのプロパティ」が開くので、「ポートの設定」タブをクリックし、「詳細設定」ボタンをクリックしてください。

COMポートのプロパティ

「COMxの詳細設定」ウインドウが開きます。「FIFOバッファを使用する」のチェックマークを必ず外してください。

USB-シリアル変換機を使用する場合は、COMポート番号を「COM1からCOM4の間で使用中になっていない番号」を選択してください。 COMポート番号は後で使うので覚えておいてください。
COM1からCOM4まで全て(使用中)になっている場合の対処法は後述します。

COMポートの詳細設定

ここまでくれば、HyperTerminalなどのターミナルソフトを使ってポケコンとデータ交換することができますが、操作が簡単なSHARP純正のポケコン通信ソフト「PC-Gリンク」を使いましょう。

COMポートが占有されている場合

携帯電話ケーブルなどを使っていると、COM1からCOM4まで空きがない場合があります。

COMポートとは何ら関係なさそうなものでも、内部的に仮想的なCOMポートを介して接続しているものがあるので、それらのポート番号を変更するか、不可能であればそれらのドライバを削除します。

詳しくはこのページを見て下さい。
ただしリンク先のページは「改良型USBシリアルコンバータ」を使っている前提で書いているので、適宜読み替えてください。

PC-Gリンクのダウンロード

あらかじめ断っておきます。くりこうのホームページはシャープ株式会社より許諾を受け、PC-Gリンクを掲載しています。PC-Gリンクを同社の許可無く転載することは禁止されています。Readme.txtには「転載の際に許可を取る必要は無い」と言う旨の記述がありますが、これは誤記との事です。

PC-Gリンクをダウンロードする(LHA形式1120kB)

ダウンロードしたらインストールも行ってください。スタートメニューからPC-Gリンクを起動します。

起動したら、PC-Gリンクの通信設定をします。通信メニューから「COMポートの設定」をクリックしてください。

ポートの設定は、パソコンのシリアルポートを使う場合はシリアルポートの番号を、USB-シリアル変換機を使用する場合は、デバイスマネージャで設定したCOMポート番号を選択します。

以下、通信速度は9600、ワード長は8、ストップビットは1、パリティはnone、区切りコードはCR LF、フロー制御はRS/CS、テキスト終了コードは1A(いち エー)に設定し、OKをクリックします。

このソフトはわかりやすいのでこれ以上の説明はいらないと思いますが、ポケコンからパソコンへ送る場合はPC-Gリンクの受信ボタンをクリックし、ポケコンのテキストエディタのトップメニューからS、Sと押します。

パソコンからポケコンへ送る場合はポケコンのテキストエディタのトップメニューからS、Lと押しておいてから、PC-Gリンクの送信ボタンをクリックします。

どうしてもうまく行かない場合

まれに、生真面目にDSRを監視している場合があります。この場合、パソコンのD-Sub9ピンの4ピンと6ピンを短絡してください。これで動くようになります。

これで動かない場合は、配線間違いや半田不良を疑ってください。

もしも「パソコンからポケコンへの転送はできるが、逆ができない」場合は次項をお読みください。

J-3100GT021A←ポケコン用レベル変換回路

「パソコンからポケコンへの転送はできるが、逆ができない」場合は、パソコンが0Vをローレベルと判定していない可能性があります。この場合はローレベルを0V未満まで落とさなければなりません。

nさんよりこの問題を回避するためのフリーハードウエア「J-3100GT021A←ポケコン用レベル変換回路」を提供していただきましたので、ここで公開します。

J-3100GT021A←ポケコン用レベル変換回路をダウンロードする(LHA形式27,779バイト)

この回路を使用する場合はフロー制御が使えないため、結線を若干変更する必要があります。パソコン側D-Sub9ピンは4ピン(DTR)と6ピン(DSR)、7ピン(RTS)と8ピン (CTS)を短絡し、ポケコン側は5ピン(Dout/DR)と9ピン(Ack)を10kΩの抵抗で接続します。特にポケコン側は4ピン(Busy)と9ピンではないので注意してください。

この回路を使用した場合、ポケコンからパソコンへデータ転送を行っている間はパソコンのTDが未通信状態でなければならないため、Xon/Xoffによるフロー制御は行えません。ハードウエアフロー結線も短絡してあるため、フロー制御は一切行えません

パソコンから一気にデータを送信するとポケコン側で取りこぼしが発生する恐れがあります。1行送信後に16ミリ秒のウエイトをかければ問題を回避できます。

この項の情報はnさんより提供していただきました。ありがとうございました。

BASICプログラムとTEXTデータの相互変換

ポケコンのテキストエディタで送受信できるのは、テキストエリアのデータのみです。BASICプログラムを送受信する場合は、テキストデータとBASICプログラムを相互に変換する必要があります。

BASICからTEXTへの変換

  1. BASICプログラムをプログラムデータエリアに用意します
  2. テキストエディタのメインメニューからB、Tとキーを押します
  3. 変換されたデータがテキストエリアに書き込まれます

TEXTからBASICへの変換

  1. テキストエリアにテキスト化されたBASICプログラムを用意します
  2. テキストエディタのメインメニューからB、Bとキーを押します
  3. 中間コード化された実行可能なBASICプログラムがプログラムデータエリアに書き込まれます

詳しくは、「ポケコンとパソコンのシリアル通信:BASICプログラムを転送しよう」をご覧ください。

USB-シリアル変換機が見つからない場合

現在、パソコンの周辺機器の大半はUSBへの移行が完了し、従ってUSB-シリアル変換機はパソコンショップの店頭では見つけにくい状況になっています。

冒頭で説明した通り、この回路は信号レベルの取り決めを無視し「パソコンが0Vをローレベルと判定してくれる」前提で成り立っているため、絶対動作すると言う保証は一切できません

既にUSB-シリアルコンバータを持っている訳でなく、他にシリアルポートを使用しなければならない事情がない限りは、直接USBで接続できる「改良型USBシリアルコンバータ」の使用を強く勧めます。