SVX日記
2006-04-11(Tue) オシロでなんとかする
なにしろ、こーゆー場合はオシロだ。オシロしかない。まずは、変換基板単体で信号が出ているか確かめるのである。TTLレベルでは、スタートビットがLow(0V)になるから、立下りにトリガがかかるようにOsziFOXをセットして、TxDピンをモニタする。試験用プログラムはゲンブツ、秋月のPICプログラマV4である。
接続したFT232BM変換基板のポートをデバイスマネージャでCOM1にセットし、PICプログラマ側でもPICライタがCOM1に接続されている旨を設定する……出た!! 信号が出てるじゃん!! この時点では特に何の問題もない。
ほんじゃ次は、一旦シリアルケーブル経由でPICプログラマを接続して、PICプログラマの応答波形を見てみよう。今度はRxDピンをモニタする……出る。そりゃそうだ。ちゃんと応答が返ってきている。PICプログラマはPICライタがCOM1に接続されている旨を認識した。
じゃ、今度は本番。シリアルケーブルを外し、昨日作ったケーブルで、直接にFT232B変換基板とPICライタの特設ポートを接続、TxDピンをモニタする……出ねぇ……信号が出ねぇ……トリガがかからない。なぜ!? ぬぐぐぐぐ……考える、考える、考える……ハッ!?
あっ……アホくさッ……原因はPICライタ上のレベル変換IC「SP202ECP」だ。コイツとの接続を切り離さない限り、コイツは元のシリアルポート(未接続)から来ている信号を見て「5V」を供給し続けるのである。そりゃ、USB側が信号を立ち下げたって、下がりゃしねぇよなぁ……とほほほ。
幸いなことに、PICライタ上のSP202ECPはICソケットに刺さっている。ICとソケットのスキ間にドライバを差し込んでピョコンと抜き、再度PICプログラマから接続チェック!! 瞬時に「ライターをCOM1に検出しました」の文字が現れた!! ふへー……安堵アンド安堵。よかった、動いて。
ひょっとして、”0”と”1”の論理レベルの取り違えでは?<br>以前、はまってしまいました。うっかりミスで気付くのに2時間掛かりました。
ひょっとして、論理”1”と”0”のレベルの勘違いではないですか?以前、はまったことがあります。うっかりミスですが判るまで2時間かかりました。オシロを見てもなかなか気付きませんでした。恥ずかしい限りです。
おお、それが原因でしたか。失礼しました。自分を基準に考えてはいけない。は・反省。
いえいえ、ご指摘ありがとうございました。ちなみに、論理レベルの勘違いについては、私も以前にはまったことがあります。<br>http://www.itline.jp/~svx/diary/?date=20040903<br>RS232CレベルとTTLレベルでは極性が反転するし、TTLレベルの平常時はHIだし、まぎらわしいんですよね。