■ POSレジ用カスタマーディスプレイ応用法


◇はじめに・・・

あれは 2003年6月末のとある金曜日のことである。 所用で日本橋に寄った帰り、ふと「けっこう安い!」で有名な 某パソコンアウトレット店を覗いてみた。
特に何のアテもなく、ノートPCのACアダプタとか、ジャンク品で美味しい出物がないか物色していたのだが、次の瞬間 目にとまったのがコレ。 EPSON謹製 POSレジ用カスタマーディスプレイユニットだ。 お値段何と 300円ナリ!

ジャンク品として売られているので、もちろん詳細は不明で何のコメントも付いていない。 外観からは、5×7Dot 20桁×2行の蛍光表示管が使われていることと、DM-D203-012という型番であること、電源が24Vであること位しか判らなかったのだが、信号線が LANやISDNでお馴染みの RJ-45ジャックで引き出されていることからして、インテリジェント端末の臭いがぷんぷん漂っており、EPSON製という ブランドもあって、思わず二台ゲット! ・・・と相成った次第だ。

しかし・・・ 結構でかいネ (^^;
特に土台と結合するための「筒」がかなり長くて邪魔っぽいので、買うのをためらった人も居るのではないだろうか?!
ちなみに、右の写真の下に伸びている足の長さは約36cmである・・・


◇内部の構成について・・・

持ち帰って早速分解してみたところ (^^)


基板のオモテ面は VFDパネルのみで占領されているという感じで、他には部品らしいものは全くなし・・・ である。
しかも、片面一列ピンだらけ (^^; で、基板とがっちり接続されているため、パネルの品番やメーカー名を確認することはできなかった。


続いてウラ面。
電源スイッチと入力コネクタ、あと、外からは判らなかったのだが DIPスイッチがウラ側に実装されている。
主要デバイスの方だが、CPUは三菱の M38002、VFDドライバ SED2040F×2、リセットIC MB3771、RS232Cレベルコンバータ NJU6402B(思わずニッコリ)などが 搭載されている。 また、蛍光表示管(VFD)は、動作させるのにそこそこ高電圧が必要だが、基板の一角には電源用インバータ回路も搭載されている。


◇早速調査開始・・・

ということで、早速手近な 24Vの電源を接続! ・・・してみたのだが、何の反応もなかったりして (^^;

一瞬先が長そうな予感がよぎったのだが、先ほどの DIPスイッチを適当にいぢりながら電源再投入を繰り返していると、テストモードが起動されて、 通信パラメータをはじめとして、内蔵キャラクタや一部のコマンド説明を交えた表示がスタート (^^)
ということで、DIPスイッチでの通信パラメータ設定法は難なく判明。 RS232CレベルコンバータIC NJU6402Bからコネクタへの配線を「さらっ」 と調べて、第一ステップは終了〜っと。

厳密な意味ではまだ不明なスイッチはあるけど、まぁ良いよネ (^^;
あとは、パソコンにつないで、画面制御方法について検討する環境を用意することにする。


◇パソコンと接続する・・・

まずは右図のようなケーブルを作成、Windowsパソコンと電源に接続してみた。
Hyper Terminalを起動し、ボーレートを合わせてキーボードを叩いてみると、とりあえず押した通りの文字が画面に表示されたので、 まずは一安心。 バックスペースや改行などのコントロールコードも、一通りサポートされているようである。 が、やはりカタカナは そのままでは出ないようだ (^^;
テストモードで表示されていた文字種はそこそこ多く、カタカナや記号、簡単な漢字なども豊富にあったので、あとは やり方だけの問題なんですがねぇ。

このカスタマーディスプレイの型番 DM-D203-012をキーにして色々サーチしてみたところ、海外の EPSON系列のサイトが何件かヒットした。 どうやら、 POSレジに使われているプリンタのオプションとして販売されていたようで、プリンタ自体は ESC/POSという制御コードが使われているらしい。
代表的なプリンタの応用例の中にはカスタマーディスプレイの制御例もあったのだが、単に画面を消してそのまま書き換えるという簡単なものが ついでに載せてある程度で、主要な制御コマンドは完全に別形態のようだ。
ちなみに、制御コマンドの「ヒント」は、テストモード中にも色々と出てくるので、いくつか判ればそれの応用で色々と推測できそうである。

これは余談だが、昔、仕事で ESC/Pや ESC/Pageプリンタの制御をやったことがあるので、EPSONさんのやりそうなパターンは何となく予想できてるんだけど (^^)
ということで、Windowの Hyper Terminalではバイナリコードレベルでの試行錯誤がやりにくいので、ここからの続きは PC-9801互換機+DOS版BASICの 環境に移行することにする。
尚、調査過程については省略させていただくが、現在判明している制御コマンドについてはこのページの最後に貼り付けておくので、必要に応じてご参照いただきたい。
ここに書いてある以外に「こんな制御コマンド見付けたよ」という方、もしよろしければご連絡いただきたい m(_O_)m


◇応用例〜PICマイコンと接続する・・・

ということで、簡単な応用例として PICマイコン一発による「簡易メッセージボード」をご紹介しよう。
早速回路図をどうぞ・・・


主要部品はワンチップマイコン PIC16F84と、三端子レギュレータ 78M05のみである (^^)
強いて挙げれば 24Vのスイッチング電源がいちばんの主要部品かな・・・

今回の応用例は、簡単なメッセージをカスタマーディスプレイ上に転送したあとボタンの確認待ちに入り、ボタンが押されると 次のメッセージを表示してボタンの確認待ちに入る。 これをセットしてあるメッセージの分だけ繰り返すというものだ。
主要な制御コマンドの使用例のほか、画面下部の▼マークをスクロールさせる例などが織り込まれており、このままメッセージだけ 別のものと入れ替えて遊ぶこともできるように配慮している。
尚、通信パラメータは 8Bit 19200BPS、パリティなし固定となっている。 カスタマーディスプレイの DIPスイッチは、全部 OFF(初期状態)に設定しておくのが正解だ。

あと、回路については特に難しいところはないと思うが、とりあえず簡単に説明しておくことにしよう。

今回はRS-232Cレベルコンバータを使わず、カスタマーディスプレイの信号線を PICマイコンのポートにインターフェースしている。
カスタマーディスプレイに使われている NJU6402Bのデータシートを見ると、TTLレベルの信号がダイレクトに入力できることが明記されており、 送信側に関して特に問題は生じないはずだ。
次は受信側だ。 カスタマーディスプレイ側が描画中やコマンド処理中の場合何らかのフロー制御を行わないといけないのだが、今回は RTSと思われる信号線を抵抗とダイオードで振幅制限し、PICマイコンのポートへ接続している。 今回は±9Vの信号が観測されており、 BUSYの時は -9V、通常時 9Vとなっていた。 これを BUSY→L、READY→Hと判定する。

三端子レギュレータ 78M05は、電流的には 78L05でもかまわないのだが、今回の応用例では 20V近くもの電圧降下をさせるため、 発熱を嫌って 78M05を使うことにした。 もし PICマイコン以外に大きな回路を増設する際は、別電源で 5Vを用意することを考えた方が良いだろう。
あと、レギュレータ出力に 2.2KΩが入れてあるのは、マイコンの消費電流が少ないときに 232Cの受信側振幅制限がかかって電源に逆流してくる 電流を吸い込む意味があるので、省略しないようにして欲しい。

最後に PICマイコンだが、クロックは 10MHzのセラロックを使用しているので、PIC16F84A-20でも -10でも使用可能だ。 尚、RS-232Cの送信タイミングは プログラムのループで合わせているので、くれぐれもクロック周波数を変えたりしないように・・・


 ・ ・ ・ ・ 各種資料 ・ ・ ・ ・

☆全体
制御コマンド一覧 ※テキストファイル
応用例サンプルプログラム ※PIC16F84+MPASM用 ZIP圧縮

※本ページの記載内容について、セイコーエプソン株式会社および関連販売会社への問い合わせは絶対にされませんよう、お願い致します。
※本ページ記載の制御コマンド等について、誤りや記載されていない情報を発見されました方、是非 ご連絡 下さい。
2003/07/27 Yutaka Kyotani

トップメニューへ
電子工作メニューへ