RS232Cロガー兼リピーター

Last-modified: 2007-03-10 (土) 23:32:24
初出 2006-8-18
最終更新 2006-9-21
製作時期 2006-5~2006-6
232logger_1_s.jpg
RS232Cの出力経路の中間に挟んで、 データをそのまま記録していきます。
 

普通、ロガーといえば、大量のメモリを積んでデータの取りこぼしがないように備えるのが常套手段ですが、
本機の場合は低速デバイスであるシリアルEEPROMに直接データを記録します。じゃ、データを取りこぼしちゃうぞ・・・
本機ではシリアル受信ポートのRTS制御をおこなうことにより、データの取りこぼしを防ぎます。
部品代は合計2000円くらい

機能

操作機能説明備考
1赤ボタンを1秒以上押す順方向出力出力開始位置・以降のデータを送信ソケット側から出力DCEとはストレートケーブル、DTEとはクロスケーブルで接続(出力ピンはジャンパで切替)
2緑ボタンを1秒以上押す逆方向出力出力開始位置・以降のデータを受信ソケット側から出力PCとストレートケーブルで接続することを想定、ソフトウェアTX
3両ボタンを押した後3秒以内に赤ボタンを1秒以上押す出力開始位置を設定次の記録位置を出力開始位置に設定設定可能な出力開始位置は1箇所
4両ボタンを押した後3秒以内に緑ボタンを1秒以上押す出力開始位置を消去出力開始位置を初期化し、記録装置の先頭に設定
5両ボタンを3秒以上押しつづけるデータ全消去
  • 通信速度は9600bpsで固定
  • 記録容量は32Kバイト(Microchip 24LC256を使用)
  • 起動時、前回最後に記録した次の位置に出力開始位置が設定される
  • 受信したデータは同時に送信ソケット側から出力される
  • 受信すると緑LEDが1秒間素早く点滅
  • 書込み領域が満杯の状態で受信すると赤LEDが1秒間素早く点滅
  • 順方向出力中は赤LEDが点滅
  • 逆方向出力中は緑LEDが点滅
  • 出力開始位置・設定時は緑LEDが点滅
  • 出力開始位置・消去時は赤LEDが点滅
  • 全消去中は両LEDが交互に点滅
  • いずれかのソケットでCTSオンを検出、もしくはボタン操作をするとsleepから復帰
  • CTSオンを検出している間はsleepしない
  • CTSオフを検出すると3分後にsleep

I2C通信

今回はハードウェアでI2C通信をおこなう為に、MSSP(The Master Synchronous Serial Port)モジュールを持つ、PIC16F877Aを選びました。
でも、ソフトウェアでおこなっても大差ないのではないかとも思います。
PCから操作できる赤外線学習リモコンではRUUさんが開発されたソフトウェアI2Cルーチンを使用しています。

 

実はByteRead、ByteWriteしか使用していません。
PageWriteを使えば書き込みが大幅に高速化できると思いますが、制御が複雑になるのは避けたいので(趣味の電子工作ですから)、PageWriteは使用していません。

メーカーによるシリアルEEPROMの違い

当初、Atmel製の24C256を使用していました。しかしAtmel製では、MicrochipのAppNotesから入手した書き込みサブルーチンを使用する限りは、1命令毎のwaitを10mS程度余計に取らねば正常に作動しませんでした。Microchip製の24LC256に変更したところ、余計なwaitなしで正常に動作するようになりました。

RTS制御

本機はRTS制御がうまく働く環境以外では使用できません。
出力側がWindowsPCの場合は多分問題ないと思いますが、その他の環境の場合は検証が必要です。
Linuxでは使用できないようです。こちらを参考にして下さい。

基板

232logger_2_s.jpg
当初はADM3202は使わず、C1815を4個使用していましたが、対応電圧範囲が低いかも?と思いADM3202を導入しました。
でも特に対応電圧範囲に違いはないようです。
232logger_3_s.jpg
変遷の為、大分汚くなっています。

電源

232logger_4_s.jpg
電源ジャックはスイッチ付きではありませんが、プラグの抜き差しにより、電池、ACアダプタの2系統電源対応です。
クラムシェル式のケースは時計の化粧ケースの流用です。

スペーサー

232logger_5_s.jpg
小さなことですが、スペーサーを接着しておくと、素早く、基板の取り外し、再取り付けができます。

回路図

232logger_circt_s.png

 

BSch3V形式(zip圧縮)


主要部品表
部品名値段
PIC16F877A400
Microchip 24LC256160
ADM3202AN200

ソース

MPASM形式

※ieの場合、直接開けないことがあるようです。

 

ソフトウェアTXルーチンはELECTRONICS SHELVESから入手しました。
入手先で著作権の掲示はありませんでした。

 

I2C関係ルーチンはMicrochipのAppNotesから入手しました。
個人使用用途でのみ使用が許されています。

 

上記個所以外についてはBSDライセンスとします。

 
 

ご要望、ご意見、質問を下のフォームにどうぞ
(でもここより、掲示板書き込みフォームのページに書いて頂いた方が気づき易いと思います。)